Compare commits

..

1 Commits

Author SHA1 Message Date
4cbc6c3972 feat(hydra): add horizontal pod autoscaling 2023-12-11 16:48:50 +01:00
7 changed files with 88 additions and 56 deletions

View File

@ -7,7 +7,7 @@ resources:
- ./resources/oauth2-client.yaml - ./resources/oauth2-client.yaml
configMapGenerator: configMapGenerator:
- name: oidc-test-env - name: oidc-test
literals: literals:
- LOG_LEVEL=0 - LOG_LEVEL=0
- HTTP_ADDRESS=0.0.0.0:8080 - HTTP_ADDRESS=0.0.0.0:8080

View File

@ -17,23 +17,23 @@ spec:
app.kubernetes.io/name: oidc-test app.kubernetes.io/name: oidc-test
spec: spec:
containers: containers:
- image: reg.cadoles.com/cadoles/oidc-test:2023.12.6-stable.1502.ebfd504 - image: reg.cadoles.com/cadoles/oidc-test:2023.12.6-stable.1502.ebfd504
name: oidc-test name: oidc-test
ports: ports:
- containerPort: 8080 - containerPort: 8080
resources: {} resources: {}
envFrom: envFrom:
- configMapRef: - configMapRef:
name: oidc-test-env name: oidc-test
env: env:
- name: OIDC_CLIENT_ID - name: OIDC_CLIENT_ID
valueFrom: valueFrom:
secretKeyRef: secretKeyRef:
name: oidc-test-oauth2-client name: oidc-test-oauth2-client
key: CLIENT_ID key: client_id
- name: OIDC_CLIENT_SECRET - name: OIDC_CLIENT_SECRET
valueFrom: valueFrom:
secretKeyRef: secretKeyRef:
name: oidc-test-oauth2-client name: oidc-test-oauth2-client
key: CLIENT_SECRET key: client_secret
restartPolicy: Always restartPolicy: Always

View File

@ -10,6 +10,7 @@ resources:
- ./resources/hydra-migrate-job.yaml - ./resources/hydra-migrate-job.yaml
- ./resources/hydra-maester - ./resources/hydra-maester
- ./resources/hydra-janitor-cronjob.yaml - ./resources/hydra-janitor-cronjob.yaml
- ./resources/hydra-hpa.yaml
secretGenerator: secretGenerator:
- name: hydra-secret - name: hydra-secret

View File

@ -55,6 +55,9 @@ spec:
name: hydra-public name: hydra-public
- containerPort: 4445 - containerPort: 4445
name: hydra-admin name: hydra-admin
resources: {} resources:
requests:
cpu: 100m
memory: 128Mi
restartPolicy: Always restartPolicy: Always

View File

@ -0,0 +1,26 @@
apiVersion: autoscaling/v2
kind: HorizontalPodAutoscaler
metadata:
name: hydra
labels:
io.kompose.service: hydra
spec:
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: hydra
minReplicas: 1
maxReplicas: 3
metrics:
- type: Resource
resource:
name: memory
target:
type: Utilization
averageUtilization: 80
- type: Resource
resource:
name: cpu
target:
type: Utilization
averageUtilization: 80

View File

@ -2,14 +2,14 @@ apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization kind: Kustomization
resources: resources:
- ./resources/hydra-maester-deployment.yaml - ./resources/hydra-maester-deployment.yaml
- ./resources/hydra-maester-rbac.yaml - ./resources/hydra-maester-rbac.yaml
#- https://raw.githubusercontent.com/ory/k8s/v0.28.2/helm/charts/hydra-maester/crds/crd-oauth2clients.yaml - https://raw.githubusercontent.com/ory/k8s/v0.28.2/helm/charts/hydra-maester/crds/crd-oauth2clients.yaml
configMapGenerator: configMapGenerator:
- name: hydra-maester-env - name: hydra-maester-env
literals: literals:
- APP_ENV=prod - APP_ENV=prod
- APP_DEBUG=false - APP_DEBUG=false
- HYDRA_ADMIN_BASE_URL=http://hydra - HYDRA_ADMIN_BASE_URL=http://hydra
- HYDRA_ADMIN_PORT=4445 - HYDRA_ADMIN_PORT=4445

View File

@ -1,3 +1,4 @@
---
# Source: hydra/charts/hydra-maester/templates/deployment.yaml # Source: hydra/charts/hydra-maester/templates/deployment.yaml
apiVersion: apps/v1 apiVersion: apps/v1
kind: Deployment kind: Deployment
@ -6,7 +7,7 @@ metadata:
labels: labels:
app.kubernetes.io/name: hydra-maester app.kubernetes.io/name: hydra-maester
app.kubernetes.io/instance: hydra-master app.kubernetes.io/instance: hydra-master
app.kubernetes.io/version: "v0.0.32" app.kubernetes.io/version: "v0.0.23"
spec: spec:
replicas: 1 replicas: 1
revisionHistoryLimit: 10 revisionHistoryLimit: 10
@ -24,31 +25,32 @@ spec:
annotations: annotations:
spec: spec:
containers: containers:
- name: hydra-maester - name: hydra-maester
image: reg.cadoles.com/proxy_cache/oryd/hydra-maester:v0.0.32-amd64 image: reg.cadoles.com/proxy_cache/oryd/hydra-maester:v0.0.25
imagePullPolicy: IfNotPresent imagePullPolicy: IfNotPresent
envFrom: envFrom:
- configMapRef: - configMapRef:
name: hydra-maester-env name: hydra-maester-env
command: command:
- /manager - /manager
args: args:
- --metrics-addr=127.0.0.1:8080 - --metrics-addr=127.0.0.1:8080
- --hydra-url=$(HYDRA_ADMIN_BASE_URL) - --hydra-url=$(HYDRA_ADMIN_BASE_URL)
- --hydra-port=$(HYDRA_ADMIN_PORT) - --hydra-port=$(HYDRA_ADMIN_PORT)
- --endpoint=/admin/clients - --endpoint=/admin/clients
resources: {} resources:
terminationMessagePath: /dev/termination-log {}
terminationMessagePolicy: File terminationMessagePath: /dev/termination-log
securityContext: terminationMessagePolicy: File
allowPrivilegeEscalation: false securityContext:
capabilities: allowPrivilegeEscalation: false
drop: capabilities:
- ALL drop:
privileged: false - ALL
readOnlyRootFilesystem: true privileged: false
runAsNonRoot: true readOnlyRootFilesystem: true
runAsUser: 1000 runAsNonRoot: true
runAsUser: 1000
serviceAccountName: hydra-maester-account serviceAccountName: hydra-maester-account
automountServiceAccountToken: true automountServiceAccountToken: true
nodeSelector: nodeSelector: