Compare commits
17 Commits
4c1750a6fd
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
76a89520e1 | ||
|
|
6ab4467a25 | ||
|
|
9aeea7b830 | ||
|
|
23ea92636e | ||
|
|
1384b3ab50 | ||
|
|
3d6b022cad | ||
|
|
46807f93d9 | ||
|
|
a62e3aba2f | ||
|
|
77ef9348f9 | ||
|
|
0cf4f155de | ||
|
|
a95fad4423 | ||
|
|
06307b4047 | ||
|
|
6569a6c33b | ||
|
|
04f351706c | ||
|
|
314c75d8df | ||
|
|
28334c15a3 | ||
|
|
d50b5f22e6 |
BIN
.values.yaml.kate-swp
Normal file
BIN
.values.yaml.kate-swp
Normal file
Binary file not shown.
@@ -1,2 +1,3 @@
|
|||||||
name: memelord
|
name: memelord
|
||||||
|
apiVersion: v2
|
||||||
version: 1.0.0
|
version: 1.0.0
|
||||||
|
|||||||
75
templates/NetworkPolicy.yaml
Normal file
75
templates/NetworkPolicy.yaml
Normal file
@@ -0,0 +1,75 @@
|
|||||||
|
---
|
||||||
|
apiVersion: networking.k8s.io/v1
|
||||||
|
kind: NetworkPolicy
|
||||||
|
metadata:
|
||||||
|
name: dragonfly
|
||||||
|
namespace: memelord-raiko
|
||||||
|
spec:
|
||||||
|
podSelector:
|
||||||
|
matchLabels:
|
||||||
|
app: memelord-raiko-redis
|
||||||
|
policyTypes:
|
||||||
|
- Ingress
|
||||||
|
ingress:
|
||||||
|
# App -> Redis
|
||||||
|
- from:
|
||||||
|
- podSelector:
|
||||||
|
matchLabels:
|
||||||
|
app: memelord-raiko
|
||||||
|
ports:
|
||||||
|
- protocol: TCP
|
||||||
|
port: 6379
|
||||||
|
- from:
|
||||||
|
- podSelector:
|
||||||
|
matchLabels:
|
||||||
|
app: memelord-raiko-redis
|
||||||
|
ports:
|
||||||
|
- protocol: TCP
|
||||||
|
port: 6379
|
||||||
|
|
||||||
|
---
|
||||||
|
apiVersion: networking.k8s.io/v1
|
||||||
|
kind: NetworkPolicy
|
||||||
|
metadata:
|
||||||
|
name: postgres
|
||||||
|
namespace: memelord-raiko
|
||||||
|
spec:
|
||||||
|
podSelector:
|
||||||
|
matchLabels:
|
||||||
|
cnpg.io/cluster: memelord-raiko-database
|
||||||
|
policyTypes:
|
||||||
|
- Ingress
|
||||||
|
ingress:
|
||||||
|
- from:
|
||||||
|
- podSelector:
|
||||||
|
matchLabels:
|
||||||
|
app: memelord
|
||||||
|
- podSelector: # Primary-secondary replication!
|
||||||
|
matchLabels:
|
||||||
|
cnpg.io/cluster: memelord-raiko-database
|
||||||
|
ports:
|
||||||
|
- protocol: TCP
|
||||||
|
port: 5432
|
||||||
|
- ports: # Probes do work now!
|
||||||
|
- protocol: TCP
|
||||||
|
port: 8000
|
||||||
|
---
|
||||||
|
apiVersion: networking.k8s.io/v1
|
||||||
|
kind: NetworkPolicy
|
||||||
|
metadata:
|
||||||
|
name: memelord
|
||||||
|
namespace: memelord-raiko
|
||||||
|
spec:
|
||||||
|
podSelector:
|
||||||
|
matchLabels:
|
||||||
|
app: memelord
|
||||||
|
policyTypes:
|
||||||
|
- Ingress
|
||||||
|
ingress:
|
||||||
|
- from:
|
||||||
|
- namespaceSelector:
|
||||||
|
matchLabels:
|
||||||
|
kubernetes.io/metadata.name: traefik
|
||||||
|
ports:
|
||||||
|
- protocol: TCP
|
||||||
|
port: 8000
|
||||||
@@ -1,17 +1,16 @@
|
|||||||
apiVersion: apps/v1
|
apiVersion: apps/v1
|
||||||
kind: Deployment
|
kind: Deployment
|
||||||
metadata:
|
metadata:
|
||||||
name: memelord
|
name: {{ .Release.Name }}
|
||||||
namespace: memelord-raiko
|
|
||||||
spec:
|
spec:
|
||||||
replicas: 1
|
replicas: 1
|
||||||
selector:
|
selector:
|
||||||
matchLabels:
|
matchLabels:
|
||||||
app: memelord
|
app: {{ .Release.Name }}
|
||||||
template:
|
template:
|
||||||
metadata:
|
metadata:
|
||||||
labels:
|
labels:
|
||||||
app: memelord
|
app: {{ .Release.Name }}
|
||||||
spec:
|
spec:
|
||||||
containers:
|
containers:
|
||||||
- name: memelord
|
- name: memelord
|
||||||
@@ -24,38 +23,38 @@ spec:
|
|||||||
|
|
||||||
env:
|
env:
|
||||||
- name: DOMAIN
|
- name: DOMAIN
|
||||||
value: "memelord-raiko.ee-lte-1.codemowers.io"
|
value: {{ .Values.hostname | quote }}
|
||||||
- name: DB_ENGINE
|
- name: DB_ENGINE
|
||||||
value: "postgres"
|
value: "postgres"
|
||||||
- name: POSTGRES_USER
|
- name: POSTGRES_USER
|
||||||
valueFrom:
|
valueFrom:
|
||||||
secretKeyRef:
|
secretKeyRef:
|
||||||
name: memelord-raiko-database
|
name: {{ .Release.Name }}-database
|
||||||
key: username
|
key: username
|
||||||
- name: POSTGRES_HOST
|
- name: POSTGRES_HOST
|
||||||
value: "memelord-raiko-database-rw"
|
value: {{ .Release.Name }}-database-rw
|
||||||
- name: POSTGRES_PORT
|
- name: POSTGRES_PORT
|
||||||
value: "5432"
|
value: "5432"
|
||||||
- name: POSTGRES_DB
|
- name: POSTGRES_DB
|
||||||
value: "memelord-raiko"
|
value: {{ .Release.Name }}
|
||||||
- name: POSTGRES_PASSWORD
|
- name: POSTGRES_PASSWORD
|
||||||
valueFrom:
|
valueFrom:
|
||||||
secretKeyRef:
|
secretKeyRef:
|
||||||
name: memelord-raiko-database
|
name: {{ .Release.Name }}-database
|
||||||
key: password
|
key: password
|
||||||
- name: REDIS_HOST
|
- name: REDIS_HOST
|
||||||
value: "memelord-raiko-redis"
|
value: {{ .Release.Name }}-redis
|
||||||
- name: REDIS_PORT
|
- name: REDIS_PORT
|
||||||
value: "6379"
|
value: "6379"
|
||||||
- name: REDIS_PASSWORD
|
- name: REDIS_PASSWORD
|
||||||
valueFrom:
|
valueFrom:
|
||||||
secretKeyRef:
|
secretKeyRef:
|
||||||
name: memelord-raiko-redis
|
name: {{ .Release.Name }}-redis
|
||||||
key: redis-password
|
key: redis-password
|
||||||
- name: STORAGE_BACKEND
|
- name: STORAGE_BACKEND
|
||||||
value: "s3"
|
value: "s3"
|
||||||
- name: AWS_STORAGE_BUCKET_NAME
|
- name: AWS_STORAGE_BUCKET_NAME
|
||||||
value: "memelord-raiko"
|
value: {{ .Release.Name }}
|
||||||
- name: AWS_S3_ENDPOINT_URL
|
- name: AWS_S3_ENDPOINT_URL
|
||||||
value: "https://minio.ee-lte-1.codemowers.io/"
|
value: "https://minio.ee-lte-1.codemowers.io/"
|
||||||
- name: AWS_S3_REGION_NAME
|
- name: AWS_S3_REGION_NAME
|
||||||
@@ -63,12 +62,12 @@ spec:
|
|||||||
- name: AWS_ACCESS_KEY_ID
|
- name: AWS_ACCESS_KEY_ID
|
||||||
valueFrom:
|
valueFrom:
|
||||||
secretKeyRef:
|
secretKeyRef:
|
||||||
name: memelord-raiko-bucket
|
name: {{ .Release.Name }}-bucket
|
||||||
key: accessKey
|
key: accessKey
|
||||||
- name: AWS_SECRET_ACCESS_KEY
|
- name: AWS_SECRET_ACCESS_KEY
|
||||||
valueFrom:
|
valueFrom:
|
||||||
secretKeyRef:
|
secretKeyRef:
|
||||||
name: memelord-raiko-bucket
|
name: {{ .Release.Name }}-bucket
|
||||||
key: secretKey
|
key: secretKey
|
||||||
- name: OIDC_ENABLED
|
- name: OIDC_ENABLED
|
||||||
value: "True"
|
value: "True"
|
||||||
@@ -77,12 +76,12 @@ spec:
|
|||||||
- name: OIDC_RP_CLIENT_ID
|
- name: OIDC_RP_CLIENT_ID
|
||||||
valueFrom:
|
valueFrom:
|
||||||
secretKeyRef:
|
secretKeyRef:
|
||||||
name: oidc-client-memelord-raiko-owner-secrets
|
name: oidc-client-{{ .Release.Name }}-owner-secrets
|
||||||
key: OIDC_CLIENT_ID
|
key: OIDC_CLIENT_ID
|
||||||
- name: OIDC_RP_CLIENT_SECRET
|
- name: OIDC_RP_CLIENT_SECRET
|
||||||
valueFrom:
|
valueFrom:
|
||||||
secretKeyRef:
|
secretKeyRef:
|
||||||
name: oidc-client-memelord-raiko-owner-secrets
|
name: oidc-client-{{ .Release.Name }}-owner-secrets
|
||||||
key: OIDC_CLIENT_SECRET
|
key: OIDC_CLIENT_SECRET
|
||||||
- name: OIDC_OP_AUTHORIZATION_ENDPOINT
|
- name: OIDC_OP_AUTHORIZATION_ENDPOINT
|
||||||
value: "https://auth.ee-lte-1.codemowers.io/auth"
|
value: "https://auth.ee-lte-1.codemowers.io/auth"
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
apiVersion: secretgenerator.mittwald.de/v1alpha1
|
apiVersion: secretgenerator.mittwald.de/v1alpha1
|
||||||
kind: StringSecret
|
kind: StringSecret
|
||||||
metadata:
|
metadata:
|
||||||
name: memelord-raiko-redis
|
name: {{ .Release.Name }}-redis
|
||||||
spec:
|
spec:
|
||||||
fields:
|
fields:
|
||||||
- fieldName: redis-password
|
- fieldName: redis-password
|
||||||
@@ -12,11 +12,11 @@ spec:
|
|||||||
apiVersion: dragonflydb.io/v1alpha1
|
apiVersion: dragonflydb.io/v1alpha1
|
||||||
kind: Dragonfly
|
kind: Dragonfly
|
||||||
metadata:
|
metadata:
|
||||||
name: memelord-raiko-redis
|
name: {{ .Release.Name }}-redis
|
||||||
spec:
|
spec:
|
||||||
authentication:
|
authentication:
|
||||||
passwordFromSecret:
|
passwordFromSecret:
|
||||||
name: memelord-raiko-redis
|
name: {{ .Release.Name }}-redis
|
||||||
key: redis-password
|
key: redis-password
|
||||||
replicas: 1
|
replicas: 1
|
||||||
resources:
|
resources:
|
||||||
@@ -30,12 +30,12 @@ spec:
|
|||||||
apiVersion: secretgenerator.mittwald.de/v1alpha1
|
apiVersion: secretgenerator.mittwald.de/v1alpha1
|
||||||
kind: StringSecret
|
kind: StringSecret
|
||||||
metadata:
|
metadata:
|
||||||
name: memelord-raiko-database
|
name: {{ .Release.Name }}-database
|
||||||
labels:
|
labels:
|
||||||
cnpg.io/reload: "true"
|
cnpg.io/reload: "true"
|
||||||
spec:
|
spec:
|
||||||
data:
|
data:
|
||||||
username: memelord-raiko
|
username: {{ .Release.Name }}
|
||||||
fields:
|
fields:
|
||||||
- fieldName: password
|
- fieldName: password
|
||||||
length: "32"
|
length: "32"
|
||||||
@@ -44,7 +44,7 @@ spec:
|
|||||||
apiVersion: postgresql.cnpg.io/v1
|
apiVersion: postgresql.cnpg.io/v1
|
||||||
kind: Cluster
|
kind: Cluster
|
||||||
metadata:
|
metadata:
|
||||||
name: memelord-raiko-database
|
name: {{ .Release.Name }}-database
|
||||||
spec:
|
spec:
|
||||||
instances: 1
|
instances: 1
|
||||||
imageName: ghcr.io/cloudnative-pg/postgresql:17
|
imageName: ghcr.io/cloudnative-pg/postgresql:17
|
||||||
@@ -69,28 +69,28 @@ spec:
|
|||||||
effective_cache_size: "2GB"
|
effective_cache_size: "2GB"
|
||||||
managed:
|
managed:
|
||||||
roles:
|
roles:
|
||||||
- name: memelord-raiko
|
- name: {{ .Release.Name }}
|
||||||
ensure: present
|
ensure: present
|
||||||
login: true
|
login: true
|
||||||
passwordSecret:
|
passwordSecret:
|
||||||
name: memelord-raiko-database
|
name: {{ .Release.Name }}-database
|
||||||
---
|
---
|
||||||
apiVersion: postgresql.cnpg.io/v1
|
apiVersion: postgresql.cnpg.io/v1
|
||||||
kind: Database
|
kind: Database
|
||||||
metadata:
|
metadata:
|
||||||
name: memelord-raiko
|
name: {{ .Release.Name }}
|
||||||
spec:
|
spec:
|
||||||
name: memelord-raiko
|
name: {{ .Release.Name }}
|
||||||
owner: memelord-raiko
|
owner: {{ .Release.Name }}
|
||||||
cluster:
|
cluster:
|
||||||
name: memelord-raiko-database
|
name: {{ .Release.Name }}-database
|
||||||
---
|
---
|
||||||
apiVersion: s3.onyxia.sh/v1alpha1
|
apiVersion: s3.onyxia.sh/v1alpha1
|
||||||
kind: Policy
|
kind: Policy
|
||||||
metadata:
|
metadata:
|
||||||
name: memelord-raiko-policy
|
name: {{ .Release.Name }}-policy
|
||||||
spec:
|
spec:
|
||||||
name: memelord-raiko-policy
|
name: {{ .Release.Name }}-policy
|
||||||
s3InstanceRef: minio/default
|
s3InstanceRef: minio/default
|
||||||
policyContent: >-
|
policyContent: >-
|
||||||
{
|
{
|
||||||
@@ -102,8 +102,8 @@ spec:
|
|||||||
"s3:*"
|
"s3:*"
|
||||||
],
|
],
|
||||||
"Resource": [
|
"Resource": [
|
||||||
"arn:aws:s3:::memelord-raiko",
|
"arn:aws:s3:::{{ .Release.Name }}",
|
||||||
"arn:aws:s3:::memelord-raiko/*"
|
"arn:aws:s3:::{{ .Release.Name }}/*"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@@ -112,19 +112,19 @@ spec:
|
|||||||
apiVersion: s3.onyxia.sh/v1alpha1
|
apiVersion: s3.onyxia.sh/v1alpha1
|
||||||
kind: S3User
|
kind: S3User
|
||||||
metadata:
|
metadata:
|
||||||
name: memelord-raiko-bucket
|
name: {{ .Release.Name }}-bucket
|
||||||
spec:
|
spec:
|
||||||
accessKey: memelord-raiko-bucket
|
accessKey: {{ .Release.Name }}-bucket
|
||||||
policies:
|
policies:
|
||||||
- memelord-raiko-policy
|
- {{ .Release.Name }}-policy
|
||||||
s3InstanceRef: minio/default
|
s3InstanceRef: minio/default
|
||||||
---
|
---
|
||||||
apiVersion: s3.onyxia.sh/v1alpha1
|
apiVersion: s3.onyxia.sh/v1alpha1
|
||||||
kind: Bucket
|
kind: Bucket
|
||||||
metadata:
|
metadata:
|
||||||
name: memelord-raiko
|
name: {{ .Release.Name }}
|
||||||
spec:
|
spec:
|
||||||
name: memelord-raiko
|
name: {{ .Release.Name }}
|
||||||
s3InstanceRef: minio/default
|
s3InstanceRef: minio/default
|
||||||
quota:
|
quota:
|
||||||
default: 100000000
|
default: 100000000
|
||||||
@@ -132,11 +132,11 @@ spec:
|
|||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
kind: Service
|
kind: Service
|
||||||
metadata:
|
metadata:
|
||||||
name: memelord
|
name: {{ .Release.Name }}
|
||||||
spec:
|
spec:
|
||||||
type: ClusterIP
|
type: ClusterIP
|
||||||
selector:
|
selector:
|
||||||
app: memelord
|
app: {{ .Release.Name }}
|
||||||
ports:
|
ports:
|
||||||
- name: http
|
- name: http
|
||||||
port: 80
|
port: 80
|
||||||
@@ -145,11 +145,11 @@ spec:
|
|||||||
apiVersion: cert-manager.io/v1
|
apiVersion: cert-manager.io/v1
|
||||||
kind: Certificate
|
kind: Certificate
|
||||||
metadata:
|
metadata:
|
||||||
name: memelord-raiko
|
name: {{ .Release.Name }}
|
||||||
spec:
|
spec:
|
||||||
secretName: memelord-raiko-tls
|
secretName: {{ .Release.Name }}-tls
|
||||||
dnsNames:
|
dnsNames:
|
||||||
- memelord-raiko.ee-lte-1.codemowers.io
|
- {{ .Values.hostname }}
|
||||||
issuerRef:
|
issuerRef:
|
||||||
name: letsencrypt
|
name: letsencrypt
|
||||||
kind: ClusterIssuer
|
kind: ClusterIssuer
|
||||||
@@ -157,21 +157,40 @@ spec:
|
|||||||
apiVersion: networking.k8s.io/v1
|
apiVersion: networking.k8s.io/v1
|
||||||
kind: Ingress
|
kind: Ingress
|
||||||
metadata:
|
metadata:
|
||||||
name: memelord-raiko
|
name: {{ .Release.Name }}
|
||||||
annotations:
|
annotations:
|
||||||
traefik.ingress.kubernetes.io/router.entrypoints: websecure
|
traefik.ingress.kubernetes.io/router.entrypoints: websecure
|
||||||
spec:
|
spec:
|
||||||
ingressClassName: traefik
|
ingressClassName: traefik
|
||||||
rules:
|
rules:
|
||||||
- host: memelord-raiko.ee-lte-1.codemowers.io
|
- host: {{ .Values.hostname }}
|
||||||
http:
|
http:
|
||||||
paths:
|
paths:
|
||||||
- pathType: Prefix
|
- pathType: Prefix
|
||||||
path: "/"
|
path: "/"
|
||||||
backend:
|
backend:
|
||||||
service:
|
service:
|
||||||
name: memelord
|
name: {{ .Release.Name }}
|
||||||
port:
|
port:
|
||||||
number: 80
|
number: 80
|
||||||
tls:
|
tls:
|
||||||
- secretName: memelord-raiko-tls
|
- secretName: {{ .Release.Name }}-tls
|
||||||
|
---
|
||||||
|
apiVersion: codemowers.cloud/v1beta1
|
||||||
|
kind: OIDCClient
|
||||||
|
metadata:
|
||||||
|
name: {{ .Release.Name }}
|
||||||
|
spec:
|
||||||
|
displayName: Memelord Raiko
|
||||||
|
uri: https://{{ .Values.hostname }}/oidc/authenticate/
|
||||||
|
redirectUris:
|
||||||
|
- https://{{ .Values.hostname }}/oidc/callback/
|
||||||
|
grantTypes:
|
||||||
|
- authorization_code
|
||||||
|
- refresh_token
|
||||||
|
responseTypes:
|
||||||
|
- code
|
||||||
|
availableScopes:
|
||||||
|
- openid
|
||||||
|
- profile
|
||||||
|
pkce: false
|
||||||
|
|||||||
@@ -2,8 +2,7 @@
|
|||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
kind: ConfigMap
|
kind: ConfigMap
|
||||||
metadata:
|
metadata:
|
||||||
name: grafana-datasources
|
name: {{ .Release.Name }}-grafana-datasources
|
||||||
namespace: memelord-raiko
|
|
||||||
data:
|
data:
|
||||||
datasources.yaml: |
|
datasources.yaml: |
|
||||||
apiVersion: 1
|
apiVersion: 1
|
||||||
@@ -24,20 +23,19 @@ data:
|
|||||||
apiVersion: apps/v1
|
apiVersion: apps/v1
|
||||||
kind: StatefulSet
|
kind: StatefulSet
|
||||||
metadata:
|
metadata:
|
||||||
name: grafana
|
name: {{ .Release.Name }}-grafana
|
||||||
namespace: memelord-raiko
|
|
||||||
labels:
|
labels:
|
||||||
app: grafana
|
app: {{ .Release.Name }}-grafana
|
||||||
spec:
|
spec:
|
||||||
serviceName: grafana
|
serviceName: {{ .Release.Name }}-grafana
|
||||||
replicas: 1
|
replicas: 1
|
||||||
selector:
|
selector:
|
||||||
matchLabels:
|
matchLabels:
|
||||||
app: grafana
|
app: {{ .Release.Name }}-grafana
|
||||||
template:
|
template:
|
||||||
metadata:
|
metadata:
|
||||||
labels:
|
labels:
|
||||||
app: grafana
|
app: {{ .Release.Name }}-grafana
|
||||||
spec:
|
spec:
|
||||||
containers:
|
containers:
|
||||||
- name: grafana
|
- name: grafana
|
||||||
@@ -53,7 +51,7 @@ spec:
|
|||||||
value: /var/lib/grafana/grafana.db
|
value: /var/lib/grafana/grafana.db
|
||||||
|
|
||||||
- name: GF_SERVER_ROOT_URL
|
- name: GF_SERVER_ROOT_URL
|
||||||
value: https://grafana-raiko.ee-lte-1.codemowers.io
|
value: https://{{ .Values.grafanaHostname }}
|
||||||
|
|
||||||
- name: GF_AUTH_GENERIC_OAUTH_ENABLED
|
- name: GF_AUTH_GENERIC_OAUTH_ENABLED
|
||||||
value: "true"
|
value: "true"
|
||||||
@@ -64,12 +62,12 @@ spec:
|
|||||||
- name: GF_AUTH_GENERIC_OAUTH_CLIENT_ID
|
- name: GF_AUTH_GENERIC_OAUTH_CLIENT_ID
|
||||||
valueFrom:
|
valueFrom:
|
||||||
secretKeyRef:
|
secretKeyRef:
|
||||||
name: oidc-client-grafana-raiko-owner-secrets
|
name: oidc-client-grafana-{{ .Release.Name }}-owner-secrets
|
||||||
key: OIDC_CLIENT_ID
|
key: OIDC_CLIENT_ID
|
||||||
- name: GF_AUTH_GENERIC_OAUTH_CLIENT_SECRET
|
- name: GF_AUTH_GENERIC_OAUTH_CLIENT_SECRET
|
||||||
valueFrom:
|
valueFrom:
|
||||||
secretKeyRef:
|
secretKeyRef:
|
||||||
name: oidc-client-grafana-raiko-owner-secrets
|
name: oidc-client-grafana-{{ .Release.Name }}-owner-secrets
|
||||||
key: OIDC_CLIENT_SECRET
|
key: OIDC_CLIENT_SECRET
|
||||||
- name: GF_AUTH_GENERIC_OAUTH_SCOPES
|
- name: GF_AUTH_GENERIC_OAUTH_SCOPES
|
||||||
value: "openid profile groups"
|
value: "openid profile groups"
|
||||||
@@ -79,8 +77,6 @@ spec:
|
|||||||
value: "http://passmower.passmower.svc.cluster.local/token"
|
value: "http://passmower.passmower.svc.cluster.local/token"
|
||||||
- name: GF_AUTH_GENERIC_OAUTH_API_URL
|
- name: GF_AUTH_GENERIC_OAUTH_API_URL
|
||||||
value: "http://passmower.passmower.svc.cluster.local/me"
|
value: "http://passmower.passmower.svc.cluster.local/me"
|
||||||
# - name: GF_AUTH_GENERIC_OAUTH_SIGNOUT_REDIRECT_URL
|
|
||||||
# value: "https://auth.ee-lte-1.codemowers.io//openid/session/end"
|
|
||||||
|
|
||||||
- name: GF_AUTH_GENERIC_OAUTH_ROLE_ATTRIBUTE_PATH
|
- name: GF_AUTH_GENERIC_OAUTH_ROLE_ATTRIBUTE_PATH
|
||||||
value: "contains(groups[*], 'github.com:codemowers:admins') && 'Admin' || Viewer"
|
value: "contains(groups[*], 'github.com:codemowers:admins') && 'Admin' || Viewer"
|
||||||
@@ -94,11 +90,10 @@ spec:
|
|||||||
- name: datasources
|
- name: datasources
|
||||||
mountPath: /etc/grafana/provisioning/datasources
|
mountPath: /etc/grafana/provisioning/datasources
|
||||||
|
|
||||||
|
|
||||||
volumes:
|
volumes:
|
||||||
- name: datasources
|
- name: datasources
|
||||||
configMap:
|
configMap:
|
||||||
name: grafana-datasources
|
name: {{ .Release.Name }}-grafana-datasources
|
||||||
|
|
||||||
volumeClaimTemplates:
|
volumeClaimTemplates:
|
||||||
- metadata:
|
- metadata:
|
||||||
@@ -114,14 +109,13 @@ spec:
|
|||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
kind: Service
|
kind: Service
|
||||||
metadata:
|
metadata:
|
||||||
name: grafana
|
name: {{ .Release.Name }}-grafana
|
||||||
namespace: memelord-raiko
|
|
||||||
labels:
|
labels:
|
||||||
app: grafana
|
app: {{ .Release.Name }}-grafana
|
||||||
spec:
|
spec:
|
||||||
type: ClusterIP
|
type: ClusterIP
|
||||||
selector:
|
selector:
|
||||||
app: grafana
|
app: {{ .Release.Name }}-grafana
|
||||||
ports:
|
ports:
|
||||||
- name: http
|
- name: http
|
||||||
port: 80
|
port: 80
|
||||||
@@ -130,12 +124,11 @@ spec:
|
|||||||
apiVersion: cert-manager.io/v1
|
apiVersion: cert-manager.io/v1
|
||||||
kind: Certificate
|
kind: Certificate
|
||||||
metadata:
|
metadata:
|
||||||
name: grafana-raiko
|
name: grafana-{{ .Release.Name }}
|
||||||
namespace: memelord-raiko
|
|
||||||
spec:
|
spec:
|
||||||
secretName: grafana-raiko-tls
|
secretName: grafana-{{ .Release.Name }}-tls
|
||||||
dnsNames:
|
dnsNames:
|
||||||
- grafana-raiko.ee-lte-1.codemowers.io
|
- {{ .Values.grafanaHostname }}
|
||||||
issuerRef:
|
issuerRef:
|
||||||
name: letsencrypt
|
name: letsencrypt
|
||||||
kind: ClusterIssuer
|
kind: ClusterIssuer
|
||||||
@@ -143,35 +136,33 @@ spec:
|
|||||||
apiVersion: networking.k8s.io/v1
|
apiVersion: networking.k8s.io/v1
|
||||||
kind: Ingress
|
kind: Ingress
|
||||||
metadata:
|
metadata:
|
||||||
name: grafana-raiko
|
name: grafana-{{ .Release.Name }}
|
||||||
namespace: memelord-raiko
|
|
||||||
annotations:
|
annotations:
|
||||||
traefik.ingress.kubernetes.io/router.entrypoints: websecure
|
traefik.ingress.kubernetes.io/router.entrypoints: websecure
|
||||||
spec:
|
spec:
|
||||||
rules:
|
rules:
|
||||||
- host: grafana-raiko.ee-lte-1.codemowers.io
|
- host: {{ .Values.grafanaHostname }}
|
||||||
http:
|
http:
|
||||||
paths:
|
paths:
|
||||||
- pathType: Prefix
|
- pathType: Prefix
|
||||||
path: "/"
|
path: "/"
|
||||||
backend:
|
backend:
|
||||||
service:
|
service:
|
||||||
name: grafana
|
name: {{ .Release.Name }}-grafana
|
||||||
port:
|
port:
|
||||||
number: 80
|
number: 80
|
||||||
tls:
|
tls:
|
||||||
- secretName: grafana-raiko-tls
|
- secretName: grafana-{{ .Release.Name }}-tls
|
||||||
---
|
---
|
||||||
apiVersion: codemowers.cloud/v1beta1
|
apiVersion: codemowers.cloud/v1beta1
|
||||||
kind: OIDCClient
|
kind: OIDCClient
|
||||||
metadata:
|
metadata:
|
||||||
name: grafana-raiko
|
name: grafana-{{ .Release.Name }}
|
||||||
namespace: memelord-raiko
|
|
||||||
spec:
|
spec:
|
||||||
displayName: Grafana Raiko
|
displayName: Grafana {{ .Release.Name }}
|
||||||
uri: https://grafana-raiko.ee-lte-1.codemowers.io/
|
uri: https://{{ .Values.grafanaHostname }}/
|
||||||
redirectUris:
|
redirectUris:
|
||||||
- https://grafana-raiko.ee-lte-1.codemowers.io/login/generic_oauth
|
- https://{{ .Values.grafanaHostname }}/login/generic_oauth
|
||||||
grantTypes:
|
grantTypes:
|
||||||
- authorization_code
|
- authorization_code
|
||||||
- refresh_token
|
- refresh_token
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
apiVersion: monitoring.coreos.com/v1
|
apiVersion: monitoring.coreos.com/v1
|
||||||
kind: Probe
|
kind: Probe
|
||||||
metadata:
|
metadata:
|
||||||
name: reddit-probe
|
name: {{ .Release.Name }}-reddit-probe
|
||||||
spec:
|
spec:
|
||||||
module: http_2xx
|
module: http_2xx
|
||||||
prober:
|
prober:
|
||||||
|
|||||||
54
templates/kyverno.yaml
Normal file
54
templates/kyverno.yaml
Normal file
@@ -0,0 +1,54 @@
|
|||||||
|
# ---
|
||||||
|
# apiVersion: kyverno.io/v1
|
||||||
|
# kind: Policy
|
||||||
|
# metadata:
|
||||||
|
# name: add-default-securitycontext
|
||||||
|
# namespace: memelord-raiko
|
||||||
|
# spec:
|
||||||
|
# rules:
|
||||||
|
# - name: add-default-securitycontext
|
||||||
|
# match:
|
||||||
|
# any:
|
||||||
|
# - resources:
|
||||||
|
# kinds:
|
||||||
|
# - Pod
|
||||||
|
# mutate:
|
||||||
|
# patchStrategicMerge:
|
||||||
|
# spec:
|
||||||
|
# securityContext:
|
||||||
|
# +(runAsNonRoot): true
|
||||||
|
# +(runAsUser): 1000
|
||||||
|
# +(runAsGroup): 3000
|
||||||
|
# +(fsGroup): 2000
|
||||||
|
#
|
||||||
|
# ---
|
||||||
|
# apiVersion: kyverno.io/v1
|
||||||
|
# kind: Policy
|
||||||
|
# metadata:
|
||||||
|
# name: require-run-as-non-root-user
|
||||||
|
# namespace: memelord-raiko
|
||||||
|
# spec:
|
||||||
|
# validationFailureAction: Enforce
|
||||||
|
# background: false
|
||||||
|
# rules:
|
||||||
|
# - name: run-as-non-root-user
|
||||||
|
# match:
|
||||||
|
# any:
|
||||||
|
# - resources:
|
||||||
|
# kinds:
|
||||||
|
# - Pod
|
||||||
|
# validate:
|
||||||
|
# message: Running as root is not allowed. The fields spec.securityContext.runAsUser, spec.containers[*].securityContext.runAsUser, spec.initContainers[*].securityContext.runAsUser, and spec.ephemeralContainers[*].securityContext.runAsUser must be unset or set to a number greater than zero.
|
||||||
|
# pattern:
|
||||||
|
# spec:
|
||||||
|
# "=(securityContext)":
|
||||||
|
# "=(runAsUser)": ">0"
|
||||||
|
# "=(ephemeralContainers)":
|
||||||
|
# - "=(securityContext)":
|
||||||
|
# "=(runAsUser)": ">0"
|
||||||
|
# "=(initContainers)":
|
||||||
|
# - "=(securityContext)":
|
||||||
|
# "=(runAsUser)": ">0"
|
||||||
|
# containers:
|
||||||
|
# - "=(securityContext)":
|
||||||
|
# "=(runAsUser)": ">0"
|
||||||
@@ -1 +1,2 @@
|
|||||||
hostname: memelord-raiko.ee-lte-1.codemowers.io
|
hostname: memelord-raiko.ee-lte-1.codemowers.io
|
||||||
|
grafanaHostname: grafana-raiko.ee-lte-1.codemowers.io
|
||||||
|
|||||||
Reference in New Issue
Block a user