azure>aks
This commit is contained in:
10
README.md
10
README.md
@@ -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:
|
||||||
|
|||||||
@@ -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
|
||||||
@@ -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
|
||||||
@@ -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
|
||||||
|
|||||||
@@ -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:
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
Reference in New Issue
Block a user