🔄 GITOPS & CI/CD
Git هو مصدر الحقيقة
Git-driven deployment pipelines with progressive delivery and infrastructure-as-code.
نمط App-of-Apps
تطبيق جذري واحد يكتشف تلقائيًا كل YAML في src/apps/. أسقط بيانًا، ArgoCD يلتقطه.
app-of-apps.yaml (root Application → watches src/apps/) │ ├── src/apps/cilium.yaml → cilium + cilium-configs ├── src/apps/keycloak.yaml → keycloak + keycloak-configs ├── src/apps/vault.yaml → vault (manual sync) ├── src/apps/grafana.yaml → observability stack ├── src/apps/harbor.yaml → harbor (wrapper chart) ├── src/apps/supabase.yaml → supabase (inline configs) ├── src/apps/backstage.yaml → backstage portal ├── ... 30+ more ... │ └── src/apps/icebox/ → disabled apps (excluded) ├── kyverno.yaml └── kubescape.yaml
4 أنماط نشر
اختر النمط المناسب بناءً على احتياجات تطبيقك — من مخططات Helm البسيطة إلى البيانات الخام.
Helm + Configs
Two ArgoCD Applications: one for the external Helm chart with local values, one for companion manifests (gateway, external-secret).
متى تستخدم: Deploying a third-party Helm chart with local config overrides.
Helm + Inline
Single ArgoCD Application combining Helm chart and directory source with exclusion globs.
متى تستخدم: When you want a single ArgoCD Application instead of two.
Wrapper Chart
Local Chart.yaml wrapping an external chart as a dependency. Full Helm templating power for custom resources.
متى تستخدم: When you need to template K8s manifests alongside the Helm chart (Certificates, ReferenceGrants).
Raw Manifests
Plain Kubernetes YAML files deployed directly. No Helm, no templating — just declarative manifests.
متى تستخدم: Operators, CRDs, or simple deployments that don't need Helm.
وحدات Terraform IaC
كل ما لا يمكن أن يكون بيان Kubernetes يُدار بواسطة Terraform — الأسرار، عملاء OIDC، لوحات القيادة.
terraform/vault/
hashicorp/vault
ESO policies, tokens, app secrets, DNS credentials
cert-platform.tf, grafana-mcp.tf, supabase.tf, garage.tf
terraform/keycloak/
mrparkers/keycloak
OIDC realm + 10+ clients for SSO
backstage.tf, apisix.tf, harbor.tf, supabase.tf, affine_client.tf
terraform/grafana/
grafana/grafana
Dashboard provisioning, data sources
dashboards.tf, harbor.tf, n8n_dashboard.tf, affine_dashboard.tf
terraform/harbor/
goharbor/harbor
Registry OIDC auth, robot accounts
main.tf, provider.tf
جميع المكونات
Argo CD
productionGitOps continuous delivery tool that reconciles desired state from Git with cluster state.
الدور: Core GitOps engine with App-of-Apps pattern managing 40+ applications
Terraform
productionInfrastructure as Code for provisioning and managing cloud-agnostic resources.
الدور: Manages Vault secrets, Keycloak OIDC clients, Grafana dashboards, Harbor config
OneDev
productionSelf-hosted Git repository manager with integrated CI/CD pipelines and code review.
الدور: Private Git hosting with container-based CI runners
Kargo
plannedProgressive delivery engine adding multi-stage promotion workflows on top of Argo CD.
الدور: Environment promotion pipelines: dev → staging → production