From 379f83c8a5af235bc1a3d7b89e9d52da9ee14658 Mon Sep 17 00:00:00 2001 From: Vibhav Bobade Date: Thu, 29 Jun 2023 01:00:20 +0530 Subject: [PATCH] example: ingress for manifest based deployments --- examples/ingress-manifest.yaml | 222 +++++++++++++++++++++++++++++++++ 1 file changed, 222 insertions(+) create mode 100644 examples/ingress-manifest.yaml diff --git a/examples/ingress-manifest.yaml b/examples/ingress-manifest.yaml new file mode 100644 index 00000000..f77ffb96 --- /dev/null +++ b/examples/ingress-manifest.yaml @@ -0,0 +1,222 @@ +kind: UffizziCluster +apiVersion: uffizzi.com/v1alpha1 +metadata: + name: quickstart-too + namespace: quickstart-too +spec: + ingress: + class: "nginx" + host: uffizzi-client-clone-3.app.qa-gke.uffizzi.com + cluster: + ingressAnnotations: + nginx.ingress.kubernetes.io/backend-protocol: "HTTPS" + nginx.ingress.kubernetes.io/ssl-redirect: "true" + nginx.ingress.kubernetes.io/ssl-passthrough: "true" + services: + - name: vote + namespace: default + port: 6000 + certManagerTLSEnabled: true + ingressAnnotations: + nginx.ingress.kubernetes.io/ssl-redirect: "true" + ingress.kubernetes.io/force-ssl-redirect: "true" + cert-manager.io/cluster-issuer: golf-letsencrypt + - name: result + namespace: default + port: 6001 + certManagerTLSEnabled: true + ingressAnnotations: + cert-manager.io/cluster-issuer: golf-letsencrypt + nginx.ingress.kubernetes.io/ssl-redirect: "true" + ingress.kubernetes.io/force-ssl-redirect: "true" + manifests: | + apiVersion: apps/v1 + kind: Deployment + metadata: + labels: + app: db + name: db + spec: + replicas: 1 + selector: + matchLabels: + app: db + template: + metadata: + labels: + app: db + spec: + containers: + - image: postgres:15-alpine + name: postgres + env: + - name: POSTGRES_USER + value: postgres + - name: POSTGRES_PASSWORD + value: postgres + ports: + - containerPort: 5432 + name: postgres + volumeMounts: + - mountPath: /var/lib/postgresql/data + name: db-data + volumes: + - name: db-data + emptyDir: {} + --- + apiVersion: apps/v1 + kind: Deployment + metadata: + labels: + app: redis + name: redis + spec: + replicas: 1 + selector: + matchLabels: + app: redis + template: + metadata: + labels: + app: redis + spec: + containers: + - image: redis:alpine + name: redis + ports: + - containerPort: 6379 + name: redis + volumeMounts: + - mountPath: /data + name: redis-data + volumes: + - name: redis-data + emptyDir: {} + --- + apiVersion: apps/v1 + kind: Deployment + metadata: + labels: + app: result + name: result + spec: + replicas: 1 + selector: + matchLabels: + app: result + template: + metadata: + labels: + app: result + spec: + containers: + - image: dockersamples/examplevotingapp_result + name: result + ports: + - containerPort: 80 + name: result + --- + apiVersion: apps/v1 + kind: Deployment + metadata: + labels: + app: vote + name: vote + spec: + replicas: 1 + selector: + matchLabels: + app: vote + template: + metadata: + labels: + app: vote + spec: + containers: + - image: dockersamples/examplevotingapp_vote + name: vote + ports: + - containerPort: 80 + name: vote + --- + apiVersion: apps/v1 + kind: Deployment + metadata: + labels: + app: worker + name: worker + spec: + replicas: 1 + selector: + matchLabels: + app: worker + template: + metadata: + labels: + app: worker + spec: + containers: + - image: dockersamples/examplevotingapp_worker + name: worker + --- + apiVersion: v1 + kind: Service + metadata: + labels: + app: db + name: db + spec: + type: ClusterIP + ports: + - name: "db-service" + port: 5432 + targetPort: 5432 + selector: + app: db + --- + apiVersion: v1 + kind: Service + metadata: + labels: + app: redis + name: redis + spec: + type: ClusterIP + ports: + - name: "redis-service" + port: 6379 + targetPort: 6379 + selector: + app: redis + --- + apiVersion: v1 + kind: Service + metadata: + labels: + app: result + name: result + spec: + type: NodePort + ports: + - name: "result-service" + port: 6001 + targetPort: 80 + nodePort: 31001 + selector: + app: result + --- + apiVersion: v1 + kind: Service + metadata: + labels: + app: vote + name: vote + spec: + type: NodePort + ports: + - name: "vote-service" + port: 6000 + targetPort: 80 + nodePort: 31000 + selector: + app: vote