azure>aks

This commit is contained in:
2026-04-22 14:35:59 +02:00
parent dea54e469e
commit 79f9c62012
7 changed files with 23 additions and 23 deletions

View File

@@ -100,8 +100,8 @@ This repository contains the complete GitOps configuration for our Kubernetes cl
│ │ ├── upc-prod/ # UpCloud Prod (patches value paths) │ │ ├── upc-prod/ # UpCloud Prod (patches value paths)
│ │ ├── aws-dev/ # AWS EKS Dev │ │ ├── aws-dev/ # AWS EKS Dev
│ │ ├── aws-prod/ # AWS EKS Prod │ │ ├── aws-prod/ # AWS EKS Prod
│ │ ├── azure-dev/ # Azure AKS Dev │ │ ├── aks-dev/ # Azure AKS Dev
│ │ ├── azure-prod/ # Azure AKS Prod │ │ ├── aks-prod/ # Azure AKS Prod
│ │ ├── gcp-dev/ # GCP GKE Dev │ │ ├── gcp-dev/ # GCP GKE Dev
│ │ └── gcp-prod/ # GCP GKE Prod │ │ └── gcp-prod/ # GCP GKE Prod
│ ├── dashboards/ # Grafana dashboard ConfigMaps │ ├── dashboards/ # Grafana dashboard ConfigMaps
@@ -111,8 +111,8 @@ This repository contains the complete GitOps configuration for our Kubernetes cl
│ ├── upc-prod/ # UpCloud Prod │ ├── upc-prod/ # UpCloud Prod
│ ├── aws-dev/ # AWS EKS Dev │ ├── aws-dev/ # AWS EKS Dev
│ ├── aws-prod/ # AWS EKS Prod │ ├── aws-prod/ # AWS EKS Prod
│ ├── azure-dev/ # Azure AKS Dev │ ├── aks-dev/ # Azure AKS Dev
│ ├── azure-prod/ # Azure AKS Prod │ ├── aks-prod/ # Azure AKS Prod
│ ├── gcp-dev/ # GCP GKE Dev │ ├── gcp-dev/ # GCP GKE Dev
│ └── gcp-prod/ # GCP GKE Prod │ └── gcp-prod/ # GCP GKE Prod
@@ -373,7 +373,7 @@ kubectl patch application myapp -n argocd \
## 📖 Key Concepts ## 📖 Key Concepts
### App-of-Apps Pattern ### App-of-Apps Pattern
`_app-of-apps-{cluster}.yaml` is the root Application that manages all other Applications in `infra/`. Kustomize overlays in `infra/overlays/{cluster}/` render the base Applications with per-cluster patches (e.g., swapping value file paths). Supported clusters: `upc-dev`, `upc-prod`, `aws-dev`, `aws-prod`, `azure-dev`, `azure-prod`, `gcp-dev`, `gcp-prod`. `_app-of-apps-{cluster}.yaml` is the root Application that manages all other Applications in `infra/`. Kustomize overlays in `infra/overlays/{cluster}/` render the base Applications with per-cluster patches (e.g., swapping value file paths). Supported clusters: `upc-dev`, `upc-prod`, `aws-dev`, `aws-prod`, `aks-dev`, `aks-prod`, `gcp-dev`, `gcp-prod`.
### Multi-Source Pattern ### Multi-Source Pattern
Applications reference both: Applications reference both:

View File

@@ -20,7 +20,7 @@ spec:
source: source:
repoURL: ssh://git@git.forteapps.net:2222/Forte/launchpad.git repoURL: ssh://git@git.forteapps.net:2222/Forte/launchpad.git
targetRevision: HEAD targetRevision: HEAD
path: infra/overlays/azure-dev path: infra/overlays/aks-dev
destination: destination:
server: https://kubernetes.default.svc server: https://kubernetes.default.svc
namespace: default namespace: default

View File

@@ -20,7 +20,7 @@ spec:
source: source:
repoURL: ssh://git@git.forteapps.net:2222/Forte/launchpad.git repoURL: ssh://git@git.forteapps.net:2222/Forte/launchpad.git
targetRevision: HEAD targetRevision: HEAD
path: infra/overlays/azure-prod path: infra/overlays/aks-prod
destination: destination:
server: https://kubernetes.default.svc server: https://kubernetes.default.svc
namespace: default namespace: default

View File

@@ -136,8 +136,8 @@ launchpad/
│ │ ├── upc-prod/ # UpCloud Prod (patches value paths) │ │ ├── upc-prod/ # UpCloud Prod (patches value paths)
│ │ ├── aws-dev/ # AWS EKS Dev │ │ ├── aws-dev/ # AWS EKS Dev
│ │ ├── aws-prod/ # AWS EKS Prod │ │ ├── aws-prod/ # AWS EKS Prod
│ │ ├── azure-dev/ # Azure AKS Dev │ │ ├── aks-dev/ # Azure AKS Dev
│ │ ├── azure-prod/ # Azure AKS Prod │ │ ├── aks-prod/ # Azure AKS Prod
│ │ ├── gcp-dev/ # GCP GKE Dev │ │ ├── gcp-dev/ # GCP GKE Dev
│ │ └── gcp-prod/ # GCP GKE Prod │ │ └── gcp-prod/ # GCP GKE Prod
│ ├── dashboards/ # Grafana dashboard ConfigMaps │ ├── dashboards/ # Grafana dashboard ConfigMaps

View File

@@ -56,7 +56,7 @@ cd launchpad
# 2. Run bootstrap script with cluster target # 2. Run bootstrap script with cluster target
# Available clusters: upc-dev, upc-prod, aws-dev, aws-prod, # Available clusters: upc-dev, upc-prod, aws-dev, aws-prod,
# azure-dev, azure-prod, gcp-dev, gcp-prod # aks-dev, aks-prod, gcp-dev, gcp-prod
./bootstrap.sh upc-dev ./bootstrap.sh upc-dev
# Cluster config is loaded from clusters/<cluster>.yaml # Cluster config is loaded from clusters/<cluster>.yaml
@@ -1528,7 +1528,7 @@ The repository supports multiple clusters across multiple clouds via Kustomize o
**Cloud-ready templates (fill in `clusters/*.yaml` before use):** **Cloud-ready templates (fill in `clusters/*.yaml` before use):**
- **aws-dev** / **aws-prod**: AWS EKS with NLB, gp3 storage, AWS CUR pricing - **aws-dev** / **aws-prod**: AWS EKS with NLB, gp3 storage, AWS CUR pricing
- **azure-dev** / **azure-prod**: Azure AKS with Standard LB, managed-csi-premium storage - **aks-dev** / **aks-prod**: Azure AKS with Standard LB, managed-csi-premium storage
- **gcp-dev** / **gcp-prod**: GCP GKE with L4 LB, premium-rwo storage - **gcp-dev** / **gcp-prod**: GCP GKE with L4 LB, premium-rwo storage
Each cluster has its own: Each cluster has its own:

View File

@@ -4,32 +4,32 @@ resources:
- ../../base - ../../base
patches: patches:
# Traefik: swap upc-dev → azure-dev # Traefik: swap upc-dev → aks-dev
- target: - target:
kind: Application kind: Application
name: traefik name: traefik
patch: | patch: |
- op: replace - op: replace
path: /spec/sources/0/helm/valueFiles/1 path: /spec/sources/0/helm/valueFiles/1
value: $values/infra/values/azure-dev/traefik-values.yaml value: $values/infra/values/aks-dev/traefik-values.yaml
# Gitea: swap upc-dev → azure-dev # Gitea: swap upc-dev → aks-dev
- target: - target:
kind: Application kind: Application
name: gitea name: gitea
patch: | patch: |
- op: replace - op: replace
path: /spec/sources/0/helm/valueFiles/1 path: /spec/sources/0/helm/valueFiles/1
value: $values/infra/values/azure-dev/gitea-values.yaml value: $values/infra/values/aks-dev/gitea-values.yaml
# OpenCost: swap upc-dev → azure-dev # OpenCost: swap upc-dev → aks-dev
- target: - target:
kind: Application kind: Application
name: opencost name: opencost
patch: | patch: |
- op: replace - op: replace
path: /spec/sources/0/helm/valueFiles/1 path: /spec/sources/0/helm/valueFiles/1
value: $values/infra/values/azure-dev/opencost-values.yaml value: $values/infra/values/aks-dev/opencost-values.yaml
# TODO: add patches for keycloak, grafana, secrets, enterprise-apps # TODO: add patches for keycloak, grafana, secrets, enterprise-apps
# when deploying to this cluster (these are deployment-specific, not cloud-specific) # when deploying to this cluster (these are deployment-specific, not cloud-specific)

View File

@@ -4,32 +4,32 @@ resources:
- ../../base - ../../base
patches: patches:
# Traefik: swap upc-dev → azure-prod # Traefik: swap upc-dev → aks-prod
- target: - target:
kind: Application kind: Application
name: traefik name: traefik
patch: | patch: |
- op: replace - op: replace
path: /spec/sources/0/helm/valueFiles/1 path: /spec/sources/0/helm/valueFiles/1
value: $values/infra/values/azure-prod/traefik-values.yaml value: $values/infra/values/aks-prod/traefik-values.yaml
# Gitea: swap upc-dev → azure-prod # Gitea: swap upc-dev → aks-prod
- target: - target:
kind: Application kind: Application
name: gitea name: gitea
patch: | patch: |
- op: replace - op: replace
path: /spec/sources/0/helm/valueFiles/1 path: /spec/sources/0/helm/valueFiles/1
value: $values/infra/values/azure-prod/gitea-values.yaml value: $values/infra/values/aks-prod/gitea-values.yaml
# OpenCost: swap upc-dev → azure-prod # OpenCost: swap upc-dev → aks-prod
- target: - target:
kind: Application kind: Application
name: opencost name: opencost
patch: | patch: |
- op: replace - op: replace
path: /spec/sources/0/helm/valueFiles/1 path: /spec/sources/0/helm/valueFiles/1
value: $values/infra/values/azure-prod/opencost-values.yaml value: $values/infra/values/aks-prod/opencost-values.yaml
# TODO: add patches for keycloak, grafana, secrets, enterprise-apps # TODO: add patches for keycloak, grafana, secrets, enterprise-apps
# when deploying to this cluster (these are deployment-specific, not cloud-specific) # when deploying to this cluster (these are deployment-specific, not cloud-specific)