apiVersion: v1 kind: Service metadata: name: gisaf-database namespace: gisaf labels: app: gisaf-database spec: ports: - name: psql port: 5432 - name: redis port: 6379 selector: app: gisaf-database --- apiVersion: apps/v1 kind: Deployment metadata: name: gisaf-database-deployment namespace: gisaf labels: app: gisaf-database spec: replicas: 1 selector: matchLabels: app: gisaf-database template: metadata: namespace: gisaf labels: app: gisaf-database spec: hostAliases: - ip: "127.0.0.1" hostnames: - "gisaf-redis" - "gisaf-database" containers: - name: gisaf-database image: code.philo.ydns.eu/philorg/gisaf-database:latest imagePullPolicy: Always args: - postgres volumeMounts: - mountPath: /var/lib/postgresql/data name: gisaf-pgdata ports: - containerPort: 5432 name: psql - image: docker.io/library/redis:alpine imagePullPolicy: Always name: gisaf-redis args: - redis-server volumeMounts: - mountPath: /data name: gisaf-redis ports: - containerPort: 6379 name: redis volumes: - name: gisaf-pgdata persistentVolumeClaim: claimName: gisaf-pgdata-pvc - name: gisaf-redis persistentVolumeClaim: claimName: gisaf-redis-pvc --- apiVersion: v1 kind: Service metadata: name: gisaf-server namespace: gisaf labels: app: gisaf-server spec: ports: - port: 80 targetPort: 80 #nodePort: 30080 selector: app: gisaf-server #type: NodePort --- apiVersion: apps/v1 kind: Deployment metadata: name: gisaf-server-deployment namespace: gisaf labels: app: gisaf-server spec: replicas: 2 selector: matchLabels: app: gisaf-server template: metadata: namespace: gisaf labels: app: gisaf-server spec: hostAliases: - ip: "127.0.0.1" hostnames: - "gisaf-frontend" - "gisaf-backend" initContainers: - name: gisaf-backend-initdb image: code.philo.ydns.eu/philorg/gisaf-backend:0.5.0-alpha.8 imagePullPolicy: Always command: ["gisaf", "create-db"] env: - name: GISAF__DB__HOST value: gisaf-database containers: - name: gisaf-backend image: code.philo.ydns.eu/philorg/gisaf-backend:0.5.0-alpha.8 imagePullPolicy: Always env: - name: GISAF__GISAF_LIVE__REDIS value: redis://gisaf-database - name: GISAF__DB__HOST value: gisaf-database envFrom: - configMapRef: name: gisaf-config - name: gisaf-frontend image: code.philo.ydns.eu/philorg/gisaf-frontend:0.5.0-alpha.13 imagePullPolicy: Always args: - nginx - -g - daemon off; ports: - containerPort: 80 #hostPort: 8899 --- apiVersion: v1 kind: PersistentVolume metadata: name: gisaf-pgdata-pv namespace: gisaf labels: type: local app: gisaf-postgres spec: storageClassName: local-path capacity: storage: 2Gi accessModes: - ReadWriteMany hostPath: path: /data/gisaf-postgresql --- apiVersion: v1 kind: PersistentVolume metadata: name: gisaf-redis-pv namespace: gisaf labels: type: local app: gisaf-redis spec: storageClassName: local-path capacity: storage: 2Gi accessModes: - ReadWriteMany hostPath: path: /data/gisaf-redis --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: gisaf-pgdata-pvc namespace: gisaf spec: storageClassName: local-path accessModes: - ReadWriteMany resources: requests: storage: 2Gi --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: gisaf-redis-pvc namespace: gisaf spec: storageClassName: local-path accessModes: - ReadWriteMany resources: requests: storage: 200Mi --- apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: gisaf namespace: gisaf #annotations: # kubernetes.io/ingress.class: traefik # #traefik.ingress.kubernetes.io/router.middlewares: default-strip-prefix@kubernetescrd spec: rules: - http: paths: - path: / pathType: Prefix backend: service: name: gisaf-server port: number: 80 - path: /api pathType: Prefix backend: service: name: gisaf-server port: number: 8081