Squashed 'cluster-config/' content from commit 654f2390

git-subtree-dir: cluster-config
git-subtree-split: 654f23903bd1f9a27a4810bd289d165b6cfdbb0c
This commit is contained in:
2025-03-30 15:46:16 -05:00
commit fe564d7227
346 changed files with 11754 additions and 0 deletions

View File

@@ -0,0 +1,9 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
helmCharts:
- name: argocd-app-of-app
version: 0.4.1
repo: https://gnunn-gitops.github.io/helm-charts
valuesFile: values.yaml
namespace: openshift-gitops

108
bootstrap/base/values.yaml Normal file
View File

@@ -0,0 +1,108 @@
default:
app:
enabled: true
enableAutoSync: true
autoSyncPrune: false
project: cluster-config
labels:
app-source: base
repo: cluster-config
destination:
namespace: openshift-gitops
server: https://kubernetes.default.svc
source:
repoURL: https://github.com/gnunn-gitops/cluster-config.git
targetRevision: HEAD
projects:
cluster-config:
annotations:
notifications.argoproj.io/subscribe.on-sync-failed.slack: cluster-gitops
notifications.argoproj.io/subscribe.on-health-degraded.slack: cluster-gitops
description: Project for overall cluster configuration
namespace: openshift-gitops
sourceRepos:
- https://github.com/gnunn-gitops/cluster-config
- https://github.com/redhat-cop/gitops-catalog
- https://github.com/gnunn-gitops/acm-hub-bootstrap
destinations: |
- namespace: '*'
server: https://kubernetes.default.svc
extraFields: |
clusterResourceWhitelist:
- group: '*'
kind: '*'
applications:
banner:
annotations:
argocd.argoproj.io/sync-wave: '11'
source:
path: components/banner/base
extraSourceFields: |
plugin:
name: setenv-cmp-plugin
compliance-operator:
annotations:
argocd.argoproj.io/compare-options: IgnoreExtraneous
argocd.argoproj.io/sync-wave: '21'
destination:
namespace: openshift-compliance
source:
path: components/compliance-operator/overlays/cis-compliance
container-security:
annotations:
argocd.argoproj.io/compare-options: IgnoreExtraneous
argocd.argoproj.io/sync-wave: '21'
destination:
namespace: openshift-operators
source:
path: components/container-security-operator/overlays/stable-3.13
external-secrets:
annotations:
argocd.argoproj.io/sync-wave: '1'
destination:
namespace: openshift-operators
source:
path: components/eso/overlays/aggregate
helm-repos:
annotations:
argocd.argoproj.io/compare-options: IgnoreExtraneous
argocd.argoproj.io/sync-wave: '11'
source:
path: components/helm-repos/base
pipeline-operator:
annotations:
argocd.argoproj.io/sync-wave: "21"
argocd.argoproj.io/sync-options: SkipDryRunOnMissingResource=true
destination:
namespace: openshift-operators
source:
path: components/pipelines-operator/overlays/chains
syncPolicyRetry:
limit: 5
backoff:
duration: 5s
factor: 2
maxDuration: 3m
dev-console-plugin:
destination:
namespace: dev-console-plugin
argocd.argoproj.io/sync-wave: '41'
source:
path: components/dev-console-plugin/base
gitops-admin-plugin:
destination:
namespace: gitops-admin-plugin
argocd.argoproj.io/sync-wave: '41'
source:
path: components/gitops-admin-plugin/base

View File

@@ -0,0 +1,9 @@
apiVersion: kustomize.config.k8s.io/v1alpha1
kind: Component
helmCharts:
- name: argocd-app-of-app
version: 0.4.1
repo: https://gnunn-gitops.github.io/helm-charts
valuesFile: values.yaml
namespace: openshift-gitops

View File

@@ -0,0 +1,54 @@
default:
app:
enabled: true
enableAutoSync: true
autoSyncPrune: false
project: cluster-config
labels:
app-source: local.hub
repo: cluster-config
destination:
namespace: openshift-gitops
server: https://kubernetes.default.svc
source:
repoURL: https://github.com/gnunn-gitops/cluster-config.git
targetRevision: HEAD
applications:
acm-hub:
annotations:
argocd.argoproj.io/sync-wave: '21'
labels:
repo: acm-hub-bootstrap
destinations:
namespace: open-cluster-management
source:
repoURL: https://github.com/gnunn-gitops/acm-hub-bootstrap.git
path: components/apps/acm/overlays/hub
acm-observability:
annotations:
argocd.argoproj.io/sync-wave: '31'
labels:
repo: acm-hub-bootstrap
destinations:
namespace: open-cluster-management-observability
source:
repoURL: https://github.com/gnunn-gitops/acm-hub-bootstrap.git
path: components/apps/acm/overlays/observability
acm-policies:
enableAutoSync: false
annotations:
argocd.argoproj.io/sync-wave: '31'
labels:
repo: acm-hub-bootstrap
destinations:
namespace: acm-policies
source:
repoURL: https://github.com/gnunn-gitops/acm-hub-bootstrap.git
path: bootstrap/policies/overlays/default
extraSourceFields: |
plugin:
name: setenv-cmp-plugin

View File

@@ -0,0 +1,9 @@
apiVersion: kustomize.config.k8s.io/v1alpha1
kind: Component
helmCharts:
- name: argocd-app-of-app
version: 0.4.1
repo: https://gnunn-gitops.github.io/helm-charts
valuesFile: values.yaml
namespace: openshift-gitops

View File

@@ -0,0 +1,43 @@
default:
app:
enabled: true
enableAutoSync: true
autoSyncPrune: false
project: cluster-config
labels:
app-source: local.hub
repo: cluster-config
destination:
namespace: openshift-gitops
server: https://kubernetes.default.svc
source:
repoURL: https://github.com/gnunn-gitops/cluster-config.git
targetRevision: HEAD
applications:
kyverno:
enabled: false
annotations:
argocd.argoproj.io/compare-options: IgnoreExtraneous
argocd.argoproj.io/sync-wave: '21'
destination:
namespace: kyverno
source:
path: components/kyverno/overlays/policies
syncPolicyRetry:
limit: 5
backoff:
duration: 5s
factor: 2
maxDuration: 3m
extraFields: |
ignoreDifferences:
- group: kyverno.io
kind: ClusterPolicy
jsonPointers:
- /spec/rules
- group: kyverno.io
kind: Policy
jsonPointers:
- /spec/rules

View File

@@ -0,0 +1,9 @@
apiVersion: kustomize.config.k8s.io/v1alpha1
kind: Component
helmCharts:
- name: argocd-app-of-app
version: 0.4.1
repo: https://gnunn-gitops.github.io/helm-charts
valuesFile: values.yaml
namespace: openshift-gitops

View File

@@ -0,0 +1,41 @@
default:
app:
enabled: true
enableAutoSync: true
autoSyncPrune: false
project: cluster-config
labels:
app-source: local.hub
repo: cluster-config
destination:
namespace: openshift-gitops
server: https://kubernetes.default.svc
source:
repoURL: https://github.com/gnunn-gitops/cluster-config.git
targetRevision: HEAD
applications:
registry:
annotations:
argocd.argoproj.io/sync-wave: '5'
destination:
namespace: openshift-image-registry
source:
path: components/registry-sno/base
defrag-etcd:
annotations:
argocd.argoproj.io/sync-wave: '99'
destination:
namespace: openshift-etcd
source:
path: components/defrag-etcd/base
cleanup-completed-pods:
annotations:
argocd.argoproj.io/sync-wave: '99'
destination:
namespace: clean-completed-pods
source:
path: components/clean-completed-pods/base

View File

@@ -0,0 +1,25 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
helmCharts:
- name: argocd-app-of-app
version: 0.2.4
repo: https://gnunn-gitops.github.io/helm-charts
valuesFile: values.yaml
namespace: openshift-gitops
releaseName: argocd-app-of-app-0.2.4
resources:
- ../local
patches:
- target:
kind: Application
name: compliance-operator
patch: |-
- op: replace
path: /spec/source/path
value: 'components/apps/compliance-operator/overlays/cis-compliance'
- op: replace
path: /spec/source/repoURL
value: 'https://github.com/gnunn-gitops/cluster-config'

View File

@@ -0,0 +1,14 @@
default:
app:
enabled: true
enableAutoSync: true
autoSyncPrune: false
project: cluster-config
destination:
namespace: openshift-gitops
server: https://kubernetes.default.svc
source:
repoURL: https://github.com/gnunn-gitops/cluster-config.git
targetRevision: HEAD
applications:

View File

@@ -0,0 +1,24 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
helmCharts:
- name: argocd-app-of-app
version: 0.4.1
repo: https://gnunn-gitops.github.io/helm-charts
valuesFile: values.yaml
namespace: openshift-gitops
components:
- ../../components/sno
resources:
- ../local
patches:
- target:
kind: Application
name: compliance-operator
patch: |-
- op: replace
path: /spec/source/path
value: 'components/compliance-operator/overlays/cis-compliance-master-only'

View File

@@ -0,0 +1,122 @@
default:
app:
enabled: true
enableAutoSync: true
autoSyncPrune: false
project: cluster-config
labels:
app-source: local.home
repo: cluster-config
destination:
namespace: openshift-gitops
server: https://kubernetes.default.svc
source:
repoURL: https://github.com/gnunn-gitops/cluster-config.git
targetRevision: HEAD
projects:
demo:
description: Project for ad-hoc demos and testing
sourceRepos:
- "*"
destinations: |
- namespace: '*'
server: https://kubernetes.default.svc
extraFields: |
clusterResourceWhitelist:
- group: '*'
kind: '*'
applications:
lvm-operator:
annotations:
argocd.argoproj.io/sync-wave: '2'
destination:
namespace: openshift-storage
source:
path: clusters/overlays/local.home/components/lvm-operator
acs-secured-cluster:
annotations:
argocd.argoproj.io/sync-wave: '21'
destination:
namespace: rhacs-operator
source:
path: components/acs-operator/overlays/secured-cluster
extraSourceFields: |
plugin:
name: setenv-cmp-plugin
console-links:
annotations:
argocd.argoproj.io/sync-wave: '11'
source:
path: clusters/overlays/local.home/components/consolelinks
cost-management:
annotations:
argocd.argoproj.io/sync-wave: '21'
destination:
namespace: costmanagement-metrics-operator
source:
path: clusters/overlays/local.home/components/cost-management-operator
lokistack:
enabled: false
annotations:
argocd.argoproj.io/sync-wave: '21'
source:
path: clusters/overlays/local.home/components/lokistack
syncPolicyRetry:
limit: 5
backoff:
duration: 5s
factor: 2
maxDuration: 3m
node-config:
annotations:
argocd.argoproj.io/sync-wave: '99'
source:
path: clusters/overlays/local.home/components/node-config
rollout-manager:
annotations:
argocd.argoproj.io/sync-wave: '31'
source:
path: components/rollout-manager/base
# Tenants
gitops:
project: cluster-config
annotations:
argocd.argoproj.io/sync-wave: '50'
destination:
namespace: gitops
source:
path: components/gitops-operator/overlays/shared
extraSourceFields: |
plugin:
name: setenv-cmp-plugin
tenant-secrets:
project: cluster-config
labels:
repo: use-head
annotations:
argocd.argoproj.io/sync-wave: '50'
destination:
namespace: tenant-secrets
source:
path: components/tenant-secrets/base
tenants:
project: cluster-config
labels:
repo: use-head
annotations:
argocd.argoproj.io/sync-wave: '51'
source:
path: clusters/overlays/local.home/components/tenants

View File

@@ -0,0 +1,32 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
helmCharts:
- name: argocd-app-of-app
version: 0.4.1
repo: https://gnunn-gitops.github.io/helm-charts
valuesFile: values.yaml
namespace: openshift-gitops
components:
- ../../components/acm-hub
- ../../components/sno
resources:
- ../local
patches:
- target:
kind: Application
name: compliance-operator
patch: |-
- op: replace
path: /spec/source/path
value: 'components/compliance-operator/overlays/cis-compliance-master-only'
- target:
kind: Application
name: external-secrets
patch: |-
- op: replace
path: /spec/source/path
value: 'clusters/overlays/local.hub/components/eso'

View File

@@ -0,0 +1,160 @@
default:
app:
enabled: true
enableAutoSync: true
autoSyncPrune: false
project: cluster-config
labels:
app-source: local.hub
repo: cluster-config
destination:
namespace: openshift-gitops
server: https://kubernetes.default.svc
source:
repoURL: https://github.com/gnunn-gitops/cluster-config.git
targetRevision: HEAD
applications:
node-config:
annotations:
argocd.argoproj.io/sync-wave: '0'
source:
path: clusters/overlays/local.hub/components/node-config
odf-operator:
annotations:
argocd.argoproj.io/sync-wave: '1'
source:
path: components/odf-operator/operator/overlays/no-registry
lvm-operator:
annotations:
argocd.argoproj.io/sync-wave: '2'
destination:
namespace: openshift-storage
source:
path: clusters/overlays/local.hub/components/lvm-operator
odf-instance:
annotations:
argocd.argoproj.io/sync-wave: '2'
destination:
namespace: openshift-storage
source:
path: components/odf-operator/instance/base
acs:
annotations:
argocd.argoproj.io/sync-wave: '21'
destination:
namespace: stackrox
source:
path: clusters/overlays/local.hub/components/acs-operator
acs-config:
annotations:
argocd.argoproj.io/sync-wave: '31'
destination:
namespace: stackrox
source:
path: components/acs-config/base
extraSourceFields: |
plugin:
name: setenv-cmp-plugin
amq-streams:
enabled: false
annotations:
argocd.argoproj.io/sync-wave: '21'
destination:
namespace: openshift-gitops
source:
path: components/amq-streams/overlays/amq-streams-2.7.x/
trusted-profile-analyzer-prereqs:
enabled: false
annotations:
argocd.argoproj.io/sync-wave: '31'
destination:
namespace: openshift-gitops
source:
path: components/trusted-profile-analyzer/prereqs/base
# acm-clusters:
# annotations:
# argocd.argoproj.io/sync-wave: '31'
# labels:
# repo: acm-hub-bootstrap
# destinations:
# namespace: openshift-gitops
# source:
# repoURL: https://github.com/gnunn-gitops/acm-hub-bootstrap.git
# path: components/clusters/base
# Disable while we work this out
nmstate:
enabled: true
source:
path: clusters/overlays/local.hub/components/nmstate
console-links:
annotations:
argocd.argoproj.io/sync-wave: '11'
source:
path: clusters/overlays/local.hub/components/consolelinks
dev-tools:
annotations:
argocd.argoproj.io/sync-wave: '31'
destination:
namespace: dev-tools
source:
path: components/dev-tools/overlays/default
quay-registry:
# leave disabled unless needed for demo
enabled: false
annotations:
argocd.argoproj.io/sync-wave: '21'
source:
path: clusters/overlays/local.hub/components/quay-registry-operator
cost-management:
annotations:
argocd.argoproj.io/sync-wave: '21'
destination:
namespace: costmanagement-metrics-operator
source:
path: clusters/overlays/local.hub/components/cost-management-operator
lokistack:
enabled: false
annotations:
argocd.argoproj.io/sync-wave: '21'
source:
path: clusters/overlays/local.hub/components/lokistack
syncPolicyRetry:
limit: 5
backoff:
duration: 5s
factor: 2
maxDuration: 3m
kyverno-acm:
enabled: false
annotations:
argocd.argoproj.io/compare-options: IgnoreExtraneous
argocd.argoproj.io/sync-wave: '21'
destination:
namespace: acm-policies
source:
path: components/kyverno-acm/base
rhtas-operator:
annotations:
argocd.argoproj.io/sync-wave: '21'
destination:
namespace: trusted-artifact-signer
source:
path: clusters/overlays/local.hub/components/rhtas-operator

View File

@@ -0,0 +1,3 @@
Applications to support my local home lab environment. This isn't limited to my
on-prem environment but can also include cloud clusters. This overlay
includes items for consistency in my homelab setup such as RBAC, authentication (Keycloak), etc.

View File

@@ -0,0 +1,12 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
helmCharts:
- name: argocd-app-of-app
version: 0.4.1
repo: https://gnunn-gitops.github.io/helm-charts
valuesFile: values.yaml
namespace: openshift-gitops
resources:
- ../../base

View File

@@ -0,0 +1,83 @@
default:
app:
enabled: true
enableAutoSync: true
autoSyncPrune: false
project: cluster-config
labels:
app-source: local.hub
repo: cluster-config
destination:
namespace: openshift-gitops
server: https://kubernetes.default.svc
source:
repoURL: https://github.com/gnunn-gitops/cluster-config.git
targetRevision: HEAD
applications:
authentication:
annotations:
argocd.argoproj.io/sync-wave: '4'
destination:
namespace: openshift-config
source:
path: components/oauth/overlays/homelab
extraSourceFields: |
plugin:
name: setenv-cmp-plugin
cert-manager-operator:
annotations:
argocd.argoproj.io/sync-wave: "2"
destination:
namespace: cert-manager-operator
source:
path: components/cert-manager-operator/aggregate/overlays/letsencrypt
certificates:
annotations:
argocd.argoproj.io/sync-wave: "3"
destination:
namespace: cert-manager-operator
source:
path: components/certificates/base
extraSourceFields: |
plugin:
name: setenv-cmp-plugin
alertmanager:
annotations:
argocd.argoproj.io/sync-wave: '11'
destination:
namespace: openshift-monitoring
source:
path: components/alertmanager/base
openshift-monitoring:
annotations:
argocd.argoproj.io/sync-wave: '11'
destination:
namespace: openshift-monitoring
source:
path: components/openshift-monitoring/base
extraSourceFields: |
plugin:
name: setenv-cmp-plugin
# syncOptions:
# - RespectIgnoreDifferences=true
# extraFields: |
# ignoreDifferences:
# - group: ""
# kind: ConfigMap
# jsonPointers:
# - /data/config.yaml/prometheusK8s/externalLabels/managed-cluster
# name: cluster-monitoring-config
# namespace: openshift-monitoring
rbac:
annotations:
argocd.argoproj.io/compare-options: IgnoreExtraneous
argocd.argoproj.io/sync-wave: '11'
source:
path: components/rbac/base

View File

@@ -0,0 +1,21 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
helmCharts:
- name: argocd-app-of-app
version: 0.4.1
repo: https://gnunn-gitops.github.io/helm-charts
valuesFile: values.yaml
namespace: openshift-gitops
resources:
- ../../base
patches:
- target:
kind: Application
name: compliance-operator
patch: |-
- op: replace
path: /spec/source/path
value: 'components/compliance-operator/overlays/cis-compliance-master-only'

View File

@@ -0,0 +1,92 @@
default:
app:
enabled: true
enableAutoSync: true
autoSyncPrune: false
project: cluster-config
destination:
namespace: openshift-gitops
server: https://kubernetes.default.svc
source:
repoURL: https://github.com/gnunn-gitops/cluster-config.git
targetRevision: HEAD
labels:
app-source: rhdp
applications:
# acs:
# annotations:
# argocd.argoproj.io/compare-options: IgnoreExtraneous
# argocd.argoproj.io/sync-wave: '21'
# source:
# path: components/acs-operator/overlays/oauth
# acs-tokens:
# annotations:
# argocd.argoproj.io/compare-options: IgnoreExtraneous
# argocd.argoproj.io/sync-wave: '61'
# source:
# path: tenants/acs-tokens/base
authentication:
annotations:
argocd.argoproj.io/sync-wave: '4'
destination:
namespace: openshift-config
source:
path: components/oauth/overlays/homelab
extraSourceFields: |
plugin:
name: setenv-cmp-plugin
rbac:
annotations:
argocd.argoproj.io/compare-options: IgnoreExtraneous
argocd.argoproj.io/sync-wave: '11'
source:
path: components/rbac/base
openshift-monitoring:
annotations:
argocd.argoproj.io/sync-wave: '11'
destination:
namespace: openshift-monitoring
source:
path: components/openshift-monitoring/base
extraSourceFields: |
plugin:
name: setenv-cmp-plugin
# product-catalog-root:
# project: cluster-config
# annotations:
# argocd.argoproj.io/compare-options: IgnoreExtraneous
# argocd.argoproj.io/sync-wave: '51'
# source:
# path: tenants/product-catalog/argocd/root/base
# kyverno:
# annotations:
# argocd.argoproj.io/compare-options: IgnoreExtraneous
# argocd.argoproj.io/sync-wave: '21'
# destination:
# namespace: kyverno
# source:
# path: components/kyverno/overlays/policies
# syncPolicyRetry:
# limit: 5
# backoff:
# duration: 5s
# factor: 2
# maxDuration: 3m
# extraFields: |
# ignoreDifferences:
# - group: kyverno.io
# kind: ClusterPolicy
# jsonPointers:
# - /spec/rules
# - group: kyverno.io
# kind: Policy
# jsonPointers:
# - /spec/rules