chore: archive OpenShift/ACM cluster content, hub-bootstrap, and applications
This commit is contained in:
@@ -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
|
|
||||||
@@ -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
|
|
||||||
@@ -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
|
|
||||||
@@ -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
|
|
||||||
@@ -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
|
|
||||||
@@ -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
|
|
||||||
@@ -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
|
|
||||||
@@ -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
|
|
||||||
@@ -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
|
|
||||||
@@ -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
|
|
||||||
@@ -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
|
|
||||||
@@ -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
|
|
||||||
@@ -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: ""
|
|
||||||
@@ -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: {}
|
|
||||||
@@ -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
|
|
||||||
@@ -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
|
|
||||||
@@ -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
|
|
||||||
@@ -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
|
|
||||||
@@ -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
|
|
||||||
@@ -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
|
|
||||||
@@ -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
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
---
|
|
||||||
apiVersion: v1
|
|
||||||
kind: ServiceAccount
|
|
||||||
metadata:
|
|
||||||
name: homepage
|
|
||||||
namespace: homepage-app
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/name: homepage
|
|
||||||
secrets:
|
|
||||||
- name: homepage
|
|
||||||
@@ -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
|
|
||||||
@@ -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
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
---
|
|
||||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
|
||||||
kind: Kustomization
|
|
||||||
|
|
||||||
resources:
|
|
||||||
- namespace.yaml
|
|
||||||
@@ -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
|
|
||||||
@@ -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
|
|
||||||
@@ -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
|
|
||||||
@@ -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
|
|
||||||
@@ -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
|
|
||||||
@@ -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
|
|
||||||
@@ -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
|
|
||||||
@@ -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
|
|
||||||
@@ -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
|
|
||||||
|
|
||||||
@@ -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
|
|
||||||
@@ -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
|
|
||||||
@@ -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 }}
|
|
||||||
@@ -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 }}
|
|
||||||
@@ -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 }}
|
|
||||||
@@ -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 }}
|
|
||||||
@@ -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-----
|
|
||||||
<actual certificate>
|
|
||||||
-----END CERTIFICATE-----
|
|
||||||
tlsKey: |-
|
|
||||||
-----BEGIN PRIVATE KEY-----
|
|
||||||
<actual 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
|
|
||||||
@@ -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-----
|
|
||||||
<actual certificate>
|
|
||||||
-----END CERTIFICATE-----
|
|
||||||
tlsKey: |-
|
|
||||||
-----BEGIN PRIVATE KEY-----
|
|
||||||
<actual 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
|
|
||||||
@@ -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
|
|
||||||
@@ -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
|
|
||||||
@@ -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
|
|
||||||
@@ -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
|
|
||||||
@@ -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
|
|
||||||
@@ -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
|
|
||||||
@@ -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
|
|
||||||
@@ -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
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
|
||||||
kind: Kustomization
|
|
||||||
|
|
||||||
commonAnnotations:
|
|
||||||
argocd.argoproj.io/sync-options: SkipDryRunOnMissingResource=true
|
|
||||||
|
|
||||||
resources:
|
|
||||||
- ../../base
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
apiVersion: v1
|
|
||||||
kind: ConfigMap
|
|
||||||
metadata:
|
|
||||||
creationTimestamp: null
|
|
||||||
name: krb5.conf
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
|
||||||
kind: Kustomization
|
|
||||||
|
|
||||||
commonAnnotations:
|
|
||||||
argocd.argoproj.io/sync-options: SkipDryRunOnMissingResource=true
|
|
||||||
|
|
||||||
resources:
|
|
||||||
- ../../base
|
|
||||||
@@ -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
|
|
||||||
@@ -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
|
|
||||||
@@ -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
|
|
||||||
@@ -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
|
|
||||||
@@ -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
|
|
||||||
@@ -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
|
|
||||||
@@ -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
|
|
||||||
@@ -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
|
|
||||||
@@ -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
|
|
||||||
@@ -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
|
|
||||||
@@ -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
|
|
||||||
@@ -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
|
|
||||||
@@ -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
|
|
||||||
@@ -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
|
|
||||||
@@ -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
|
|
||||||
@@ -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: []
|
|
||||||
@@ -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
|
|
||||||
@@ -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
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
|
||||||
kind: Kustomization
|
|
||||||
|
|
||||||
commonAnnotations:
|
|
||||||
argocd.argoproj.io/sync-options: SkipDryRunOnMissingResource=true
|
|
||||||
|
|
||||||
resources:
|
|
||||||
- ../../base
|
|
||||||
@@ -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
|
|
||||||
@@ -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: ''
|
|
||||||
@@ -1,9 +0,0 @@
|
|||||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
|
||||||
kind: Kustomization
|
|
||||||
|
|
||||||
commonAnnotations:
|
|
||||||
argocd.argoproj.io/sync-options: SkipDryRunOnMissingResource=true
|
|
||||||
|
|
||||||
resources:
|
|
||||||
- ../../base
|
|
||||||
- ingresscontroller.yaml
|
|
||||||
@@ -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
|
|
||||||
@@ -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
|
|
||||||
@@ -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
|
|
||||||
@@ -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
|
|
||||||
@@ -1,9 +0,0 @@
|
|||||||
---
|
|
||||||
apiVersion: operators.coreos.com/v1
|
|
||||||
kind: OperatorGroup
|
|
||||||
metadata:
|
|
||||||
name: keycloak-operator
|
|
||||||
namespace: keycloak-operator
|
|
||||||
spec:
|
|
||||||
targetNamespaces:
|
|
||||||
- keycloak-operator
|
|
||||||
@@ -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
|
|
||||||
@@ -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
|
|
||||||
@@ -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
|
|
||||||
@@ -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
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
---
|
|
||||||
apiVersion: metallb.io/v1beta1
|
|
||||||
kind: MetalLB
|
|
||||||
metadata:
|
|
||||||
name: metallb
|
|
||||||
namespace: metallb-system
|
|
||||||
spec: {}
|
|
||||||
@@ -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
|
|
||||||
@@ -1,9 +0,0 @@
|
|||||||
---
|
|
||||||
apiVersion: operators.coreos.com/v1
|
|
||||||
kind: OperatorGroup
|
|
||||||
metadata:
|
|
||||||
name: metallb-operator
|
|
||||||
namespace: metallb-system
|
|
||||||
#spec:
|
|
||||||
# targetNamespaces:
|
|
||||||
# - metallb-system
|
|
||||||
@@ -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
|
|
||||||
@@ -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
|
|
||||||
@@ -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
|
|
||||||
|
|
||||||
@@ -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
|
|
||||||
@@ -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
|
|
||||||
|
|
||||||
@@ -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
|
|
||||||
@@ -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
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
apiVersion: storage.k8s.io/v1
|
|
||||||
kind: StorageClass
|
|
||||||
metadata:
|
|
||||||
name: synology-nfs
|
|
||||||
provisioner: storage.io/nfs
|
|
||||||
parameters:
|
|
||||||
archiveOnDelete: "false"
|
|
||||||
@@ -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
|
|
||||||
@@ -1,9 +0,0 @@
|
|||||||
---
|
|
||||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
|
||||||
kind: Kustomization
|
|
||||||
|
|
||||||
resources:
|
|
||||||
- namespace.yaml
|
|
||||||
- rbac.yaml
|
|
||||||
- class.yaml
|
|
||||||
- deployment.yaml
|
|
||||||
@@ -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
|
|
||||||
@@ -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
|
|
||||||
@@ -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
|
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user