fix(charts): publish external-dns in platform stack
This commit is contained in:
parent
c3eb670c3c
commit
6cbca2e23b
@ -5,7 +5,7 @@ This repository stores reusable Helm charts published to `ghcr.io/x-evor`.
|
||||
## Layout
|
||||
|
||||
- `apps/app-service`: reusable runtime chart for application services
|
||||
- `infra/platform/k3s`: platform composition chart for `caddy`, `apisix`, and `vault`
|
||||
- `infra/platform/k3s`: platform composition chart for `caddy`, `apisix`, `external-dns`, `external-secrets`, and `vault`
|
||||
- `postgresql`: PostgreSQL service chart with optional `stunnel` server/client
|
||||
- `observability`: observability composition chart for server and agent components
|
||||
|
||||
|
||||
@ -2,5 +2,5 @@ apiVersion: v2
|
||||
name: k3s-platform-chart
|
||||
description: Composes Flux-managed platform components for the k3s platform
|
||||
type: application
|
||||
version: 0.1.3
|
||||
version: 0.1.4
|
||||
appVersion: "1.0.0"
|
||||
|
||||
@ -0,0 +1,19 @@
|
||||
{{- if .Values.components.externalSecretsStore.enabled }}
|
||||
apiVersion: external-secrets.io/v1
|
||||
kind: ClusterSecretStore
|
||||
metadata:
|
||||
name: {{ .Values.components.externalSecretsStore.name }}
|
||||
spec:
|
||||
provider:
|
||||
vault:
|
||||
server: {{ .Values.components.externalSecretsStore.vault.server }}
|
||||
path: {{ .Values.components.externalSecretsStore.vault.path }}
|
||||
version: {{ .Values.components.externalSecretsStore.vault.version }}
|
||||
auth:
|
||||
kubernetes:
|
||||
mountPath: {{ .Values.components.externalSecretsStore.vault.auth.kubernetes.mountPath }}
|
||||
role: {{ .Values.components.externalSecretsStore.vault.auth.kubernetes.role }}
|
||||
serviceAccountRef:
|
||||
name: {{ .Values.components.externalSecretsStore.vault.auth.kubernetes.serviceAccountRef.name }}
|
||||
namespace: {{ .Values.components.externalSecretsStore.vault.auth.kubernetes.serviceAccountRef.namespace }}
|
||||
{{- end }}
|
||||
46
oci/charts/infra/platform/k3s/templates/external-dns.yaml
Normal file
46
oci/charts/infra/platform/k3s/templates/external-dns.yaml
Normal file
@ -0,0 +1,46 @@
|
||||
{{- if .Values.components.externalDns.enabled }}
|
||||
apiVersion: external-secrets.io/v1
|
||||
kind: ExternalSecret
|
||||
metadata:
|
||||
name: {{ .Values.components.externalDns.secret.name }}
|
||||
namespace: {{ .Values.namespaces.platform }}
|
||||
spec:
|
||||
refreshInterval: {{ .Values.components.externalDns.secret.refreshInterval }}
|
||||
secretStoreRef:
|
||||
kind: {{ .Values.components.externalDns.secret.secretStoreRef.kind }}
|
||||
name: {{ .Values.components.externalDns.secret.secretStoreRef.name }}
|
||||
target:
|
||||
name: {{ .Values.components.externalDns.secret.target.name }}
|
||||
creationPolicy: {{ .Values.components.externalDns.secret.target.creationPolicy }}
|
||||
data:
|
||||
- secretKey: {{ .Values.components.externalDns.secret.data.secretKey }}
|
||||
remoteRef:
|
||||
key: {{ .Values.components.externalDns.secret.data.remoteRef.key }}
|
||||
property: {{ .Values.components.externalDns.secret.data.remoteRef.property }}
|
||||
---
|
||||
apiVersion: helm.toolkit.fluxcd.io/v2
|
||||
kind: HelmRelease
|
||||
metadata:
|
||||
name: {{ .Values.components.externalDns.releaseName }}
|
||||
namespace: {{ .Values.namespaces.platform }}
|
||||
spec:
|
||||
interval: 10m0s
|
||||
releaseName: {{ .Values.components.externalDns.releaseName }}
|
||||
chart:
|
||||
spec:
|
||||
chart: {{ .Values.components.externalDns.chart.name }}
|
||||
version: {{ .Values.components.externalDns.chart.version | quote }}
|
||||
sourceRef:
|
||||
kind: {{ .Values.components.externalDns.sourceRef.kind }}
|
||||
name: {{ .Values.components.externalDns.sourceRef.name }}
|
||||
namespace: {{ .Values.components.externalDns.sourceRef.namespace }}
|
||||
install:
|
||||
createNamespace: false
|
||||
remediation:
|
||||
retries: 3
|
||||
upgrade:
|
||||
remediation:
|
||||
retries: 3
|
||||
values:
|
||||
{{- toYaml .Values.components.externalDns.values | nindent 4 }}
|
||||
{{- end }}
|
||||
@ -73,6 +73,59 @@ components:
|
||||
type: roundrobin
|
||||
nodes:
|
||||
"accounts.core-pre.svc.cluster.local:80": 1
|
||||
externalDns:
|
||||
enabled: true
|
||||
releaseName: external-dns
|
||||
sourceRef:
|
||||
kind: HelmRepository
|
||||
name: external-dns
|
||||
namespace: flux-system
|
||||
chart:
|
||||
name: external-dns
|
||||
version: ">=1.14.0 <2.0.0"
|
||||
secret:
|
||||
name: cloudflare-api-token
|
||||
refreshInterval: 1m
|
||||
secretStoreRef:
|
||||
kind: ClusterSecretStore
|
||||
name: vault-platform
|
||||
target:
|
||||
name: cloudflare-api-token
|
||||
creationPolicy: Owner
|
||||
data:
|
||||
secretKey: api-token
|
||||
remoteRef:
|
||||
key: platform/cloudflare
|
||||
property: api-token
|
||||
values:
|
||||
provider: cloudflare
|
||||
policy: sync
|
||||
registry: txt
|
||||
txtOwnerId: svc-plus-k3s
|
||||
sources:
|
||||
- ingress
|
||||
domainFilters:
|
||||
- svc.plus
|
||||
env:
|
||||
- name: CF_API_TOKEN
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: cloudflare-api-token
|
||||
key: api-token
|
||||
externalSecretsStore:
|
||||
enabled: true
|
||||
name: vault-platform
|
||||
vault:
|
||||
server: http://vault.extsvc.svc.cluster.local:8200
|
||||
path: secret
|
||||
version: v2
|
||||
auth:
|
||||
kubernetes:
|
||||
mountPath: kubernetes
|
||||
role: external-secrets
|
||||
serviceAccountRef:
|
||||
name: external-secrets
|
||||
namespace: platform
|
||||
vault:
|
||||
enabled: true
|
||||
releaseName: vault
|
||||
|
||||
Loading…
Reference in New Issue
Block a user