20d8146e8c
- Created new documentation files including TROUBLESHOOTING.md, CONFIGURATION.md, and CONTRIBUTING.md. - Added deployment guide with automated and manual instructions. - Introduced new YAML configurations for Kubernetes resources and Helm charts. - Implemented a deployment script for setting up the GitOps infrastructure.
2.4 KiB
2.4 KiB
Configuration Guide
Guide for configuring and customizing the GitOps infrastructure.
Customizing Component Versions
Edit Helm chart versions in kustomization.yaml files:
# argocd/eu-central-1/kustomization.yaml
helmCharts:
- name: argo-cd
repo: https://argoproj.github.io/argo-helm
version: 5.x.x # Update version
releaseName: argocd
Resource Configuration
Modify resource limits in values.yaml:
# argocd/eu-central-1/values.yaml
controller:
resources:
requests:
cpu: 250m
memory: 256Mi
limits:
cpu: 500m
memory: 512Mi
OIDC Authentication Setup
Update argocd-cm ConfigMap:
oidc.config: |
name: Azure AD
issuer: https://login.microsoftonline.com/<tenant-id>/v2.0
clientID: <client-id>
clientSecret: $oidc.clientSecret
Adding New Regions
- Create new directory:
<region>/ - Copy and adapt configuration from
eu-central-1/ - Update domain names and region-specific values
- Create new root application
Secrets Configuration
Using Sealed Secrets pattern:
# Create secret
kubectl create secret generic my-secret \
--from-literal=password=mysecret \
--dry-run=client -o yaml > my-secret.yaml
# Seal it
kubeseal -f my-secret.yaml -w my-sealed-secret.yaml
# Commit sealed version
git add my-sealed-secret.yaml
Network Policies
Configure NetworkPolicy for security:
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: argocd-allow-ingress
namespace: argocd
spec:
podSelector:
matchLabels:
app.kubernetes.io/name: argocd-server
policyTypes:
- Ingress
Certificate Configuration
Update cert issuer for custom domains:
# cert-manager/eu-central-1/cert-issuer.yaml
apiVersion: cert-manager.io/v1
kind: Issuer
metadata:
name: custom-issuer
namespace: kube-devops
spec:
acme:
server: https://acme-v02.api.letsencrypt.org/directory
email: admin@example.com
privateKeySecretRef:
name: letsencrypt-key
Kargo Customization
Configure Kargo projects and stages:
# kargo-projects/orchestration-stack/orch-stage.yaml
apiVersion: kargo.akuity.io/v1alpha1
kind: Stage
metadata:
name: prod
namespace: orchestration-kargo
spec:
subscriptions:
upstreamStages:
- name: staging
promotionMechanisms:
argocd:
appUpdates:
- appName: production-app
Last Updated: 2026-04-16