1
0
Fork 0
home-stack-kustomize/kustomize/overlays/prod/kustomization.yaml

225 lines
5.8 KiB
YAML

resources:
# - ../../namespaces/kubernetes-dashboard
- ../../namespaces/gitea
- ../../namespaces/monitoring
- ../../namespaces/nextcloud
# resources:
# - probes/external-services-bobcat-miner.yaml
buildMetadata:
- originAnnotations
images:
- name: gitea/gitea
newTag: 1.16.9
- name: grafana/grafana
newTag: 9.2.1
# - name: prom/node-exporter
# newTag: v0.18.1
- name: prom/blackbox-exporter
newName: badjware/blackbox-exporter-tweak
newTag: 0.21.1
- name: drone/drone
newTag: 2.14.0
- name: drone/drone-runner-kube
newTag: 1.0.0-rc.3
- name: nextcloud
newName: badjware/nextcloud-tweak
newTag: 25.0.3
- name: postgres
newTag: 9.6.23
- name: redis
newTag: 6.2.5
configMapGenerator:
- name: replacements
namespace: default
literals:
- GITEA_EXTERNAL_HOST=code.badjware.dev
- GITEA_EXTERNAL_URL=https://code.badjware.dev
- DRONE_EXTERNAL_HOST=drone.badjware.dev
- NEXTCLOUD_EXTERNAL_HOST=cloud.badjware.dev
- GRAFANA_EXTERNAL_HOST=grafana.badjware.dev
- PROMETHEUS_EXTERNAL_HOST=prometheus.badjnet.home
# - name: ecommerce-exporter-config
# namespace: monitoring
# behavior: replace
# files:
# - ecommerce-exporter.yml=configurations/ecommerce-exporter/ecommerce-exporter.yml
secretGenerator:
- name: drone-secret
type: Opaque
namespace: gitea
behavior: replace
literals:
- rpc_secret=${ssm:/k3s/prod/drone/gitea/rpc_secret}
- database_secret=${ssm:/k3s/prod/drone/gitea/database_secret}
# https://docs.drone.io/server/provider/gitea/
- name: drone-gitea-oauth-secret
type: Opaque
namespace: gitea
behavior: replace
literals:
- client_id=${ssm:/k3s/prod/drone/gitea/client_id}
- client_secret=${ssm:/k3s/prod/drone/gitea/client_secret}
- name: postgres-credentials
type: Opaque
namespace: nextcloud
behavior: replace
literals:
- database=nextcloud
- username=nextcloud
- password=${ssm:/k3s/prod/nextcloud/postgres/password}
- name: redis-credentials
type: Opaque
namespace: nextcloud
behavior: replace
literals:
- password=${ssm:/k3s/prod/nextcloud/redis/password}
- name: grafana-agent
namespace: monitoring
behavior: replace
files:
- agent.yaml=configurations/grafana-agent/agent.yaml
- name: grafana-config
type: Opaque
namespace: monitoring
behavior: replace
files:
- custom.ini=configurations/grafana/custom.ini
# - name: grafana-cloud-credentials
# type: Opaque
# namespace: monitoring
# behavior: replace
# literals:
# - username=${ssm:/k3s/prod/monitoring/grafana-cloud/username}
# - password=${ssm:/k3s/prod/monitoring/grafana-cloud/password}
- name: additional-scrape-configs
type: Opaque
namespace: monitoring
behavior: replace
files:
- prometheus-additional.yaml=configurations/prometheus/prometheus-additional.yaml
# allow "kubectl apply -l app.kubernetes.io/managed-by=kustomize --prune ..."
commonLabels:
app.kubernetes.io/managed-by: kustomize
transformers:
- transformers/ssm-secrets.yaml
patchesJson6902:
- target:
version: v1
kind: Deployment
name: nextcloud
path: patches/nextcloud-deployment-patch.yaml
# - target:
# version: v1
# kind: Prometheus
# name: prometheus
# path: patches/prometheus-patch.yaml
# patchesStrategicMerge:
# - patches/blackbox-exporter-probe-patch.yaml
replacements:
- source:
kind: ConfigMap
name: replacements
namespace: default
fieldPath: data.GITEA_EXTERNAL_HOST
targets:
- 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.0.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.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.1.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.GRAFANA_EXTERNAL_HOST
targets:
- select:
kind: Ingress
name: grafana
namespace: monitoring
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