feat: add comprehensive documentation and deployment scripts

- 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.
This commit is contained in:
2026-04-16 19:07:08 +02:00
commit 20d8146e8c
38 changed files with 10739 additions and 0 deletions
@@ -0,0 +1,8 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- orch-project.yaml
- orch-projectconfig.yaml
- orch-warehouse.yaml
- orch-stage.yaml
- orch-promotion-template.yaml
@@ -0,0 +1,7 @@
apiVersion: kargo.akuity.io/v1alpha1
kind: Project
metadata:
name: orchestration-kargo
annotations:
# This annotation ensures Projects (Namespaces) are created first when deployed via Argo CD
argocd.argoproj.io/sync-wave: "-1"
@@ -0,0 +1,9 @@
apiVersion: kargo.akuity.io/v1alpha1
kind: ProjectConfig
metadata:
name: orchestration-kargo
spec:
promotionPolicies:
- autoPromotionEnabled: true
stageSelector:
name: regex:^.*$
@@ -0,0 +1,66 @@
apiVersion: kargo.akuity.io/v1alpha1
kind: PromotionTask
metadata:
name: orchestration-stack-promotion-template-argo
namespace: orchestration-kargo
spec:
vars:
- name: repoUrl
value: https://git.janis-eccarius.de/NowChess/Gitops.git
- name: branch
value: main
- name: imageTag
value: ${{ chartFrom(vars.imageUrl, vars.chartName).Version }}
steps:
- uses: git-clone
config:
repoURL: ${{ vars.repoUrl }}
checkout:
- branch: ${{ vars.branch }}
path: ./work
- uses: yaml-update
as: update-app
config:
path: "./work/eu-central-1/argo-apps/${{ vars.argoName }}/${{ vars.argoName }}.yaml"
updates:
- key: spec.sources.0.targetRevision
value: ${{ vars.imageTag }}
- uses: git-commit
as: commit
config:
path: ./work
message: "chore(kargo): update image tag ${{ vars.argoName }} to ${{ vars.imageTag }}"
- uses: git-push
as: push
if: "${{ status('commit') != 'Skipped'}}"
config:
path: ./work
generateTargetBranch: true
- uses: git-open-pr
if: "${{ status('commit') != 'Skipped'}}"
as: open-pr
config:
repoURL: ${{ vars.repoUrl }}
provider: "gitea"
sourceBranch: ${{ task.outputs['push'].branch }}
targetBranch: ${{ vars.branch }}
title: "chore(kargo): update image tag ${{ vars.argoName }} to ${{ vars.imageTag }}"
labels: ["kargo", "promotion"]
- uses: git-merge-pr
if: "${{ status('open-pr') != 'Skipped'}}"
as: merge-pr
config:
repoURL: ${{ vars.repoUrl }}
provider: "gitea"
prNumber: ${{ task.outputs['open-pr'].pr.id }}
wait: true
- uses: git-wait-for-pr
if: "${{ status('open-pr') != 'Skipped'}}"
as: wait-for-pr
config:
repoURL: ${{ vars.repoUrl }}
provider: "gitea"
prNumber: ${{ task.outputs['open-pr'].pr.id }}
@@ -0,0 +1,55 @@
apiVersion: kargo.akuity.io/v1alpha1
kind: Stage
metadata:
name: kargo
annotations:
kargo.akuity.io/color: red
spec:
vars:
- name: imageUrl
value: oci://ghcr.io/akuity/kargo-charts/kargo
- name: argoName
value: kargo
- name: chartName
value: ""
requestedFreight:
- origin:
kind: Warehouse
name: kargo
sources:
direct: true
autoPromotionOptions:
selectionPolicy: NewestFreight
promotionTemplate:
spec:
steps:
- task:
name: orchestration-stack-promotion-template-argo
---
apiVersion: kargo.akuity.io/v1alpha1
kind: Stage
metadata:
name: argo-rollouts
annotations:
kargo.akuity.io/color: purple
spec:
vars:
- name: imageUrl
value: https://argoproj.github.io/argo-helm
- name: argoName
value: argo-rollouts
- name: chartName
value: argo-rollouts
requestedFreight:
- origin:
kind: Warehouse
name: argo-rollouts
sources:
direct: true
autoPromotionOptions:
selectionPolicy: NewestFreight
promotionTemplate:
spec:
steps:
- task:
name: orchestration-stack-promotion-template-argo
@@ -0,0 +1,35 @@
apiVersion: kargo.akuity.io/v1alpha1
kind: Warehouse
metadata:
name: kargo
spec:
subscriptions:
- chart:
repoURL: oci://ghcr.io/akuity/kargo-charts/kargo
semverConstraint: ^1.8.1
interval: "15m0s"
---
apiVersion: kargo.akuity.io/v1alpha1
kind: Warehouse
metadata:
name: argo-rollouts
spec:
subscriptions:
- chart:
repoURL: https://argoproj.github.io/argo-helm
name: argo-rollouts
semverConstraint: ^2.40.5
interval: "15m0s"
---
apiVersion: kargo.akuity.io/v1alpha1
kind: Warehouse
metadata:
name: cert-manager
spec:
subscriptions:
- chart:
repoURL: https://charts.jetstack.io
name: cert-manager
semverConstraint: ^1.19.1
interval: "15m0s"
---