1
0
Fork 0

Autopilot Bootstrap

This commit is contained in:
Sergio Talens-Oliag 2025-04-27 19:32:28 +02:00
parent 969010d870
commit cedc266f72
9 changed files with 203 additions and 0 deletions

38
bootstrap/argo-cd.yaml Normal file
View file

@ -0,0 +1,38 @@
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
creationTimestamp: null
labels:
app.kubernetes.io/managed-by: argocd-autopilot
app.kubernetes.io/name: argo-cd
name: argo-cd
namespace: argocd
spec:
destination:
namespace: argocd
server: https://kubernetes.default.svc
ignoreDifferences:
- group: argoproj.io
jsonPointers:
- /status
kind: Application
project: default
source:
path: bootstrap/argo-cd
repoURL: https://forgejo.mixinet.net/blogops/argocd.git
syncPolicy:
automated:
allowEmpty: true
prune: true
selfHeal: true
syncOptions:
- allowEmpty=true
status:
health: {}
summary: {}
sync:
comparedTo:
destination: {}
source:
repoURL: ""
status: ""

View file

@ -0,0 +1,17 @@
apiVersion: kustomize.config.k8s.io/v1beta1
configMapGenerator:
- behavior: merge
literals:
- |
repository.credentials=- passwordSecret:
key: git_token
name: autopilot-secret
url: https://forgejo.mixinet.net/
usernameSecret:
key: git_username
name: autopilot-secret
name: argocd-cm
kind: Kustomization
namespace: argocd
resources:
- github.com/argoproj-labs/argocd-autopilot/manifests/base?ref=v0.4.19

View file

@ -0,0 +1,47 @@
apiVersion: argoproj.io/v1alpha1
kind: ApplicationSet
metadata:
annotations:
argocd.argoproj.io/sync-wave: "0"
creationTimestamp: null
name: cluster-resources
namespace: argocd
spec:
generators:
- git:
files:
- path: bootstrap/cluster-resources/*.json
repoURL: https://forgejo.mixinet.net/blogops/argocd.git
requeueAfterSeconds: 20
revision: ""
template:
metadata: {}
spec:
destination: {}
project: ""
syncPolicy:
preserveResourcesOnDeletion: true
template:
metadata:
labels:
app.kubernetes.io/managed-by: argocd-autopilot
app.kubernetes.io/name: cluster-resources-{{name}}
name: cluster-resources-{{name}}
namespace: argocd
spec:
destination:
server: '{{server}}'
ignoreDifferences:
- group: argoproj.io
jsonPointers:
- /status
kind: Application
project: default
source:
path: bootstrap/cluster-resources/{{name}}
repoURL: https://forgejo.mixinet.net/blogops/argocd.git
syncPolicy:
automated:
allowEmpty: true
selfHeal: true
status: {}

View file

@ -0,0 +1 @@
{"name":"in-cluster","server":"https://kubernetes.default.svc"}

View file

@ -0,0 +1,3 @@
# Cluster Resources
This directory contains all cluster resources that should be applied to cluster: `in-cluster`.
For example `Namespace` resources that are shared by multiple applications on the same namespace.

View file

@ -0,0 +1,9 @@
apiVersion: v1
kind: Namespace
metadata:
annotations:
argocd.argoproj.io/sync-options: Prune=false
creationTimestamp: null
name: argocd
spec: {}
status: {}

40
bootstrap/root.yaml Normal file
View file

@ -0,0 +1,40 @@
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
creationTimestamp: null
finalizers:
- resources-finalizer.argocd.argoproj.io
labels:
app.kubernetes.io/managed-by: argocd-autopilot
app.kubernetes.io/name: root
name: root
namespace: argocd
spec:
destination:
namespace: argocd
server: https://kubernetes.default.svc
ignoreDifferences:
- group: argoproj.io
jsonPointers:
- /status
kind: Application
project: default
source:
path: projects
repoURL: https://forgejo.mixinet.net/blogops/argocd.git
syncPolicy:
automated:
allowEmpty: true
prune: true
selfHeal: true
syncOptions:
- allowEmpty=true
status:
health: {}
summary: {}
sync:
comparedTo:
destination: {}
source:
repoURL: ""
status: ""