feat(infisical): add Infisical platform (Phase 1, chart-managed pg/redis)
Deploy infisical-standalone 1.9.0 (Infisical v0.158.0) in a dedicated 'infisical' namespace via a multi-source ArgoCD app (chart + values). Bundled Postgres (dedicated local-path PVC, 8Gi) + Redis. Ingress via Traefik + cert-manager (letsencrypt-prod) at infisical.chemavx.xyz. Crown-jewel secrets (ENCRYPTION_KEY, AUTH_SECRET, SITE_URL) are injected out-of-band via the 'infisical-secrets' Secret (kubectl, IgnoreExtraneous), NOT in git. Postgres/Redis passwords guard ClusterIP-only in-cluster services holding ciphertext; acceptable in values per design review. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,28 @@
|
||||
apiVersion: argoproj.io/v1alpha1
|
||||
kind: Application
|
||||
metadata:
|
||||
name: infisical
|
||||
namespace: argocd
|
||||
annotations:
|
||||
argocd.argoproj.io/tracking-id: infisical:argoproj.io/Application:argocd/infisical
|
||||
spec:
|
||||
destination:
|
||||
namespace: infisical
|
||||
server: https://kubernetes.default.svc
|
||||
project: default
|
||||
sources:
|
||||
- repoURL: https://dl.cloudsmith.io/public/infisical/helm-charts/helm/charts/
|
||||
chart: infisical-standalone
|
||||
targetRevision: 1.9.0
|
||||
helm:
|
||||
valueFiles:
|
||||
- $values/infisical/values.yaml
|
||||
- repoURL: https://git.chemavx.xyz/chemavx/k8s-manifests
|
||||
targetRevision: main
|
||||
ref: values
|
||||
syncPolicy:
|
||||
automated:
|
||||
prune: true
|
||||
selfHeal: true
|
||||
syncOptions:
|
||||
- CreateNamespace=true
|
||||
@@ -0,0 +1,56 @@
|
||||
# Infisical platform (Phase 1) — chart: infisical-standalone 1.9.0 (Infisical v0.158.0)
|
||||
# Crown-jewel secrets (ENCRYPTION_KEY, AUTH_SECRET, SITE_URL) are NOT here — they live
|
||||
# in the out-of-band 'infisical-secrets' Secret (kubectl, IgnoreExtraneous).
|
||||
# Postgres/Redis passwords below guard ClusterIP-only services in the isolated infisical
|
||||
# namespace; the DB stores only ciphertext (useless without ENCRYPTION_KEY).
|
||||
infisical:
|
||||
enabled: true
|
||||
replicaCount: 1
|
||||
kubeSecretRef: infisical-secrets
|
||||
autoBootstrap:
|
||||
enabled: false
|
||||
image:
|
||||
tag: "v0.158.0"
|
||||
pullPolicy: IfNotPresent
|
||||
resources:
|
||||
limits:
|
||||
memory: 1000Mi
|
||||
requests:
|
||||
cpu: 350m
|
||||
|
||||
ingress:
|
||||
enabled: true
|
||||
nginx:
|
||||
enabled: false
|
||||
ingressClassName: traefik
|
||||
hostName: infisical.chemavx.xyz
|
||||
annotations:
|
||||
cert-manager.io/cluster-issuer: letsencrypt-prod
|
||||
traefik.ingress.kubernetes.io/router.entrypoints: websecure
|
||||
tls:
|
||||
- secretName: infisical-tls
|
||||
hosts:
|
||||
- infisical.chemavx.xyz
|
||||
|
||||
postgresql:
|
||||
enabled: true
|
||||
name: postgresql
|
||||
fullnameOverride: postgresql
|
||||
auth:
|
||||
username: infisical
|
||||
password: "eeb3d0ec1a98f8582253e74b8f22f7ad9f4b56eaf94679aa"
|
||||
database: infisicalDB
|
||||
primary:
|
||||
persistence:
|
||||
enabled: true
|
||||
storageClass: local-path
|
||||
size: 8Gi
|
||||
|
||||
redis:
|
||||
enabled: true
|
||||
name: redis
|
||||
fullnameOverride: redis
|
||||
architecture: standalone
|
||||
usePassword: true
|
||||
auth:
|
||||
password: "b10e20323896054ddacbafffa6b3d71b350c826e6ce3e06f"
|
||||
Reference in New Issue
Block a user