151 lines
3.5 KiB
YAML
151 lines
3.5 KiB
YAML
apiVersion: kustomize.config.k8s.io/v1beta1
|
|
kind: Kustomization
|
|
|
|
transformers:
|
|
- |-
|
|
apiVersion: builtin
|
|
kind: NamespaceTransformer
|
|
metadata:
|
|
name: notImportantHere
|
|
namespace: apps
|
|
unsetOnly: true
|
|
|
|
namePrefix: comentario-
|
|
resources:
|
|
- ../../../kustomize/bases/deployment/
|
|
|
|
patches:
|
|
- path: patches/deployment.yaml
|
|
target:
|
|
kind: Deployment
|
|
name: app
|
|
- path: patches/secret.yaml
|
|
target:
|
|
kind: InfisicalSecret
|
|
name: secrets
|
|
- path: patches/pvc.yaml
|
|
target:
|
|
kind: PersistentVolumeClaim
|
|
name: pvc
|
|
|
|
labels:
|
|
- includeSelectors: true
|
|
pairs:
|
|
app.kubernetes.io/appName: comentario
|
|
- pairs:
|
|
app.kubernetes.io/appNamespace: apps
|
|
- pairs:
|
|
app.kubernetes.io/routePrefix: comments
|
|
|
|
configMapGenerator:
|
|
- name: config
|
|
literals:
|
|
- HOST="0.0.0.0"
|
|
- PORT="80"
|
|
- SECRETS_FILE="/comentario-secrets/secrets.yaml"
|
|
- BASE_URL="https://comments.leechpepin.com"
|
|
- SUPERUSER="jonathan@leechpepin.com"
|
|
|
|
replacements:
|
|
# Service
|
|
- source:
|
|
kind: Deployment
|
|
name: app
|
|
fieldPath: metadata.labels.[app.kubernetes.io/appName]
|
|
targets:
|
|
- select:
|
|
kind: Service
|
|
fieldPaths:
|
|
- spec.ports.0.name
|
|
- spec.ports.0.targetPort
|
|
- source:
|
|
kind: Deployment
|
|
name: app
|
|
fieldPath: spec.template.spec.containers.0.ports.0.containerPort
|
|
targets:
|
|
- select:
|
|
kind: Service
|
|
fieldPaths:
|
|
- spec.ports.0.port
|
|
# Secrets
|
|
- source:
|
|
kind: Deployment
|
|
name: app
|
|
fieldPath: metadata.labels.[app.kubernetes.io/appNamespace]
|
|
targets:
|
|
- select:
|
|
kind: InfisicalSecret
|
|
fieldPaths:
|
|
- spec.managedSecretReference.secretNamespace
|
|
- select:
|
|
kind: InfisicalSecret
|
|
options:
|
|
delimiter: "/"
|
|
index: 1
|
|
fieldPaths:
|
|
- spec.authentication.universalAuth.secretsScope.secretsPath
|
|
- source:
|
|
kind: Deployment
|
|
name: app
|
|
fieldPath: metadata.labels.[app.kubernetes.io/appName]
|
|
targets:
|
|
- select:
|
|
kind: InfisicalSecret
|
|
options:
|
|
delimiter: "-"
|
|
index: 0
|
|
fieldPaths:
|
|
- spec.managedSecretReference.secretName
|
|
- select:
|
|
kind: InfisicalSecret
|
|
options:
|
|
delimiter: "/"
|
|
index: 2
|
|
fieldPaths:
|
|
- spec.authentication.universalAuth.secretsScope.secretsPath
|
|
# HTTP Route
|
|
- source:
|
|
kind: Service
|
|
name: svc
|
|
targets:
|
|
- select:
|
|
kind: HTTPRoute
|
|
options:
|
|
create: true
|
|
fieldPaths:
|
|
- spec.rules.0.backendRefs.0.name
|
|
- source:
|
|
kind: Deployment
|
|
name: app
|
|
fieldPath: metadata.labels.[app.kubernetes.io/appName]
|
|
targets:
|
|
- select:
|
|
kind: HTTPRoute
|
|
options:
|
|
create: true
|
|
delimiter: "."
|
|
index: 0
|
|
fieldPaths:
|
|
- spec.hostnames.0
|
|
- source:
|
|
kind: Deployment
|
|
name: app
|
|
fieldPath: spec.template.spec.containers.0.ports.0.containerPort
|
|
targets:
|
|
- select:
|
|
kind: HTTPRoute
|
|
fieldPaths:
|
|
- spec.rules.0.backendRefs.0.port
|
|
- source:
|
|
kind: Deployment
|
|
name: app
|
|
fieldPath: metadata.labels.[app.kubernetes.io/routePrefix]
|
|
targets:
|
|
- select:
|
|
kind: HTTPRoute
|
|
options:
|
|
create: true
|
|
delimiter: "."
|
|
index: 0
|
|
fieldPaths:
|
|
- spec.hostnames.0
|