diff --git a/_app-of-apps.yaml b/_app-of-apps.yaml index 3e4fb9e..d2fa207 100644 --- a/_app-of-apps.yaml +++ b/_app-of-apps.yaml @@ -18,7 +18,7 @@ metadata: spec: project: default source: - repoURL: git@github.com:fortedigital/sturdy-adventure.git + repoURL: ssh://git@git.forteapps.net:2222/Forte/launchpad.git targetRevision: HEAD path: infra destination: diff --git a/docs/DEVELOPER-GUIDE.md b/docs/DEVELOPER-GUIDE.md index 685aa99..dc06e3e 100644 --- a/docs/DEVELOPER-GUIDE.md +++ b/docs/DEVELOPER-GUIDE.md @@ -89,21 +89,21 @@ If you do need cluster access, install: You'll need read/write access to these repositories: -1. **sturdy-adventure** (Config repo) +1. **launchpad** (Config repo) ```bash - git clone https://github.com/fortedigital/sturdy-adventure.git - cd sturdy-adventure + git clone https://git.forteapps.net/Forte/launchpad.git + cd launchpad ``` 2. **helm-values** (Values repo) ```bash - git clone git@github.com:fortedigital/helm-values.git + git clone https://git.forteapps.net/Forte/helm-prod-values.git cd helm-values ``` 3. **forte-helm** (Chart repo - read-only for most developers) ```bash - git clone https://github.com/fortedigital/forte-helm.git + git clone https://git.forteapps.net/Forte/forte-helm.git cd forte-helm ``` @@ -132,9 +132,9 @@ mkdir -p ~/dev/k8s cd ~/dev/k8s # Clone repositories -git clone https://github.com/fortedigital/sturdy-adventure.git launchpad -git clone git@github.com:fortedigital/helm-values.git helm-prod-values -git clone https://github.com/fortedigital/forte-helm.git forte-helm +git clone https://git.forteapps.net/Forte/launchpad.git launchpad +git clone https://git.forteapps.net/Forte/helm-prod-values helm-prod-values +git clone https://git.forteapps.net/Forte/forte-helm forte-helm # Your folder structure: # ~/dev/k8s/ @@ -201,7 +201,7 @@ Our setup uses three repositories: |------------|---------|-----------|-----------| | **forte-helm** | Helm chart templates (generic, reusable) | Platform engineers | ❌ Rarely | | **helm-values** | Application configuration (image tag, env vars) | Developers / CI pipelines | ✅ Sometimes | -| **sturdy-adventure** | ArgoCD Applications (what gets deployed) | Platform / DevOps engineers | ✅ Per new app | +| **launchpad** | ArgoCD Applications (what gets deployed) | Platform / DevOps engineers | ✅ Per new app | ### Example: Deploying "myapp" @@ -236,7 +236,7 @@ app: value: https://api.example.com ``` -#### Repository: `sturdy-adventure` (ArgoCD Application) +#### Repository: `launchpad` (ArgoCD Application) ```yaml # apps/myapp.yaml # Tells ArgoCD to deploy your app @@ -386,7 +386,7 @@ git push ### Step 3: Create ArgoCD Application Manifest -In the `sturdy-adventure` repository, create `apps/hello-world.yaml`: +In the `launchpad` repository, create `apps/hello-world.yaml`: ```yaml apiVersion: argoproj.io/v1alpha1 diff --git a/docs/GITOPS-ARCHITECTURE.md b/docs/GITOPS-ARCHITECTURE.md index 2fa1794..e663979 100644 --- a/docs/GITOPS-ARCHITECTURE.md +++ b/docs/GITOPS-ARCHITECTURE.md @@ -53,8 +53,8 @@ This Kubernetes cluster uses a **GitOps approach** powered by **ArgoCD**, where ┌────────────────────────────────┐ │ Config Repository │ │ (ArgoCD Applications) │ - │ github.com/fortedigital/ │ - │ sturdy-adventure │ + │ git.forteapps.net/Forte/ │ + │ launchpad │ └────────────────────────────────┘ │ │ @@ -109,12 +109,12 @@ This Kubernetes cluster uses a **GitOps approach** powered by **ArgoCD**, where ## Repository Structure ### 1. **Config Repository** (Current Repo) -**Repository**: `https://github.com/fortedigital/sturdy-adventure.git` +**Repository**: `https://git.forteapps.net/Forte/launchpad` **Purpose**: GitOps configuration - ArgoCD Applications and cluster resources **Location**: `C:\dev\k8s\launchpad` ``` -sturdy-adventure/ +launchpad/ ├── bootstrap.sh # Cluster initialization script ├── _app-of-apps.yaml # Root ArgoCD Application (App-of-Apps pattern) │ @@ -405,7 +405,7 @@ jobs: 1. **Config Repo Change**: - Developer updates `apps/myapp.yaml` - - Pushes to `sturdy-adventure` repo + - Pushes to `launchpad` repo - ArgoCD detects change (60s reconciliation) - Syncs application to cluster @@ -561,7 +561,7 @@ Notifications include: **Rebuild Process**: 1. Provision new Kubernetes cluster -2. Clone `sturdy-adventure` repository +2. Clone `launchpad` repository 3. Run `./bootstrap.sh` 4. ArgoCD installs and syncs all applications 5. Manually recreate unsealed secrets and seal them diff --git a/docs/OPERATIONS-RUNBOOK.md b/docs/OPERATIONS-RUNBOOK.md index e222165..9ff6f9f 100644 --- a/docs/OPERATIONS-RUNBOOK.md +++ b/docs/OPERATIONS-RUNBOOK.md @@ -51,8 +51,8 @@ kubectl get nodes ```bash # 1. Clone config repository -git clone https://github.com/fortedigital/sturdy-adventure.git -cd sturdy-adventure +git clone https://git.forteapps.net/Forte/launchpad +cd launchpad # 2. Set cluster name (optional) export CLUSTER_NAME="prod-cluster-01" @@ -130,10 +130,10 @@ Generate a dedicated SSH key for ArgoCD without a passphrase (required for autom ```bash # Generate ED25519 key (recommended - smaller and more secure) -ssh-keygen -t ed25519 -C "argocd-deploy-key-sturdy-adventure" -f argocd-deploy-key -N "" +ssh-keygen -t ed25519 -C "argocd-deploy-key-launchpad" -f argocd-deploy-key -N "" # Or RSA key if ED25519 is not supported -ssh-keygen -t rsa -b 4096 -C "argocd-deploy-key-sturdy-adventure" -f argocd-deploy-key -N "" +ssh-keygen -t rsa -b 4096 -C "argocd-deploy-key-launchpad" -f argocd-deploy-key -N "" ``` This creates two files: @@ -148,7 +148,7 @@ This creates two files: ``` 2. Go to GitHub repository settings: - - Navigate to: `https://github.com/fortedigital/sturdy-adventure/settings/keys` + - Navigate to: `https://git.forteapps.net/Forte/launchpad/settings/keys` - Or: Repository → Settings → Deploy keys 3. Click **"Add deploy key"** @@ -227,7 +227,7 @@ metadata: spec: project: default source: - repoURL: git@github.com:fortedigital/sturdy-adventure.git + repoURL: ssh://git@git.forteapps.net:2222/Forte/launchpad.git targetRevision: main path: cluster-resources destination: @@ -273,7 +273,7 @@ rm /tmp/test-repo-access.yaml # Add new public key to GitHub (keep old key for now) # Update Kubernetes secret - kubectl create secret generic repo-sturdy-adventure \ + kubectl create secret generic repo-launchpad \ --from-file=sshPrivateKey=argocd-new-key \ --namespace=argocd \ --dry-run=client -o yaml | kubectl apply -f - @@ -290,7 +290,7 @@ rm /tmp/test-repo-access.yaml kubectl get secrets -n argocd -l argocd.argoproj.io/secret-type=repository # Review deploy keys in GitHub - # Visit: https://github.com/fortedigital/sturdy-adventure/settings/keys + # Visit: https://git.forteapps.net/Forte/launchpad/settings/keys ``` 4. **Use Different Keys per Repository** @@ -304,16 +304,16 @@ rm /tmp/test-repo-access.yaml ```bash # Check if secret exists -kubectl get secret repo-sturdy-adventure -n argocd +kubectl get secret repo-launchpad -n argocd # Verify secret has correct label -kubectl get secret repo-sturdy-adventure -n argocd -o yaml | grep argocd.argoproj.io/secret-type +kubectl get secret repo-launchpad -n argocd -o yaml | grep argocd.argoproj.io/secret-type # Check ArgoCD application controller logs kubectl logs -n argocd deployment/argocd-application-controller | grep -i "permission denied" # Verify deploy key is added to GitHub -# Visit: https://github.com/fortedigital/sturdy-adventure/settings/keys +# Visit: https://git.forteapps.net/Forte/launchpad/settings/keys ``` **Issue: "Host key verification failed"** @@ -324,7 +324,7 @@ kubectl exec -n argocd deployment/argocd-repo-server -- \ ssh-keyscan github.com >> ~/.ssh/known_hosts # Or disable strict host key checking (less secure) -kubectl patch secret repo-sturdy-adventure -n argocd \ +kubectl patch secret repo-launchpad -n argocd \ --type merge \ -p '{"stringData":{"insecure":"true"}}' ``` @@ -336,7 +336,7 @@ kubectl patch secret repo-sturdy-adventure -n argocd \ kubectl logs -n argocd deployment/argocd-repo-server # Refresh repository connection -kubectl delete secret repo-sturdy-adventure -n argocd +kubectl delete secret repo-launchpad -n argocd # Recreate secret (see Step 3 above) # Restart ArgoCD components @@ -346,12 +346,12 @@ kubectl rollout restart deployment argocd-application-controller -n argocd #### Multiple Repository Setup -For the three-repository pattern (sturdy-adventure, forte-helm, helm-values): +For the three-repository pattern (launchpad, forte-helm, helm-values): ```bash -# 1. sturdy-adventure (main config repo) -ssh-keygen -t ed25519 -C "argocd-sturdy-adventure" -f key-sturdy -N "" -# Add key-sturdy.pub to: https://github.com/fortedigital/sturdy-adventure/settings/keys +# 1. launchpad (main config repo) +ssh-keygen -t ed25519 -C "argocd-launchpad" -f key-sturdy -N "" +# Add key-sturdy.pub to: https://git.forteapps.net/Forte/launchpad/settings/keys # 2. helm-values (private values repo) ssh-keygen -t ed25519 -C "argocd-helm-values" -f key-helm-values -N "" @@ -360,7 +360,7 @@ ssh-keygen -t ed25519 -C "argocd-helm-values" -f key-helm-values -N "" # 3. forte-helm (private helm charts repo) # Create secrets -kubectl create secret generic repo-sturdy-adventure \ +kubectl create secret generic repo-launchpad \ --from-file=sshPrivateKey=key-sturdy \ --namespace=argocd --dry-run=client -o yaml | \ kubectl label --local -f - argocd.argoproj.io/secret-type=repository --dry-run=client -o yaml | \ @@ -385,9 +385,9 @@ If you're currently using HTTPS and want to switch to SSH: # 2. Update all Application manifests # Change from: -# repoURL: https://github.com/fortedigital/sturdy-adventure.git +# repoURL: https://git.forteapps.net/Forte/launchpad # To: -# repoURL: git@github.com:fortedigital/sturdy-adventure.git +# repoURL: ssh://git@git.forteapps.net:2222/Forte/launchpad.git # 3. Update and commit find . -name "*.yaml" -type f -exec sed -i 's|https://github.com/fortedigital/|git@github.com:fortedigital/|g' {} + diff --git a/docs/REFERENCE.md b/docs/REFERENCE.md index 6b5a7d9..fed299c 100644 --- a/docs/REFERENCE.md +++ b/docs/REFERENCE.md @@ -62,14 +62,14 @@ Internet ## Repository Reference -### Config Repository: `sturdy-adventure` +### Config Repository: `launchpad` -**URL**: `https://github.com/fortedigital/sturdy-adventure.git` +**URL**: `https://git.forteapps.net/Forte/launchpad` #### Directory Structure ``` -sturdy-adventure/ +launchpad/ ├── bootstrap.sh # Cluster initialization script ├── _app-of-apps.yaml # Root ArgoCD Application │ @@ -171,7 +171,7 @@ metadata: spec: project: default source: - repoURL: git@github.com:fortedigital/sturdy-adventure.git + repoURL: ssh://git@git.forteapps.net:2222/Forte/launchpad.git path: infra destination: server: https://kubernetes.default.svc diff --git a/infra/cluster-resources-application.yaml b/infra/cluster-resources-application.yaml index 72886b4..6c6ce01 100644 --- a/infra/cluster-resources-application.yaml +++ b/infra/cluster-resources-application.yaml @@ -15,7 +15,7 @@ spec: project: default source: - repoURL: git@github.com:fortedigital/sturdy-adventure.git + repoURL: ssh://git@git.forteapps.net:2222/Forte/launchpad.git targetRevision: HEAD path: cluster-resources directory: diff --git a/infra/fluent-bit.yaml b/infra/fluent-bit.yaml index 462665f..b90ccab 100644 --- a/infra/fluent-bit.yaml +++ b/infra/fluent-bit.yaml @@ -23,7 +23,7 @@ spec: valueFiles: - $values/infra/values/fluent-bit-values.yaml - - repoURL: git@github.com:fortedigital/sturdy-adventure.git + - repoURL: ssh://git@git.forteapps.net:2222/Forte/launchpad.git targetRevision: HEAD ref: values diff --git a/infra/gitea-actions.yaml b/infra/gitea-actions.yaml index adb95e3..1531d69 100644 --- a/infra/gitea-actions.yaml +++ b/infra/gitea-actions.yaml @@ -23,7 +23,7 @@ spec: valueFiles: - $values/infra/values/gitea-actions-values.yaml - - repoURL: git@github.com:fortedigital/sturdy-adventure.git + - repoURL: ssh://git@git.forteapps.net:2222/Forte/launchpad.git targetRevision: HEAD ref: values diff --git a/infra/gitea.yaml b/infra/gitea.yaml index b219a72..cdec1b3 100644 --- a/infra/gitea.yaml +++ b/infra/gitea.yaml @@ -23,7 +23,7 @@ spec: valueFiles: - $values/infra/values/gitea-values.yaml - - repoURL: git@github.com:fortedigital/sturdy-adventure.git + - repoURL: ssh://git@git.forteapps.net:2222/Forte/launchpad.git targetRevision: HEAD ref: values diff --git a/infra/grafana-dashboards.yaml b/infra/grafana-dashboards.yaml index 782d8bf..2784c00 100644 --- a/infra/grafana-dashboards.yaml +++ b/infra/grafana-dashboards.yaml @@ -15,7 +15,7 @@ spec: project: default source: - repoURL: git@github.com:fortedigital/sturdy-adventure.git + repoURL: ssh://git@git.forteapps.net:2222/Forte/launchpad.git targetRevision: HEAD path: infra/dashboards diff --git a/infra/grafana.yaml b/infra/grafana.yaml index 43d87c7..1238fbc 100644 --- a/infra/grafana.yaml +++ b/infra/grafana.yaml @@ -23,7 +23,7 @@ spec: valueFiles: - $values/infra/values/grafana-values.yaml - - repoURL: git@github.com:fortedigital/sturdy-adventure.git + - repoURL: ssh://git@git.forteapps.net:2222/Forte/launchpad.git targetRevision: HEAD ref: values diff --git a/infra/keycloak.yaml b/infra/keycloak.yaml index b5e00a0..66b38fa 100644 --- a/infra/keycloak.yaml +++ b/infra/keycloak.yaml @@ -23,7 +23,7 @@ spec: valueFiles: - $values/infra/values/keycloak-values.yaml - - repoURL: git@github.com:fortedigital/sturdy-adventure.git + - repoURL: ssh://git@git.forteapps.net:2222/Forte/launchpad.git targetRevision: HEAD ref: values diff --git a/infra/kyverno-policies.yaml b/infra/kyverno-policies.yaml index 028813a..e00e063 100644 --- a/infra/kyverno-policies.yaml +++ b/infra/kyverno-policies.yaml @@ -15,7 +15,7 @@ spec: project: default source: - repoURL: git@github.com:fortedigital/sturdy-adventure.git + repoURL: ssh://git@git.forteapps.net:2222/Forte/launchpad.git targetRevision: HEAD path: cluster-resources/policies diff --git a/infra/loki.yaml b/infra/loki.yaml index 6d53444..f7cf2f0 100644 --- a/infra/loki.yaml +++ b/infra/loki.yaml @@ -23,7 +23,7 @@ spec: valueFiles: - $values/infra/values/loki-values.yaml - - repoURL: git@github.com:fortedigital/sturdy-adventure.git + - repoURL: ssh://git@git.forteapps.net:2222/Forte/launchpad.git targetRevision: HEAD ref: values diff --git a/infra/network-policies-application.yaml b/infra/network-policies-application.yaml index 08ec050..16ae239 100644 --- a/infra/network-policies-application.yaml +++ b/infra/network-policies-application.yaml @@ -15,7 +15,7 @@ spec: project: default source: - repoURL: git@github.com:fortedigital/sturdy-adventure.git + repoURL: ssh://git@git.forteapps.net:2222/Forte/launchpad.git targetRevision: HEAD path: cluster-resources/network diff --git a/infra/opencost.yaml b/infra/opencost.yaml index 5beeda5..7e4ef10 100644 --- a/infra/opencost.yaml +++ b/infra/opencost.yaml @@ -23,7 +23,7 @@ spec: valueFiles: - $values/infra/values/opencost-values.yaml - - repoURL: git@github.com:fortedigital/sturdy-adventure.git + - repoURL: ssh://git@git.forteapps.net:2222/Forte/launchpad.git targetRevision: HEAD ref: values diff --git a/infra/prometheus.yaml b/infra/prometheus.yaml index b17436c..d36cb5d 100644 --- a/infra/prometheus.yaml +++ b/infra/prometheus.yaml @@ -23,7 +23,7 @@ spec: valueFiles: - $values/infra/values/prometheus-values.yaml - - repoURL: git@github.com:fortedigital/sturdy-adventure.git + - repoURL: ssh://git@git.forteapps.net:2222/Forte/launchpad.git targetRevision: HEAD ref: values diff --git a/infra/secrets.yaml b/infra/secrets.yaml index ad1d8e9..d0a99a1 100644 --- a/infra/secrets.yaml +++ b/infra/secrets.yaml @@ -17,7 +17,7 @@ metadata: spec: project: default source: - repoURL: git@github.com:fortedigital/sturdy-adventure.git + repoURL: ssh://git@git.forteapps.net:2222/Forte/launchpad.git path: secrets destination: server: https://kubernetes.default.svc diff --git a/infra/tempo.yaml b/infra/tempo.yaml index 5b47059..1ce4fbb 100644 --- a/infra/tempo.yaml +++ b/infra/tempo.yaml @@ -23,7 +23,7 @@ spec: valueFiles: - $values/infra/values/tempo-values.yaml - - repoURL: git@github.com:fortedigital/sturdy-adventure.git + - repoURL: ssh://git@git.forteapps.net:2222/Forte/launchpad.git targetRevision: HEAD ref: values diff --git a/mkdocs.yml b/mkdocs.yml index d7230c5..57a01e4 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -1,43 +1,43 @@ site_name: K8s Launchpad site_description: Documentation for the GitOps-managed Kubernetes cluster -repo_url: https://github.com/fortedigital/sturdy-adventure -repo_name: fortedigital/sturdy-adventure +repo_url: https://git.forteapps.net/Forte/launchpad +repo_name: Forte/launchpad theme: name: material palette: - - scheme: default - primary: indigo - toggle: - icon: material/brightness-7 - name: Switch to dark mode - - scheme: slate - primary: indigo - toggle: - icon: material/brightness-4 - name: Switch to light mode + - scheme: default + primary: indigo + toggle: + icon: material/brightness-7 + name: Switch to dark mode + - scheme: slate + primary: indigo + toggle: + icon: material/brightness-4 + name: Switch to light mode features: - - navigation.instant - - navigation.sections - - navigation.top - - search.highlight - - content.code.copy + - navigation.instant + - navigation.sections + - navigation.top + - search.highlight + - content.code.copy nav: - - Home: README.md - - GitOps Architecture: GITOPS-ARCHITECTURE.md - - Developer Guide: DEVELOPER-GUIDE.md - - Operations Runbook: OPERATIONS-RUNBOOK.md - - Technical Reference: REFERENCE.md +- Home: README.md +- GitOps Architecture: GITOPS-ARCHITECTURE.md +- Developer Guide: DEVELOPER-GUIDE.md +- Operations Runbook: OPERATIONS-RUNBOOK.md +- Technical Reference: REFERENCE.md markdown_extensions: - - tables - - toc: - permalink: true - - pymdownx.highlight: - anchor_linenums: true - - pymdownx.superfences - - pymdownx.tabbed: - alternate_style: true - - admonition - - pymdownx.details +- tables +- toc: + permalink: true +- pymdownx.highlight: + anchor_linenums: true +- pymdownx.superfences +- pymdownx.tabbed: + alternate_style: true +- admonition +- pymdownx.details