diff --git a/applications/app-monetnaildesign.yaml b/applications/app-monetnaildesign.yaml deleted file mode 100644 index 12e76be..0000000 --- a/applications/app-monetnaildesign.yaml +++ /dev/null @@ -1,33 +0,0 @@ ---- -apiVersion: argoproj.io/v1alpha1 -kind: Application -metadata: - name: monetnaildesign-web - finalizers: - - resources-finalizer.argocd.argoproj.io - annotations: - argocd.argoproj.io/sync-wave: "5" -spec: - destination: - name: internal - namespace: monetnaildesign - project: default - source: - path: applications/app-web-monetnaildesign - repoURL: https://github.com/rblundon/homelab.git - targetRevision: HEAD - syncPolicy: - automated: - prune: true - selfHeal: true - syncOptions: - - RespectIgnoreDifferences=true - - CreateNamespace=true - managedNamespaceMetadata: - labels: - argocd.argoproj.io/managed-by: openshift-gitops - ignoreDifferences: - - group: apps - kind: Deployment - jsonPointers: - - /spec/replicas \ No newline at end of file diff --git a/applications/app-web-monetnaildesign/buildconfig.yaml b/applications/app-web-monetnaildesign/buildconfig.yaml deleted file mode 100644 index 3de190c..0000000 --- a/applications/app-web-monetnaildesign/buildconfig.yaml +++ /dev/null @@ -1,40 +0,0 @@ ---- -apiVersion: build.openshift.io/v1 -kind: BuildConfig -metadata: - annotations: - description: Defines how to build the application - template.alpha.openshift.io/wait-for-ready: "true" - name: monetnaildesign-nginx-build - labels: - app: monetnaildesign-nginx - template: nginx-example - name: monetnaildesign-nginx -spec: - output: - to: - kind: ImageStreamTag - name: monetnaildesign-nginx:latest - source: - contextDir: "" - git: - ref: "" - uri: https://github.com/rblundon/monetnaildesign.git -# uri: https://github.com/sclorg/nginx-ex.git - type: Git - strategy: - sourceStrategy: - from: - kind: ImageStreamTag - name: nginx:latest - namespace: openshift - type: Source - triggers: - - type: ImageChange - - type: ConfigChange - - github: - secret: 0Q6mNn8Qj2vCQNwKhvk5O1F8tIQVyxRPehiwhGrP - type: GitHub - - generic: - secret: q86RdskVovs1yd1lfqRm0BncEHc8HjdH2I86CnNP - type: Generic \ No newline at end of file diff --git a/applications/app-web-monetnaildesign/deployment.yaml b/applications/app-web-monetnaildesign/deployment.yaml deleted file mode 100644 index 4a6d260..0000000 --- a/applications/app-web-monetnaildesign/deployment.yaml +++ /dev/null @@ -1,48 +0,0 @@ ---- -apiVersion: apps/v1 -kind: Deployment -metadata: - annotations: - description: Defines how to deploy the application server - image.openshift.io/triggers: '[{"from":{"kind":"ImageStreamTag","name":"monetnaildesign-nginx:latest"},"fieldPath": - "spec.template.spec.containers[0].image"}]' - template.alpha.openshift.io/wait-for-ready: "true" - labels: - app: monetnaildesign-nginx - template: nginx-example - name: monetnaildesign-nginx -spec: - replicas: 1 - selector: - matchLabels: - app: monetnaildesign-nginx - name: monetnaildesign-nginx - strategy: - type: RollingUpdate - template: - metadata: - labels: - app: monetnaildesign-nginx - name: monetnaildesign-nginx - spec: - containers: - - env: [] - image: 'image-registry.openshift-image-registry.svc:5000/monetnaildesign/monetnaildesign-nginx' - livenessProbe: - httpGet: - path: / - port: 8080 - initialDelaySeconds: 30 - timeoutSeconds: 3 - name: monetnaildesign-nginx - ports: - - containerPort: 8080 - readinessProbe: - httpGet: - path: / - port: 8080 - initialDelaySeconds: 3 - timeoutSeconds: 3 - resources: - limits: - memory: 512Mi \ No newline at end of file diff --git a/applications/app-web-monetnaildesign/externalsecrets.yaml b/applications/app-web-monetnaildesign/externalsecrets.yaml deleted file mode 100644 index af44f9c..0000000 --- a/applications/app-web-monetnaildesign/externalsecrets.yaml +++ /dev/null @@ -1,15 +0,0 @@ ---- -apiVersion: external-secrets.io/v1beta1 -kind: ExternalSecret -metadata: - name: cloudflare-api-token-monetnaildesign # This is the secret name - namespace: external-dns -spec: - secretStoreRef: - kind: ClusterSecretStore - name: doppler-cluster - refreshInterval: "1h" - data: - - secretKey: api-token-monetnaildesign - remoteRef: - key: CLOUDFLARE_TOKEN_MONETNAILDESIGN diff --git a/applications/app-web-monetnaildesign/imagestream.yaml b/applications/app-web-monetnaildesign/imagestream.yaml deleted file mode 100644 index 610f97d..0000000 --- a/applications/app-web-monetnaildesign/imagestream.yaml +++ /dev/null @@ -1,10 +0,0 @@ ---- -apiVersion: image.openshift.io/v1 -kind: ImageStream -metadata: - annotations: - description: Keeps track of changes in the application image - labels: - app: monetnaildesign-nginx - template: nginx-example - name: monetnaildesign-nginx \ No newline at end of file diff --git a/applications/app-web-monetnaildesign/ingress.yaml b/applications/app-web-monetnaildesign/ingress.yaml deleted file mode 100644 index fb30ceb..0000000 --- a/applications/app-web-monetnaildesign/ingress.yaml +++ /dev/null @@ -1,42 +0,0 @@ -kind: Ingress -apiVersion: networking.k8s.io/v1 -metadata: - annotations: - cert-manager.io/cluster-issuer: letsencrypt-prod - nginx.ingress.kubernetes.io/force-ssl-redirect: "true" - # external-dns.alpha.kubernetes.io/hostname: monetnaildesign.com - # external-dns.alpha.kubernetes.io/target: ingress.monetnaildesign.com - name: monetnaildesign-external - namespace: monetnaildesign - labels: - app.kubernetes.io/instance: monetnaildesign - app.kubernetes.io/name: monetnaildesign - app: external-dns-monetnaildesign -spec: - ingressClassName: nginx - tls: - - hosts: - - monetnaildesign.com - - www.monetnaildesign.com - secretName: monetnaildesign-tls - rules: - - host: monetnaildesign.com - http: - paths: - - path: / - pathType: ImplementationSpecific - backend: - service: - name: monetnaildesign-nginx - port: - number: 80 - - host: www.monetnaildesign.com - http: - paths: - - path: / - pathType: ImplementationSpecific - backend: - service: - name: monetnaildesign-nginx - port: - number: 80 \ No newline at end of file diff --git a/applications/app-web-monetnaildesign/kustomization.yaml b/applications/app-web-monetnaildesign/kustomization.yaml deleted file mode 100644 index 6c4f83d..0000000 --- a/applications/app-web-monetnaildesign/kustomization.yaml +++ /dev/null @@ -1,16 +0,0 @@ ---- -apiVersion: kustomize.config.k8s.io/v1beta1 -kind: Kustomization - -commonAnnotations: - argocd.argoproj.io/sync-options: SkipDryRunOnMissingResource=true - -resources: -# Application deployment -- namespace.yaml -- imagestream.yaml -- buildconfig.yaml -- deployment.yaml -#- externalsecrets.yaml -- service.yaml -- ingress.yaml \ No newline at end of file diff --git a/applications/app-web-monetnaildesign/namespace.yaml b/applications/app-web-monetnaildesign/namespace.yaml deleted file mode 100644 index dbc1260..0000000 --- a/applications/app-web-monetnaildesign/namespace.yaml +++ /dev/null @@ -1,13 +0,0 @@ ---- -apiVersion: v1 -kind: Namespace -metadata: - labels: - kubernetes.io/metadata.name: monetnaildesign - name: monetnaildesign - argocd.argoproj.io/managed-by: openshift-gitops-operator - openshift.io/cluster-monitoring: 'true' - name: monetnaildesign -spec: - finalizers: - - kubernetes \ No newline at end of file diff --git a/applications/app-web-monetnaildesign/service.yaml b/applications/app-web-monetnaildesign/service.yaml deleted file mode 100644 index f0c7852..0000000 --- a/applications/app-web-monetnaildesign/service.yaml +++ /dev/null @@ -1,16 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - annotations: - description: Exposes and load balances the application pods - labels: - app: monetnaildesign-nginx - template: nginx-example - name: monetnaildesign-nginx -spec: - ports: - - name: web - port: 80 - targetPort: 8080 - selector: - name: monetnaildesign-nginx \ No newline at end of file diff --git a/applications/homepage.yaml b/applications/homepage.yaml deleted file mode 100644 index c28defa..0000000 --- a/applications/homepage.yaml +++ /dev/null @@ -1,33 +0,0 @@ ---- -apiVersion: argoproj.io/v1alpha1 -kind: Application -metadata: - name: homepage-app - finalizers: - - resources-finalizer.argocd.argoproj.io - annotations: - argocd.argoproj.io/sync-wave: "5" -spec: - destination: - name: internal - namespace: homepage-app - project: default - source: - path: applications/homepage - repoURL: https://github.com/rblundon/homelab.git - targetRevision: HEAD - syncPolicy: - automated: - prune: false - selfHeal: true - syncOptions: - - RespectIgnoreDifferences=true - - CreateNamespace=true - managedNamespaceMetadata: - labels: - argocd.argoproj.io/managed-by: openshift-gitops - ignoreDifferences: - - group: apps - kind: Deployment - jsonPointers: - - /spec/replicas \ No newline at end of file diff --git a/applications/homepage/clusterrole.yaml b/applications/homepage/clusterrole.yaml deleted file mode 100644 index 2e9f174..0000000 --- a/applications/homepage/clusterrole.yaml +++ /dev/null @@ -1,55 +0,0 @@ ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - name: homepage - labels: - app.kubernetes.io/name: homepage -rules: - - apiGroups: - - "" - resources: - - namespaces - - pods - - nodes - verbs: - - get - - list - - apiGroups: - - extensions - - networking.k8s.io - resources: - - ingresses - verbs: - - get - - list - - apiGroups: - - traefik.containo.us - resources: - - ingressroutes - verbs: - - get - - list - - apiGroups: - - metrics.k8s.io - resources: - - nodes - - pods - verbs: - - get - - list ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding -metadata: - name: homepage - labels: - app.kubernetes.io/name: homepage -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: homepage -subjects: - - kind: ServiceAccount - name: homepage - namespace: homepage-app diff --git a/applications/homepage/configmap-eso.yaml b/applications/homepage/configmap-eso.yaml deleted file mode 100644 index 833aae9..0000000 --- a/applications/homepage/configmap-eso.yaml +++ /dev/null @@ -1,30 +0,0 @@ ---- -apiVersion: external-secrets.io/v1beta1 -kind: ExternalSecret -metadata: - name: homepage-bookmarks-secret - namespace: homepage-app -spec: - secretStoreRef: - kind: ClusterSecretStore - name: doppler-cluster - refreshInterval: "1h" - data: - - secretKey: bookmarks.yaml - remoteRef: - key: HOMEPAGE_BOOKMARKS ---- -apiVersion: external-secrets.io/v1beta1 -kind: ExternalSecret -metadata: - name: homepage-services-secret - namespace: homepage-app -spec: - secretStoreRef: - kind: ClusterSecretStore - name: doppler-cluster - refreshInterval: "1h" - data: - - secretKey: services.yaml - remoteRef: - key: HOMEPAGE_SERVICES diff --git a/applications/homepage/configmap.yaml b/applications/homepage/configmap.yaml deleted file mode 100644 index 858bd08..0000000 --- a/applications/homepage/configmap.yaml +++ /dev/null @@ -1,66 +0,0 @@ ---- -apiVersion: v1 -kind: ConfigMap -metadata: - name: homepage - namespace: homepage-app - labels: - app.kubernetes.io/name: homepage -data: - kubernetes.yaml: | - mode: cluster - settings.yaml: | - title: MK-Labs Homepage - - background: - image: https://images.unsplash.com/photo-1502790671504-542ad42d5189?auto=format&fit=crop&w=2560&q=80 - saturate: 100 # 0, 50, 100... see https://tailwindcss.com/docs/backdrop-saturate - brightness: 50 # 0, 50, 75... see https://tailwindcss.com/docs/backdrop-brightness - opacity: 100 # 0-100 - - theme: dark - color: slate - - useEqualHeights: true - - layout: - Proxmox: - header: true - style: row - columns: 4 - Network: - header: true - style: row - columns: 4 - Other: - header: true - style: row - columns: 4 - - providers: - openweathermap: openweathermapapikey - weatherapi: weatherapiapikey - custom.css: "" - custom.js: "" - widgets.yaml: | - - kubernetes: - cluster: - show: true - cpu: true - memory: true - showLabel: true - label: "cluster" - nodes: - show: true - cpu: true - memory: true - showLabel: true - - resources: - backend: resources - expanded: true - cpu: true - memory: true - - search: - provider: duckduckgo - target: _blank - docker.yaml: "" \ No newline at end of file diff --git a/applications/homepage/deployment.yaml b/applications/homepage/deployment.yaml deleted file mode 100644 index 7fb8286..0000000 --- a/applications/homepage/deployment.yaml +++ /dev/null @@ -1,84 +0,0 @@ ---- -apiVersion: apps/v1 -kind: Deployment -metadata: - name: homepage - namespace: homepage-app - labels: - app.kubernetes.io/name: homepage -spec: - revisionHistoryLimit: 3 - replicas: 1 - strategy: - type: RollingUpdate - selector: - matchLabels: - app.kubernetes.io/name: homepage - template: - metadata: - labels: - app.kubernetes.io/name: homepage - spec: - serviceAccountName: homepage - automountServiceAccountToken: true - dnsPolicy: ClusterFirst - enableServiceLinks: true - containers: - - name: homepage - image: "ghcr.io/gethomepage/homepage:latest" - imagePullPolicy: Always - env: - - name: HOMEPAGE_ALLOWED_HOSTS - value: "homepage.apps.openshift.int.mk-labs.cloud" - ports: - - name: http - containerPort: 3000 - protocol: TCP - volumeMounts: - - mountPath: /app/config/custom.js - name: homepage-config - subPath: custom.js - - mountPath: /app/config/custom.css - name: homepage-config - subPath: custom.css - - mountPath: /app/config/bookmarks.yaml - name: bookmarks - subPath: bookmarks.yaml - - mountPath: /app/config/docker.yaml - name: homepage-config - subPath: docker.yaml - - mountPath: /app/config/kubernetes.yaml - name: homepage-config - subPath: kubernetes.yaml - - mountPath: /app/config/services.yaml - name: services - subPath: services.yaml - - mountPath: /app/config/settings.yaml - name: homepage-config - subPath: settings.yaml - - mountPath: /app/config/widgets.yaml - name: homepage-config - subPath: widgets.yaml - - mountPath: /app/config/logs - name: logs -# - mountPath: /usr/local/etc/ssl/certs/tls.crt -# name: ssl-certs -# subPath: tls.crt -# - mountPath: /usr/local/etc/ssl/certs/tls.key -# name: ssl-certs -# subPath: tls.key - volumes: - - name: homepage-config - configMap: - name: homepage - - name: bookmarks - secret: - secretName: homepage-bookmarks-secret - - name: services - secret: - secretName: homepage-services-secret -# - name: ssl-certs -# secret: -# secretName: letsencrypt-homepage - - name: logs - emptyDir: {} \ No newline at end of file diff --git a/applications/homepage/ingress-certificate.yaml b/applications/homepage/ingress-certificate.yaml deleted file mode 100644 index e95b3a4..0000000 --- a/applications/homepage/ingress-certificate.yaml +++ /dev/null @@ -1,20 +0,0 @@ ---- -apiVersion: cert-manager.io/v1 -kind: Certificate -metadata: - annotations: - name: letsencrypt-homepage - namespace: homepage-app -spec: - commonName: 'homepage.int.mk-labs.cloud' - dnsNames: - - homepage.int.mk-labs.cloud - duration: 2160h0m0s - issuerRef: - kind: ClusterIssuer - name: letsencrypt-prod - renewBefore: 360h0m0s - secretName: letsencrypt-homepage - usages: - - server auth - - client auth \ No newline at end of file diff --git a/applications/homepage/ingress.yaml b/applications/homepage/ingress.yaml deleted file mode 100644 index d99f351..0000000 --- a/applications/homepage/ingress.yaml +++ /dev/null @@ -1,48 +0,0 @@ ---- -apiVersion: networking.k8s.io/v1 -kind: Ingress -metadata: - name: homepage-ingress - namespace: homepage-app - annotations: - cert-manager.io/cluster-issuer: letsencrypt-prod - nginx.ingress.kubernetes.io/force-ssl-redirect: "true" -spec: - ingressClassName: nginx - tls: - - hosts: - - homepage.int.mk-labs.cloud - secretName: letsencrypt-homepage - rules: - - host: homepage.int.mk-labs.cloud - http: - paths: - - path: / - pathType: Exact - backend: - service: - name: homepage-nginx - port: - number: 443 -# tls: -# - hosts: -# - homepage.int.mk-labs.cloud -# secretName: letsencrypt-homepage -#--- -#apiVersion: networking.k8s.io/v1 -#kind: Ingress -#metadata: -# name: hello-openshift -#spec: -# rules: -# - host: hello-openshift.yourcluster.example.com -# http: -# paths: -# - backend: -# # Forward to a Service called 'hello-openshift' -# service: -# name: hello-openshift -# port: -# number: 8080 -# path: / -# pathType: Exact \ No newline at end of file diff --git a/applications/homepage/kustomization.yaml b/applications/homepage/kustomization.yaml deleted file mode 100644 index 93ccdf5..0000000 --- a/applications/homepage/kustomization.yaml +++ /dev/null @@ -1,16 +0,0 @@ ---- -apiVersion: kustomize.config.k8s.io/v1beta1 -kind: Kustomization - -resources: -- namespace.yaml -- secret.yaml -- serviceaccount.yaml -- configmap-eso.yaml -- configmap.yaml -- clusterrole.yaml -- service.yaml -#- ingress-certificate.yaml -- ingress.yaml -- deployment.yaml -- route.yaml \ No newline at end of file diff --git a/applications/homepage/namespace.yaml b/applications/homepage/namespace.yaml deleted file mode 100644 index 84461f5..0000000 --- a/applications/homepage/namespace.yaml +++ /dev/null @@ -1,12 +0,0 @@ ---- -apiVersion: v1 -kind: Namespace -metadata: - labels: - kubernetes.io/metadata.name: homepage-app - name: homepage-app - argocd.argoproj.io/managed-by: openshift-gitops-operator - name: homepage-app -spec: - finalizers: - - kubernetes diff --git a/applications/homepage/route.yaml b/applications/homepage/route.yaml deleted file mode 100644 index 95e7e37..0000000 --- a/applications/homepage/route.yaml +++ /dev/null @@ -1,46 +0,0 @@ -#--- -#3apiVersion: route.openshift.io/v1 -#kind: Route -#metadata: -# labels: -# app.kubernetes.io/instance: homepage-app -# app.kubernetes.io/name: homepage-app -# name: homepage-app -# namespace: homepage-app -#spec: -# host: homepage.int.mk-labs.cloud - -# port: -# targetPort: http -# tls: -# insecureEdgeTerminationPolicy: Redirect -# termination: edge -# externalCertificate: -# name: letsencrypt-homepage -# to: -# kind: Service -# name: homepage -# weight: 100 -# wildcardPolicy: None ---- -apiVersion: route.openshift.io/v1 -kind: Route -metadata: - labels: - app.kubernetes.io/instance: homepage-app - app.kubernetes.io/name: homepage-app - name: homepage-app2 - namespace: homepage-app -spec: - host: homepage.apps.openshift.int.mk-labs.cloud - - port: - targetPort: http - tls: - insecureEdgeTerminationPolicy: Redirect - termination: edge - to: - kind: Service - name: homepage - weight: 100 - wildcardPolicy: None diff --git a/applications/homepage/secret.yaml b/applications/homepage/secret.yaml deleted file mode 100644 index 5bc4aee..0000000 --- a/applications/homepage/secret.yaml +++ /dev/null @@ -1,11 +0,0 @@ ---- -apiVersion: v1 -kind: Secret -type: kubernetes.io/service-account-token -metadata: - name: homepage - namespace: homepage-app - labels: - app.kubernetes.io/name: homepage - annotations: - kubernetes.io/service-account.name: homepage diff --git a/applications/homepage/service.yaml b/applications/homepage/service.yaml deleted file mode 100644 index 1c309f9..0000000 --- a/applications/homepage/service.yaml +++ /dev/null @@ -1,18 +0,0 @@ ---- -apiVersion: v1 -kind: Service -metadata: - name: homepage - namespace: homepage-app - labels: - app.kubernetes.io/name: homepage - annotations: {} -spec: - type: ClusterIP - ports: - - port: 3000 - targetPort: http - protocol: TCP - name: http - selector: - app.kubernetes.io/name: homepage \ No newline at end of file diff --git a/applications/homepage/serviceaccount.yaml b/applications/homepage/serviceaccount.yaml deleted file mode 100644 index a4c561e..0000000 --- a/applications/homepage/serviceaccount.yaml +++ /dev/null @@ -1,10 +0,0 @@ ---- -apiVersion: v1 -kind: ServiceAccount -metadata: - name: homepage - namespace: homepage-app - labels: - app.kubernetes.io/name: homepage -secrets: - - name: homepage diff --git a/applications/homepage/temp.yaml b/applications/homepage/temp.yaml deleted file mode 100644 index c94b2be..0000000 --- a/applications/homepage/temp.yaml +++ /dev/null @@ -1,20 +0,0 @@ ---- -apiVersion: cert-manager.io/v1 -kind: Certificate -metadata: - annotations: - name: letsencrypt-homepage2 - namespace: homepage-app -spec: - commonName: 'homepage2.int.mk-labs.cloud' - dnsNames: - - homepage2.int.mk-labs.cloud - duration: 2160h0m0s - issuerRef: - kind: ClusterIssuer - name: letsencrypt-prod - renewBefore: 360h0m0s - secretName: letsencrypt-homepage2 - usages: - - server auth - - client auth \ No newline at end of file diff --git a/cluster/acm/acm.yaml b/cluster/acm/acm.yaml deleted file mode 100644 index 4b0ab87..0000000 --- a/cluster/acm/acm.yaml +++ /dev/null @@ -1,33 +0,0 @@ ---- -apiVersion: argoproj.io/v1alpha1 -kind: Application -metadata: - name: acm - finalizers: - - resources-finalizer.argocd.argoproj.io - annotations: - argocd.argoproj.io/sync-wave: "5" -spec: - destination: - name: in-cluster - namespace: open-cluster-management - project: default - source: - path: cluster/acm - repoURL: https://github.com/rblundon/homelab.git - targetRevision: HEAD - syncPolicy: - automated: - prune: false - selfHeal: true - syncOptions: - - RespectIgnoreDifferences=true - - CreateNamespace=true - managedNamespaceMetadata: - labels: - argocd.argoproj.io/managed-by: openshift-gitops - ignoreDifferences: - - group: apps - kind: Deployment - jsonPointers: - - /spec/replicas \ No newline at end of file diff --git a/cluster/acm/kustomization.yaml b/cluster/acm/kustomization.yaml deleted file mode 100644 index aac50a1..0000000 --- a/cluster/acm/kustomization.yaml +++ /dev/null @@ -1,6 +0,0 @@ ---- -apiVersion: kustomize.config.k8s.io/v1beta1 -kind: Kustomization - -resources: -- namespace.yaml diff --git a/cluster/acm/multiclusterhub.yaml b/cluster/acm/multiclusterhub.yaml deleted file mode 100644 index cb3a5aa..0000000 --- a/cluster/acm/multiclusterhub.yaml +++ /dev/null @@ -1,9 +0,0 @@ ---- -apiVersion: operator.open-cluster-management.io/v1 -kind: MultiClusterHub -metadata: - name: multiclusterhub - namespace: open-cluster-management -spec: - imagePullSecret: - name: multiclusterhub-pull-secret diff --git a/cluster/acm/namespace.yaml b/cluster/acm/namespace.yaml deleted file mode 100644 index 5642a0c..0000000 --- a/cluster/acm/namespace.yaml +++ /dev/null @@ -1,12 +0,0 @@ ---- -apiVersion: v1 -kind: Namespace -metadata: - labels: - kubernetes.io/metadata.name: open-cluster-management - name: open-cluster-management - argocd.argoproj.io/managed-by: openshift-gitops-operator - name: open-cluster-management -spec: - finalizers: - - kubernetes diff --git a/cluster/acm/operatorconfig.yaml b/cluster/acm/operatorconfig.yaml deleted file mode 100644 index 477d971..0000000 --- a/cluster/acm/operatorconfig.yaml +++ /dev/null @@ -1,25 +0,0 @@ -apiVersion: operator.external-secrets.io/v1alpha1 -kind: OperatorConfig -metadata: - name: cluster -spec: - prometheus: - enabled: true - service: - port: 8080 - resources: - requests: - cpu: 10m - memory: 96Mi - limits: - cpu: 100m - memory: 256Mi - - -apiVersion: operators.coreos.com/v1 -kind: OperatorGroup -metadata: - name: open-cluster-management -spec: - targetNamespaces: - - open-cluster-management diff --git a/cluster/acm/subscription.yaml b/cluster/acm/subscription.yaml deleted file mode 100644 index c2bec97..0000000 --- a/cluster/acm/subscription.yaml +++ /dev/null @@ -1,13 +0,0 @@ ---- -apiVersion: operators.coreos.com/v1alpha1 -kind: Subscription -metadata: - labels: - operators.coreos.com/external-secrets-operator.openshift-operators: '' - name: acm-operator-subscription -spec: - sourceNamespace: openshift-marketplace - source: redhat-operators - channel: release-1.0 - installPlanApproval: Automatic - name: advanced-cluster-management diff --git a/cluster/applications-AoA.yaml b/cluster/applications-AoA.yaml deleted file mode 100644 index 74bbb5c..0000000 --- a/cluster/applications-AoA.yaml +++ /dev/null @@ -1,28 +0,0 @@ ---- -apiVersion: argoproj.io/v1alpha1 -kind: Application -metadata: - name: applications - namespace: openshift-gitops - annotations: - argocd.argoproj.io/sync-wave: "5" -spec: - destination: - name: in-cluster - namespace: openshift-gitops - project: default - source: - path: applications - repoURL: https://github.com/rblundon/homelab.git - targetRevision: HEAD - syncPolicy: - automated: - prune: true - selfHeal: true - syncOptions: - - RespectIgnoreDifferences=true - ignoreDifferences: - - group: argoproj.io - kind: Application - jsonPointers: - - /spec/syncPolicy/automated diff --git a/cluster/archive/cert-manager.yaml b/cluster/archive/cert-manager.yaml deleted file mode 100644 index ae21131..0000000 --- a/cluster/archive/cert-manager.yaml +++ /dev/null @@ -1,37 +0,0 @@ ---- -apiVersion: argoproj.io/v1alpha1 -kind: Application -metadata: - name: cert-manager - finalizers: - - resources-finalizer.argocd.argoproj.io - annotations: - argocd.argoproj.io/sync-wave: "2" -spec: - destination: - name: in-cluster - namespace: cert-manager - project: default - source: - #path: cluster/cert-manager/overlays/hub - path: cluster/cert-manager - repoURL: https://github.com/rblundon/homelab.git - targetRevision: HEAD - helm: - valueFiles: - - values-hub.yaml - syncPolicy: - automated: - prune: true - selfHeal: true - syncOptions: - - RespectIgnoreDifferences=true - - CreateNamespace=true - managedNamespaceMetadata: - labels: - argocd.argoproj.io/managed-by: openshift-gitops - ignoreDifferences: - - group: apps - kind: Deployment - jsonPointers: - - /spec/replicas \ No newline at end of file diff --git a/cluster/archive/external-secrets-internal.yaml b/cluster/archive/external-secrets-internal.yaml deleted file mode 100644 index dabf3ed..0000000 --- a/cluster/archive/external-secrets-internal.yaml +++ /dev/null @@ -1,28 +0,0 @@ ---- -apiVersion: argoproj.io/v1alpha1 -kind: Application -metadata: - name: external-secrets-internal - namespace: openshift-gitops - finalizers: - - resources-finalizer.argocd.argoproj.io -spec: - destination: - name: internal - namespace: openshift-operators - project: default - source: - path: cluster/external-secrets/overlays/internal - repoURL: https://github.com/rblundon/homelab.git - targetRevision: HEAD - - syncPolicy: - automated: - prune: true - selfHeal: true - syncOptions: - - RespectIgnoreDifferences=true - - CreateNamespace=true - managedNamespaceMetadata: - labels: - argocd.argoproj.io/managed-by: openshift-gitops diff --git a/cluster/archive/external-secrets.yaml b/cluster/archive/external-secrets.yaml deleted file mode 100644 index de573a7..0000000 --- a/cluster/archive/external-secrets.yaml +++ /dev/null @@ -1,38 +0,0 @@ ---- -apiVersion: argoproj.io/v1alpha1 -kind: Application -metadata: - name: external-secrets - namespace: openshift-gitops - finalizers: - - resources-finalizer.argocd.argoproj.io - annotations: - argocd.argoproj.io/sync-wave: "1" -spec: - destination: - name: in-cluster - namespace: openshift-operators - project: default - source: - #path: cluster/external-secrets - path: cluster/external-secrets/overlays/hub - repoURL: https://github.com/rblundon/homelab.git - targetRevision: HEAD - #helm: - # valueFiles: - # - values-hub.yaml - syncPolicy: - automated: - prune: true - selfHeal: true - syncOptions: - - RespectIgnoreDifferences=true - - CreateNamespace=true - managedNamespaceMetadata: - labels: - argocd.argoproj.io/managed-by: openshift-gitops - # ignoreDifferences: - # - group: apps - # kind: Deployment - # jsonPointers: - # - /spec/replicas \ No newline at end of file diff --git a/cluster/archive/nmstate.yaml b/cluster/archive/nmstate.yaml deleted file mode 100644 index 27a55fd..0000000 --- a/cluster/archive/nmstate.yaml +++ /dev/null @@ -1,29 +0,0 @@ ---- -apiVersion: argoproj.io/v1alpha1 -kind: Application -metadata: - name: nmstate - finalizers: - - resources-finalizer.argocd.argoproj.io - annotations: - argocd.argoproj.io/sync-wave: "3" -spec: - destination: - name: in-cluster - namespace: openshift-nmstate - project: default - source: - path: cluster/nmstate/overlays/hub - repoURL: https://github.com/rblundon/homelab.git - targetRevision: HEAD - syncPolicy: - automated: - prune: true - selfHeal: true - syncOptions: - - RespectIgnoreDifferences=true - - CreateNamespace=true - managedNamespaceMetadata: - labels: - argocd.argoproj.io/managed-by: openshift-gitops - \ No newline at end of file diff --git a/cluster/cert-manager-appset.yaml b/cluster/cert-manager-appset.yaml deleted file mode 100644 index 390655b..0000000 --- a/cluster/cert-manager-appset.yaml +++ /dev/null @@ -1,45 +0,0 @@ ---- -apiVersion: argoproj.io/v1alpha1 -kind: ApplicationSet -metadata: - name: cert-manager - namespace: openshift-gitops - finalizers: - - resources-finalizer.argocd.argoproj.io -spec: - goTemplate: true - goTemplateOptions: ["missingkey=error"] - generators: - - clusters: {} # Variable is .name - template: - metadata: - name: '{{.name}}-cert-manager' - annotations: - argocd.argoproj.io/sync-wave: "2" - spec: - destination: - name: '{{.name}}' - namespace: cert-manager - project: default - source: - path: cluster/cert-manager - repoURL: https://github.com/rblundon/homelab.git - targetRevision: HEAD - helm: - valueFiles: - - values-{{.name}}.yaml - syncPolicy: - automated: - prune: true - selfHeal: true - syncOptions: - - RespectIgnoreDifferences=true - - CreateNamespace=true - managedNamespaceMetadata: - labels: - argocd.argoproj.io/managed-by: openshift-gitops - ignoreDifferences: - - group: apps - kind: Deployment - jsonPointers: - - /spec/replicas \ No newline at end of file diff --git a/cluster/cert-manager/Chart.yaml b/cluster/cert-manager/Chart.yaml deleted file mode 100644 index a65199a..0000000 --- a/cluster/cert-manager/Chart.yaml +++ /dev/null @@ -1,14 +0,0 @@ ---- -apiVersion: v2 -name: cert-manager-umbrella -description: A helm chart to include cert-manager with values -type: application -version: 0.1.0 -appVersion: 0.1.0 - -dependencies: -- name: cert-manager - version: v1.17.2 - repository: https://charts.jetstack.io - alias: cert-manager - condition: cert-manager.enabled diff --git a/cluster/cert-manager/templates/certs/api-server.yaml b/cluster/cert-manager/templates/certs/api-server.yaml deleted file mode 100644 index 61751eb..0000000 --- a/cluster/cert-manager/templates/certs/api-server.yaml +++ /dev/null @@ -1,30 +0,0 @@ -{{- if and .Values.le.prod.enabled .Values.le.apiCert.enabled -}} ---- -apiVersion: cert-manager.io/v1 -kind: Certificate -metadata: - name: ocp-api - namespace: openshift-config - annotations: - argocd.argoproj.io/sync-options: SkipDryRunOnMissingResource=true -spec: - dnsNames: - - api.{{ .Values.cluster_name }}.{{ .Values.base_domain }} - issuerRef: - group: cert-manager.io - kind: ClusterIssuer - name: letsencrypt-prod - secretName: ocp-api ---- -apiVersion: config.openshift.io/v1 -kind: APIServer -metadata: - name: cluster -spec: - servingCerts: - namedCertificates: - - names: - - api.{{ .Values.cluster_name }}.{{ .Values.base_domain }} - servingCertificate: - name: ocp-api -{{- end }} diff --git a/cluster/cert-manager/templates/certs/router.yaml b/cluster/cert-manager/templates/certs/router.yaml deleted file mode 100644 index f7f82b4..0000000 --- a/cluster/cert-manager/templates/certs/router.yaml +++ /dev/null @@ -1,29 +0,0 @@ -{{- if and .Values.le.prod.enabled .Values.le.routerCert.enabled -}} ---- -apiVersion: cert-manager.io/v1 -kind: Certificate -metadata: - name: router-cert - namespace: openshift-ingress - annotations: - argocd.argoproj.io/sync-options: SkipDryRunOnMissingResource=true -spec: - commonName: apps.{{ .Values.cluster_name }}.{{ .Values.base_domain }} - dnsNames: - - apps.{{ .Values.cluster_name }}.{{ .Values.base_domain }} - - "*.apps.{{ .Values.cluster_name }}.{{ .Values.base_domain }}" - issuerRef: - group: cert-manager.io - kind: ClusterIssuer - name: letsencrypt-prod - secretName: router-cert ---- -apiVersion: operator.openshift.io/v1 -kind: IngressController -metadata: - name: default - namespace: openshift-ingress-operator -spec: - defaultCertificate: - name: router-cert -{{- end }} diff --git a/cluster/cert-manager/templates/cloudflare-secret-eso.yaml b/cluster/cert-manager/templates/cloudflare-secret-eso.yaml deleted file mode 100644 index ba52efd..0000000 --- a/cluster/cert-manager/templates/cloudflare-secret-eso.yaml +++ /dev/null @@ -1,17 +0,0 @@ -{{- if or .Values.le.prod.enabled .Values.le.staging.enabled }} ---- -apiVersion: external-secrets.io/v1beta1 -kind: ExternalSecret -metadata: - name: cloudflare-api-token # This is the secret name - namespace: cert-manager -spec: - secretStoreRef: - kind: ClusterSecretStore - name: doppler-cluster - refreshInterval: "1h" - data: - - secretKey: api-token - remoteRef: - key: CLOUDFLARE_TOKEN -{{- end }} \ No newline at end of file diff --git a/cluster/cert-manager/templates/clusterissuers.yaml b/cluster/cert-manager/templates/clusterissuers.yaml deleted file mode 100644 index a53a1a1..0000000 --- a/cluster/cert-manager/templates/clusterissuers.yaml +++ /dev/null @@ -1,69 +0,0 @@ -{{- define "le.solvers" -}} -{{- range $solver := .Values.le.solvers -}} -{{- if eq $solver.type "dns" -}} -- dns01: - {{- toYaml $solver.dnsConfig | nindent 4 }} - {{- with $solver.dnsZones }} - selector: - dnsZones: - {{- toYaml . | nindent 4 }} - {{- end }} -{{- else if eq $solver.type "http" }} -- http01: - ingress: - ingressClassName: {{ $solver.ingressClassName }} -{{- end }} -{{- end }} -{{- end }} -{{- if .Values.ca.enabled }} ---- -apiVersion: cert-manager.io/v1 -kind: ClusterIssuer -metadata: - name: ca-issuer - annotations: - argocd.argoproj.io/sync-options: SkipDryRunOnMissingResource=true -spec: - ca: - secretName: cert-manager-ca -{{- end }} -{{- if .Values.le.prod.enabled }} ---- -apiVersion: cert-manager.io/v1 -kind: ClusterIssuer -metadata: - name: letsencrypt-prod - annotations: - argocd.argoproj.io/sync-options: SkipDryRunOnMissingResource=true -spec: - acme: - email: {{ .Values.le.email }} - {{- with .Values.le.preferredChain }} - preferredChain: {{ toYaml . }} - {{- end }} - privateKeySecretRef: - name: letsencrypt-prod - server: {{ .Values.le.prod.server }} - solvers: - {{- include "le.solvers" . | nindent 4 }} -{{- end }} -{{- if .Values.le.staging.enabled }} ---- -apiVersion: cert-manager.io/v1 -kind: ClusterIssuer -metadata: - name: letsencrypt-staging - annotations: - argocd.argoproj.io/sync-options: SkipDryRunOnMissingResource=true -spec: - acme: - email: {{ .Values.le.email }} - {{- with .Values.le.preferredChain }} - preferredChain: {{ toYaml . }} - {{- end }} - privateKeySecretRef: - name: letsencrypt-staging - server: {{ .Values.le.staging.server }} - solvers: - {{- include "le.solvers" . | nindent 4 }} -{{- end }} diff --git a/cluster/cert-manager/values-in-cluster.yaml b/cluster/cert-manager/values-in-cluster.yaml deleted file mode 100644 index ff68089..0000000 --- a/cluster/cert-manager/values-in-cluster.yaml +++ /dev/null @@ -1,53 +0,0 @@ ---- -# https://github.com/cert-manager/cert-manager/blob/master/deploy/charts/cert-manager/values.yaml - -cert-manager: - enabled: true - installCRDs: true - dns01RecursiveNameservers: 1.1.1.1:53 - dns01RecursiveNameserversOnly: true - livenessProbe: - enabled: true - prometheus: - enabled: true - servicemonitor: - enabled: true - -ca: - enabled: false - tlsCrt: |- - -----BEGIN CERTIFICATE----- - - -----END CERTIFICATE----- - tlsKey: |- - -----BEGIN PRIVATE KEY----- - - -----END PRIVATE KEY----- - -le: - prod: - enabled: true - server: https://acme-v02.api.letsencrypt.org/directory - staging: - enabled: true - server: https://acme-staging-v02.api.letsencrypt.org/directory - apiCert: - enabled: true - routerCert: - enabled: true - preferredChain: "" - email: ryan.blundon@protonmail.com - solvers: - - type: dns - dnsConfig: - cloudflare: - apiTokenSecretRef: - name: cloudflare-api-token - key: api-token - email: ryan.blundon@protonmail.com - cnameStrategy: Follow - dnsZones: - - mk-labs.cloud - -cluster_name: hub -base_domain: int.mk-labs.cloud \ No newline at end of file diff --git a/cluster/cert-manager/values-internal.yaml b/cluster/cert-manager/values-internal.yaml deleted file mode 100644 index d858cf8..0000000 --- a/cluster/cert-manager/values-internal.yaml +++ /dev/null @@ -1,54 +0,0 @@ ---- -# https://github.com/cert-manager/cert-manager/blob/master/deploy/charts/cert-manager/values.yaml - -cert-manager: - enabled: true - installCRDs: true - dns01RecursiveNameservers: 1.1.1.1:53 - dns01RecursiveNameserversOnly: true - livenessProbe: - enabled: true - prometheus: - enabled: true - servicemonitor: - enabled: true - -ca: - enabled: false - tlsCrt: |- - -----BEGIN CERTIFICATE----- - - -----END CERTIFICATE----- - tlsKey: |- - -----BEGIN PRIVATE KEY----- - - -----END PRIVATE KEY----- - -le: - prod: - enabled: true - server: https://acme-v02.api.letsencrypt.org/directory - staging: - enabled: true - server: https://acme-staging-v02.api.letsencrypt.org/directory - apiCert: - enabled: true - routerCert: - enabled: true - preferredChain: "" - email: ryan.blundon@protonmail.com - solvers: - - type: dns - dnsConfig: - cloudflare: - apiTokenSecretRef: - name: cloudflare-api-token - key: api-token - email: ryan.blundon@protonmail.com - cnameStrategy: Follow - dnsZones: - - mk-labs.cloud - - monetnaildesign.com - -cluster_name: openshift -base_domain: int.mk-labs.cloud \ No newline at end of file diff --git a/cluster/external-dns/base/externalsecrets.yaml b/cluster/external-dns/base/externalsecrets.yaml deleted file mode 100644 index 800daa1..0000000 --- a/cluster/external-dns/base/externalsecrets.yaml +++ /dev/null @@ -1,15 +0,0 @@ ---- -apiVersion: external-secrets.io/v1beta1 -kind: ExternalSecret -metadata: - name: cloudflare-api-token # This is the secret name - namespace: external-dns -spec: - secretStoreRef: - kind: ClusterSecretStore - name: doppler-cluster - refreshInterval: "1h" - data: - - secretKey: api-token - remoteRef: - key: CLOUDFLARE_TOKEN diff --git a/cluster/external-dns/base/kustomization.yaml b/cluster/external-dns/base/kustomization.yaml deleted file mode 100644 index 2d67ac9..0000000 --- a/cluster/external-dns/base/kustomization.yaml +++ /dev/null @@ -1,16 +0,0 @@ ---- -apiVersion: kustomize.config.k8s.io/v1beta1 -kind: Kustomization - -commonAnnotations: - argocd.argoproj.io/sync-options: SkipDryRunOnMissingResource=true - -resources: -# Operator deployment -- namespace.yaml -- operatorgroup.yaml -- subscription.yaml -# Deploy cluster resources -- externalsecrets.yaml -- scc.yaml -- cloudflare.yaml diff --git a/cluster/external-dns/base/namespace.yaml b/cluster/external-dns/base/namespace.yaml deleted file mode 100644 index 04ba988..0000000 --- a/cluster/external-dns/base/namespace.yaml +++ /dev/null @@ -1,14 +0,0 @@ ---- -apiVersion: v1 -kind: Namespace -metadata: - annotations: - argocd.argoproj.io/sync-options: SkipDryRunOnMissingResource=true - name: external-dns-operator - labels: - argocd.argoproj.io/managed-by: openshift-gitops-operator - kubernetes.io/metadata.name: external-dns-operator - openshift.io/cluster-monitoring: 'true' -spec: - finalizers: - - kubernetes diff --git a/cluster/external-dns/base/operatorgroup.yaml b/cluster/external-dns/base/operatorgroup.yaml deleted file mode 100644 index 4709e2b..0000000 --- a/cluster/external-dns/base/operatorgroup.yaml +++ /dev/null @@ -1,9 +0,0 @@ ---- -apiVersion: operators.coreos.com/v1 -kind: OperatorGroup -metadata: - name: external-dns-operator - namespace: external-dns-operator -spec: - targetNamespaces: - - external-dns-operator \ No newline at end of file diff --git a/cluster/external-dns/base/scc.yaml b/cluster/external-dns/base/scc.yaml deleted file mode 100644 index 4584cf5..0000000 --- a/cluster/external-dns/base/scc.yaml +++ /dev/null @@ -1,41 +0,0 @@ ---- -apiVersion: v1 -kind: ServiceAccount -metadata: - name: external-dns - ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - name: external-dns -rules: - - apiGroups: [""] - resources: ["services"] - verbs: ["get","watch","list"] - - apiGroups: [""] - resources: ["pods"] - verbs: ["get","watch","list"] - - apiGroups: ["networking","networking.k8s.io"] - resources: ["ingresses"] - verbs: ["get","watch","list"] - - apiGroups: [""] - resources: ["nodes"] - verbs: ["get","watch","list"] - - apiGroups: [""] - resources: ["endpoints"] - verbs: ["get","watch","list"] ---- - -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding -metadata: - name: external-dns-viewer -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: external-dns -subjects: -- kind: ServiceAccount - name: external-dns - namespace: default diff --git a/cluster/external-dns/base/subscription.yaml b/cluster/external-dns/base/subscription.yaml deleted file mode 100644 index 582613f..0000000 --- a/cluster/external-dns/base/subscription.yaml +++ /dev/null @@ -1,12 +0,0 @@ ---- -apiVersion: operators.coreos.com/v1alpha1 -kind: Subscription -metadata: - name: external-dns-operator - namespace: external-dns-operator -spec: - channel: stable-v1 - installPlanApproval: Automatic - name: external-dns-operator - source: redhat-operators - sourceNamespace: openshift-marketplace \ No newline at end of file diff --git a/cluster/external-dns/external-dns-operator.yaml b/cluster/external-dns/external-dns-operator.yaml deleted file mode 100644 index aa60a25..0000000 --- a/cluster/external-dns/external-dns-operator.yaml +++ /dev/null @@ -1,33 +0,0 @@ ---- -apiVersion: argoproj.io/v1alpha1 -kind: Application -metadata: - name: external-dns - finalizers: - - resources-finalizer.argocd.argoproj.io - annotations: - argocd.argoproj.io/sync-wave: "3" -spec: - destination: - name: in-cluster - namespace: external-dns - project: default - source: - path: 02-cluster-operators/external/external-dns - repoURL: git@github.com:rblundon/MK-Labs.git - targetRevision: HEAD - syncPolicy: - automated: - prune: false - selfHeal: true - syncOptions: - - RespectIgnoreDifferences=true - - CreateNamespace=true - managedNamespaceMetadata: - labels: - argocd.argoproj.io/managed-by: openshift-gitops - ignoreDifferences: - - group: apps - kind: Deployment - jsonPointers: - - /spec/replicas \ No newline at end of file diff --git a/cluster/external-dns/overlays/external/cloudflare.yaml b/cluster/external-dns/overlays/external/cloudflare.yaml deleted file mode 100644 index 8319d12..0000000 --- a/cluster/external-dns/overlays/external/cloudflare.yaml +++ /dev/null @@ -1,71 +0,0 @@ ---- -apiVersion: apps/v1 -kind: Deployment -metadata: - name: external-dns-cloudflare -spec: - strategy: - type: Recreate - selector: - matchLabels: - app: external-dns - template: - metadata: - labels: - app: external-dns - spec: - serviceAccountName: external-dns - containers: - - name: cloudflare - image: registry.k8s.io/external-dns/external-dns:v0.18.0 - args: -# - --source=service # ingress is also possible - - --source=ingress - - --ingress-class=nginx - - --domain-filter=mk-labs.cloud # (optional) limit to only example.com domains; change to match the zone created above. - - --provider=cloudflare -# - --cloudflare-proxied # (optional) enable the proxy feature of Cloudflare (DDOS protection, CDN...) - - --cloudflare-dns-records-per-page=5000 # (optional) configure how many DNS records to fetch per request - - --policy=sync # or upsert-only - env: - - name: CF_API_TOKEN - valueFrom: - secretKeyRef: - name: cloudflare-api-token - key: api-token ---- -apiVersion: apps/v1 -kind: Deployment -metadata: - name: external-dns-cloudflare-monetnaildesign -spec: - strategy: - type: Recreate - selector: - matchLabels: - app: external-dns-monetnaildesign - template: - metadata: - labels: - app: external-dns-monetnaildesign - spec: - serviceAccountName: external-dns - containers: - - name: cloudflare - image: registry.k8s.io/external-dns/external-dns:v0.15.0 - args: -# - --source=service # ingress is also possible - - --source=ingress - - --ingress-class=nginx - - --domain-filter=monetnaildesign.com # (optional) limit to only example.com domains; change to match the zone created above. - - --provider=cloudflare -# - --cloudflare-proxied # (optional) enable the proxy feature of Cloudflare (DDOS protection, CDN...) - - --cloudflare-dns-records-per-page=5000 # (optional) configure how many DNS records to fetch per request - - --policy=sync # or upsert-only - - env: - - name: CF_API_TOKEN - valueFrom: - secretKeyRef: - name: cloudflare-api-token - key: api-token diff --git a/cluster/external-dns/overlays/external/kustomization.yaml b/cluster/external-dns/overlays/external/kustomization.yaml deleted file mode 100644 index 03b3cd4..0000000 --- a/cluster/external-dns/overlays/external/kustomization.yaml +++ /dev/null @@ -1,8 +0,0 @@ -apiVersion: kustomize.config.k8s.io/v1beta1 -kind: Kustomization - -commonAnnotations: - argocd.argoproj.io/sync-options: SkipDryRunOnMissingResource=true - -resources: -- ../../base \ No newline at end of file diff --git a/cluster/external-dns/overlays/internal/configmap.yaml b/cluster/external-dns/overlays/internal/configmap.yaml deleted file mode 100644 index 94b7dff..0000000 --- a/cluster/external-dns/overlays/internal/configmap.yaml +++ /dev/null @@ -1,5 +0,0 @@ -apiVersion: v1 -kind: ConfigMap -metadata: - creationTimestamp: null - name: krb5.conf \ No newline at end of file diff --git a/cluster/external-dns/overlays/internal/kustomization.yaml b/cluster/external-dns/overlays/internal/kustomization.yaml deleted file mode 100644 index 03b3cd4..0000000 --- a/cluster/external-dns/overlays/internal/kustomization.yaml +++ /dev/null @@ -1,8 +0,0 @@ -apiVersion: kustomize.config.k8s.io/v1beta1 -kind: Kustomization - -commonAnnotations: - argocd.argoproj.io/sync-options: SkipDryRunOnMissingResource=true - -resources: -- ../../base \ No newline at end of file diff --git a/cluster/external-dns/overlays/internal/rfc2136.yaml b/cluster/external-dns/overlays/internal/rfc2136.yaml deleted file mode 100644 index 669ceb6..0000000 --- a/cluster/external-dns/overlays/internal/rfc2136.yaml +++ /dev/null @@ -1,40 +0,0 @@ ---- -apiVersion: apps/v1 -kind: Deployment -metadata: - name: external-dns -spec: - strategy: - type: Recreate - selector: - matchLabels: - app: external-dns - template: - metadata: - labels: - app: external-dns - spec: - serviceAccountName: external-dns - containers: - - name: rfc2136 - image: registry.k8s.io/external-dns/external-dns:v0.18.0 - args: - - --registry=txt - - --txt-prefix=external-dns- - - --txt-owner-id=k8s - - --provider=rfc2136 - - --rfc2136-host=infra01.int.mk-labs.cloud - - --rfc2136-port=53 - - --rfc2136-zone=int.mk-labs.cloud - - --rfc2136-tsig-secret=96Ah/a2g0/nLeFGK+d/0tzQcccf9hCEIy34PoXX2Qg8= - - --rfc2136-tsig-secret-alg=hmac-sha256 - - --rfc2136-tsig-keyname=externaldns-key - - --rfc2136-tsig-axfr - - --source=ingress - - --domain-filter=int.mk-labs.cloud - env: - - name: FREEIPA_API_TOKEN - valueFrom: - secretKeyRef: - name: rfc2136-api-token - key: api-token diff --git a/cluster/external-secrets-appset.yaml b/cluster/external-secrets-appset.yaml deleted file mode 100644 index 5a40088..0000000 --- a/cluster/external-secrets-appset.yaml +++ /dev/null @@ -1,37 +0,0 @@ ---- -apiVersion: argoproj.io/v1alpha1 -kind: ApplicationSet -metadata: - name: external-secrets-operator - namespace: openshift-gitops - finalizers: - - resources-finalizer.argocd.argoproj.io -spec: - goTemplate: true - goTemplateOptions: ["missingkey=error"] - generators: - - clusters: {} # Variable is .name - template: - metadata: - name: '{{.name}}-external-secrets' - annotations: - argocd.argoproj.io/sync-wave: "1" - spec: - project: default - source: - repoURL: https://github.com/rblundon/homelab.git - targetRevision: HEAD - path: cluster/external-secrets/overlays/{{.name}} - destination: - name: '{{.name}}' - namespace: openshift-operators - syncPolicy: - automated: - prune: true - selfHeal: true - syncOptions: - - RespectIgnoreDifferences=true - - CreateNamespace=true - managedNamespaceMetadata: - labels: - argocd.argoproj.io/managed-by: openshift-gitops diff --git a/cluster/external-secrets/base/cluster-secret-store.yaml b/cluster/external-secrets/base/cluster-secret-store.yaml deleted file mode 100644 index fc0c11f..0000000 --- a/cluster/external-secrets/base/cluster-secret-store.yaml +++ /dev/null @@ -1,15 +0,0 @@ -apiVersion: external-secrets.io/v1beta1 -kind: ClusterSecretStore -metadata: - name: doppler-cluster - annotations: - argocd.argoproj.io/sync-wave: "4" -spec: - provider: - doppler: - auth: - secretRef: - dopplerToken: - name: doppler-cluster-token - key: dopplerToken - namespace: external-secrets diff --git a/cluster/external-secrets/base/kustomization.yaml b/cluster/external-secrets/base/kustomization.yaml deleted file mode 100644 index f1aae4c..0000000 --- a/cluster/external-secrets/base/kustomization.yaml +++ /dev/null @@ -1,15 +0,0 @@ ---- -apiVersion: kustomize.config.k8s.io/v1beta1 -kind: Kustomization - -commonAnnotations: - argocd.argoproj.io/sync-options: SkipDryRunOnMissingResource=true - -resources: -# Operator deployment -- namespace.yaml -- subscription.yaml -- operatorconfig.yaml -# Deploy cluster resources -#- doppler-token.yaml -- cluster-secret-store.yaml diff --git a/cluster/external-secrets/base/namespace.yaml b/cluster/external-secrets/base/namespace.yaml deleted file mode 100644 index 0796812..0000000 --- a/cluster/external-secrets/base/namespace.yaml +++ /dev/null @@ -1,14 +0,0 @@ ---- -apiVersion: v1 -kind: Namespace -metadata: - annotations: - argocd.argoproj.io/tracking-id: 'external-secrets:/Namespace:openshift-operators/external-secrets' - argocd.argoproj.io/sync-wave: "1" - name: external-secrets - labels: - argocd.argoproj.io/managed-by: openshift-gitops-operator - kubernetes.io/metadata.name: external-secrets -spec: - finalizers: - - kubernetes diff --git a/cluster/external-secrets/base/operatorconfig.yaml b/cluster/external-secrets/base/operatorconfig.yaml deleted file mode 100644 index c74a8ae..0000000 --- a/cluster/external-secrets/base/operatorconfig.yaml +++ /dev/null @@ -1,18 +0,0 @@ -apiVersion: operator.external-secrets.io/v1alpha1 -kind: OperatorConfig -metadata: - name: cluster - annotations: - argocd.argoproj.io/sync-wave: "3" -spec: - prometheus: - enabled: true - service: - port: 8080 - resources: - requests: - cpu: 10m - memory: 96Mi - limits: - cpu: 100m - memory: 256Mi \ No newline at end of file diff --git a/cluster/external-secrets/base/subscription.yaml b/cluster/external-secrets/base/subscription.yaml deleted file mode 100644 index 904786f..0000000 --- a/cluster/external-secrets/base/subscription.yaml +++ /dev/null @@ -1,16 +0,0 @@ ---- -apiVersion: operators.coreos.com/v1alpha1 -kind: Subscription -metadata: - labels: - operators.coreos.com/external-secrets-operator.openshift-operators: '' - annotations: - argocd.argoproj.io/sync-wave: "2" - name: external-secrets-operator - namespace: openshift-operators -spec: - channel: stable - installPlanApproval: Automatic - name: external-secrets-operator - source: community-operators - sourceNamespace: openshift-marketplace diff --git a/cluster/external-secrets/overlays/in-cluster/kustomization.yaml b/cluster/external-secrets/overlays/in-cluster/kustomization.yaml deleted file mode 100644 index d083cf0..0000000 --- a/cluster/external-secrets/overlays/in-cluster/kustomization.yaml +++ /dev/null @@ -1,10 +0,0 @@ -apiVersion: kustomize.config.k8s.io/v1beta1 -kind: Kustomization - -commonAnnotations: - argocd.argoproj.io/sync-options: SkipDryRunOnMissingResource=true - -resources: -# - github.com/redhat-cop/gitops-catalog/external-secrets-operator/operator/overlays/stable -# - github.com/redhat-cop/gitops-catalog/external-secrets-operator/instance/overlays/default -- ../../base \ No newline at end of file diff --git a/cluster/external-secrets/overlays/internal/kustomization.yaml b/cluster/external-secrets/overlays/internal/kustomization.yaml deleted file mode 100644 index d083cf0..0000000 --- a/cluster/external-secrets/overlays/internal/kustomization.yaml +++ /dev/null @@ -1,10 +0,0 @@ -apiVersion: kustomize.config.k8s.io/v1beta1 -kind: Kustomization - -commonAnnotations: - argocd.argoproj.io/sync-options: SkipDryRunOnMissingResource=true - -resources: -# - github.com/redhat-cop/gitops-catalog/external-secrets-operator/operator/overlays/stable -# - github.com/redhat-cop/gitops-catalog/external-secrets-operator/instance/overlays/default -- ../../base \ No newline at end of file diff --git a/cluster/ingress-nginx-appset.yaml b/cluster/ingress-nginx-appset.yaml deleted file mode 100644 index 5fc381e..0000000 --- a/cluster/ingress-nginx-appset.yaml +++ /dev/null @@ -1,45 +0,0 @@ ---- -apiVersion: argoproj.io/v1alpha1 -kind: ApplicationSet -metadata: - name: ingress-nginx - namespace: openshift-gitops - finalizers: - - resources-finalizer.argocd.argoproj.io -spec: - goTemplate: true - goTemplateOptions: ["missingkey=error"] - generators: - # - clusters: {} # Variable is .name - - list: # Variable is .cluster - elements: - - cluster: internal - template: - metadata: - name: '{{.cluster}}-ingress-nginx' - annotations: - argocd.argoproj.io/sync-wave: "3" - spec: - destination: - name: '{{.cluster}}' - namespace: ingress-nginx - project: default - source: - path: cluster/ingress-nginx/overlays/{{.cluster}} - repoURL: https://github.com/rblundon/homelab.git - targetRevision: HEAD - syncPolicy: - automated: - prune: true - selfHeal: true - syncOptions: - - RespectIgnoreDifferences=true - - CreateNamespace=true - managedNamespaceMetadata: - labels: - argocd.argoproj.io/managed-by: openshift-gitops - ignoreDifferences: - - group: apps - kind: Deployment - jsonPointers: - - /spec/replicas \ No newline at end of file diff --git a/cluster/ingress-nginx/Chart.yaml b/cluster/ingress-nginx/Chart.yaml deleted file mode 100644 index 4c78009..0000000 --- a/cluster/ingress-nginx/Chart.yaml +++ /dev/null @@ -1,14 +0,0 @@ ---- -apiVersion: v2 -name: ingress-nginx-umbrella -description: A helm chart to include ingress-nginx with values -type: application -version: 0.1.0 -appVersion: 0.1.0 - -dependencies: -- name: ingress-nginx - version: v4.13.0 - repository: https://kubernetes.github.io/ingress-nginx - alias: ingress-nginx - condition: ingress-nginx.enabled diff --git a/cluster/ingress-nginx/base/kustomization.yaml b/cluster/ingress-nginx/base/kustomization.yaml deleted file mode 100644 index 6d86c7f..0000000 --- a/cluster/ingress-nginx/base/kustomization.yaml +++ /dev/null @@ -1,14 +0,0 @@ ---- -apiVersion: kustomize.config.k8s.io/v1beta1 -kind: Kustomization - -commonAnnotations: - argocd.argoproj.io/sync-options: SkipDryRunOnMissingResource=true - -resources: -- namespace.yaml -# Operator deployment -- subscription.yaml -# Deploy cluster resources -- scc.yaml -- pvcs.yaml diff --git a/cluster/ingress-nginx/base/namespace.yaml b/cluster/ingress-nginx/base/namespace.yaml deleted file mode 100644 index 1d3ec40..0000000 --- a/cluster/ingress-nginx/base/namespace.yaml +++ /dev/null @@ -1,14 +0,0 @@ ---- -apiVersion: v1 -kind: Namespace -metadata: - annotations: - argocd.argoproj.io/sync-wave: "1" - labels: - kubernetes.io/metadata.name: nginx-ingress - name: nginx-ingress - argocd.argoproj.io/managed-by: openshift-gitops-operator - name: nginx-ingress -spec: - finalizers: - - kubernetes diff --git a/cluster/ingress-nginx/base/nginx-ingress-operator.yaml b/cluster/ingress-nginx/base/nginx-ingress-operator.yaml deleted file mode 100644 index b1baa5b..0000000 --- a/cluster/ingress-nginx/base/nginx-ingress-operator.yaml +++ /dev/null @@ -1,33 +0,0 @@ ---- -apiVersion: argoproj.io/v1alpha1 -kind: Application -metadata: - name: nginx-ingress-operator - finalizers: - - resources-finalizer.argocd.argoproj.io - annotations: - argocd.argoproj.io/sync-wave: "2" -spec: - destination: - name: in-cluster - namespace: nginx-ingress-operator - project: default - source: - path: cluster-applications/nginx-ingress-operator - repoURL: git@github.com:rblundon/MK-Labs.git - targetRevision: HEAD - syncPolicy: - automated: - prune: true - selfHeal: true - syncOptions: - - RespectIgnoreDifferences=true - - CreateNamespace=true - managedNamespaceMetadata: - labels: - argocd.argoproj.io/managed-by: argocd - ignoreDifferences: - - group: apps - kind: Deployment - jsonPointers: - - /spec/replicas diff --git a/cluster/ingress-nginx/base/pvcs.yaml b/cluster/ingress-nginx/base/pvcs.yaml deleted file mode 100644 index b07a889..0000000 --- a/cluster/ingress-nginx/base/pvcs.yaml +++ /dev/null @@ -1,13 +0,0 @@ ---- -apiVersion: v1 -kind: PersistentVolumeClaim -metadata: - name: nginx-cache - namespace: nginx-ingress -spec: - accessModes: - - ReadWriteMany - resources: - requests: - storage: 5Gi - storageClassName: synology-nfs diff --git a/cluster/ingress-nginx/base/scc.yaml b/cluster/ingress-nginx/base/scc.yaml deleted file mode 100644 index aa3d4fa..0000000 --- a/cluster/ingress-nginx/base/scc.yaml +++ /dev/null @@ -1,44 +0,0 @@ ---- -kind: SecurityContextConstraints -apiVersion: security.openshift.io/v1 -metadata: - name: nginx-ingress-admin - annotations: - kubernetes.io/description: nginx-ingress-admin allows nginx-ingress to - use the level of capabilities it requires, while forcing all processes - to run as UID 101 as reflected in the official docker images. -allowPrivilegeEscalation: false -allowPrivilegedContainer: true -runAsUser: - type: MustRunAs - uid: 101 -seLinuxContext: - type: MustRunAs -fsGroup: - type: MustRunAs -supplementalGroups: - type: MustRunAs -allowHostNetwork: false -allowHostPID: false -allowHostPorts: false -allowHostDirVolumePlugin: false -allowHostIPC: false -readOnlyRootFilesystem: false -seccompProfiles: -- runtime/default -volumes: -- configMap -- downwardAPI -- emptyDir -- persistentVolumeClaim -- projected -- secret -allowedCapabilities: -- NET_BIND_SERVICE -defaultAddCapabilities: -- NET_BIND_SERVICE -requiredDropCapabilities: -- ALL -users: -- 'system:serviceaccount:*:nginx-ingress' -groups: [] diff --git a/cluster/ingress-nginx/base/subscription.yaml b/cluster/ingress-nginx/base/subscription.yaml deleted file mode 100644 index 28f45f0..0000000 --- a/cluster/ingress-nginx/base/subscription.yaml +++ /dev/null @@ -1,12 +0,0 @@ ---- -apiVersion: operators.coreos.com/v1alpha1 -kind: Subscription -metadata: - name: nginx-ingress-operator - namespace: openshift-operators -spec: - channel: alpha - installPlanApproval: Automatic #Manual - name: nginx-ingress-operator - source: certified-operators - sourceNamespace: openshift-marketplace \ No newline at end of file diff --git a/cluster/ingress-nginx/overlays/external/ingresscontroller.yaml b/cluster/ingress-nginx/overlays/external/ingresscontroller.yaml deleted file mode 100644 index 0e588c3..0000000 --- a/cluster/ingress-nginx/overlays/external/ingresscontroller.yaml +++ /dev/null @@ -1,96 +0,0 @@ ---- -kind: NginxIngress -apiVersion: charts.nginx.org/v1alpha1 -metadata: - name: nginxingress-external - namespace: nginx-ingress-external -spec: -# routeSelector: -# matchLabels: -# type: external-ingress - controller: - affinity: - podAntiAffinity: - requiredDuringSchedulingIgnoredDuringExecution: - - labelSelector: - matchLabels: - app.kubernetes.io/instance: nginx-external - app.kubernetes.io/name: nginx-external - topologyKey: kubernetes.io/hostname - config: - entries: - http-snippets: proxy_cache_path /tmp/nginx_cache levels=1:2 keys_zone=static-cache:10m - max_size=10g inactive=60m use_temp_path=off; - log-format-escaping: json - log-format: |- - { - "msec": "$msec", - "connection": "$connection", - "connection_requests": "$connection_requests", - "pid": "$pid", - "request_id": "$request_id", - "request_length": "$request_length", - "remote_addr": "$remote_addr", - "remote_user": "$remote_user", - "remote_port": "$remote_port", - "time_local": "$time_local", - "time_iso8601": "$time_iso8601", - "request": "$request", - "request_uri": "$request_uri", - "args": "$args", - "status": "$status", - "body_bytes_sent": "$body_bytes_sent", - "bytes_sent": "$bytes_sent", - "http_referer": "$http_referer", - "http_user_agent": "$http_user_agent", - "http_x_forwarded_for": "$http_x_forwarded_for", - "http_host": "$http_host", - "server_name": "$server_name", - "request_time": "$request_time", - "upstream": "$upstream_addr", - "upstream_connect_time": "$upstream_connect_time", - "upstream_header_time": "$upstream_header_time", - "upstream_response_time": "$upstream_response_time", - "upstream_response_length": "$upstream_response_length", - "upstream_cache_status": "$upstream_cache_status", - "ssl_protocol": "$ssl_protocol", - "ssl_cipher": "$ssl_cipher", - "scheme": "$scheme", - "request_method": "$request_method", - "server_protocol": "$server_protocol", - "pipe": "$pipe", - "gzip_ratio": "$gzip_ratio", - "http_cf_ray": "$http_cf_ray" - } - enableCustomResources: true - enableTLSPassthrough: true - enableSnippets: true - image: - pullPolicy: IfNotPresent - repository: nginx/nginx-ingress - tag: 3.7.0-ubi - ingressClass: - create: true - name: nginx-external - setAsDefaultIngress: true - replicaCount: 2 - reportIngressStatus: - annotations: {} - enable: true - enableLeaderElection: true - ingressLink: '' - leaderElectionLockName: external-ingress-leader - service: - externalTrafficPolicy: Local - loadBalancerIP: 10.1.82.0 - prometheus: - create: true - serviceMonitor: - create: true - volumes: - - name: nginx-cache - persistentVolumeClaim: - claimName: nginx-cache-external - volumeMounts: - - name: nginx-cache - mountPath: /var/cache/nginx \ No newline at end of file diff --git a/cluster/ingress-nginx/overlays/external/kustomization.yaml b/cluster/ingress-nginx/overlays/external/kustomization.yaml deleted file mode 100644 index 03b3cd4..0000000 --- a/cluster/ingress-nginx/overlays/external/kustomization.yaml +++ /dev/null @@ -1,8 +0,0 @@ -apiVersion: kustomize.config.k8s.io/v1beta1 -kind: Kustomization - -commonAnnotations: - argocd.argoproj.io/sync-options: SkipDryRunOnMissingResource=true - -resources: -- ../../base \ No newline at end of file diff --git a/cluster/ingress-nginx/overlays/internal/ingresscontroller-orig.yaml b/cluster/ingress-nginx/overlays/internal/ingresscontroller-orig.yaml deleted file mode 100644 index b3ae174..0000000 --- a/cluster/ingress-nginx/overlays/internal/ingresscontroller-orig.yaml +++ /dev/null @@ -1,100 +0,0 @@ ---- -kind: NginxIngress -apiVersion: charts.nginx.org/v1alpha1 -metadata: - name: nginx - namespace: nginx-ingress -spec: - routeSelector: - matchLabels: - type: nginx - controller: - affinity: - podAntiAffinity: - requiredDuringSchedulingIgnoredDuringExecution: - - labelSelector: - matchLabels: - app.kubernetes.io/instance: nginx - app.kubernetes.io/name: nginx - topologyKey: kubernetes.io/hostname - config: - entries: - http-snippets: proxy_cache_path /tmp/nginx_cache levels=1:2 keys_zone=static-cache:10m - max_size=10g inactive=60m use_temp_path=off; - log-format-escaping: json - log-format: |- - { - "msec": "$msec", - "connection": "$connection", - "connection_requests": "$connection_requests", - "pid": "$pid", - "request_id": "$request_id", - "request_length": "$request_length", - "remote_addr": "$remote_addr", - "remote_user": "$remote_user", - "remote_port": "$remote_port", - "time_local": "$time_local", - "time_iso8601": "$time_iso8601", - "request": "$request", - "request_uri": "$request_uri", - "args": "$args", - "status": "$status", - "body_bytes_sent": "$body_bytes_sent", - "bytes_sent": "$bytes_sent", - "http_referer": "$http_referer", - "http_user_agent": "$http_user_agent", - "http_x_forwarded_for": "$http_x_forwarded_for", - "http_host": "$http_host", - "server_name": "$server_name", - "request_time": "$request_time", - "upstream": "$upstream_addr", - "upstream_connect_time": "$upstream_connect_time", - "upstream_header_time": "$upstream_header_time", - "upstream_response_time": "$upstream_response_time", - "upstream_response_length": "$upstream_response_length", - "upstream_cache_status": "$upstream_cache_status", - "ssl_protocol": "$ssl_protocol", - "ssl_cipher": "$ssl_cipher", - "scheme": "$scheme", - "request_method": "$request_method", - "server_protocol": "$server_protocol", - "pipe": "$pipe", - "gzip_ratio": "$gzip_ratio", - "http_cf_ray": "$http_cf_ray" - } - enableCustomResources: true - enableTLSPassthrough: true - enableSnippets: true - image: - pullPolicy: IfNotPresent - repository: nginx/nginx-ingress - tag: 5.1.0-ubi - ingressClass: - create: true - name: nginx - setAsDefaultIngress: false - initContainerResources: - requests: - cpu: 100m - memory: 128Mi - replicaCount: 2 - reportIngressStatus: - annotations: {} - enable: true - enableLeaderElection: true - ingressLink: '' - leaderElectionLockName: nginx-ingress-leader - service: - externalTrafficPolicy: Local - loadBalancerIP: 10.1.82.0 - prometheus: - create: true - serviceMonitor: - create: true - volumes: - - name: nginx-cache - persistentVolumeClaim: - claimName: nginx-cache - volumeMounts: - - name: nginx-cache - mountPath: /var/cache/nginx \ No newline at end of file diff --git a/cluster/ingress-nginx/overlays/internal/ingresscontroller.yaml b/cluster/ingress-nginx/overlays/internal/ingresscontroller.yaml deleted file mode 100644 index 3776c6f..0000000 --- a/cluster/ingress-nginx/overlays/internal/ingresscontroller.yaml +++ /dev/null @@ -1,175 +0,0 @@ -apiVersion: charts.nginx.org/v1alpha1 -kind: NginxIngress -metadata: - name: nginx - namespace: nginx-ingress -spec: - controller: - affinity: {} - annotations: {} - appprotect: - enable: false - appprotectdos: - debug: false - enable: false - maxDaemons: 0 - maxWorkers: 0 - memory: 0 - autoscaling: - annotations: {} - behavior: {} - enabled: false - maxReplicas: 3 - minReplicas: 1 - targetCPUUtilizationPercentage: 50 - targetMemoryUtilizationPercentage: 50 - config: - annotations: {} - entries: {} - containerPort: - http: 80 - https: 443 - customConfigMap: '' - customPorts: [] - defaultHTTPListenerPort: 80 - defaultHTTPSListenerPort: 443 - defaultTLS: - cert: '' - key: '' - secret: '' - disableIPV6: false - dnsPolicy: ClusterFirst - enableCertManager: false - enableCustomResources: true - enableExternalDNS: false - enableLatencyMetrics: false - enableOIDC: false - enableSSLDynamicReload: true - enableSnippets: false - enableTLSPassthrough: false - env: [] - extraContainers: [] - globalConfiguration: - create: false - spec: {} - healthStatus: false - healthStatusURI: /nginx-health - hostNetwork: false - hostPort: - enable: false - http: 80 - https: 443 - image: - pullPolicy: IfNotPresent - repository: nginx/nginx-ingress - tag: 5.1.0-ubi - ingressClass: - create: true - name: nginx - setAsDefaultIngress: false - initContainerResources: - requests: - cpu: 100m - memory: 128Mi - initContainers: [] - lifecycle: {} - logFormat: glog - logLevel: info - mgmt: - licenseTokenSecretName: license-token - minReadySeconds: 0 - name: controller - nginxDebug: false - nginxReloadTimeout: 60000 - nginxStatus: - allowCidrs: 127.0.0.1 - enable: true - port: 8080 - nginxplus: false - pod: - annotations: {} - extraLabels: {} - podDisruptionBudget: - annotations: {} - enabled: false - readOnlyRootFilesystem: false - readyStatus: - enable: true - initialDelaySeconds: 0 - port: 8081 - replicaCount: 1 - reportIngressStatus: - annotations: {} - enable: true - enableLeaderElection: true - ingressLink: '' - leaderElectionLockName: nginx-ingress-leader - resources: - requests: - cpu: 100m - memory: 128Mi - selectorLabels: {} - service: - annotations: {} - clusterIP: '' - create: true - customPorts: [] - externalIPs: [] - externalTrafficPolicy: Local - extraLabels: {} - httpPort: - enable: true - port: 80 - targetPort: 80 - httpsPort: - enable: true - port: 443 - targetPort: 443 - loadBalancerIP: 10.1.82.0 - loadBalancerSourceRanges: [] - type: LoadBalancer - serviceAccount: - annotations: {} - imagePullSecretName: '' - imagePullSecretsNames: [] - shareProcessNamespace: false - strategy: {} - terminationGracePeriodSeconds: 30 - tlsPassthroughPort: 443 - tolerations: [] - volumeMounts: [] - volumes: [] - watchNamespace: '' - watchNamespaceLabel: '' - watchSecretNamespace: '' - wildcardTLS: - cert: '' - key: '' - secret: '' - kind: deployment - nginxServiceMesh: - enable: false - enableEgress: false - prometheus: - create: true - port: 9113 - scheme: http - secret: '' - service: - create: false - labels: - service: nginx-ingress-prometheus-service - serviceMonitor: - create: false - endpoints: - - port: prometheus - labels: {} - selectorMatchLabels: - service: nginx-ingress-prometheus-service - rbac: - create: true - serviceInsight: - create: false - port: 9114 - scheme: http - secret: '' diff --git a/cluster/ingress-nginx/overlays/internal/kustomization.yaml b/cluster/ingress-nginx/overlays/internal/kustomization.yaml deleted file mode 100644 index 4ac6fe6..0000000 --- a/cluster/ingress-nginx/overlays/internal/kustomization.yaml +++ /dev/null @@ -1,9 +0,0 @@ -apiVersion: kustomize.config.k8s.io/v1beta1 -kind: Kustomization - -commonAnnotations: - argocd.argoproj.io/sync-options: SkipDryRunOnMissingResource=true - -resources: -- ../../base -- ingresscontroller.yaml \ No newline at end of file diff --git a/cluster/ingress-nginx/values-internal.yaml b/cluster/ingress-nginx/values-internal.yaml deleted file mode 100644 index 9a9e7b0..0000000 --- a/cluster/ingress-nginx/values-internal.yaml +++ /dev/null @@ -1,6 +0,0 @@ ---- -## nginx configuration -## Ref: https://github.com/kubernetes/ingress-nginx/blob/main/docs/user-guide/nginx-configuration/index.md - -ingress-nginx: - enabled: true diff --git a/cluster/keycloak-operator/keycloak-operator.yaml b/cluster/keycloak-operator/keycloak-operator.yaml deleted file mode 100644 index b3f5112..0000000 --- a/cluster/keycloak-operator/keycloak-operator.yaml +++ /dev/null @@ -1,33 +0,0 @@ ---- -apiVersion: argoproj.io/v1alpha1 -kind: Application -metadata: - name: keycloak-operator - finalizers: - - resources-finalizer.argocd.argoproj.io - annotations: - argocd.argoproj.io/sync-wave: "3" -spec: - destination: - name: in-cluster - namespace: keycloak-operator - project: default - source: - path: cluster-applications/keycloak-operator - repoURL: git@github.com:rblundon/MK-Labs.git - targetRevision: HEAD - syncPolicy: - automated: - prune: true - selfHeal: true - syncOptions: - - RespectIgnoreDifferences=true - - CreateNamespace=true - managedNamespaceMetadata: - labels: - argocd.argoproj.io/managed-by: argocd - ignoreDifferences: - - group: apps - kind: Deployment - jsonPointers: - - /spec/replicas diff --git a/cluster/keycloak-operator/kustomization.yaml b/cluster/keycloak-operator/kustomization.yaml deleted file mode 100644 index 15b4f85..0000000 --- a/cluster/keycloak-operator/kustomization.yaml +++ /dev/null @@ -1,13 +0,0 @@ ---- -apiVersion: kustomize.config.k8s.io/v1beta1 -kind: Kustomization - -commonAnnotations: - argocd.argoproj.io/sync-options: SkipDryRunOnMissingResource=true - -resources: -# Operator deployment -- namespace.yaml -- operatorgroup.yaml -- subscription.yaml -# Deploy cluster resources diff --git a/cluster/keycloak-operator/namespace.yaml b/cluster/keycloak-operator/namespace.yaml deleted file mode 100644 index d28b868..0000000 --- a/cluster/keycloak-operator/namespace.yaml +++ /dev/null @@ -1,13 +0,0 @@ ---- -apiVersion: v1 -kind: Namespace -metadata: - labels: - kubernetes.io/metadata.name: keycloak-operator - name: keycloak-operator - argocd.argoproj.io/managed-by: openshift-gitops-operator - openshift.io/cluster-monitoring: 'true' - name: keycloak-operator -spec: - finalizers: - - kubernetes \ No newline at end of file diff --git a/cluster/keycloak-operator/operatorgroup.yaml b/cluster/keycloak-operator/operatorgroup.yaml deleted file mode 100644 index 2509278..0000000 --- a/cluster/keycloak-operator/operatorgroup.yaml +++ /dev/null @@ -1,9 +0,0 @@ ---- -apiVersion: operators.coreos.com/v1 -kind: OperatorGroup -metadata: - name: keycloak-operator - namespace: keycloak-operator -spec: - targetNamespaces: - - keycloak-operator \ No newline at end of file diff --git a/cluster/keycloak-operator/subscription.yaml b/cluster/keycloak-operator/subscription.yaml deleted file mode 100644 index 4a9948f..0000000 --- a/cluster/keycloak-operator/subscription.yaml +++ /dev/null @@ -1,12 +0,0 @@ ---- -apiVersion: operators.coreos.com/v1alpha1 -kind: Subscription -metadata: - name: keycloak-operator - namespace: keycloak-operator -spec: - channel: fast - installPlanApproval: Automatic #Manual - name: keycloak-operator - source: community-operators - sourceNamespace: openshift-marketplace diff --git a/cluster/metallb-operator-appset.yaml b/cluster/metallb-operator-appset.yaml deleted file mode 100644 index 56ea8aa..0000000 --- a/cluster/metallb-operator-appset.yaml +++ /dev/null @@ -1,46 +0,0 @@ ---- - -apiVersion: argoproj.io/v1alpha1 -kind: ApplicationSet -metadata: - name: metallb-operator - namespace: openshift-gitops - finalizers: - - resources-finalizer.argocd.argoproj.io -spec: - goTemplate: true - goTemplateOptions: ["missingkey=error"] - generators: - # - clusters: {} # Variable is .name - - list: # Variable is .cluster - elements: - - cluster: internal - template: - metadata: - name: '{{.cluster}}-metallb-operator' - annotations: - argocd.argoproj.io/sync-wave: "2" - spec: - destination: - name: '{{.cluster}}' - namespace: metallb-system - project: default - source: - path: cluster/metallb-operator/overlays/{{.cluster}} - repoURL: https://github.com/rblundon/homelab.git - targetRevision: HEAD - syncPolicy: - automated: - prune: true - selfHeal: true - syncOptions: - - RespectIgnoreDifferences=true - - CreateNamespace=true - managedNamespaceMetadata: - labels: - argocd.argoproj.io/managed-by: argocd - ignoreDifferences: - - group: apps - kind: Deployment - jsonPointers: - - /spec/replicas diff --git a/cluster/metallb-operator/base/bgp_advertisement.yaml b/cluster/metallb-operator/base/bgp_advertisement.yaml deleted file mode 100644 index ef44f99..0000000 --- a/cluster/metallb-operator/base/bgp_advertisement.yaml +++ /dev/null @@ -1,11 +0,0 @@ ---- -apiVersion: metallb.io/v1beta1 -kind: BGPAdvertisement -metadata: - name: bgp-advert - namespace: metallb-system -spec: - aggregationLength: 32 - aggregationLengthV6: 128 - ipAddressPools: - - bgp-ip-addresspool diff --git a/cluster/metallb-operator/base/kustomization.yaml b/cluster/metallb-operator/base/kustomization.yaml deleted file mode 100644 index 9c6569e..0000000 --- a/cluster/metallb-operator/base/kustomization.yaml +++ /dev/null @@ -1,15 +0,0 @@ ---- -apiVersion: kustomize.config.k8s.io/v1beta1 -kind: Kustomization - -commonAnnotations: - argocd.argoproj.io/sync-options: SkipDryRunOnMissingResource=true - -resources: -# Operator deployment -- namespace.yaml -- subscription.yaml -- operatorgroup.yaml -# Deploy cluster resources -- metallb.yaml -- bgp_advertisement.yaml diff --git a/cluster/metallb-operator/base/metallb.yaml b/cluster/metallb-operator/base/metallb.yaml deleted file mode 100644 index b71dedb..0000000 --- a/cluster/metallb-operator/base/metallb.yaml +++ /dev/null @@ -1,7 +0,0 @@ ---- -apiVersion: metallb.io/v1beta1 -kind: MetalLB -metadata: - name: metallb - namespace: metallb-system -spec: {} \ No newline at end of file diff --git a/cluster/metallb-operator/base/namespace.yaml b/cluster/metallb-operator/base/namespace.yaml deleted file mode 100644 index 1b4d263..0000000 --- a/cluster/metallb-operator/base/namespace.yaml +++ /dev/null @@ -1,13 +0,0 @@ ---- -apiVersion: v1 -kind: Namespace -metadata: - labels: - kubernetes.io/metadata.name: metallb-system - name: metallb-system - argocd.argoproj.io/managed-by: openshift-gitops-operator - openshift.io/cluster-monitoring: 'true' - name: metallb-system -spec: - finalizers: - - kubernetes \ No newline at end of file diff --git a/cluster/metallb-operator/base/operatorgroup.yaml b/cluster/metallb-operator/base/operatorgroup.yaml deleted file mode 100644 index 06a7f02..0000000 --- a/cluster/metallb-operator/base/operatorgroup.yaml +++ /dev/null @@ -1,9 +0,0 @@ ---- -apiVersion: operators.coreos.com/v1 -kind: OperatorGroup -metadata: - name: metallb-operator - namespace: metallb-system -#spec: -# targetNamespaces: -# - metallb-system \ No newline at end of file diff --git a/cluster/metallb-operator/base/subscription.yaml b/cluster/metallb-operator/base/subscription.yaml deleted file mode 100644 index bd5a7ab..0000000 --- a/cluster/metallb-operator/base/subscription.yaml +++ /dev/null @@ -1,12 +0,0 @@ ---- -apiVersion: operators.coreos.com/v1alpha1 -kind: Subscription -metadata: - name: metallb-operator - namespace: metallb-system -spec: - channel: stable - installPlanApproval: Automatic #Manual - name: metallb-operator - source: redhat-operators - sourceNamespace: openshift-marketplace diff --git a/cluster/metallb-operator/overlays/external/bgp_peer.yaml b/cluster/metallb-operator/overlays/external/bgp_peer.yaml deleted file mode 100644 index ba594a3..0000000 --- a/cluster/metallb-operator/overlays/external/bgp_peer.yaml +++ /dev/null @@ -1,12 +0,0 @@ ---- -apiVersion: metallb.io/v1beta2 -kind: BGPPeer -metadata: - name: bgp-peer-worlddrive - namespace: metallb-system -spec: - disableMP: false - myASN: 65003 - peerASN: 65002 - peerAddress: 10.1.71.1 - peerPort: 179 \ No newline at end of file diff --git a/cluster/metallb-operator/overlays/external/ip_addresspool.yaml b/cluster/metallb-operator/overlays/external/ip_addresspool.yaml deleted file mode 100644 index bfd73d9..0000000 --- a/cluster/metallb-operator/overlays/external/ip_addresspool.yaml +++ /dev/null @@ -1,12 +0,0 @@ ---- -apiVersion: metallb.io/v1beta1 -kind: IPAddressPool -metadata: - name: bgp-ip-addresspool - namespace: metallb-system -spec: - addresses: - - 10.1.182.0/24 - autoAssign: true - avoidBuggyIPs: false - \ No newline at end of file diff --git a/cluster/metallb-operator/overlays/internal/bgp_peer.yaml b/cluster/metallb-operator/overlays/internal/bgp_peer.yaml deleted file mode 100644 index e949617..0000000 --- a/cluster/metallb-operator/overlays/internal/bgp_peer.yaml +++ /dev/null @@ -1,12 +0,0 @@ ---- -apiVersion: metallb.io/v1beta2 -kind: BGPPeer -metadata: - name: bgp-peer-worlddrive - namespace: metallb-system -spec: - disableMP: false - myASN: 65001 - peerASN: 65002 - peerAddress: 10.1.71.1 - peerPort: 179 \ No newline at end of file diff --git a/cluster/metallb-operator/overlays/internal/ip_addresspool.yaml b/cluster/metallb-operator/overlays/internal/ip_addresspool.yaml deleted file mode 100644 index dec26d4..0000000 --- a/cluster/metallb-operator/overlays/internal/ip_addresspool.yaml +++ /dev/null @@ -1,12 +0,0 @@ ---- -apiVersion: metallb.io/v1beta1 -kind: IPAddressPool -metadata: - name: bgp-ip-addresspool - namespace: metallb-system -spec: - addresses: - - 10.1.82.0/24 - autoAssign: true - avoidBuggyIPs: false - \ No newline at end of file diff --git a/cluster/metallb-operator/overlays/internal/kustomization.yaml b/cluster/metallb-operator/overlays/internal/kustomization.yaml deleted file mode 100644 index 9ba5c3f..0000000 --- a/cluster/metallb-operator/overlays/internal/kustomization.yaml +++ /dev/null @@ -1,10 +0,0 @@ -apiVersion: kustomize.config.k8s.io/v1beta1 -kind: Kustomization - -commonAnnotations: - argocd.argoproj.io/sync-options: SkipDryRunOnMissingResource=true - -resources: -- ../../base -- bgp_peer.yaml -- ip_addresspool.yaml \ No newline at end of file diff --git a/cluster/nfs-storage-appset.yaml b/cluster/nfs-storage-appset.yaml deleted file mode 100644 index 42b1665..0000000 --- a/cluster/nfs-storage-appset.yaml +++ /dev/null @@ -1,42 +0,0 @@ ---- -apiVersion: argoproj.io/v1alpha1 -kind: ApplicationSet -metadata: - name: nfs-storage - namespace: openshift-gitops - finalizers: - - resources-finalizer.argocd.argoproj.io -spec: - goTemplate: true - goTemplateOptions: ["missingkey=error"] - generators: - - clusters: {} # Variable is .name - template: - metadata: - name: '{{.name}}-nfs-storage' - annotations: - argocd.argoproj.io/sync-wave: "2" - spec: - destination: - name: '{{.name}}' - namespace: openshift-nfs-storage - project: default - source: - path: cluster/nfs-storage - repoURL: https://github.com/rblundon/homelab.git - targetRevision: HEAD - syncPolicy: - automated: - prune: true - selfHeal: true - syncOptions: - - RespectIgnoreDifferences=true - - CreateNamespace=true - managedNamespaceMetadata: - labels: - argocd.argoproj.io/managed-by: openshift-gitops - ignoreDifferences: - - group: apps - kind: Deployment - jsonPointers: - - /spec/replicas \ No newline at end of file diff --git a/cluster/nfs-storage/class.yaml b/cluster/nfs-storage/class.yaml deleted file mode 100644 index d02695c..0000000 --- a/cluster/nfs-storage/class.yaml +++ /dev/null @@ -1,7 +0,0 @@ -apiVersion: storage.k8s.io/v1 -kind: StorageClass -metadata: - name: synology-nfs -provisioner: storage.io/nfs -parameters: - archiveOnDelete: "false" diff --git a/cluster/nfs-storage/deployment.yaml b/cluster/nfs-storage/deployment.yaml deleted file mode 100644 index 507dede..0000000 --- a/cluster/nfs-storage/deployment.yaml +++ /dev/null @@ -1,38 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: nfs-client-provisioner - labels: - app: nfs-client-provisioner - namespace: openshift-nfs-storage -spec: - replicas: 1 - strategy: - type: Recreate - selector: - matchLabels: - app: nfs-client-provisioner - template: - metadata: - labels: - app: nfs-client-provisioner - spec: - serviceAccountName: nfs-client-provisioner - containers: - - name: nfs-client-provisioner - image: gcr.io/k8s-staging-sig-storage/nfs-subdir-external-provisioner:v4.0.0 - volumeMounts: - - name: nfs-client-root - mountPath: /persistentvolumes - env: - - name: PROVISIONER_NAME - value: storage.io/nfs - - name: NFS_SERVER - value: 10.10.121.35 - - name: NFS_PATH - value: /volume1/openshift-nfs - volumes: - - name: nfs-client-root - nfs: - server: 10.10.121.35 - path: /volume1/openshift-nfs diff --git a/cluster/nfs-storage/kustomization.yaml b/cluster/nfs-storage/kustomization.yaml deleted file mode 100644 index 531c63e..0000000 --- a/cluster/nfs-storage/kustomization.yaml +++ /dev/null @@ -1,9 +0,0 @@ ---- -apiVersion: kustomize.config.k8s.io/v1beta1 -kind: Kustomization - -resources: -- namespace.yaml -- rbac.yaml -- class.yaml -- deployment.yaml \ No newline at end of file diff --git a/cluster/nfs-storage/namespace.yaml b/cluster/nfs-storage/namespace.yaml deleted file mode 100644 index 1333019..0000000 --- a/cluster/nfs-storage/namespace.yaml +++ /dev/null @@ -1,13 +0,0 @@ ---- -apiVersion: v1 -kind: Namespace -metadata: - labels: - kubernetes.io/metadata.name: openshift-nfs-storage - name: oopenshift-nfs-storage - argocd.argoproj.io/managed-by: openshift-gitops-operator -# openshift.io/cluster-monitoring: true - name: openshift-nfs-storage -spec: - finalizers: - - kubernetes diff --git a/cluster/nfs-storage/rbac.yaml b/cluster/nfs-storage/rbac.yaml deleted file mode 100644 index 739d05b..0000000 --- a/cluster/nfs-storage/rbac.yaml +++ /dev/null @@ -1,80 +0,0 @@ ---- -apiVersion: v1 -kind: ServiceAccount -metadata: - name: nfs-client-provisioner - namespace: openshift-nfs-storage - ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - name: nfs-client-provisioner-runner -rules: - - apiGroups: [""] - resources: ["persistentvolumes"] - verbs: ["get", "list", "watch", "create", "delete"] - - apiGroups: [""] - resources: ["persistentvolumeclaims"] - verbs: ["get", "list", "watch", "update"] - - apiGroups: ["storage.k8s.io"] - resources: ["storageclasses"] - verbs: ["get", "list", "watch"] - - apiGroups: [""] - resources: ["events"] - verbs: ["create", "update", "patch"] - ---- -kind: ClusterRoleBinding -apiVersion: rbac.authorization.k8s.io/v1 -metadata: - name: run-nfs-client-provisioner -subjects: - - kind: ServiceAccount - name: nfs-client-provisioner - namespace: openshift-nfs-storage -roleRef: - kind: ClusterRole - name: nfs-client-provisioner-runner - apiGroup: rbac.authorization.k8s.io - ---- -kind: Role -apiVersion: rbac.authorization.k8s.io/v1 -metadata: - name: leader-locking-nfs-client-provisioner - namespace: openshift-nfs-storage -rules: - - apiGroups: [""] - resources: ["endpoints"] - verbs: ["get", "list", "watch", "create", "update", "patch"] - ---- -kind: RoleBinding -apiVersion: rbac.authorization.k8s.io/v1 -metadata: - name: leader-locking-nfs-client-provisioner - namespace: openshift-nfs-storage -subjects: - - kind: ServiceAccount - name: nfs-client-provisioner - namespace: openshift-nfs-storage -roleRef: - kind: Role - name: leader-locking-nfs-client-provisioner - apiGroup: rbac.authorization.k8s.io - ---- -apiVersion: authorization.openshift.io/v1 -kind: RoleBinding -metadata: - name: nfs-client-provisioner-scc - namespace: openshift-nfs-storage -roleRef: -# apiGroup: rbac.authorization.k8s.io -# kind: ClusterRole - name: system:openshift:scc:hostmount-anyuid -subjects: -- kind: ServiceAccount - name: nfs-client-provisioner - namespace: openshift-nfs-storage \ No newline at end of file diff --git a/cluster/nfs-storage/sa.yaml b/cluster/nfs-storage/sa.yaml deleted file mode 100644 index 456a7d1..0000000 --- a/cluster/nfs-storage/sa.yaml +++ /dev/null @@ -1,15 +0,0 @@ ---- -apiVersion: authorization.openshift.io/v1 -kind: RoleBinding -metadata: - name: nfs-client-provisioner-scc - namespace: openshift-nfs-storage -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: system:openshift:scc:hostmount-anyuid - #name: system:openshift:$NAMESPACE:hostmount-anyuid -subjects: -- kind: ServiceAccount - name: nfs-client-provisioner - namespace: openshift-nfs-storage diff --git a/cluster/nfs-storage/storageprofile.yaml b/cluster/nfs-storage/storageprofile.yaml deleted file mode 100644 index 7d71e5d..0000000 --- a/cluster/nfs-storage/storageprofile.yaml +++ /dev/null @@ -1,19 +0,0 @@ ---- -apiVersion: cdi.kubevirt.io/v1beta1 -kind: StorageProfile -metadata: - name: synology-nfs -spec: - claimPropertySets: - - accessModes: - - ReadWriteOnce - volumeMode: - Filesystem - - accessModes: - - ReadWriteMany - volumeMode: - Filesystem - cloneStrategy: csi-clone -status: - provisioner: storage.io/nfs - storageClass: synology-nfs \ No newline at end of file diff --git a/cluster/nfs-storage/test-claim.yaml b/cluster/nfs-storage/test-claim.yaml deleted file mode 100644 index 3879ee3..0000000 --- a/cluster/nfs-storage/test-claim.yaml +++ /dev/null @@ -1,11 +0,0 @@ -kind: PersistentVolumeClaim -apiVersion: v1 -metadata: - name: test-claim -spec: - accessModes: - - ReadWriteMany - resources: - requests: - storage: 1Mi - storageClassName: synology-nfs diff --git a/cluster/nfs-storage/test-pod.yaml b/cluster/nfs-storage/test-pod.yaml deleted file mode 100644 index e5e7b7f..0000000 --- a/cluster/nfs-storage/test-pod.yaml +++ /dev/null @@ -1,21 +0,0 @@ -kind: Pod -apiVersion: v1 -metadata: - name: test-pod -spec: - containers: - - name: test-pod - image: gcr.io/google_containers/busybox:1.24 - command: - - "/bin/sh" - args: - - "-c" - - "touch /mnt/SUCCESS && exit 0 || exit 1" - volumeMounts: - - name: nfs-pvc - mountPath: "/mnt" - restartPolicy: "Never" - volumes: - - name: nfs-pvc - persistentVolumeClaim: - claimName: test-claim diff --git a/cluster/nmstate-operator-appset.yaml b/cluster/nmstate-operator-appset.yaml deleted file mode 100644 index c338ed0..0000000 --- a/cluster/nmstate-operator-appset.yaml +++ /dev/null @@ -1,37 +0,0 @@ ---- -apiVersion: argoproj.io/v1alpha1 -kind: ApplicationSet -metadata: - name: nmstate-operator - namespace: openshift-gitops - finalizers: - - resources-finalizer.argocd.argoproj.io -spec: - goTemplate: true - goTemplateOptions: ["missingkey=error"] - generators: - - clusters: {} # Variable is .name - template: - metadata: - name: '{{.name}}-nmstate' - annotations: - argocd.argoproj.io/sync-wave: "1" - spec: - destination: - name: '{{.name}}' - namespace: openshift-nmstate - project: default - source: - path: cluster/nmstate/overlays/{{.name}} - repoURL: https://github.com/rblundon/homelab.git - targetRevision: HEAD - syncPolicy: - automated: - prune: true - selfHeal: true - syncOptions: - - RespectIgnoreDifferences=true - - CreateNamespace=true - managedNamespaceMetadata: - labels: - argocd.argoproj.io/managed-by: openshift-gitops diff --git a/cluster/nmstate/base/kustomization.yaml b/cluster/nmstate/base/kustomization.yaml deleted file mode 100644 index b3ff49b..0000000 --- a/cluster/nmstate/base/kustomization.yaml +++ /dev/null @@ -1,10 +0,0 @@ ---- -apiVersion: kustomize.config.k8s.io/v1beta1 -kind: Kustomization - -resources: -- namespace.yaml -- operatorgroup.yaml -- subscription.yaml -- nmstate.yaml -- multinetwork-enable.yaml diff --git a/cluster/nmstate/base/multinetwork-enable.yaml b/cluster/nmstate/base/multinetwork-enable.yaml deleted file mode 100644 index aca3c1f..0000000 --- a/cluster/nmstate/base/multinetwork-enable.yaml +++ /dev/null @@ -1,8 +0,0 @@ -apiVersion: operator.openshift.io/v1 -kind: Network -metadata: - name: cluster - annotations: - argocd.argoproj.io/sync-wave: "4" -spec: - useMultiNetworkPolicy: true diff --git a/cluster/nmstate/base/namespace.yaml b/cluster/nmstate/base/namespace.yaml deleted file mode 100644 index 93505b8..0000000 --- a/cluster/nmstate/base/namespace.yaml +++ /dev/null @@ -1,14 +0,0 @@ ---- -apiVersion: v1 -kind: Namespace -metadata: - annotations: - argocd.argoproj.io/sync-wave: "1" - labels: - kubernetes.io/metadata.name: openshift-nmstate - name: openshift-nmstate - argocd.argoproj.io/managed-by: openshift-gitops-operator - name: openshift-nmstate -spec: - finalizers: - - kubernetes diff --git a/cluster/nmstate/base/nmstate.yaml b/cluster/nmstate/base/nmstate.yaml deleted file mode 100644 index dd3b0e0..0000000 --- a/cluster/nmstate/base/nmstate.yaml +++ /dev/null @@ -1,7 +0,0 @@ -apiVersion: nmstate.io/v1 -kind: NMState -metadata: - annotations: - argocd.argoproj.io/sync-wave: "4" - name: nmstate -spec: {} diff --git a/cluster/nmstate/base/operatorgroup.yaml b/cluster/nmstate/base/operatorgroup.yaml deleted file mode 100644 index 46d3716..0000000 --- a/cluster/nmstate/base/operatorgroup.yaml +++ /dev/null @@ -1,11 +0,0 @@ ---- -apiVersion: operators.coreos.com/v1 -kind: OperatorGroup -metadata: - annotations: - argocd.argoproj.io/sync-wave: "3" - name: openshift-nmstate - namespace: openshift-nmstate -spec: - targetNamespaces: - - openshift-nmstate \ No newline at end of file diff --git a/cluster/nmstate/base/subscription.yaml b/cluster/nmstate/base/subscription.yaml deleted file mode 100644 index aa06bb0..0000000 --- a/cluster/nmstate/base/subscription.yaml +++ /dev/null @@ -1,16 +0,0 @@ ---- -apiVersion: operators.coreos.com/v1alpha1 -kind: Subscription -metadata: - annotations: - argocd.argoproj.io/sync-wave: "2" - labels: - operators.coreos.com/kubernetes-nmstate-operator.openshift-nmstate: "" - name: kubernetes-nmstate-operator - namespace: openshift-nmstate -spec: - channel: stable - installPlanApproval: Automatic - name: kubernetes-nmstate-operator - source: redhat-operators - sourceNamespace: openshift-marketplace \ No newline at end of file diff --git a/cluster/nmstate/overlays/in-cluster/enable-master-iscsi.yaml b/cluster/nmstate/overlays/in-cluster/enable-master-iscsi.yaml deleted file mode 100644 index b42ac45..0000000 --- a/cluster/nmstate/overlays/in-cluster/enable-master-iscsi.yaml +++ /dev/null @@ -1,17 +0,0 @@ ---- -apiVersion: machineconfiguration.openshift.io/v1 -kind: MachineConfig -metadata: - annotations: - argocd.argoproj.io/sync-wave: "11" - labels: - machineconfiguration.openshift.io/role: master - name: 99-master-custom-enable-iscsid -spec: - config: - ignition: - version: 3.1.0 - systemd: - units: - - enabled: true - name: iscsid.service \ No newline at end of file diff --git a/cluster/nmstate/overlays/in-cluster/iscsi-nad.yaml b/cluster/nmstate/overlays/in-cluster/iscsi-nad.yaml deleted file mode 100644 index 913259d..0000000 --- a/cluster/nmstate/overlays/in-cluster/iscsi-nad.yaml +++ /dev/null @@ -1,38 +0,0 @@ ---- -apiVersion: k8s.cni.cncf.io/v1 -kind: NetworkAttachmentDefinition -metadata: - annotations: - description: Native VLAN connection for iSCSI - name: vlan121-localnet - namespace: default -spec: - config: |- - { - "name": "iscsi-net", - "cniVersion": "0.3.1", - "type": "vlan", - "master": "enp1s0f0", - "mtu": 1500, - "vlanId": 121, - "linkInContainer": false, - "ipam": { - "type": "static", - "addresses": [ - { - "address": "10.10.121.10/24" - } - ] - } - } - - # { - # "cniVersion": "0.3.1", - # "name": "bridge-net", - # "type": "bridge", - # "isGateway": true, - # "vlan": 2, - # "ipam": { - # "type": "dhcp" - # } - # } \ No newline at end of file diff --git a/cluster/nmstate/overlays/in-cluster/kustomization.yaml b/cluster/nmstate/overlays/in-cluster/kustomization.yaml deleted file mode 100644 index 36a2b69..0000000 --- a/cluster/nmstate/overlays/in-cluster/kustomization.yaml +++ /dev/null @@ -1,10 +0,0 @@ -apiVersion: kustomize.config.k8s.io/v1beta1 -kind: Kustomization - -commonAnnotations: - argocd.argoproj.io/sync-options: SkipDryRunOnMissingResource=true - -resources: -- ../../base -- ocp-storage-vlan.yaml -- enable-master-iscsi.yaml # Single Node Only diff --git a/cluster/nmstate/overlays/in-cluster/ocp-storage-vlan.yaml b/cluster/nmstate/overlays/in-cluster/ocp-storage-vlan.yaml deleted file mode 100644 index 4c4ace7..0000000 --- a/cluster/nmstate/overlays/in-cluster/ocp-storage-vlan.yaml +++ /dev/null @@ -1,30 +0,0 @@ ---- -apiVersion: nmstate.io/v1 -kind: NodeNetworkConfigurationPolicy -metadata: - name: storage-network-ocp-hub - annotations: - argocd.argoproj.io/sync-wave: "10" -spec: - nodeSelector: - kubernetes.io/hostname: ocp-hub - desiredState: - interfaces: - - name: enp1s0f0.121 - state: up - type: vlan - vlan: - base-iface: enp1s0f0 - id: 121 - - bridge: - port: - - name: enp1s0f0.121 - ipv4: - address: - - ip: 10.10.121.10 - prefix-length: 24 - enabled: true - name: storage-network - state: up - type: linux-bridge - description: Linux bridge with enp1s0 as a port on VLAN 121 diff --git a/cluster/nmstate/overlays/internal/enable-worker-iscsi.yaml b/cluster/nmstate/overlays/internal/enable-worker-iscsi.yaml deleted file mode 100644 index 44a6258..0000000 --- a/cluster/nmstate/overlays/internal/enable-worker-iscsi.yaml +++ /dev/null @@ -1,17 +0,0 @@ ---- -apiVersion: machineconfiguration.openshift.io/v1 -kind: MachineConfig -metadata: - annotations: - argocd.argoproj.io/sync-wave: "11" - labels: - machineconfiguration.openshift.io/role: worker - name: 99-worker-custom-enable-iscsid -spec: - config: - ignition: - version: 3.1.0 - systemd: - units: - - enabled: true - name: iscsid.service \ No newline at end of file diff --git a/cluster/nmstate/overlays/internal/iscsi-nad.yaml b/cluster/nmstate/overlays/internal/iscsi-nad.yaml deleted file mode 100644 index a7ce418..0000000 --- a/cluster/nmstate/overlays/internal/iscsi-nad.yaml +++ /dev/null @@ -1,38 +0,0 @@ ---- -apiVersion: k8s.cni.cncf.io/v1 -kind: NetworkAttachmentDefinition -metadata: - annotations: - description: Native VLAN connection for iSCSI - name: vlan121-localnet - namespace: default -spec: - config: |- - { - "name": "iscsi-net", - "cniVersion": "0.3.1", - "type": "vlan", - "master": "enp2s0f0", - "mtu": 1500, - "vlanId": 121, - "linkInContainer": false, - "ipam": { - "type": "static", - "addresses": [ - { - "address": "10.10.121.10/24" - } - ] - } - } - - # { - # "cniVersion": "0.3.1", - # "name": "bridge-net", - # "type": "bridge", - # "isGateway": true, - # "vlan": 2, - # "ipam": { - # "type": "dhcp" - # } - # } \ No newline at end of file diff --git a/cluster/nmstate/overlays/internal/kustomization.yaml b/cluster/nmstate/overlays/internal/kustomization.yaml deleted file mode 100644 index a00b8ec..0000000 --- a/cluster/nmstate/overlays/internal/kustomization.yaml +++ /dev/null @@ -1,10 +0,0 @@ -apiVersion: kustomize.config.k8s.io/v1beta1 -kind: Kustomization - -commonAnnotations: - argocd.argoproj.io/sync-options: SkipDryRunOnMissingResource=true - -resources: -- ../../base -- ocp-storage-vlan.yaml -- enable-worker-iscsi.yaml diff --git a/cluster/nmstate/overlays/internal/ocp-storage-vlan.yaml b/cluster/nmstate/overlays/internal/ocp-storage-vlan.yaml deleted file mode 100644 index d704967..0000000 --- a/cluster/nmstate/overlays/internal/ocp-storage-vlan.yaml +++ /dev/null @@ -1,61 +0,0 @@ ---- -apiVersion: nmstate.io/v1 -kind: NodeNetworkConfigurationPolicy -metadata: - name: storage-network-int-worker01 - annotations: - argocd.argoproj.io/sync-wave: "10" -spec: - nodeSelector: - kubernetes.io/hostname: int-worker01 - desiredState: - interfaces: - - name: enp2s0f0.121 - state: up - type: vlan - vlan: - base-iface: enp2s0f0 - id: 121 - - bridge: - port: - - name: enp2s0f0.121 - ipv4: - address: - - ip: 10.10.121.64 - prefix-length: 24 - enabled: true - name: storage-network - state: up - type: linux-bridge - description: Linux bridge with enp1s0 as a port on VLAN 121 - ---- -apiVersion: nmstate.io/v1 -kind: NodeNetworkConfigurationPolicy -metadata: - name: storage-network-int-worker02 - annotations: - argocd.argoproj.io/sync-wave: "10" -spec: - nodeSelector: - kubernetes.io/hostname: int-worker02 - desiredState: - interfaces: - - name: enp2s0f0.121 - state: up - type: vlan - vlan: - base-iface: enp2s0f0 - id: 121 - - bridge: - port: - - name: enp2s0f0.121 - ipv4: - address: - - ip: 10.10.121.65 - prefix-length: 24 - enabled: true - name: storage-network - state: up - type: linux-bridge - description: Linux bridge with enp1s0 as a port on VLAN 121 \ No newline at end of file diff --git a/cluster/opencost/Chart.yaml b/cluster/opencost/Chart.yaml deleted file mode 100644 index 111562f..0000000 --- a/cluster/opencost/Chart.yaml +++ /dev/null @@ -1,13 +0,0 @@ ---- -apiVersion: v2 -name: opencost-umbrella -description: A helm chart to include opencost with values -type: application -version: 0.1.0 -appVersion: 0.1.0 - -dependencies: -- name: opencost - version: 1.9.8 - repository: https://opencost.github.io/opencost-helm-chart -# condition: opencost.enabled \ No newline at end of file diff --git a/cluster/opencost/kustomization.yaml b/cluster/opencost/kustomization.yaml deleted file mode 100644 index 5bdc128..0000000 --- a/cluster/opencost/kustomization.yaml +++ /dev/null @@ -1,11 +0,0 @@ ---- -apiVersion: kustomize.config.k8s.io/v1beta1 -kind: Kustomization - -commonAnnotations: - argocd.argoproj.io/sync-options: SkipDryRunOnMissingResource=true - -resources: -#- namespace.yaml -- https://raw.githubusercontent.com/opencost/opencost/develop/kubernetes/opencost.yaml - diff --git a/cluster/opencost/namespace.yaml b/cluster/opencost/namespace.yaml deleted file mode 100644 index 0066f32..0000000 --- a/cluster/opencost/namespace.yaml +++ /dev/null @@ -1,14 +0,0 @@ ---- -apiVersion: v1 -kind: Namespace -metadata: - annotations: - argocd.argoproj.io/sync-options: SkipDryRunOnMissingResource=true - name: opencost - labels: - argocd.argoproj.io/managed-by: openshift-gitops-operator - kubernetes.io/metadata.name: opencost - openshift.io/cluster-monitoring: 'true' -spec: - finalizers: - - kubernetes diff --git a/cluster/opencost/opencost.yaml b/cluster/opencost/opencost.yaml deleted file mode 100644 index 1918bdd..0000000 --- a/cluster/opencost/opencost.yaml +++ /dev/null @@ -1,35 +0,0 @@ ---- -apiVersion: argoproj.io/v1alpha1 -kind: Application -metadata: - name: opencost - finalizers: - - resources-finalizer.argocd.argoproj.io - annotations: - argocd.argoproj.io/sync-wave: "5" -spec: - destination: - name: in-cluster - namespace: opencost - project: default - source: -# path: opencost/opencost/develop/kubernetes/opencost.yaml -# repoURL: https://raw.githubusercontent.com/ - path: cluster-applications/opencost - repoURL: git@github.com:rblundon/MK-Labs.git - targetRevision: HEAD - syncPolicy: - automated: - prune: false - selfHeal: true - syncOptions: - - RespectIgnoreDifferences=true - - CreateNamespace=true - managedNamespaceMetadata: - labels: - argocd.argoproj.io/managed-by: openshift-gitops - ignoreDifferences: - - group: apps - kind: Deployment - jsonPointers: - - /spec/replicas \ No newline at end of file diff --git a/cluster/opencost/values.yaml b/cluster/opencost/values.yaml deleted file mode 100644 index 7c11b88..0000000 --- a/cluster/opencost/values.yaml +++ /dev/null @@ -1,512 +0,0 @@ -# -- Overwrite the default name of the chart -nameOverride: "" -# -- Overwrite all resources name created by the chart -fullnameOverride: "" -# -- Override the deployment namespace -namespaceOverride: "" - -loglevel: info - -plugins: - enabled: false - install: - enabled: true - fullImageName: curlimages/curl:latest - securityContext: - allowPrivilegeEscalation: false - seccompProfile: - type: RuntimeDefault - capabilities: - drop: - - ALL - readOnlyRootFilesystem: true - runAsNonRoot: true - runAsUser: 1001031000 - folder: /opt/opencost/plugin - # leave this commented to always download most recent version of plugins - # version: - configs: - # datadog: | - # { - # "datadog_site": "", - # "datadog_api_key": "", - # "datadog_app_key": "" - # } - -# -- List of secret names to use for pulling the images -imagePullSecrets: [] - -serviceAccount: - # -- Specifies whether a service account should be created - create: true - # -- Annotations to add to the service account - annotations: {} - # eks.amazonaws.com/role-arn: arn:aws:iam::123456789012:role/eksctl-opencost - # The name of the service account to use. - # If not set and create is true, a name is generated using the fullname template - name: "" - # -- Whether pods running as this service account should have an API token automatically mounted - automountServiceAccountToken: true - -# NetworkPolicies for ingress -networkPolicies: - # -- Specifies whether networkpolicies should be created - enabled: false - - # -- Internal Prometheus settings related to NetworkPolicies - prometheus: - # -- Namespace where internal Prometheus is installed - namespace: prometheus-system - # -- Pod port of in-cluster Prometheus - port: 9090 - # -- Labels applied to the Prometheus server pod(s) - labels: - app.kubernetes.io/name: prometheus - - # -- Extra egress rule - extraEgress: [] - -# -- Strategy to be used for the Deployment -updateStrategy: - rollingUpdate: - maxSurge: 1 - maxUnavailable: 1 - type: RollingUpdate -# -- Annotations to add to the all the resources -annotations: {} -# -- Annotations to add to the OpenCost Pod -podAnnotations: {} -# -- Annotations to add to the Secret -secretAnnotations: {} -# -- Labels to add to the OpenCost Pod -podLabels: {} -# -- Pod priority -priorityClassName: ~ - -# -- Holds pod-level security attributes and common container settings -podSecurityContext: {} - # fsGroup: 2000 - -service: - enabled: true - # -- Annotations to add to the service - annotations: {} - # -- Labels to add to the service account - labels: {} - # -- Kubernetes Service type - type: ClusterIP - # -- NodePort if service type is NodePort - nodePort: {} - # -- extra ports. Useful for sidecar pods such as oauth-proxy - extraPorts: [] - # - name: oauth-proxy - # port: 8081 - # targetPort: 8081 - # - name: oauth-metrics - # port: 8082 - # targetPort: 8082 - # -- LoadBalancer Source IP CIDR if service type is LoadBalancer and cloud provider supports this - loadBalancerSourceRanges: [] - -# Create cluster role policies -rbac: - enabled: true - -opencost: - # -- for the secret containing the Cloud Costs cloud-integration.json https://www.opencost.io/docs/configuration/#cloud-costs - # -- kubectl create secret generic --from-file=cloud-integration.json -n opencost - cloudIntegrationSecret: "" - exporter: - # API_PORT for the cost-model to listen on - apiPort: 9003 - # debugPort: 40000 # for development purposes (debugging with delve) and not for production. - # -- The GCP Pricing API requires a key. This is supplied just for evaluation. - cloudProviderApiKey: "" - # -- Default cluster ID to use if cluster_id is not set in Prometheus metrics. - defaultClusterId: 'default-cluster' - image: - # -- Exporter container image registry - registry: ghcr.io - # -- Exporter container image name - repository: opencost/opencost - # -- Exporter container image tag - tag: "1.113.0@sha256:b313d6d320058bbd3841a948fb636182f49b46df2368d91e2ae046ed03c0f83c" - # -- Exporter container image pull policy - pullPolicy: IfNotPresent - # -- Override the full image name for development purposes - fullImageName: null - # -- List of extra arguments for the command, e.g.: log-format=json - extraArgs: [] - # -- Number of OpenCost replicas to run - replicas: 1 - resources: - # -- CPU/Memory resource requests - requests: - cpu: '10m' - memory: '55Mi' - # -- CPU/Memory resource limits - limits: - cpu: '999m' - memory: '1Gi' - # Startup probe configuration - startupProbe: - # -- Whether probe is enabled - enabled: true - # -- Probe path - path: /healthz - # -- Number of seconds before probe is initiated - initialDelaySeconds: 10 - # -- Probe frequency in seconds - periodSeconds: 5 - # -- Number of failures for probe to be considered failed - failureThreshold: 30 - # Liveness probe configuration - livenessProbe: - # -- Whether probe is enabled - enabled: true - # -- Probe path - path: /healthz - # -- Number of seconds before probe is initiated - initialDelaySeconds: 10 - # -- Probe frequency in seconds - periodSeconds: 20 - # -- Number of failures for probe to be considered failed - failureThreshold: 3 - # Readiness probe configuration - readinessProbe: - # -- Whether probe is enabled - enabled: true - # -- Probe path - path: /healthz - # -- Number of seconds before probe is initiated - initialDelaySeconds: 10 - # -- Probe frequency in seconds - periodSeconds: 10 - # -- Number of failures for probe to be considered failed - failureThreshold: 3 - # -- The security options the container should be run with - securityContext: # {} - capabilities: - drop: - - ALL - readOnlyRootFilesystem: true - runAsNonRoot: true - runAsUser: 1001031000 - - # Path of CSV file - csv_path: "" - - # Persistent volume claim for storing the data. eg: csv file - persistence: - enabled: false - # -- Annotations for persistent volume - annotations: {} - # -- Access mode for persistent volume - accessMode: "" - # -- Storage class for persistent volume - storageClass: "" - # -- Size for persistent volume - size: "" - - aws: - # -- AWS secret access key - secret_access_key: "" - # -- AWS secret key id - access_key_id: "" - # -- A list of volume mounts to be added to the pod - extraVolumeMounts: [] - # -- List of additional environment variables to set in the container - env: [] - # -- Any extra environment variables you would like to pass on to the pod - extraEnv: {} - # FOO: BAR - # For example, if accessing mimir directly and getting 401 Unauthorized - # PROMETHEUS_HEADER_X_SCOPE_ORGID: anonymous - customPricing: - # -- Enables custom pricing configuration - enabled: false - # -- Customize the configmap name used for custom pricing - configmapName: custom-pricing-model - # -- Path for the pricing configuration. - configPath: /tmp/custom-config - # -- Configures the pricing model provided in the values file. - createConfigmap: true - # -- Sets the provider type for the custom pricing file. - provider: custom - # -- More information about these values here: https://www.opencost.io/docs/configuration/on-prem#custom-pricing-using-the-opencost-helm-chart - costModel: - description: Modified pricing configuration. - CPU: 1.25 - spotCPU: 0.006655 - RAM: 0.50 - spotRAM: 0.000892 - GPU: 0.95 - storage: 0.25 - zoneNetworkEgress: 0.01 - regionNetworkEgress: 0.01 - internetNetworkEgress: 0.12 - - dataRetention: - dailyResolutionDays: 15 - - carbonCost: - # -- Enable carbon cost exposed in the API - enabled: false - - cloudCost: - # -- Enable cloud cost ingestion and querying, dependant on valid integration credentials - enabled: false - # -- Number of hours between each run of the Cloud Cost pipeline - refreshRateHours: 6 - # -- Number of days into the past that a Cloud Cost standard run will query for - runWindowDays: 3 - # -- The number of standard runs before a Month-to-Date run occurs - monthToDateInterval: 6 - # -- The max number of days that any single query will be made to construct Cloud Costs - queryWindowDays: 7 - - - metrics: - kubeStateMetrics: - # -- (bool) Enable emission of pod annotations - emitPodAnnotations: ~ - # -- (bool) Enable emission of namespace annotations - emitNamespaceAnnotations: ~ - # -- (bool) Enable emission of KSM v1 metrics - emitKsmV1Metrics: ~ - # -- (bool) Enable only emission of KSM v1 metrics that do not exist in KSM 2 by default - emitKsmV1MetricsOnly: ~ - - serviceMonitor: - # -- Create ServiceMonitor resource for scraping metrics using PrometheusOperator - enabled: false - # -- Additional labels to add to the ServiceMonitor - additionalLabels: {} - # -- Specify if the ServiceMonitor will be deployed into a different namespace (blank deploys into same namespace as chart) - namespace: "" - # -- Interval at which metrics should be scraped - scrapeInterval: 30s - # -- Timeout after which the scrape is ended - scrapeTimeout: 10s - # -- HonorLabels chooses the metric's labels on collisions with target labels - honorLabels: true - # -- RelabelConfigs to apply to samples before scraping. Prometheus Operator automatically adds relabelings for a few standard Kubernetes fields - relabelings: [] - # -- MetricRelabelConfigs to apply to samples before ingestion - metricRelabelings: [] - # -- extra Endpoints to add to the ServiceMonitor. Useful for scraping sidecars - extraEndpoints: [] - # - port: oauth-metrics - # path: /metrics - # -- HTTP scheme used for scraping. Defaults to `http` - scheme: http - # -- TLS configuration for scraping metrics - tlsConfig: {} - # caFile: /etc/prom-certs/root-cert.pem - # certFile: /etc/prom-certs/cert-chain.pem - # insecureSkipVerify: true - # keyFile: /etc/prom-certs/key.pem - - config: - # -- Enables creating the metrics.json configuration as a ConfigMap - enabled: false - # -- Customize the configmap name used for metrics - configmapName: custom-metrics - # -- List of metrics to be disabled - disabledMetrics: [] - # - - # - - - prometheus: - # -- Secret name that contains credentials for Prometheus - secret_name: ~ - # -- Existing secret name that contains credentials for Prometheus - existingSecretName: ~ - # -- Prometheus Basic auth username - username: "" - # -- Key in the secret that references the username - username_key: DB_BASIC_AUTH_USERNAME - # -- Prometheus Basic auth password - password: "" - # -- Key in the secret that references the password - password_key: DB_BASIC_AUTH_PW - # -- Prometheus Bearer token - bearer_token: "" - bearer_token_key: DB_BEARER_TOKEN - external: - # -- Use external Prometheus (eg. Grafana Cloud) - enabled: false - # -- External Prometheus url - url: "https://prometheus.example.com/prometheus" - internal: - # -- Use in-cluster Prometheus - enabled: true - # -- Service name of in-cluster Prometheus - serviceName: prometheus-server - # -- Namespace of in-cluster Prometheus - namespaceName: prometheus-system - # -- Service port of in-cluster Prometheus - port: 80 - amp: - # -- Use Amazon Managed Service for Prometheus (AMP) - enabled: false # If true, opencost will be configured to remote_write and query from Amazon Managed Service for Prometheus. - # -- Workspace ID for AMP - workspaceId: "" - thanos: - enabled: false - queryOffset: '' - maxSourceResolution: '' - internal: - enabled: true - serviceName: my-thanos-query - namespaceName: opencost - port: 10901 - external: - enabled: false - url: 'https://thanos-query.example.com/thanos' - - ui: - # -- Enable OpenCost UI - enabled: true - image: - # -- UI container image registry - registry: ghcr.io - # -- UI container image name - repository: opencost/opencost-ui - # -- UI container image tag - # @default -- `""` (use appVersion in Chart.yaml) - tag: "1.113.0@sha256:4f408cf765217f889f4cb5cfcc97356e09892045a6ec951b27817a42ecb6748d" - # -- UI container image pull policy - pullPolicy: IfNotPresent - # -- Override the full image name for development purposes - fullImageName: null - resources: - # -- CPU/Memory resource requests - requests: - cpu: '10m' - memory: '55Mi' - # -- CPU/Memory resource limits - limits: - cpu: '999m' - memory: '1Gi' - # used in the default.nginx.conf if you want to switch for using with Docker - # apiServer: 0.0.0.0 - uiPort: 9090 - # Liveness probe configuration - livenessProbe: - # -- Whether probe is enabled - enabled: true - # -- Probe path - path: /healthz - # -- Number of seconds before probe is initiated - initialDelaySeconds: 30 - # -- Probe frequency in seconds - periodSeconds: 10 - # -- Number of failures for probe to be considered failed - failureThreshold: 3 - # Readiness probe configuration - readinessProbe: - # -- Whether probe is enabled - enabled: true - # -- Probe path - path: /healthz - # -- Number of seconds before probe is initiated - initialDelaySeconds: 30 - # -- Probe frequency in seconds - periodSeconds: 10 - # -- Number of failures for probe to be considered failed - failureThreshold: 3 - # -- The security options the container should be run with - securityContext: {} - # capabilities: - # drop: - # - ALL - # readOnlyRootFilesystem: true - # runAsNonRoot: true - # runAsUser: 1000 - - # -- A list of environment variables to be added to the pod - extraEnv: [] - - # -- A list of volume mounts to be added to the pod - extraVolumeMounts: [] - - ingress: - # -- Ingress for OpenCost UI - enabled: false - # -- Ingress controller which implements the resource - ingressClassName: "" - # -- Annotations for Ingress resource - annotations: {} - # kubernetes.io/tls-acme: "true" - # -- A list of host rules used to configure the Ingress - # @default -- See [values.yaml](values.yaml) - hosts: - - host: example.local - paths: - - / - # -- Redirect ingress to an extraPort defined on the service such as oauth-proxy - servicePort: http-ui - # servicePort: oauth-proxy - # -- Ingress TLS configuration - tls: [] - # - secretName: chart-example-tls - # hosts: - # - chart-example.local - - sigV4Proxy: - image: public.ecr.aws/aws-observability/aws-sigv4-proxy:latest - imagePullPolicy: IfNotPresent - name: aps - port: 8005 - region: us-west-2 # The AWS region - host: aps-workspaces.us-west-2.amazonaws.com # The hostname for AMP service. - # role_arn: arn:aws:iam:::role/role-name # The AWS IAM role to assume. - extraEnv: # Pass extra env variables to sigV4Proxy - # - name: AWS_ACCESS_KEY_ID - # value: - # - name: AWS_SECRET_ACCESS_KEY - # value: - resources: {} - # limits: - # cpu: 200m - # memory: 500Mi - # requests: - # cpu: 20m - # memory: 32Mi - securityContext: {} - # capabilities: - # drop: - # - ALL - # readOnlyRootFilesystem: true - # runAsNonRoot: true - # runAsUser: 65534 - # -- Toleration labels for pod assignment - tolerations: [] - # -- Node labels for pod assignment - nodeSelector: {} - # -- Affinity settings for pod assignment - affinity: {} - # -- Assign custom TopologySpreadConstraints rules - topologySpreadConstraints: [] - - # -- extra sidecars to add to the pod. Useful for things like oauth-proxy for the UI - extraContainers: [] - # - name: oauth-proxy - # image: quay.io/oauth2-proxy/oauth2-proxy:v7.5.1 - # args: - # - --upstream=http://127.0.0.1:9090 - # - --http-address=0.0.0.0:8081 - # - --metrics-address=0.0.0.0:8082 - # - ... - # ports: - # - name: oauth-proxy - # containerPort: 8081 - # protocol: TCP - # - name: oauth-metrics - # containerPort: 8082 - # protocol: TCP - # resources: {} - -# -- A list of volumes to be added to the pod -extraVolumes: [] \ No newline at end of file diff --git a/cluster/openshift-image-registry-appset.yaml b/cluster/openshift-image-registry-appset.yaml deleted file mode 100644 index 41adbc8..0000000 --- a/cluster/openshift-image-registry-appset.yaml +++ /dev/null @@ -1,43 +0,0 @@ ---- -apiVersion: argoproj.io/v1alpha1 -kind: ApplicationSet -metadata: - name: openshift-image-registry - namespace: openshift-gitops - finalizers: - - resources-finalizer.argocd.argoproj.io -spec: - goTemplate: true - goTemplateOptions: ["missingkey=error"] - generators: - - clusters: {} # Variable is .name - template: - metadata: - name: '{{.name}}-openshift-image-registry' - annotations: - argocd.argoproj.io/sync-wave: "3" - spec: - project: default - destination: - name: '{{.name}}' - namespace: openshift-image-registry - source: - path: cluster/openshift-image-registry - repoURL: https://github.com/rblundon/homelab.git - targetRevision: HEAD - - syncPolicy: - automated: - prune: true - selfHeal: true - syncOptions: - - RespectIgnoreDifferences=true - - CreateNamespace=true - managedNamespaceMetadata: - labels: - argocd.argoproj.io/managed-by: openshift-gitops - ignoreDifferences: - - group: apps - kind: Deployment - jsonPointers: - - /spec/replicas \ No newline at end of file diff --git a/cluster/openshift-image-registry/kustomization.yaml b/cluster/openshift-image-registry/kustomization.yaml deleted file mode 100644 index 517ed66..0000000 --- a/cluster/openshift-image-registry/kustomization.yaml +++ /dev/null @@ -1,10 +0,0 @@ ---- -apiVersion: kustomize.config.k8s.io/v1beta1 -kind: Kustomization - -commonAnnotations: - argocd.argoproj.io/sync-options: SkipDryRunOnMissingResource=true - -resources: -- pvc.yaml -- patch-config.yaml diff --git a/cluster/openshift-image-registry/patch-config.yaml b/cluster/openshift-image-registry/patch-config.yaml deleted file mode 100644 index b2f99ee..0000000 --- a/cluster/openshift-image-registry/patch-config.yaml +++ /dev/null @@ -1,12 +0,0 @@ ---- -apiVersion: imageregistry.operator.openshift.io/v1 -kind: Config -metadata: - annotations: - argocd.argoproj.io/sync-wave: "2" - name: cluster -spec: - managementState: Managed - storage: - pvc: - claim: image-registry-pvc diff --git a/cluster/openshift-image-registry/pvc.yaml b/cluster/openshift-image-registry/pvc.yaml deleted file mode 100644 index cdeac3d..0000000 --- a/cluster/openshift-image-registry/pvc.yaml +++ /dev/null @@ -1,15 +0,0 @@ ---- -kind: PersistentVolumeClaim -apiVersion: v1 -metadata: - annotations: - argocd.argoproj.io/sync-wave: "1" - name: image-registry-pvc - namespace: openshift-image-registry -spec: - accessModes: - - ReadWriteMany - resources: - requests: - storage: 100Gi - storageClassName: synology-nfs diff --git a/cluster/openshift-lightspeed-operator-appset.yaml b/cluster/openshift-lightspeed-operator-appset.yaml deleted file mode 100644 index 63251be..0000000 --- a/cluster/openshift-lightspeed-operator-appset.yaml +++ /dev/null @@ -1,40 +0,0 @@ ---- -apiVersion: argoproj.io/v1alpha1 -kind: ApplicationSet -metadata: - name: lightspeed-operator - namespace: openshift-gitops - finalizers: - - resources-finalizer.argocd.argoproj.io -spec: - goTemplate: true - goTemplateOptions: ["missingkey=error"] - generators: - # - clusters: {} # Variable is .name - - list: # Variable is .cluster - elements: - - cluster: internal - template: - metadata: - name: '{{.cluster}}-openshift-lightspeed' - annotations: - argocd.argoproj.io/sync-wave: "2" - spec: - project: default - source: - repoURL: https://github.com/rblundon/homelab.git - targetRevision: HEAD - path: cluster/openshift-lightspeed-operator/overlays/{{.cluster}} - destination: - name: '{{.cluster}}' - namespace: openshift-lightspeed - syncPolicy: - automated: - prune: true - selfHeal: true - syncOptions: - - RespectIgnoreDifferences=true - - CreateNamespace=true - managedNamespaceMetadata: - labels: - argocd.argoproj.io/managed-by: openshift-gitops diff --git a/cluster/openshift-lightspeed-operator/base/externalsecrets.yaml b/cluster/openshift-lightspeed-operator/base/externalsecrets.yaml deleted file mode 100644 index 77457ed..0000000 --- a/cluster/openshift-lightspeed-operator/base/externalsecrets.yaml +++ /dev/null @@ -1,17 +0,0 @@ ---- -apiVersion: external-secrets.io/v1beta1 -kind: ExternalSecret -metadata: - name: credentials # This is the secret name - namespace: openshift-lightspeed - annotations: - argocd.argoproj.io/sync-wave: "4" -spec: - secretStoreRef: - kind: ClusterSecretStore - name: doppler-cluster - refreshInterval: "1h" - data: - - secretKey: apitoken - remoteRef: - key: OPENAI_TOKEN diff --git a/cluster/openshift-lightspeed-operator/base/kustomization.yaml b/cluster/openshift-lightspeed-operator/base/kustomization.yaml deleted file mode 100644 index 167f4e0..0000000 --- a/cluster/openshift-lightspeed-operator/base/kustomization.yaml +++ /dev/null @@ -1,15 +0,0 @@ ---- -apiVersion: kustomize.config.k8s.io/v1beta1 -kind: Kustomization - -commonAnnotations: - argocd.argoproj.io/sync-options: SkipDryRunOnMissingResource=true - -resources: -# Operator deployment -- namespace.yaml -- operatorgroup.yaml -- subscription.yaml -- externalsecrets.yaml -# Deploy cluster resources -- olsconfig.yaml diff --git a/cluster/openshift-lightspeed-operator/base/namespace.yaml b/cluster/openshift-lightspeed-operator/base/namespace.yaml deleted file mode 100644 index 00b94af..0000000 --- a/cluster/openshift-lightspeed-operator/base/namespace.yaml +++ /dev/null @@ -1,15 +0,0 @@ ---- -apiVersion: v1 -kind: Namespace -metadata: - annotations: - argocd.argoproj.io/sync-wave: "1" - labels: - kubernetes.io/metadata.name: openshift-lightspeed - name: openshift-lightspeed - argocd.argoproj.io/managed-by: openshift-gitops-operator - openshift.io/cluster-monitoring: 'true' - name: openshift-lightspeed -spec: - finalizers: - - kubernetes \ No newline at end of file diff --git a/cluster/openshift-lightspeed-operator/base/olsconfig.yaml b/cluster/openshift-lightspeed-operator/base/olsconfig.yaml deleted file mode 100644 index 2080ba8..0000000 --- a/cluster/openshift-lightspeed-operator/base/olsconfig.yaml +++ /dev/null @@ -1,20 +0,0 @@ ---- -apiVersion: ols.openshift.io/v1alpha1 -kind: OLSConfig -metadata: - name: cluster - annotations: - argocd.argoproj.io/sync-wave: "5" -spec: - llm: - providers: - - name: myOpenai - type: openai - credentialsSecretRef: - name: credentials - url: https://api.openai.com/v1 - models: - - name: gpt-3.5-turbo - ols: - defaultModel: gpt-3.5-turbo - defaultProvider: myOpenai \ No newline at end of file diff --git a/cluster/openshift-lightspeed-operator/base/operatorgroup.yaml b/cluster/openshift-lightspeed-operator/base/operatorgroup.yaml deleted file mode 100644 index fb1a9cf..0000000 --- a/cluster/openshift-lightspeed-operator/base/operatorgroup.yaml +++ /dev/null @@ -1,11 +0,0 @@ ---- -apiVersion: operators.coreos.com/v1 -kind: OperatorGroup -metadata: - name: openshift-lightspeed-operator - namespace: openshift-lightspeed - annotations: - argocd.argoproj.io/sync-wave: "2" -spec: - targetNamespaces: - - openshift-lightspeed diff --git a/cluster/openshift-lightspeed-operator/base/subscription.yaml b/cluster/openshift-lightspeed-operator/base/subscription.yaml deleted file mode 100644 index 036bcc6..0000000 --- a/cluster/openshift-lightspeed-operator/base/subscription.yaml +++ /dev/null @@ -1,14 +0,0 @@ ---- -apiVersion: operators.coreos.com/v1alpha1 -kind: Subscription -metadata: - name: lightspeed-operator - namespace: openshift-lightspeed - annotations: - argocd.argoproj.io/sync-wave: "3" -spec: - channel: stable - installPlanApproval: Automatic #Manual - name: lightspeed-operator - source: redhat-operators - sourceNamespace: openshift-marketplace diff --git a/cluster/openshift-lightspeed-operator/overlays/in-cluster/kustomization.yaml b/cluster/openshift-lightspeed-operator/overlays/in-cluster/kustomization.yaml deleted file mode 100644 index 03b3cd4..0000000 --- a/cluster/openshift-lightspeed-operator/overlays/in-cluster/kustomization.yaml +++ /dev/null @@ -1,8 +0,0 @@ -apiVersion: kustomize.config.k8s.io/v1beta1 -kind: Kustomization - -commonAnnotations: - argocd.argoproj.io/sync-options: SkipDryRunOnMissingResource=true - -resources: -- ../../base \ No newline at end of file diff --git a/cluster/openshift-lightspeed-operator/overlays/internal/kustomization.yaml b/cluster/openshift-lightspeed-operator/overlays/internal/kustomization.yaml deleted file mode 100644 index 03b3cd4..0000000 --- a/cluster/openshift-lightspeed-operator/overlays/internal/kustomization.yaml +++ /dev/null @@ -1,8 +0,0 @@ -apiVersion: kustomize.config.k8s.io/v1beta1 -kind: Kustomization - -commonAnnotations: - argocd.argoproj.io/sync-options: SkipDryRunOnMissingResource=true - -resources: -- ../../base \ No newline at end of file diff --git a/cluster/openshift-virtualization/hyperconverged.yaml b/cluster/openshift-virtualization/hyperconverged.yaml deleted file mode 100644 index 009570f..0000000 --- a/cluster/openshift-virtualization/hyperconverged.yaml +++ /dev/null @@ -1,7 +0,0 @@ ---- -apiVersion: hco.kubevirt.io/v1beta1 -kind: HyperConverged -metadata: - name: kubevirt-hyperconverged - namespace: openshift-cnv -spec: {} \ No newline at end of file diff --git a/cluster/openshift-virtualization/kustomization.yaml b/cluster/openshift-virtualization/kustomization.yaml deleted file mode 100644 index 6440fbe..0000000 --- a/cluster/openshift-virtualization/kustomization.yaml +++ /dev/null @@ -1,13 +0,0 @@ ---- -apiVersion: kustomize.config.k8s.io/v1beta1 -kind: Kustomization - -commonAnnotations: - argocd.argoproj.io/sync-options: SkipDryRunOnMissingResource=true - -resources: -- namespace.yaml -- subscription.yaml -- operatorgroup.yaml -- hyperconverged.yaml -- storageprofile.yaml \ No newline at end of file diff --git a/cluster/openshift-virtualization/namespace.yaml b/cluster/openshift-virtualization/namespace.yaml deleted file mode 100644 index 822fe9b..0000000 --- a/cluster/openshift-virtualization/namespace.yaml +++ /dev/null @@ -1,11 +0,0 @@ ---- -apiVersion: v1 -kind: Namespace -metadata: - name: openshift-cnv - labels: - name: openshift-cnv - argocd.argoproj.io/managed-by: openshift-gitops-operator -spec: - finalizers: - - kubernetes \ No newline at end of file diff --git a/cluster/openshift-virtualization/openshift-virtualization.yaml b/cluster/openshift-virtualization/openshift-virtualization.yaml deleted file mode 100644 index d5f8311..0000000 --- a/cluster/openshift-virtualization/openshift-virtualization.yaml +++ /dev/null @@ -1,33 +0,0 @@ ---- -apiVersion: argoproj.io/v1alpha1 -kind: Application -metadata: - name: openshift-virtualization - finalizers: - - resources-finalizer.argocd.argoproj.io - annotations: - argocd.argoproj.io/sync-wave: "4" -spec: - destination: - name: in-cluster - namespace: openshift-cnv - project: default - source: - path: cluster-applications/openshift-virtualization - repoURL: git@github.com:rblundon/MK-Labs.git - targetRevision: HEAD - syncPolicy: - automated: - prune: false - selfHeal: true - syncOptions: - - RespectIgnoreDifferences=true - - CreateNamespace=true - managedNamespaceMetadata: - labels: - argocd.argoproj.io/managed-by: openshift-gitops - ignoreDifferences: - - group: apps - kind: Deployment - jsonPointers: - - /spec/replicas \ No newline at end of file diff --git a/cluster/openshift-virtualization/operatorgroup.yaml b/cluster/openshift-virtualization/operatorgroup.yaml deleted file mode 100644 index f2c07a1..0000000 --- a/cluster/openshift-virtualization/operatorgroup.yaml +++ /dev/null @@ -1,9 +0,0 @@ ---- -apiVersion: operators.coreos.com/v1 -kind: OperatorGroup -metadata: - name: kubevirt-hyperconverged-group - namespace: openshift-cnv -spec: - targetNamespaces: - - openshift-cnv \ No newline at end of file diff --git a/cluster/openshift-virtualization/storageprofile.yaml b/cluster/openshift-virtualization/storageprofile.yaml deleted file mode 100644 index a626e32..0000000 --- a/cluster/openshift-virtualization/storageprofile.yaml +++ /dev/null @@ -1,19 +0,0 @@ ---- -apiVersion: cdi.kubevirt.io/v1beta1 -kind: StorageProfile -metadata: - name: synology-iscsi-storage -spec: - claimPropertySets: - - accessModes: - - ReadWriteOnce - volumeMode: - Block - - accessModes: - - ReadWriteMany - volumeMode: - Block - cloneStrategy: csi-clone -status: - provisioner: csi.san.synology.com - storageClass: synology-iscsi-storage \ No newline at end of file diff --git a/cluster/openshift-virtualization/subscription.yaml b/cluster/openshift-virtualization/subscription.yaml deleted file mode 100644 index 21cb075..0000000 --- a/cluster/openshift-virtualization/subscription.yaml +++ /dev/null @@ -1,12 +0,0 @@ ---- -apiVersion: operators.coreos.com/v1alpha1 -kind: Subscription -metadata: - name: hco-operatorhub - namespace: openshift-cnv -spec: - source: redhat-operators - sourceNamespace: openshift-marketplace - name: kubevirt-hyperconverged - startingCSV: kubevirt-hyperconverged-operator.v4.16.0 - channel: "stable" \ No newline at end of file diff --git a/cluster/prometheus-operator/cluster-secret-store.yaml b/cluster/prometheus-operator/cluster-secret-store.yaml deleted file mode 100644 index 1a93cd8..0000000 --- a/cluster/prometheus-operator/cluster-secret-store.yaml +++ /dev/null @@ -1,13 +0,0 @@ -apiVersion: external-secrets.io/v1beta1 -kind: ClusterSecretStore -metadata: - name: doppler-cluster -spec: - provider: - doppler: - auth: - secretRef: - dopplerToken: - name: doppler-cluster-token - key: dopplerToken - namespace: external-secrets diff --git a/cluster/prometheus-operator/external-dns.yaml b/cluster/prometheus-operator/external-dns.yaml deleted file mode 100644 index 77eb5d1..0000000 --- a/cluster/prometheus-operator/external-dns.yaml +++ /dev/null @@ -1,33 +0,0 @@ ---- -apiVersion: argoproj.io/v1alpha1 -kind: Application -metadata: - name: external-dns-operator - finalizers: - - resources-finalizer.argocd.argoproj.io - annotations: - argocd.argoproj.io/sync-wave: "3" -spec: - destination: - name: in-cluster - namespace: external-dns-operator - project: default - source: - path: applications/external-dns - repoURL: git@github.com:rblundon/MK-Labs.git - targetRevision: HEAD - syncPolicy: - automated: - prune: false - selfHeal: true - syncOptions: - - RespectIgnoreDifferences=true - - CreateNamespace=true - managedNamespaceMetadata: - labels: - argocd.argoproj.io/managed-by: openshift-gitops - ignoreDifferences: - - group: apps - kind: Deployment - jsonPointers: - - /spec/replicas \ No newline at end of file diff --git a/cluster/prometheus-operator/kustomization.yaml b/cluster/prometheus-operator/kustomization.yaml deleted file mode 100644 index fbcfe6b..0000000 --- a/cluster/prometheus-operator/kustomization.yaml +++ /dev/null @@ -1,12 +0,0 @@ ---- -apiVersion: kustomize.config.k8s.io/v1beta1 -kind: Kustomization - -commonAnnotations: - argocd.argoproj.io/sync-options: SkipDryRunOnMissingResource=true - -resources: -- namespace.yaml -- operatorgroup.yaml -- subscription.yaml -#- cluster-secret-store.yaml diff --git a/cluster/prometheus-operator/namespace.yaml b/cluster/prometheus-operator/namespace.yaml deleted file mode 100644 index 5ec641d..0000000 --- a/cluster/prometheus-operator/namespace.yaml +++ /dev/null @@ -1,14 +0,0 @@ ---- -apiVersion: v1 -kind: Namespace -metadata: - annotations: - argocd.argoproj.io/sync-options: SkipDryRunOnMissingResource=true - name: prometheus-system - labels: - argocd.argoproj.io/managed-by: openshift-gitops-operator - kubernetes.io/metadata.name: prometheus-system - openshift.io/cluster-monitoring: 'true' -spec: - finalizers: - - kubernetes diff --git a/cluster/prometheus-operator/operatorgroup.yaml b/cluster/prometheus-operator/operatorgroup.yaml deleted file mode 100644 index af96e6b..0000000 --- a/cluster/prometheus-operator/operatorgroup.yaml +++ /dev/null @@ -1,10 +0,0 @@ ---- -apiVersion: operators.coreos.com/v1 -kind: OperatorGroup -metadata: - name: prometheus - namespace: prometheus -spec: - upgradeStrategy: Default - targetNamespaces: - - prometheus \ No newline at end of file diff --git a/cluster/prometheus-operator/prometheus-operator.yaml b/cluster/prometheus-operator/prometheus-operator.yaml deleted file mode 100644 index 3dfa4a4..0000000 --- a/cluster/prometheus-operator/prometheus-operator.yaml +++ /dev/null @@ -1,33 +0,0 @@ ---- -apiVersion: argoproj.io/v1alpha1 -kind: Application -metadata: - name: prometheus - finalizers: - - resources-finalizer.argocd.argoproj.io - annotations: - argocd.argoproj.io/sync-wave: "4" -spec: - destination: - name: in-cluster - namespace: prometheus-system - project: default - source: - path: cluster-applications/prometheus-operator - repoURL: git@github.com:rblundon/MK-Labs.git - targetRevision: HEAD - syncPolicy: - automated: - prune: false - selfHeal: true - syncOptions: - - RespectIgnoreDifferences=true - - CreateNamespace=true - managedNamespaceMetadata: - labels: - argocd.argoproj.io/managed-by: openshift-gitops - ignoreDifferences: - - group: apps - kind: Deployment - jsonPointers: - - /spec/replicas \ No newline at end of file diff --git a/cluster/prometheus-operator/subscription.yaml b/cluster/prometheus-operator/subscription.yaml deleted file mode 100644 index 7befc3f..0000000 --- a/cluster/prometheus-operator/subscription.yaml +++ /dev/null @@ -1,12 +0,0 @@ ---- -apiVersion: operators.coreos.com/v1alpha1 -kind: Subscription -metadata: - name: prometheus - namespace: prometheus -spec: - channel: beta - installPlanApproval: Automatic - name: prometheus - source: community-operators - sourceNamespace: openshift-marketplace diff --git a/cluster/service-mesh-operator/istio.yaml b/cluster/service-mesh-operator/istio.yaml deleted file mode 100644 index d19012b..0000000 --- a/cluster/service-mesh-operator/istio.yaml +++ /dev/null @@ -1,19 +0,0 @@ ---- -apiVersion: sailoperator.io/v1alpha1 -kind: Istio -metadata: - name: default -spec: - namespace: istio-system - updateStrategy: - type: InPlace - inactiveRevisionDeletionGracePeriodSeconds: 30 - version: v1.23.0 ---- -kind: IstioCNI -apiVersion: sailoperator.io/v1alpha1 -metadata: - name: default -spec: - namespace: istio-cni - version: v1.23.0 diff --git a/cluster/service-mesh-operator/kustomization.yaml b/cluster/service-mesh-operator/kustomization.yaml deleted file mode 100644 index 271d6f7..0000000 --- a/cluster/service-mesh-operator/kustomization.yaml +++ /dev/null @@ -1,11 +0,0 @@ ---- -apiVersion: kustomize.config.k8s.io/v1beta1 -kind: Kustomization - -commonAnnotations: - argocd.argoproj.io/sync-options: SkipDryRunOnMissingResource=true - -resources: -- subscription.yaml -- namespace.yaml -- istio.yaml \ No newline at end of file diff --git a/cluster/service-mesh-operator/namespace.yaml b/cluster/service-mesh-operator/namespace.yaml deleted file mode 100644 index 1f497b4..0000000 --- a/cluster/service-mesh-operator/namespace.yaml +++ /dev/null @@ -1,24 +0,0 @@ ---- -apiVersion: v1 -kind: Namespace -metadata: - labels: - kubernetes.io/metadata.name: istio-system - name: istio-system - argocd.argoproj.io/managed-by: openshift-gitops-operator - name: istio-system -spec: - finalizers: - - kubernetes ---- -apiVersion: v1 -kind: Namespace -metadata: - labels: - kubernetes.io/metadata.name: istio-cni - name: istio-cni - argocd.argoproj.io/managed-by: openshift-gitops-operator - name: istio-cni -spec: - finalizers: - - kubernetes \ No newline at end of file diff --git a/cluster/service-mesh-operator/service-mesh-operator.yaml b/cluster/service-mesh-operator/service-mesh-operator.yaml deleted file mode 100644 index 473c427..0000000 --- a/cluster/service-mesh-operator/service-mesh-operator.yaml +++ /dev/null @@ -1,33 +0,0 @@ ---- -apiVersion: argoproj.io/v1alpha1 -kind: Application -metadata: - name: service-mesh-operator - finalizers: - - resources-finalizer.argocd.argoproj.io - annotations: - argocd.argoproj.io/sync-wave: "3" -spec: - destination: - name: in-cluster - namespace: service-mesh-operator - project: default - source: - path: cluster-applications/service-mesh-operator - repoURL: git@github.com:rblundon/MK-Labs.git - targetRevision: HEAD - syncPolicy: - automated: - prune: true - selfHeal: true - syncOptions: - - RespectIgnoreDifferences=true - - CreateNamespace=true - managedNamespaceMetadata: - labels: - argocd.argoproj.io/managed-by: argocd - ignoreDifferences: - - group: apps - kind: Deployment - jsonPointers: - - /spec/replicas diff --git a/cluster/service-mesh-operator/subscription.yaml b/cluster/service-mesh-operator/subscription.yaml deleted file mode 100644 index 9cff023..0000000 --- a/cluster/service-mesh-operator/subscription.yaml +++ /dev/null @@ -1,12 +0,0 @@ ---- -apiVersion: operators.coreos.com/v1alpha1 -kind: Subscription -metadata: - name: servicemeshoperator3 - namespace: openshift-operators -spec: - channel: candidates - installPlanApproval: Automatic #Manual - name: servicemeshoperator3 - source: redhat-operators - sourceNamespace: openshift-marketplace \ No newline at end of file diff --git a/cluster/synology-storageclass-appset.yaml b/cluster/synology-storageclass-appset.yaml deleted file mode 100644 index 0b1f4f2..0000000 --- a/cluster/synology-storageclass-appset.yaml +++ /dev/null @@ -1,43 +0,0 @@ ---- -apiVersion: argoproj.io/v1alpha1 -kind: ApplicationSet -metadata: - name: synology-csi - namespace: openshift-gitops - finalizers: - - resources-finalizer.argocd.argoproj.io -spec: - goTemplate: true - goTemplateOptions: ["missingkey=error"] - generators: - - clusters: {} # Variable is .name - template: - metadata: - name: '{{.name}}-synology-csi' - annotations: - argocd.argoproj.io/sync-wave: "2" - spec: - project: default - destination: - name: '{{.name}}' - namespace: synology-csi - source: - path: cluster/synology-storageclass - repoURL: https://github.com/rblundon/homelab.git - targetRevision: HEAD - - syncPolicy: - automated: - prune: false - selfHeal: true - syncOptions: - - RespectIgnoreDifferences=true - - CreateNamespace=true - managedNamespaceMetadata: - labels: - argocd.argoproj.io/managed-by: openshift-gitops - ignoreDifferences: - - group: apps - kind: Deployment - jsonPointers: - - /spec/replicas \ No newline at end of file diff --git a/cluster/synology-storageclass/controller.yaml b/cluster/synology-storageclass/controller.yaml deleted file mode 100644 index 99f0137..0000000 --- a/cluster/synology-storageclass/controller.yaml +++ /dev/null @@ -1,170 +0,0 @@ ---- -apiVersion: v1 -kind: ServiceAccount -metadata: - name: csi-controller-sa - namespace: synology-csi - ---- -kind: ClusterRole -apiVersion: rbac.authorization.k8s.io/v1 -metadata: - name: synology-csi-controller-role -rules: - - apiGroups: [""] - resources: ["events"] - verbs: ["get", "list", "watch", "create", "update", "patch"] - - apiGroups: [""] - resources: ["persistentvolumeclaims"] - verbs: ["get", "list", "watch", "update", "patch"] - - apiGroups: [""] - resources: ["persistentvolumeclaims/status"] - verbs: ["get", "list", "watch", "update", "patch"] - - apiGroups: [""] - resources: ["persistentvolumes"] - verbs: ["get", "list", "watch", "create", "update", "patch", "delete"] - - apiGroups: [""] - resources: ["nodes"] - verbs: ["get", "list", "watch"] - - apiGroups: [""] - resources: ["pods"] - verbs: ["get", "list", "watch"] - - apiGroups: ["storage.k8s.io"] - resources: ["csinodes"] - verbs: ["get", "list", "watch"] - - apiGroups: ["csi.storage.k8s.io"] - resources: ["csinodeinfos"] - verbs: ["get", "list", "watch"] - - apiGroups: ["storage.k8s.io"] - resources: ["volumeattachments", "volumeattachments/status"] - verbs: ["get", "list", "watch", "update", "patch"] - - apiGroups: ["storage.k8s.io"] - resources: ["storageclasses"] - verbs: ["get", "list", "watch"] - - apiGroups: ["snapshot.storage.k8s.io"] - resources: ["volumesnapshots"] - verbs: ["get", "list"] - - apiGroups: ["snapshot.storage.k8s.io"] - resources: ["volumesnapshotcontents"] - verbs: ["get", "list"] - - apiGroups: [""] - resources: ["secrets"] - verbs: ["get"] - ---- -kind: ClusterRoleBinding -apiVersion: rbac.authorization.k8s.io/v1 -metadata: - name: synology-csi-controller-role - namespace: synology-csi -subjects: - - kind: ServiceAccount - name: csi-controller-sa - namespace: synology-csi -roleRef: - kind: ClusterRole - name: synology-csi-controller-role - apiGroup: rbac.authorization.k8s.io - ---- -kind: StatefulSet -apiVersion: apps/v1 -metadata: - name: synology-csi-controller - namespace: synology-csi -spec: - serviceName: "synology-csi-controller" - replicas: 1 - selector: - matchLabels: - app: synology-csi-controller - template: - metadata: - labels: - app: synology-csi-controller - spec: - serviceAccountName: csi-controller-sa - hostNetwork: true - containers: - - name: csi-provisioner - securityContext: - privileged: true - capabilities: - add: ["SYS_ADMIN"] - allowPrivilegeEscalation: true - image: registry.k8s.io/sig-storage/csi-provisioner:v5.2.0 - args: - - --timeout=60s - - --csi-address=$(ADDRESS) - - --v=5 - - --extra-create-metadata - env: - - name: ADDRESS - value: /var/lib/csi/sockets/pluginproxy/csi.sock - imagePullPolicy: Always - volumeMounts: - - name: socket-dir - mountPath: /var/lib/csi/sockets/pluginproxy/ - - name: csi-attacher - securityContext: - privileged: true - capabilities: - add: ["SYS_ADMIN"] - allowPrivilegeEscalation: true - image: registry.k8s.io/sig-storage/csi-attacher:v4.2.0 - args: - - --v=5 - - --csi-address=$(ADDRESS) - env: - - name: ADDRESS - value: /var/lib/csi/sockets/pluginproxy/csi.sock - imagePullPolicy: Always - volumeMounts: - - name: socket-dir - mountPath: /var/lib/csi/sockets/pluginproxy/ - - name: csi-resizer - securityContext: - privileged: true - capabilities: - add: ["SYS_ADMIN"] - allowPrivilegeEscalation: true - image: registry.k8s.io/sig-storage/csi-resizer:v1.13.2 - args: - - --v=5 - - --csi-address=$(ADDRESS) - env: - - name: ADDRESS - value: /var/lib/csi/sockets/pluginproxy/csi.sock - imagePullPolicy: Always - volumeMounts: - - name: socket-dir - mountPath: /var/lib/csi/sockets/pluginproxy/ - - name: csi-plugin - securityContext: - privileged: true - capabilities: - add: ["SYS_ADMIN"] - allowPrivilegeEscalation: true - image: ghcr.io/xphyr/synology-csi:1.4.0 - args: - - --nodeid=NotUsed - - --endpoint=$(CSI_ENDPOINT) - - --client-info - - /etc/synology/client-info.yml - - --log-level=info - env: - - name: CSI_ENDPOINT - value: unix:///var/lib/csi/sockets/pluginproxy/csi.sock - imagePullPolicy: IfNotPresent - volumeMounts: - - name: socket-dir - mountPath: /var/lib/csi/sockets/pluginproxy/ - - name: client-info - mountPath: /etc/synology - readOnly: true - volumes: - - name: socket-dir - emptyDir: {} - - name: client-info - secret: - secretName: client-info-secret \ No newline at end of file diff --git a/cluster/synology-storageclass/csi-driver.yaml b/cluster/synology-storageclass/csi-driver.yaml deleted file mode 100644 index ac8f464..0000000 --- a/cluster/synology-storageclass/csi-driver.yaml +++ /dev/null @@ -1,9 +0,0 @@ -apiVersion: storage.k8s.io/v1 -kind: CSIDriver -metadata: - name: csi.san.synology.com -spec: - attachRequired: true # Indicates the driver requires an attach operation (TODO: ControllerPublishVolume should be implemented) - podInfoOnMount: true - volumeLifecycleModes: - - Persistent diff --git a/cluster/synology-storageclass/kustomization.yaml b/cluster/synology-storageclass/kustomization.yaml deleted file mode 100644 index 007d5ed..0000000 --- a/cluster/synology-storageclass/kustomization.yaml +++ /dev/null @@ -1,14 +0,0 @@ ---- -apiVersion: kustomize.config.k8s.io/v1beta1 -kind: Kustomization - -resources: -- namespace.yaml -- synology-secret-eso.yaml -- synology-csi-scc.yaml -- controller.yaml -- csi-driver.yaml -- node.yaml -- storage-class.yaml -- snapshotter.yaml -- volume-snapshot-class.yaml diff --git a/cluster/synology-storageclass/namespace.yaml b/cluster/synology-storageclass/namespace.yaml deleted file mode 100644 index b5b8a4e..0000000 --- a/cluster/synology-storageclass/namespace.yaml +++ /dev/null @@ -1,17 +0,0 @@ ---- -apiVersion: v1 -kind: Namespace -metadata: - annotations: - argocd.argoproj.io/sync-wave: "1" - labels: - kubernetes.io/metadata.name: synology-csi - name: synology-csi - argocd.argoproj.io/managed-by: openshift-gitops-operator - pod-security.kubernetes.io/audit: baseline - pod-security.kubernetes.io/enforce: privileged - pod-security.kubernetes.io/warn: baseline - name: synology-csi -spec: - finalizers: - - kubernetes diff --git a/cluster/synology-storageclass/node.yaml b/cluster/synology-storageclass/node.yaml deleted file mode 100644 index c9b2585..0000000 --- a/cluster/synology-storageclass/node.yaml +++ /dev/null @@ -1,144 +0,0 @@ ---- -apiVersion: v1 -kind: ServiceAccount -metadata: - name: csi-node-sa - namespace: synology-csi - ---- -kind: ClusterRole -apiVersion: rbac.authorization.k8s.io/v1 -metadata: - name: synology-csi-node-role -rules: - - apiGroups: [""] - resources: ["secrets"] - verbs: ["get", "list"] - - apiGroups: [""] - resources: ["nodes"] - verbs: ["get", "list", "update"] - - apiGroups: [""] - resources: ["namespaces"] - verbs: ["get", "list"] - - apiGroups: [""] - resources: ["persistentvolumes"] - verbs: ["get", "list", "watch", "update"] - - apiGroups: ["storage.k8s.io"] - resources: ["volumeattachments"] - verbs: ["get", "list", "watch", "update"] - ---- -kind: ClusterRoleBinding -apiVersion: rbac.authorization.k8s.io/v1 -metadata: - name: synology-csi-node-role - namespace: synology-csi -subjects: - - kind: ServiceAccount - name: csi-node-sa - namespace: synology-csi -roleRef: - kind: ClusterRole - name: synology-csi-node-role - apiGroup: rbac.authorization.k8s.io - ---- -kind: DaemonSet -apiVersion: apps/v1 -metadata: - name: synology-csi-node - namespace: synology-csi -spec: - selector: - matchLabels: - app: synology-csi-node - template: - metadata: - labels: - app: synology-csi-node - spec: - serviceAccount: csi-node-sa - hostNetwork: true - containers: - - name: csi-driver-registrar - securityContext: - privileged: true - imagePullPolicy: Always - image: registry.k8s.io/sig-storage/csi-node-driver-registrar:v2.14.0 - args: - - --v=5 - - --csi-address=$(ADDRESS) # the csi socket path inside the pod - - --kubelet-registration-path=$(REGISTRATION_PATH) # the csi socket path on the host node - env: - - name: ADDRESS - value: /csi/csi.sock - - name: REGISTRATION_PATH - value: /var/lib/kubelet/plugins/csi.san.synology.com/csi.sock - - name: KUBE_NODE_NAME - valueFrom: - fieldRef: - fieldPath: spec.nodeName - volumeMounts: - - name: plugin-dir - mountPath: /csi - - name: registration-dir - mountPath: /registration - - name: csi-plugin - securityContext: - privileged: true - allowPrivilegeEscalation: true - capabilities: - add: - - SYS_ADMIN - imagePullPolicy: IfNotPresent - image: ghcr.io/xphyr/synology-csi:1.4.0 - args: - - --nodeid=$(KUBE_NODE_NAME) - - --endpoint=$(CSI_ENDPOINT) - - --client-info - - /etc/synology/client-info.yml - - --log-level=info - env: - - name: CSI_ENDPOINT - value: unix://csi/csi.sock - - name: KUBE_NODE_NAME - valueFrom: - fieldRef: - fieldPath: spec.nodeName - volumeMounts: - - name: kubelet-dir - mountPath: /var/lib/kubelet - mountPropagation: "Bidirectional" - - name: plugin-dir - mountPath: /csi - - name: client-info - mountPath: /etc/synology - readOnly: true - - name: host-root - mountPath: /host - - name: device-dir - mountPath: /dev - volumes: - - name: kubelet-dir - hostPath: - path: /var/lib/kubelet - type: Directory - - name: plugin-dir - hostPath: - path: /var/lib/kubelet/plugins/csi.san.synology.com/ - type: DirectoryOrCreate - - name: registration-dir - hostPath: - path: /var/lib/kubelet/plugins_registry - type: Directory - - name: client-info - secret: - secretName: client-info-secret - - name: host-root - hostPath: - path: / - type: Directory - - name: device-dir - hostPath: - path: /dev - type: Directory diff --git a/cluster/synology-storageclass/snapshotter.yaml b/cluster/synology-storageclass/snapshotter.yaml deleted file mode 100644 index fc293e4..0000000 --- a/cluster/synology-storageclass/snapshotter.yaml +++ /dev/null @@ -1,107 +0,0 @@ ---- -apiVersion: v1 -kind: ServiceAccount -metadata: - name: csi-snapshotter-sa - namespace: synology-csi - ---- -kind: ClusterRole -apiVersion: rbac.authorization.k8s.io/v1 -metadata: - name: synology-csi-snapshotter-role -rules: - - apiGroups: [""] - resources: ["events"] - verbs: ["list", "watch", "create", "update", "patch"] - - apiGroups: ["snapshot.storage.k8s.io"] - resources: ["volumesnapshotclasses"] - verbs: ["get", "list", "watch"] - - apiGroups: ["snapshot.storage.k8s.io"] - resources: ["volumesnapshotcontents"] - verbs: ["create", "get", "list", "watch", "update", "patch", "delete"] - - apiGroups: ["snapshot.storage.k8s.io"] - resources: ["volumesnapshotcontents/status"] - verbs: ["update"] - ---- -kind: ClusterRoleBinding -apiVersion: rbac.authorization.k8s.io/v1 -metadata: - name: synology-csi-snapshotter-role - namespace: synology-csi -subjects: - - kind: ServiceAccount - name: csi-snapshotter-sa - namespace: synology-csi -roleRef: - kind: ClusterRole - name: synology-csi-snapshotter-role - apiGroup: rbac.authorization.k8s.io - ---- -kind: StatefulSet -apiVersion: apps/v1 -metadata: - name: synology-csi-snapshotter - namespace: synology-csi -spec: - serviceName: "synology-csi-snapshotter" - replicas: 1 - selector: - matchLabels: - app: synology-csi-snapshotter - template: - metadata: - labels: - app: synology-csi-snapshotter - spec: - serviceAccountName: csi-snapshotter-sa - hostNetwork: true - containers: - - name: csi-snapshotter - securityContext: - privileged: true - capabilities: - add: ["SYS_ADMIN"] - allowPrivilegeEscalation: true - image: registry.k8s.io/sig-storage/csi-snapshotter:v8.2.1 - args: - - --v=5 - - --csi-address=$(ADDRESS) - env: - - name: ADDRESS - value: /var/lib/csi/sockets/pluginproxy/csi.sock - imagePullPolicy: Always - volumeMounts: - - name: socket-dir - mountPath: /var/lib/csi/sockets/pluginproxy/ - - name: csi-plugin - securityContext: - privileged: true - capabilities: - add: ["SYS_ADMIN"] - allowPrivilegeEscalation: true - image: ghcr.io/xphyr/synology-csi:1.4.0 - args: - - --nodeid=NotUsed - - --endpoint=$(CSI_ENDPOINT) - - --client-info - - /etc/synology/client-info.yml - - --log-level=info - env: - - name: CSI_ENDPOINT - value: unix:///var/lib/csi/sockets/pluginproxy/csi.sock - imagePullPolicy: IfNotPresent - volumeMounts: - - name: socket-dir - mountPath: /var/lib/csi/sockets/pluginproxy/ - - name: client-info - mountPath: /etc/synology - readOnly: true - volumes: - - name: socket-dir - emptyDir: {} - - name: client-info - secret: - secretName: client-info-secret \ No newline at end of file diff --git a/cluster/synology-storageclass/storage-class.yaml b/cluster/synology-storageclass/storage-class.yaml deleted file mode 100644 index b43bd80..0000000 --- a/cluster/synology-storageclass/storage-class.yaml +++ /dev/null @@ -1,32 +0,0 @@ ---- -apiVersion: storage.k8s.io/v1 -kind: StorageClass -metadata: - name: synology-iscsi-storage - annotations: - storageclass.kubernetes.io/is-default-class: "true" -provisioner: csi.san.synology.com -# if all params are empty, synology CSI will choose an available location to create volume -parameters: - dsm: '10.10.121.35' - protocol: 'iscsi' - location: '/volume1' - csi.storage.k8s.io/fstype: 'ext4' -reclaimPolicy: Delete #Retain -allowVolumeExpansion: true - -# --- -# apiVersion: storage.k8s.io/v1 -# kind: StorageClass -# metadata: -# name: synology-nfs-storage -# provisioner: csi.san.synology.com -# parameters: -# protocol: "nfs" -# dsm: '10.10.121.35' -# location: '/volume1' -# mountPermissions: '0777' -# mountOptions: -# - nfsvers=4 -# reclaimPolicy: Delete -# allowVolumeExpansion: true \ No newline at end of file diff --git a/cluster/synology-storageclass/synology-csi-scc.yaml b/cluster/synology-storageclass/synology-csi-scc.yaml deleted file mode 100644 index 1acb5a9..0000000 --- a/cluster/synology-storageclass/synology-csi-scc.yaml +++ /dev/null @@ -1,35 +0,0 @@ ---- -apiVersion: security.openshift.io/v1 -kind: SecurityContextConstraints -allowHostPorts: false -priority: null -requiredDropCapabilities: [] -allowPrivilegedContainer: true -runAsUser: - type: RunAsAny -users: - - 'system:serviceaccount:synology-csi:csi-controller-sa' - - 'system:serviceaccount:synology-csi:csi-node-sa' - - 'system:serviceaccount:synology-csi:csi-snapshotter-sa' -allowHostDirVolumePlugin: true -allowHostIPC: false -seLinuxContext: - type: RunAsAny -readOnlyRootFilesystem: false -metadata: - name: synology-csi-scc - annotations: - argocd.argoproj.io/sync-wave: "3" -fsGroup: - type: RunAsAny -groups: [] -defaultAddCapabilities: [] -supplementalGroups: - type: RunAsAny -volumes: - - '*' -allowHostPID: false -allowHostNetwork: true -allowPrivilegeEscalation: true -allowedCapabilities: - - SYS_ADMIN \ No newline at end of file diff --git a/cluster/synology-storageclass/synology-secret-eso.yaml b/cluster/synology-storageclass/synology-secret-eso.yaml deleted file mode 100644 index afabb08..0000000 --- a/cluster/synology-storageclass/synology-secret-eso.yaml +++ /dev/null @@ -1,15 +0,0 @@ ---- -apiVersion: external-secrets.io/v1beta1 -kind: ExternalSecret -metadata: - name: client-info-secret - namespace: synology-csi -spec: - secretStoreRef: - kind: ClusterSecretStore - name: doppler-cluster - refreshInterval: "1h" - data: - - secretKey: client-info.yml - remoteRef: - key: SYNOLOGY_CLIENT_INFO diff --git a/cluster/synology-storageclass/volume-snapshot-class.yaml b/cluster/synology-storageclass/volume-snapshot-class.yaml deleted file mode 100644 index af18d68..0000000 --- a/cluster/synology-storageclass/volume-snapshot-class.yaml +++ /dev/null @@ -1,11 +0,0 @@ -apiVersion: snapshot.storage.k8s.io/v1 -kind: VolumeSnapshotClass -metadata: - name: synology-snapshotclass - annotations: - storageclass.kubernetes.io/is-default-class: "false" -driver: csi.san.synology.com -deletionPolicy: Delete -# parameters: -# description: 'Kubernetes CSI' # only for iscsi protocol -# is_locked: 'false' diff --git a/hub-cluster-bootstrap/app-of-apps.yaml b/hub-cluster-bootstrap/app-of-apps.yaml deleted file mode 100644 index 1387af8..0000000 --- a/hub-cluster-bootstrap/app-of-apps.yaml +++ /dev/null @@ -1,26 +0,0 @@ ---- -apiVersion: argoproj.io/v1alpha1 -kind: Application -metadata: - name: cluster-applications - namespace: openshift-gitops -spec: - destination: - name: in-cluster - namespace: openshift-gitops - project: default - source: - path: cluster - repoURL: https://github.com/rblundon/homelab.git - targetRevision: HEAD - syncPolicy: - automated: - prune: true - selfHeal: true - syncOptions: - - RespectIgnoreDifferences=true - ignoreDifferences: - - group: argoproj.io - kind: Application - jsonPointers: - - /spec/syncPolicy/automated diff --git a/hub-cluster-bootstrap/kustomization.yaml b/hub-cluster-bootstrap/kustomization.yaml deleted file mode 100644 index f66f1eb..0000000 --- a/hub-cluster-bootstrap/kustomization.yaml +++ /dev/null @@ -1,15 +0,0 @@ ---- -apiVersion: kustomize.config.k8s.io/v1beta1 -kind: Kustomization - -commonLabels: - cluster: hub.int.mk-labs.cloud - -resources: -- namespace.yaml -- operatorgroup.yaml -- subscription.yaml -- rbac.yaml -# - argocd.yaml -- app-of-apps.yaml -#- enable-iscsi.yaml diff --git a/hub-cluster-bootstrap/namespace.yaml b/hub-cluster-bootstrap/namespace.yaml deleted file mode 100644 index 80658b7..0000000 --- a/hub-cluster-bootstrap/namespace.yaml +++ /dev/null @@ -1,7 +0,0 @@ ---- -apiVersion: v1 -kind: Namespace -metadata: - labels: - argocd.argoproj.io/managed-by: openshift-gitops-operator - name: openshift-gitops-operator diff --git a/hub-cluster-bootstrap/operatorgroup.yaml b/hub-cluster-bootstrap/operatorgroup.yaml deleted file mode 100644 index e12d145..0000000 --- a/hub-cluster-bootstrap/operatorgroup.yaml +++ /dev/null @@ -1,8 +0,0 @@ ---- -apiVersion: operators.coreos.com/v1 -kind: OperatorGroup -metadata: - name: openshift-gitops-operator - namespace: openshift-gitops-operator -spec: - upgradeStrategy: Default \ No newline at end of file diff --git a/hub-cluster-bootstrap/rbac.yaml b/hub-cluster-bootstrap/rbac.yaml deleted file mode 100644 index a5ad645..0000000 --- a/hub-cluster-bootstrap/rbac.yaml +++ /dev/null @@ -1,37 +0,0 @@ ---- -kind: ClusterRoleBinding -apiVersion: rbac.authorization.k8s.io/v1 -metadata: - name: openshift-gitops-admin -subjects: - - kind: ServiceAccount - name: gitops-service-cluster - namespace: openshift-gitops - - kind: ServiceAccount - name: openshift-gitops-applicationset-controller - namespace: openshift-gitops - - kind: ServiceAccount - name: openshift-gitops-argocd-application-controller - namespace: openshift-gitops - - kind: ServiceAccount - name: openshift-gitops-argocd-dex-server - namespace: openshift-gitops - - kind: ServiceAccount - name: openshift-gitops-argocd-grafana - namespace: openshift-gitops - - kind: ServiceAccount - name: openshift-gitops-argocd-redis - namespace: openshift-gitops - - kind: ServiceAccount - name: openshift-gitops-argocd-redis-ha - namespace: openshift-gitops - - kind: ServiceAccount - name: openshift-gitops-argocd-server - namespace: openshift-gitops - - kind: ServiceAccount - name: openshift-gitops-operator-controller-manager - namespace: openshift-operators -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: cluster-admin \ No newline at end of file diff --git a/hub-cluster-bootstrap/subscription.yaml b/hub-cluster-bootstrap/subscription.yaml deleted file mode 100644 index 6962b99..0000000 --- a/hub-cluster-bootstrap/subscription.yaml +++ /dev/null @@ -1,16 +0,0 @@ ---- -apiVersion: operators.coreos.com/v1alpha1 -kind: Subscription -metadata: - name: openshift-gitops-operator - namespace: openshift-gitops-operator -spec: - channel: gitops-1.16 - config: - env: - - name: ARGOCD_CLUSTER_CONFIG_NAMESPACES - value: openshift-gitops - installPlanApproval: Automatic - name: openshift-gitops-operator - source: redhat-operators - sourceNamespace: openshift-marketplace diff --git a/step-by-step.md b/step-by-step.md deleted file mode 100644 index bd8f3d5..0000000 --- a/step-by-step.md +++ /dev/null @@ -1,171 +0,0 @@ -# Almost automated step by step walkthrough of full lab deployment - -This ~~is~~ *will be* the complete walkthrough of the deployment of my homelab. - -This repo is a mono-repo that is broken up into three sections: - -- infra-config -- cluster -- apps - -May refactor folder structure to: - -- ansible -- argocd - - cluster - - apps - - bootstrap -- terraform - -## Getting Started - -- On a PC/laptop, clone this git repo - - *(Ansibilze this process (below) )* - -- Create your vault file for secrets (and store somewhere safe) - - ```bash - echo 'master-ansible-password' > ~/.vault_pass.txt - chmod 644 ~/.vault_pass.txt - ``` - -- Add "export ANSIBLE_VAULT_PASSWORD_FILE=~/.vault_pass.txt" to your shell profile. -- Create vault file - - ```bash - cd homelab/group_vars/all - ansible-vault create vault - ``` - -To set up the virtual environment, follow these steps: - -1. Create a virtual environment named `venv-ansible`: - - ```bash - python3 -m venv ~/venv-ansible - ``` - -2. Activate the virtual environment: - - ```bash - source ~/venv-ansible/bin/activate - ``` - -3. Install the required packages: - - ```bash - pip install -r /requirements.txt - ``` -ansible-galaxy collection install -r ansible/requirements.yml - - -- Modify ansible variables for your environment - -## [Network](00-network/README.md) *Manual* - - - -## [Storage](01-storage/README.md) *Manual* - -## [Proxmox](02-proxmox/README.md) *Manual* - - - -## [Unbound DNS](03-unbound-dns/README.md) *Manual* - ---- - -## Build infra01 - -- From laptop run ansible playbook to: - - ```bash - cd homelab/infra-config - ansible-playbook -i inventory.yml 03-infra01-server/install.yml - ``` - - - Install ansible-core - - Copy .vault_pass.txt from laptop and set env variable - - Clone git repo - - Install ansible required packages - - ```bash - scp ~/.vault_pass.txt infra01:. - ssh infra01 - - cd homelab - ansible-galaxy collection install -r ansible/requirements.yml - ansible-playbook -i inventory.yml 10-sno-hub-cluster/install.yml - ``` - -Other needed software: - -- ~~kustomize~~ -- ~~git~~ -- oc -- ~~ansible~~ -- ~~terraform~~ - -### [FreeIPA](04-free-ipa/README.md) *Manual* - -### Update DNS - -```bash -cd /infra-config -ansible-playbook -i inventory.yml site.yml --tags update-dns -v -``` - -### [Templates](05-templates/README.md) *Manual* - -### [Matchbox](06-matchbox/README.md) *Manual* - -- Downloading the Agent-based Installer - ---- - -## [Hub Cluster](10-sno-hub-cluster/README.md) *In Progress* - -- Prepare matchbox to install hub cluster - - Running this playbook will configure Matchbox to wait for the sno-cluster to boot via iPXE and will install Single Node OpenShift. All configuration files are built from templates driven from Ansible variables. - - ```bash - cd homelab - ansible-playbook -i inventory.yml 10-sno-hub-cluster/install.yml - ``` - -- PXE boot the SNO host - - Boot host to boot options menu: - - - \ for Dell 7050 - - Select NIC with matching MAC to boot from - -- Monitor installation process - - ```bash - openshift-install --dir homelab/10-sno-hub-cluster/03-openshift-image agent wait-for bootstrap-complete --log-level=debug - ``` - -- Admin password and kubeconfig are in the homelab/10-sno-hub-cluster/03-openshift-image/auth directory - -- Bootstrap ACM - - From laptop/infra server: - - ```bash - cd homelab - oc apply -k hub-cluster-bootstrap - oc apply -f ~/ocp/doppler-token.yaml - oc apply -k hub-cluster-bootstrap - ``` - -## Internal Cluster *TBD* - -(Deployed in conjunction with ACM) - -## External Cluster *TBD* - -(Deployed in conjunction with ACM)