Deploy KeyCape-backed portal login edge
This commit is contained in:
parent
eac9d655b0
commit
9a486c3531
5 changed files with 145 additions and 2 deletions
74
sso-mfa/k8s/user-engine/ingress.yaml
Normal file
74
sso-mfa/k8s/user-engine/ingress.yaml
Normal file
|
|
@ -0,0 +1,74 @@
|
|||
apiVersion: traefik.io/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: user-engine-security
|
||||
namespace: user-engine
|
||||
spec:
|
||||
chain:
|
||||
middlewares:
|
||||
- name: user-engine-rate-limit
|
||||
- name: user-engine-headers
|
||||
---
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: user-engine-rate-limit
|
||||
namespace: user-engine
|
||||
spec:
|
||||
rateLimit:
|
||||
average: 60
|
||||
period: 1m
|
||||
burst: 20
|
||||
---
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: user-engine-headers
|
||||
namespace: user-engine
|
||||
spec:
|
||||
headers:
|
||||
stsSeconds: 31536000
|
||||
stsIncludeSubdomains: true
|
||||
contentTypeNosniff: true
|
||||
frameDeny: true
|
||||
referrerPolicy: no-referrer
|
||||
---
|
||||
apiVersion: networking.k8s.io/v1
|
||||
kind: Ingress
|
||||
metadata:
|
||||
name: user-engine
|
||||
namespace: user-engine
|
||||
annotations:
|
||||
cert-manager.io/cluster-issuer: letsencrypt-prod
|
||||
traefik.ingress.kubernetes.io/router.middlewares: user-engine-user-engine-security@kubernetescrd
|
||||
spec:
|
||||
ingressClassName: traefik
|
||||
rules:
|
||||
- host: users.92-205-62-239.nip.io
|
||||
http:
|
||||
paths:
|
||||
- path: /
|
||||
pathType: Prefix
|
||||
backend:
|
||||
service:
|
||||
name: user-engine
|
||||
port: {number: 8080}
|
||||
tls:
|
||||
- secretName: user-engine-tls
|
||||
hosts: [users.92-205-62-239.nip.io]
|
||||
---
|
||||
apiVersion: networking.k8s.io/v1
|
||||
kind: NetworkPolicy
|
||||
metadata:
|
||||
name: allow-acme-http01
|
||||
namespace: user-engine
|
||||
spec:
|
||||
podSelector:
|
||||
matchLabels:
|
||||
acme.cert-manager.io/http01-solver: "true"
|
||||
policyTypes: [Ingress]
|
||||
ingress:
|
||||
- from:
|
||||
- namespaceSelector:
|
||||
matchLabels: {kubernetes.io/metadata.name: kube-system}
|
||||
ports: [{protocol: TCP, port: 8089}]
|
||||
|
|
@ -45,7 +45,7 @@ spec:
|
|||
seccompProfile: {type: RuntimeDefault}
|
||||
containers:
|
||||
- name: portal
|
||||
image: user-engine:portal-c27012a
|
||||
image: user-engine:portal-268b315
|
||||
imagePullPolicy: Never
|
||||
ports: [{name: http, containerPort: 8080}]
|
||||
env:
|
||||
|
|
@ -58,6 +58,9 @@ spec:
|
|||
- {name: USER_ENGINE_LOGIN_URL, value: "https://kc.coulomb.social/"}
|
||||
- {name: USER_ENGINE_OIDC_ISSUER, value: "https://kc.coulomb.social"}
|
||||
- {name: USER_ENGINE_OIDC_AUDIENCE, value: user-engine-portal}
|
||||
- {name: USER_ENGINE_OIDC_CLIENT_ID, value: user-engine-portal}
|
||||
- {name: USER_ENGINE_OIDC_REDIRECT_URI, value: "https://users.92-205-62-239.nip.io/oidc/callback"}
|
||||
- {name: USER_ENGINE_OIDC_BACKEND_URL, value: "http://keycape.sso.svc.cluster.local:8080"}
|
||||
- {name: USER_ENGINE_PUBLIC_REGISTRATION, value: "false"}
|
||||
securityContext:
|
||||
allowPrivilegeEscalation: false
|
||||
|
|
@ -108,6 +111,12 @@ spec:
|
|||
- podSelector:
|
||||
matchLabels: {cnpg.io/cluster: user-engine-pg}
|
||||
ports: [{protocol: TCP, port: 5432}]
|
||||
- to:
|
||||
- namespaceSelector:
|
||||
matchLabels: {kubernetes.io/metadata.name: sso}
|
||||
podSelector:
|
||||
matchLabels: {app.kubernetes.io/name: keycape}
|
||||
ports: [{protocol: TCP, port: 8080}]
|
||||
- to:
|
||||
- namespaceSelector:
|
||||
matchLabels: {kubernetes.io/metadata.name: kube-system}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue