feat: add staging/prod environments for arch-docs
All checks were successful
AI Review / AI Code Review (pull_request) Successful in 1s
PR Checks / Validate & Security Scan (pull_request) Successful in 5s

- Add arch-docs-staging and arch-docs-prod ArgoCD applications
- Add staging values: 1 replica, /staging/docs path
- Add prod values: 2 replicas, /docs path
- Move dev ingress from /docs to /dev/docs to avoid path conflicts
- Full environment isolation: separate namespaces, paths, resources
This commit is contained in:
Claude 2026-02-14 23:42:14 +01:00
parent b5b1a202d7
commit 5a5e556046
5 changed files with 155 additions and 1 deletions

View File

@ -0,0 +1,25 @@
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: arch-docs-prod
namespace: argocd
labels:
environment: prod
finalizers:
- resources-finalizer.argocd.argoproj.io
spec:
project: default
source:
repoURL: http://10.10.10.1:3000/claude/k8s-apps.git
targetRevision: main
path: charts/web-app
helm:
valueFiles:
- ../../environments/prod/arch-docs.yaml
destination:
server: https://kubernetes.default.svc
namespace: prod
syncPolicy:
automated:
prune: true
selfHeal: true

View File

@ -0,0 +1,25 @@
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: arch-docs-staging
namespace: argocd
labels:
environment: staging
finalizers:
- resources-finalizer.argocd.argoproj.io
spec:
project: default
source:
repoURL: http://10.10.10.1:3000/claude/k8s-apps.git
targetRevision: main
path: charts/web-app
helm:
valueFiles:
- ../../environments/staging/arch-docs.yaml
destination:
server: https://kubernetes.default.svc
namespace: staging
syncPolicy:
automated:
prune: true
selfHeal: true

View File

@ -26,7 +26,7 @@ ingress:
enabled: true
className: nginx
host: keightgeore.duckdns.org
path: "/docs(/|$)(.*)"
path: "/dev/docs(/|$)(.*)"
pathType: ImplementationSpecific
annotations:
nginx.ingress.kubernetes.io/rewrite-target: "/$2"

View File

@ -0,0 +1,52 @@
image:
registry: 10.10.10.1:3000
repository: claude/arch-docs
tag: "placeholder"
imagePullSecrets:
- name: gitea-registry
replicaCount: 2
containerPort: 8080
resources:
requests:
cpu: 50m
memory: 32Mi
limits:
cpu: 100m
memory: 64Mi
env:
- name: ENVIRONMENT
value: prod
ingress:
enabled: true
className: nginx
host: keightgeore.duckdns.org
path: "/docs(/|$)(.*)"
pathType: ImplementationSpecific
annotations:
nginx.ingress.kubernetes.io/rewrite-target: "/$2"
nginx.ingress.kubernetes.io/use-regex: "true"
tls:
enabled: true
clusterIssuer: letsencrypt-prod
service:
type: ClusterIP
port: 80
extraVolumeMounts:
- name: nginx-cache
mountPath: /var/cache/nginx
- name: nginx-run
mountPath: /var/run
extraVolumes:
- name: nginx-cache
emptyDir: {}
- name: nginx-run
emptyDir: {}

View File

@ -0,0 +1,52 @@
image:
registry: 10.10.10.1:3000
repository: claude/arch-docs
tag: "placeholder"
imagePullSecrets:
- name: gitea-registry
replicaCount: 1
containerPort: 8080
resources:
requests:
cpu: 10m
memory: 16Mi
limits:
cpu: 50m
memory: 32Mi
env:
- name: ENVIRONMENT
value: staging
ingress:
enabled: true
className: nginx
host: keightgeore.duckdns.org
path: "/staging/docs(/|$)(.*)"
pathType: ImplementationSpecific
annotations:
nginx.ingress.kubernetes.io/rewrite-target: "/$2"
nginx.ingress.kubernetes.io/use-regex: "true"
tls:
enabled: true
clusterIssuer: letsencrypt-prod
service:
type: ClusterIP
port: 80
extraVolumeMounts:
- name: nginx-cache
mountPath: /var/cache/nginx
- name: nginx-run
mountPath: /var/run
extraVolumes:
- name: nginx-cache
emptyDir: {}
- name: nginx-run
emptyDir: {}