kube-cascade/node-red/node-red-1.yaml

133 lines
3.6 KiB
YAML

apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: node-red-1
name: node-red-1
namespace: node-red
spec:
progressDeadlineSeconds: 600
replicas: 1
revisionHistoryLimit: 10
selector:
matchLabels:
app: node-red-1
strategy:
rollingUpdate:
maxSurge: 25%
maxUnavailable: 25%
type: RollingUpdate
template:
metadata:
annotations:
vault.hashicorp.com/agent-inject: "true"
vault.hashicorp.com/agent-inject-secret-config.cfg: x
vault.hashicorp.com/agent-inject-template-config.cfg: |
cookie_secret='0ViLJk3i3NNRaTvoIFlXaA=='
cookie_domains=['werts.us']
whitelist_domains=[".werts.us"]
# only users with this domain will be let in
email_domains=["werts.us","strudelline.net","andariese.net"]
{{- with secret "kvv2/data/k8s-ns/node-red/node-red-1-werts-oidc" }}
client_id="{{ .Data.data.client_id }}"
client_secret="{{ .Data.data.client_secret }}"
{{- end }}
cookie_secure="false"
redirect_url="https://red-1.werts.us/oauth2/callback"
upstreams = [ "http://localhost:1880" ]
skip_auth_routes = [
"!=^/admin(/.*)?$"
]
reverse_proxy = true
set_xauthrequest = true
provider="oidc"
oidc_issuer_url="https://auth.werts.us/realms/werts"
vault.hashicorp.com/role: default
creationTimestamp: null
labels:
app: node-red-1
spec:
containers:
- env:
- name: CHROMIUM_USER_FLAGS
value: --no-sandbox --disable-setuid-sandbox
image: jamesandariese/node-red-with-chrome
imagePullPolicy: Always
name: node-red-1
resources: {}
terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File
volumeMounts:
- mountPath: /data
name: data-pv
- image: haproxy
imagePullPolicy: Always
name: haproxy
resources: {}
terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File
volumeMounts:
- mountPath: /usr/local/etc/haproxy
name: haproxy-config
readOnly: true
- args:
- --http-address=0.0.0.0:4180
- --config=/vault/secrets/config.cfg
image: quay.io/oauth2-proxy/oauth2-proxy:v7.4.0
imagePullPolicy: IfNotPresent
livenessProbe:
failureThreshold: 3
httpGet:
path: /ping
port: http
scheme: HTTP
periodSeconds: 10
successThreshold: 1
timeoutSeconds: 1
name: oauth2-proxy
ports:
- containerPort: 4180
name: http
protocol: TCP
resources: {}
terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File
dnsPolicy: ClusterFirst
restartPolicy: Always
schedulerName: default-scheduler
securityContext: {}
terminationGracePeriodSeconds: 30
volumes:
- name: data-pv
nfs:
path: /volume1/k8s-volumes/node-red-1
server: 172.16.18.1
- configMap:
defaultMode: 420
name: node-red-1-haproxy-config
name: haproxy-config
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: node-red-1
namespace: node-red
spec:
ingressClassName: istio
rules:
- host: red-1.werts.us
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: node-red-1
port:
number: 4180