Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 20 additions & 0 deletions templates/controlplane-template/.helmignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# Patterns to ignore when building packages.
.DS_Store
.git/
.gitignore
.helmignore
*.swp
*.bak
*.tmp
*.orig
*~
.project
.idea/
*.tmproj
.vscode/

# Ignore .gitkeep files in templates
.gitkeep
*/.gitkeep
*/*/.gitkeep
*/*/*/.gitkeep
6 changes: 6 additions & 0 deletions templates/controlplane-template/Chart.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
apiVersion: v2
name: controlplane-template
description: Management cluster template for Konstruct GitOps - deploys ArgoCD applications and components
type: application
version: 0.1.0
appVersion: "1.0.0"
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: actions-runner-controller-components
finalizers:
- resources-finalizer.argocd.argoproj.io
namespace: argocd
annotations:
argocd.argoproj.io/sync-wave: '50'
spec:
project: {{ .Values.project }}
source:
repoURL: {{ .Values.gitopsRepoUrl }}
path: registry/clusters/{{ .Values.clusterName }}/components/actions-runner-controller
targetRevision: HEAD
destination:
name: {{ .Values.clusterDestination }}
namespace: github-runner
syncPolicy:
automated:
prune: true
selfHeal: true
syncOptions:
- CreateNamespace=true
- ApplyOutOfSyncOnly=true
- Replace=true
- PruneLast=true
retry:
limit: 5
backoff:
duration: 5s
maxDuration: 5m0s
factor: 2
24 changes: 24 additions & 0 deletions templates/controlplane-template/templates/appprojects.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: argocd-projects
namespace: argocd
finalizers:
- resources-finalizer.argocd.argoproj.io
annotations:
argocd.argoproj.io/sync-wave: '0'
spec:
project: {{ .Values.project }}
source:
repoURL: {{ .Values.gitopsRepoUrl }}
path: registry/clusters/{{ .Values.clusterName }}/components/argocd-appprojects
targetRevision: HEAD
destination:
name: {{ .Values.clusterDestination }}
namespace: argocd
syncPolicy:
automated:
prune: true
selfHeal: true
syncOptions:
- CreateNamespace=true
31 changes: 31 additions & 0 deletions templates/controlplane-template/templates/argocd.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: argocd-kustomized-app
namespace: argocd
annotations:
argocd.argoproj.io/sync-wave: '100'
finalizers:
- resources-finalizer.argocd.argoproj.io
spec:
destination:
namespace: argocd
name: {{ .Values.clusterDestination }}
project: {{ .Values.project }}
source:
path: registry/clusters/{{ .Values.clusterName }}/components/argocd
repoURL: '{{ .Values.gitopsRepoUrl }}'
targetRevision: HEAD
syncPolicy:
automated:
prune: true
selfHeal: true
retry:
limit: 5
backoff:
duration: 5s
maxDuration: 5m0s
factor: 2
syncOptions:
- CreateNamespace=true
- ServerSideApply=true
24 changes: 24 additions & 0 deletions templates/controlplane-template/templates/cert-issuers.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: cert-issuers
finalizers:
- resources-finalizer.argocd.argoproj.io
namespace: argocd
annotations:
argocd.argoproj.io/sync-wave: '20'
spec:
project: {{ .Values.project }}
source:
repoURL: {{ .Values.gitopsRepoUrl }}
path: registry/clusters/{{ .Values.clusterName }}/components/cert-issuers
targetRevision: HEAD
destination:
name: {{ .Values.clusterDestination }}
namespace: cert-manager
syncPolicy:
automated:
prune: true
selfHeal: true
syncOptions:
- CreateNamespace=true
24 changes: 24 additions & 0 deletions templates/controlplane-template/templates/cert-manager.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: cert-manager-components
finalizers:
- resources-finalizer.argocd.argoproj.io
namespace: argocd
annotations:
argocd.argoproj.io/sync-wave: '10'
spec:
project: {{ .Values.project }}
source:
repoURL: {{ .Values.gitopsRepoUrl }}
path: registry/clusters/{{ .Values.clusterName }}/components/cert-manager
targetRevision: HEAD
destination:
name: {{ .Values.clusterDestination }}
namespace: cert-manager
syncPolicy:
automated:
prune: true
selfHeal: true
syncOptions:
- CreateNamespace=true
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: cloudflare-cloudflare-origin-ca-issuer
finalizers:
- resources-finalizer.argocd.argoproj.io
namespace: argocd
annotations:
argocd.argoproj.io/sync-wave: '19'
spec:
project: {{ .Values.project }}
source:
repoURL: ghcr.io/cloudflare/origin-ca-issuer-charts
chart: origin-ca-issuer
targetRevision: 0.5.2
helm:
values: |-
global:
rbac:
create: true
controller:
image:
repository: cloudflare/origin-ca-issuer
tag: v0.6.1
pullPolicy: Always
destination:
name: {{ .Values.clusterDestination }}
namespace: cert-manager
syncPolicy:
automated:
prune: true
selfHeal: true
syncOptions:
- CreateNamespace=true
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: cloudflare-origin-issuer-crd
finalizers:
- resources-finalizer.argocd.argoproj.io
namespace: argocd
annotations:
argocd.argoproj.io/sync-wave: '19'
spec:
project: {{ .Values.project }}
source:
repoURL: https://github.com/cloudflare/origin-ca-issuer
path: deploy/crds
targetRevision: v0.6.1
destination:
name: {{ .Values.clusterDestination }}
namespace: cert-manager
syncPolicy:
automated:
prune: true
selfHeal: true
syncOptions:
- CreateNamespace=true
119 changes: 119 additions & 0 deletions templates/controlplane-template/templates/clusterrolebinding.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,119 @@
kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: argocd-clusterrole
annotations:
argocd.argoproj.io/sync-wave: '0'
subjects:
- kind: ServiceAccount
name: argocd
namespace: argocd
roleRef:
kind: ClusterRole
name: admin
apiGroup: rbac.authorization.k8s.io
---
kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: argo-clusterrole
annotations:
argocd.argoproj.io/sync-wave: '0'
subjects:
- kind: ServiceAccount
name: argo-server
namespace: argo
roleRef:
kind: ClusterRole
name: admin
apiGroup: rbac.authorization.k8s.io
---
kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: github-runner-clusterrole
annotations:
argocd.argoproj.io/sync-wave: '0'
subjects:
- kind: ServiceAccount
name: github-runner
namespace: github-runner
roleRef:
kind: ClusterRole
name: admin
apiGroup: rbac.authorization.k8s.io
---
kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: argo-admin-admin-clusterrole
annotations:
argocd.argoproj.io/sync-wave: '0'
subjects:
- kind: ServiceAccount
name: argo-admin
namespace: argo
roleRef:
kind: ClusterRole
name: admin
apiGroup: rbac.authorization.k8s.io
---
kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: argo-admin-clusterrole
annotations:
argocd.argoproj.io/sync-wave: '0'
subjects:
- kind: ServiceAccount
name: argo-admin
namespace: argo
roleRef:
kind: ClusterRole
name: argo-admin
apiGroup: rbac.authorization.k8s.io
---
kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: argo-developer-clusterrole
annotations:
argocd.argoproj.io/sync-wave: '0'
subjects:
- kind: ServiceAccount
name: argo-developer
namespace: argo
roleRef:
kind: ClusterRole
name: argo-view
apiGroup: rbac.authorization.k8s.io
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: argocd-admin-crb
annotations:
argocd.argoproj.io/sync-wave: '0'
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: admin
subjects:
- kind: ServiceAccount
name: argocd-server
namespace: argocd
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: argocd-crossplane-admin-crb
annotations:
argocd.argoproj.io/sync-wave: '0'
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: crossplane-admin
subjects:
- kind: ServiceAccount
name: argocd-server
namespace: argocd
25 changes: 25 additions & 0 deletions templates/controlplane-template/templates/clusters.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: clusters
namespace: argocd
finalizers:
- resources-finalizer.argocd.argoproj.io
annotations:
argocd.argoproj.io/sync-wave: '1000'
spec:
project: {{ .Values.project }}
source:
repoURL: {{ .Values.gitopsRepoUrl }}
path: registry/clusters/{{ .Values.clusterName }}/components/clusters
targetRevision: HEAD
destination:
name: {{ .Values.clusterDestination }}
namespace: argocd
syncPolicy:
automated:
prune: true
selfHeal: true
allowEmpty: true
syncOptions:
- CreateNamespace=true
Loading