diff --git a/apps/base/n8n/apigateway.yaml b/apps/base/customer1/apigateway.yaml similarity index 94% rename from apps/base/n8n/apigateway.yaml rename to apps/base/customer1/apigateway.yaml index d22aeda..4eb3e5d 100644 --- a/apps/base/n8n/apigateway.yaml +++ b/apps/base/customer1/apigateway.yaml @@ -2,7 +2,7 @@ apiVersion: gateway.networking.k8s.io/v1 kind: Gateway metadata: name: external-http-gateway - namespace: n8n + namespace: customer1 spec: gatewayClassName: gke-l7-global-external-managed # Use gke-l7-global-external-http for external, or gke-l7-rilb for internal listeners: diff --git a/apps/base/n8n/configmap.yaml b/apps/base/customer1/configmap.yaml similarity index 69% rename from apps/base/n8n/configmap.yaml rename to apps/base/customer1/configmap.yaml index 6fdf096..bc574ca 100644 --- a/apps/base/n8n/configmap.yaml +++ b/apps/base/customer1/configmap.yaml @@ -1,8 +1,8 @@ apiVersion: v1 kind: ConfigMap metadata: - name: n8n-config - namespace: n8n + name: customer1-n8n-config + namespace: customer1 data: N8N_PORT: "5678" @@ -13,9 +13,9 @@ data: N8N_METRICS: "true" QUEUE_HEALTH_CHECK_ACTIVE: "true" DB_TYPE: "postgresdb" - DB_POSTGRESDB_HOST: "35.188.139.22" + DB_POSTGRESDB_HOST: "customer1-db-rw-customer1.svc.cluster.local" DB_POSTGRESDB_PORT: "5432" - DB_POSTGRESDB_DATABASE: "n8ndb" + DB_POSTGRESDB_DATABASE: "app" DB_POSTGRESDB_USER: "sirius" diff --git a/apps/base/n8n/deployment.yaml b/apps/base/customer1/deployment.yaml similarity index 87% rename from apps/base/n8n/deployment.yaml rename to apps/base/customer1/deployment.yaml index 279140a..e99f212 100644 --- a/apps/base/n8n/deployment.yaml +++ b/apps/base/customer1/deployment.yaml @@ -1,14 +1,14 @@ apiVersion: apps/v1 kind: Deployment metadata: - name: n8n - namespace: n8n + name: customer1-n8n + namespace: customer1 labels: - app: n8n + app: customer1-n8n spec: selector: matchLabels: - app: n8n + app: customer1-n8n replicas: 1 strategy: rollingUpdate: @@ -16,7 +16,7 @@ spec: template: metadata: labels: - app: n8n + app: customer1-n8n spec: # initContainers: # Init containers are exactly like regular containers, except: @@ -28,7 +28,7 @@ spec: fsGroup: 1000 containers: - - name: n8n + - name: customer1-n8n image: docker.n8n.io/n8nio/n8n:2.1.4 imagePullPolicy: IfNotPresent resources: @@ -45,7 +45,7 @@ spec: envFrom: - configMapRef: - name: n8n-config + name: customer1-n8n-config - secretRef: name: n8n-secret diff --git a/apps/base/n8n/healthcheck.yaml b/apps/base/customer1/healthcheck.yaml similarity index 94% rename from apps/base/n8n/healthcheck.yaml rename to apps/base/customer1/healthcheck.yaml index 80ccb06..74022f3 100644 --- a/apps/base/n8n/healthcheck.yaml +++ b/apps/base/customer1/healthcheck.yaml @@ -2,7 +2,7 @@ apiVersion: networking.gke.io/v1 kind: HealthCheckPolicy metadata: name: n8n-healthcheck - namespace: n8n + namespace: customer1 spec: default: config: diff --git a/apps/base/n8n/http-route.yaml b/apps/base/customer1/http-route.yaml similarity index 92% rename from apps/base/n8n/http-route.yaml rename to apps/base/customer1/http-route.yaml index 542084a..aee5e9d 100644 --- a/apps/base/n8n/http-route.yaml +++ b/apps/base/customer1/http-route.yaml @@ -2,7 +2,7 @@ apiVersion: gateway.networking.k8s.io/v1 kind: HTTPRoute metadata: name: n8n-route - namespace: n8n + namespace: customer1 spec: parentRefs: - name: external-http-gateway diff --git a/apps/base/n8n/kustomization.yaml b/apps/base/customer1/kustomization.yaml similarity index 56% rename from apps/base/n8n/kustomization.yaml rename to apps/base/customer1/kustomization.yaml index 12830d1..a2476e1 100644 --- a/apps/base/n8n/kustomization.yaml +++ b/apps/base/customer1/kustomization.yaml @@ -1,10 +1,15 @@ apiVersion: kustomize.config.k8s.io/v1beta kind: Kustomization -namespace: n8n +namespace: customer1 resources: - namespace.yaml - deployment.yaml - configmap.yaml - service.yaml - storage.yaml + - http-route.yaml + - n8n-secret.yaml + - pg-cluster-customer1.yaml + - service.yaml + - storage.yaml diff --git a/apps/base/n8n/n8n-secret.yaml b/apps/base/customer1/n8n-secret.yaml similarity index 56% rename from apps/base/n8n/n8n-secret.yaml rename to apps/base/customer1/n8n-secret.yaml index 53b8521..a0682c5 100644 --- a/apps/base/n8n/n8n-secret.yaml +++ b/apps/base/customer1/n8n-secret.yaml @@ -1,8 +1,8 @@ apiVersion: v1 data: - DB_POSTGRESDB_PASSWORD: RzIzPWFRKjhpcnRmKnhLTA== + DB_POSTGRESDB_PASSWORD: kind: Secret metadata: creationTimestamp: null name: n8n-secret - namespace: n8n + namespace: customer1 diff --git a/apps/base/n8n/namespace.yaml b/apps/base/customer1/namespace.yaml similarity index 68% rename from apps/base/n8n/namespace.yaml rename to apps/base/customer1/namespace.yaml index 8206fe4..217ff2f 100644 --- a/apps/base/n8n/namespace.yaml +++ b/apps/base/customer1/namespace.yaml @@ -1,4 +1,4 @@ apiVersion: v1 kind: Namespace metadata: - name: n8n + name: customer1 diff --git a/apps/base/customer1/pg-cluster-n8n.yaml b/apps/base/customer1/pg-cluster-n8n.yaml new file mode 100644 index 0000000..f5feb9f --- /dev/null +++ b/apps/base/customer1/pg-cluster-n8n.yaml @@ -0,0 +1,16 @@ +apiVersion: postgresql.cnpg.io/v1 +kind: Cluster +metadata: + name: customer1-pgdb +spec: + instances: 3 + imageName: ghcr.io/cloudnative-pg/postgresql:15.2 + storage: + size: 5Gi + bootstrap: + initdb: + database: app + owner: app + secret: + name: customer1-db-credentials + diff --git a/apps/base/n8n/service.yaml b/apps/base/customer1/service.yaml similarity index 81% rename from apps/base/n8n/service.yaml rename to apps/base/customer1/service.yaml index fdc3067..9afccdc 100644 --- a/apps/base/n8n/service.yaml +++ b/apps/base/customer1/service.yaml @@ -2,12 +2,12 @@ apiVersion: v1 kind: Service metadata: name: n8n-service - namespace: n8n + namespace: customer1 annotations: cloud.google.com: '{"ingress": true}' spec: selector: - app: n8n + app: customer1-n8n ports: - port: 80 targetPort: 5678 diff --git a/apps/base/n8n/storage.yaml b/apps/base/customer1/storage.yaml similarity index 86% rename from apps/base/n8n/storage.yaml rename to apps/base/customer1/storage.yaml index c03a1f7..8cdd653 100644 --- a/apps/base/n8n/storage.yaml +++ b/apps/base/customer1/storage.yaml @@ -2,7 +2,7 @@ apiVersion: v1 kind: PersistentVolumeClaim metadata: name: n8n-data - namespace: n8n + namespace: customer1 spec: accessModes: - ReadWriteOnce diff --git a/apps/base/n8n/pg-cluster-n8n.yaml b/apps/base/n8n/pg-cluster-n8n.yaml deleted file mode 100644 index 22349cf..0000000 --- a/apps/base/n8n/pg-cluster-n8n.yaml +++ /dev/null @@ -1,9 +0,0 @@ -apiVersion: postgresql.cnpg.io/v1 -kind: Cluster -metadata: - name: cluster-n8n -spec: - instances: 1 - - storage: - size: 1G diff --git a/apps/staging/customer1/kustomization.yaml b/apps/staging/customer1/kustomization.yaml new file mode 100644 index 0000000..557cd96 --- /dev/null +++ b/apps/staging/customer1/kustomization.yaml @@ -0,0 +1,6 @@ + +apiVersion: kustomize.config.k8s.io/v1beta +kind: Kustomization +namespace: customer1 +resources: + - customer1 diff --git a/clusters/devops-lab/customer1.yaml b/clusters/devops-lab/customer1.yaml new file mode 100644 index 0000000..0376f23 --- /dev/null +++ b/clusters/devops-lab/customer1.yaml @@ -0,0 +1,18 @@ +apiVersion: kustomize.toolkit.fluxcd.io/v1 +kind: Kustomization +metadata: + name: customer1 + namespace: flux-system +spec: + interval: 1m0s + retryInterval: 1m + timeout: 5m + sourceRef: + kind: GitRepository + name: flux-system + path: ./apps/staging/customer1 + prune: true + decryption: + provider: sops + secretRef: + name: sops-age