diff --git a/default.conf b/default.conf index 42f5490..abe2b7a 100644 --- a/default.conf +++ b/default.conf @@ -2,14 +2,20 @@ server { listen 80; server_name localhost; - access_log /log/access.log combined; - error_log /log/error.log error; + access_log /dev/stdout combined; + error_log /dev/stdout info; location / { root /usr/share/nginx/html; index index.html index.htm; } + location /health { + add_header Content-Type text/plain; + access_log off; + return 200 'Ok'; + } + error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; diff --git a/deployment_files/deploy.yaml b/deployment_files/deploy.yaml new file mode 100644 index 0000000..a76dfad --- /dev/null +++ b/deployment_files/deploy.yaml @@ -0,0 +1,65 @@ +apiVersion: extensions/v1beta1 +kind: Deployment +metadata: + name: lingonpaj-site + labels: + app: lingonpaj-site + annotations: + kubernetes.io/change-cause: "${TIMESTAMP} Deployed commit id: ${COMMIT}" +spec: + replicas: 2 + strategy: + type: RollingUpdate + rollingUpdate: + maxSurge: 1 + maxUnavailable: 1 + minReadySeconds: 30 + selector: + matchLabels: + app: lingonpaj-site + template: + metadata: + labels: + app: lingonpaj-site + spec: + affinity: + podAntiAffinity: + preferredDuringSchedulingIgnoredDuringExecution: + - weight: 100 + podAffinityTerm: + labelSelector: + matchExpressions: + - key: "app" + operator: In + values: + - lingonpaj-site + topologyKey: kubernetes.io/hostname + containers: + - name: lingonpaj-site + readinessProbe: + httpGet: + path: /health + port: 80 + initialDelaySeconds: 5 + periodSeconds: 5 + timeoutSeconds: 5 + imagePullPolicy: Always + image: registry.gitlab.com/unboundsoftware/lingonpaj-site:${COMMIT} + ports: + - containerPort: 80 + +--- + +apiVersion: v1 +kind: Service +metadata: + name: lingonpaj-site + labels: + app: lingonpaj-site +spec: + type: NodePort + selector: + app: lingonpaj-site + ports: + - port: 80 + targetPort: 80 diff --git a/deployment_files/ingress-local.yaml b/deployment_files/ingress-local.yaml new file mode 100644 index 0000000..aa841b1 --- /dev/null +++ b/deployment_files/ingress-local.yaml @@ -0,0 +1,16 @@ +apiVersion: extensions/v1beta1 +kind: Ingress +metadata: + name: lingonpaj-site-ingress + annotations: + kubernetes.io/ingress.class: "nginx" + ingress.kubernetes.io/enable-cors: "true" +spec: + rules: + - host: "local-lingonpaj.unbound.se" + http: + paths: + - path: / + backend: + serviceName: lingonpaj-site + servicePort: 80 diff --git a/deployment_files/ingress-prod.yaml b/deployment_files/ingress-prod.yaml new file mode 100644 index 0000000..58ce3a5 --- /dev/null +++ b/deployment_files/ingress-prod.yaml @@ -0,0 +1,17 @@ +apiVersion: extensions/v1beta1 +kind: Ingress +metadata: + name: lingonpaj-site-ingress + annotations: + kubernetes.io/ingress.class: "nginx" + ingress.kubernetes.io/enable-cors: "true" + ingress.kubernetes.io/force-ssl-redirect: "true" +spec: + rules: + - host: "lingonpaj.com" + http: + paths: + - path: / + backend: + serviceName: lingonpaj-site + servicePort: 80