diff --git a/kustomize/bases/gitea/gitea-deployment.yaml b/kustomize/bases/gitea/gitea-deployment.yaml index d07fb80..b46c0d3 100644 --- a/kustomize/bases/gitea/gitea-deployment.yaml +++ b/kustomize/bases/gitea/gitea-deployment.yaml @@ -1,7 +1,7 @@ apiVersion: apps/v1 kind: Deployment metadata: - name: gitea + name: server labels: app.kubernetes.io/name: gitea spec: @@ -21,11 +21,17 @@ spec: image: gitea/gitea env: - name: GITEA__SERVER__SSH_DOMAIN - value: ${GITEA_EXTERNAL_HOST} + valueFrom: + configMapKeyRef: + name: kustomize-generated-config + key: GITEA_EXTERNAL_HOST - name: GITEA__SERVER__ROOT_URL - value: https://${GITEA_EXTERNAL_HOST} - - name: GITEA__WEBHOOK_ALLOWED_HOST_LIST - value: ${DRONE_EXTERNAL_HOST} + valueFrom: + configMapKeyRef: + name: kustomize-generated-config + key: GITEA_EXTERNAL_URL + # - name: GITEA__WEBHOOK_ALLOWED_HOST_LIST + # value: ${DRONE_EXTERNAL_HOST} - name: GITEA__DEFAULT__APP_NAME value: Badjware's code stash - name: GITEA__SERVICE__DISABLE_REGISTRATION @@ -56,7 +62,7 @@ spec: volumes: - name: gitea-pv persistentVolumeClaim: - claimName: gitea-pvc + claimName: server-pvc # --- # apiVersion: v1 # kind: PersistentVolume @@ -77,7 +83,7 @@ spec: apiVersion: v1 kind: PersistentVolumeClaim metadata: - name: gitea-pvc + name: server-pvc labels: app.kubernetes.io/name: gitea spec: @@ -94,7 +100,7 @@ spec: apiVersion: v1 kind: Service metadata: - name: gitea + name: server labels: app.kubernetes.io/name: gitea monitor: prometheus @@ -109,7 +115,7 @@ spec: apiVersion: v1 kind: Service metadata: - name: gitea-ssh + name: server-ssh labels: app.kubernetes.io/name: gitea spec: diff --git a/kustomize/bases/gitea/gitea-ingress.yaml b/kustomize/bases/gitea/gitea-ingress.yaml index b898413..99b2823 100644 --- a/kustomize/bases/gitea/gitea-ingress.yaml +++ b/kustomize/bases/gitea/gitea-ingress.yaml @@ -1,7 +1,7 @@ apiVersion: networking.k8s.io/v1 kind: Ingress metadata: - name: gitea + name: server labels: app.kubernetes.io/name: gitea probe: blackbox-http @@ -14,6 +14,6 @@ spec: pathType: Prefix backend: service: - name: gitea + name: server port: name: http diff --git a/kustomize/bases/gitea/kustomization.yaml b/kustomize/bases/gitea/kustomization.yaml index eee3f49..a3a6be7 100644 --- a/kustomize/bases/gitea/kustomization.yaml +++ b/kustomize/bases/gitea/kustomization.yaml @@ -2,6 +2,8 @@ resources: - gitea-deployment.yaml - gitea-ingress.yaml +namePrefix: gitea- + commonLabels: app.kubernetes.io/name: gitea app.kubernetes.io/component: server @@ -15,3 +17,21 @@ commonLabels: # - database=gitea # - username=gitea # - password=changeme + +configMapGenerator: + - name: kustomize-generated-config + literals: + - GITEA_EXTERNAL_HOST=code.badjware.dev + - GITEA_EXTERNAL_URL=https://code.badjware.dev + +replacements: + - source: + kind: ConfigMap + name: kustomize-generated-config + fieldPath: data.GITEA_EXTERNAL_HOST + targets: + - select: + kind: Ingress + name: server + fieldPaths: + - spec.rules.0.host diff --git a/kustomize/bases/grafana/grafana-deployment.yaml b/kustomize/bases/grafana/grafana-deployment.yaml index 790e985..2ab906e 100644 --- a/kustomize/bases/grafana/grafana-deployment.yaml +++ b/kustomize/bases/grafana/grafana-deployment.yaml @@ -1,7 +1,7 @@ apiVersion: apps/v1 kind: Deployment metadata: - name: grafana + name: server labels: app.kubernetes.io/name: grafana spec: @@ -28,9 +28,15 @@ spec: image: grafana/grafana env: - name: GF_SERVER_DOMAIN - value: ${GRAFANA_EXTERNAL_HOST} + valueFrom: + configMapKeyRef: + name: kustomize-generated-config + key: GRAFANA_EXTERNAL_HOST - name: GF_SERVER_ROOT_URL - value: https://${GRAFANA_EXTERNAL_HOST}/ + valueFrom: + configMapKeyRef: + name: kustomize-generated-config + key: GRAFANA_EXTERNAL_URL # - name: GF_AUTH_ANONYMOUS_ENABLED # value: "true" - name: GF_INSTALL_PLUGINS @@ -80,12 +86,12 @@ spec: secretName: grafana-config - name: grafana-pv persistentVolumeClaim: - claimName: grafana-pvc + claimName: server-pvc --- apiVersion: v1 kind: PersistentVolumeClaim metadata: - name: grafana-pvc + name: server-pvc spec: accessModes: - ReadWriteOnce @@ -96,7 +102,7 @@ spec: apiVersion: v1 kind: Service metadata: - name: grafana + name: server labels: app.kubernetes.io/name: grafana monitor: prometheus diff --git a/kustomize/bases/grafana/grafana-externalsecret.yaml b/kustomize/bases/grafana/grafana-externalsecret.yaml index b369ab6..ce36c6a 100644 --- a/kustomize/bases/grafana/grafana-externalsecret.yaml +++ b/kustomize/bases/grafana/grafana-externalsecret.yaml @@ -1,7 +1,7 @@ apiVersion: external-secrets.io/v1beta1 kind: ExternalSecret metadata: - name: grafana-config + name: server-config spec: secretStoreRef: name: aws-parameters-store diff --git a/kustomize/bases/grafana/grafana-ingress.yaml b/kustomize/bases/grafana/grafana-ingress.yaml index a6985a8..a00feae 100644 --- a/kustomize/bases/grafana/grafana-ingress.yaml +++ b/kustomize/bases/grafana/grafana-ingress.yaml @@ -1,7 +1,7 @@ apiVersion: networking.k8s.io/v1 kind: Ingress metadata: - name: grafana + name: server labels: app.kubernetes.io/name: grafana probe: blackbox-http @@ -14,6 +14,6 @@ spec: pathType: Prefix backend: service: - name: grafana + name: server port: name: http diff --git a/kustomize/bases/grafana/kustomization.yaml b/kustomize/bases/grafana/kustomization.yaml index 6259aac..fb120cd 100644 --- a/kustomize/bases/grafana/kustomization.yaml +++ b/kustomize/bases/grafana/kustomization.yaml @@ -3,15 +3,34 @@ resources: - grafana-ingress.yaml - grafana-externalsecret.yaml +namePrefix: grafana- + commonLabels: app.kubernetes.io/name: grafana + app.kubernetes.io/component: server app.kubernetes.io/part-of: monitoring configMapGenerator: + - name: kustomize-generated-config + literals: + - GRAFANA_EXTERNAL_HOST=grafana.badjware.dev + - GRAFANA_EXTERNAL_URL=https://grafana.badjware.dev - name: grafana-datasources files: - datasources.yaml=provision/datasources.yaml +replacements: + - source: + kind: ConfigMap + name: kustomize-generated-config + fieldPath: data.GRAFANA_EXTERNAL_HOST + targets: + - select: + kind: Ingress + name: server + fieldPaths: + - spec.rules.0.host + # secretGenerator: # - name: postgres-credentials # type: Opaque diff --git a/kustomize/bases/longhorn/kustomization.yaml b/kustomize/bases/longhorn/kustomization.yaml index 2d0405e..53e0059 100644 --- a/kustomize/bases/longhorn/kustomization.yaml +++ b/kustomize/bases/longhorn/kustomization.yaml @@ -4,5 +4,26 @@ resources: - longhorn-recurringjob.yaml - longhorn-externalsecret.yaml +namePrefix: longhorn- + commonLabels: app.kubernetes.io/name: longhorn + +configMapGenerator: + - name: kustomize-generated-config + literals: + - LONGHORN_EXTERNAL_HOST=longhorn.badjnet.home + +replacements: + - source: + kind: ConfigMap + name: kustomize-generated-config + fieldPath: data.LONGHORN_EXTERNAL_HOST + targets: + - select: + kind: HelmChart + name: chart + fieldPaths: + - spec.set.[ingress.host] + options: + create: true diff --git a/kustomize/bases/longhorn/longhorn-helmchart.yaml b/kustomize/bases/longhorn/longhorn-helmchart.yaml index 7ba4e9b..50529b8 100644 --- a/kustomize/bases/longhorn/longhorn-helmchart.yaml +++ b/kustomize/bases/longhorn/longhorn-helmchart.yaml @@ -1,7 +1,7 @@ apiVersion: helm.cattle.io/v1 kind: HelmChart metadata: - name: longhorn + name: chart namespace: kube-system spec: repo: https://charts.longhorn.io diff --git a/kustomize/bases/nextcloud/kustomization.yaml b/kustomize/bases/nextcloud/kustomization.yaml index e44f312..8c647f3 100644 --- a/kustomize/bases/nextcloud/kustomization.yaml +++ b/kustomize/bases/nextcloud/kustomization.yaml @@ -4,9 +4,28 @@ resources: - nextcloud-deployment.yaml - nextcloud-ingress.yaml +namePrefix: nextcloud- + commonLabels: app.kubernetes.io/name: nextcloud +configMapGenerator: + - name: kustomize-generated-config + literals: + - NEXTCLOUD_EXTERNAL_HOST=cloud.badjware.dev + +replacements: + - source: + kind: ConfigMap + name: kustomize-generated-config + fieldPath: data.NEXTCLOUD_EXTERNAL_HOST + targets: + - select: + kind: Ingress + name: server + fieldPaths: + - spec.rules.0.host + patches: - patch: |- apiVersion: external-secrets.io/v1beta1 diff --git a/kustomize/bases/nextcloud/nextcloud-deployment.yaml b/kustomize/bases/nextcloud/nextcloud-deployment.yaml index 035f0ee..407c1df 100644 --- a/kustomize/bases/nextcloud/nextcloud-deployment.yaml +++ b/kustomize/bases/nextcloud/nextcloud-deployment.yaml @@ -1,7 +1,7 @@ apiVersion: apps/v1 kind: Deployment metadata: - name: nextcloud + name: server labels: app.kubernetes.io/name: nextcloud app.kubernetes.io/component: server @@ -45,14 +45,14 @@ spec: - name: TRUSTED_PROXIES value: 10.0.0.0/8 - name: REDIS_HOST - value: redis.$(NAMESPACE).svc.cluster.local + value: nextcloud-redis.$(NAMESPACE).svc.cluster.local - name: REDIS_HOST_PASSWORD valueFrom: secretKeyRef: name: redis-credentials key: password - name: POSTGRES_HOST - value: postgres.$(NAMESPACE).svc.cluster.local + value: nextcloud-postgres.$(NAMESPACE).svc.cluster.local - name: POSTGRES_DB valueFrom: secretKeyRef: @@ -84,12 +84,12 @@ spec: volumes: - name: nextcloud-pv persistentVolumeClaim: - claimName: nextcloud-pvc + claimName: server-pvc --- apiVersion: v1 kind: PersistentVolumeClaim metadata: - name: nextcloud-pvc + name: server-pvc spec: accessModes: - ReadWriteOnce @@ -100,7 +100,7 @@ spec: apiVersion: v1 kind: Service metadata: - name: nextcloud + name: server labels: app.kubernetes.io/name: nextcloud spec: diff --git a/kustomize/bases/nextcloud/nextcloud-ingress.yaml b/kustomize/bases/nextcloud/nextcloud-ingress.yaml index 0372402..f5d3301 100644 --- a/kustomize/bases/nextcloud/nextcloud-ingress.yaml +++ b/kustomize/bases/nextcloud/nextcloud-ingress.yaml @@ -1,7 +1,7 @@ apiVersion: networking.k8s.io/v1 kind: Ingress metadata: - name: nextcloud + name: server labels: app.kubernetes.io/name: nextcloud probe: blackbox-http @@ -14,6 +14,6 @@ spec: pathType: Prefix backend: service: - name: nextcloud + name: server port: name: http diff --git a/kustomize/bases/prometheus/kustomization.yaml b/kustomize/bases/prometheus/kustomization.yaml index b60bd9c..c4eb35b 100644 --- a/kustomize/bases/prometheus/kustomization.yaml +++ b/kustomize/bases/prometheus/kustomization.yaml @@ -4,6 +4,8 @@ resources: - prometheus-ingress.yaml - traefik-podmonitor.yaml +namePrefix: prometheus- + commonLabels: app.kubernetes.io/name: prometheus app.kubernetes.io/part-of: monitoring @@ -20,5 +22,22 @@ secretGenerator: literals: - prometheus-additional.yaml= +configMapGenerator: + - name: kustomize-generated-config + literals: + - PROMETHEUS_EXTERNAL_HOST=prometheus.badjnet.home + +replacements: + - source: + kind: ConfigMap + name: kustomize-generated-config + fieldPath: data.PROMETHEUS_EXTERNAL_HOST + targets: + - select: + kind: Ingress + name: prometheus + fieldPaths: + - spec.rules.0.host + configurations: - kustomizeconfig/namereference.yaml \ No newline at end of file diff --git a/kustomize/bases/traefik/kustomization.yaml b/kustomize/bases/traefik/kustomization.yaml index 68a0175..a9ff4ec 100644 --- a/kustomize/bases/traefik/kustomization.yaml +++ b/kustomize/bases/traefik/kustomization.yaml @@ -4,7 +4,26 @@ resources: - traefik-helmchartconfig.yaml - traefik-ingress.yaml +namePrefix: traefik- + namespace: kube-system commonLabels: app.kubernetes.io/name: traefik + +configMapGenerator: + - name: kustomize-generated-config + literals: + - TRAEFIK_EXTERNAL_HOST=traefik.badjnet.home + +replacements: + - source: + kind: ConfigMap + name: kustomize-generated-config + fieldPath: data.TRAEFIK_EXTERNAL_HOST + targets: + - select: + kind: Ingress + name: traefik + fieldPaths: + - spec.rules.0.host \ No newline at end of file diff --git a/kustomize/env/prod/kustomization.yaml b/kustomize/env/prod/kustomization.yaml index 5a6b221..cca96e4 100644 --- a/kustomize/env/prod/kustomization.yaml +++ b/kustomize/env/prod/kustomization.yaml @@ -3,6 +3,8 @@ resources: # - ../../namespaces/kubernetes-dashboard - ../../overlays/gitea + # - ../../overlays/woodpecker + # - ../../overlays/gitlab - ../../overlays/monitoring - ../../overlays/nextcloud @@ -34,22 +36,7 @@ images: - name: redis newTag: 6.2.10 -configMapGenerator: - - name: replacements - namespace: default - literals: - - TRAEFIK_EXTERNAL_HOST=traefik.badjnet.home - - LONGHORN_EXTERNAL_HOST=longhorn.badjnet.home - - - GITEA_EXTERNAL_HOST=code.badjware.dev - - GITEA_EXTERNAL_URL=https://code.badjware.dev - - - GRAFANA_EXTERNAL_HOST=grafana.badjware.dev - - GRAFANA_EXTERNAL_URL=https://grafana.badjware.dev - - - DRONE_EXTERNAL_HOST=drone.badjware.dev - - NEXTCLOUD_EXTERNAL_HOST=cloud.badjware.dev - - PROMETHEUS_EXTERNAL_HOST=prometheus.badjnet.home +# configMapGenerator: # - name: ecommerce-exporter-config # namespace: monitoring # behavior: replace @@ -57,7 +44,7 @@ configMapGenerator: # - ecommerce-exporter.yml=configurations/ecommerce-exporter/ecommerce-exporter.yml secretGenerator: - - name: additional-scrape-configs + - name: prometheus-additional-scrape-configs type: Opaque namespace: monitoring behavior: replace @@ -72,7 +59,7 @@ patches: - target: version: v1 kind: Deployment - name: nextcloud + name: nextcloud-server path: patches/nextcloud-deployment-patch.yaml # - target: # version: v1 @@ -82,151 +69,3 @@ patches: # patchesStrategicMerge: # - patches/blackbox-exporter-probe-patch.yaml - -replacements: - - source: - kind: ConfigMap - name: replacements - namespace: default - fieldPath: data.TRAEFIK_EXTERNAL_HOST - targets: - - select: - kind: Ingress - name: traefik - namespace: kube-system - fieldPaths: - - spec.rules.0.host - - source: - kind: ConfigMap - name: replacements - namespace: default - fieldPath: data.LONGHORN_EXTERNAL_HOST - targets: - - select: - kind: HelmChart - name: longhorn - namespace: kube-system - fieldPaths: - - spec.set.[ingress.host] - options: - create: true - - source: - kind: ConfigMap - name: replacements - namespace: default - fieldPath: data.GITEA_EXTERNAL_HOST - targets: - - select: - kind: Deployment - name: gitea - namespace: gitea - fieldPaths: - - spec.template.spec.containers.0.env.0.value - - select: - kind: Ingress - name: gitea - namespace: gitea - fieldPaths: - - spec.rules.0.host - - source: - kind: ConfigMap - name: replacements - namespace: default - fieldPath: data.GITEA_EXTERNAL_URL - targets: - - select: - kind: Deployment - name: gitea - namespace: gitea - fieldPaths: - - spec.template.spec.containers.0.env.1.value - - select: - kind: Deployment - name: drone-server - namespace: gitea - fieldPaths: - - spec.template.spec.containers.0.env.0.value - - source: - kind: ConfigMap - name: replacements - namespace: default - fieldPath: data.GRAFANA_EXTERNAL_HOST - targets: - - select: - kind: Ingress - name: grafana - namespace: monitoring - fieldPaths: - - spec.rules.0.host - - select: - kind: Deployment - name: grafana - namespace: monitoring - fieldPaths: - - spec.template.spec.containers.0.env.0.value - - source: - kind: ConfigMap - name: replacements - namespace: default - fieldPath: data.GRAFANA_EXTERNAL_URL - targets: - - select: - kind: Deployment - name: grafana - namespace: monitoring - fieldPaths: - - spec.template.spec.containers.0.env.1.value - - source: - kind: ConfigMap - name: replacements - namespace: default - fieldPath: data.DRONE_EXTERNAL_HOST - targets: - - select: - kind: Ingress - name: drone - namespace: gitea - fieldPaths: - - spec.rules.0.host - - select: - kind: Deployment - name: drone-server - namespace: gitea - fieldPaths: - - spec.template.spec.containers.0.env.1.value - - select: - kind: Deployment - name: gitea - namespace: gitea - fieldPaths: - - spec.template.spec.containers.0.env.2.value - - select: - kind: Deployment - name: drone-server - namespace: gitea - fieldPaths: - - spec.template.spec.containers.0.env.1.value - - source: - kind: ConfigMap - name: replacements - namespace: default - fieldPath: data.NEXTCLOUD_EXTERNAL_HOST - targets: - - select: - kind: Ingress - name: nextcloud - namespace: nextcloud - fieldPaths: - - spec.rules.0.host - - source: - kind: ConfigMap - name: replacements - namespace: default - fieldPath: data.PROMETHEUS_EXTERNAL_HOST - targets: - - select: - kind: Ingress - name: prometheus - namespace: monitoring - fieldPaths: - - spec.rules.0.host diff --git a/kustomize/overlays/gitea/kustomization.yaml b/kustomize/overlays/gitea/kustomization.yaml index e69ae3e..a5753d0 100644 --- a/kustomize/overlays/gitea/kustomization.yaml +++ b/kustomize/overlays/gitea/kustomization.yaml @@ -1,7 +1,5 @@ resources: - namespace.yaml - ../../bases/gitea - - ../../bases/drone-server - - ../../bases/drone-runner namespace: gitea