Compare commits

...

5 Commits

4 changed files with 60 additions and 10 deletions

View File

@ -16,10 +16,12 @@ set -o nounset
# -> delete "cascade" on table "flow" cleans access, code, oidc, pkce and refresh tables. # -> delete "cascade" on table "flow" cleans access, code, oidc, pkce and refresh tables.
# For table authentication_session, a simple delete on this table should be enough.
DSN="${DSN:-postgresql://${HYDRA_DATABASE_USER}:${HYDRA_DATABASE_PASSWORD}@${HYDRA_DATABASE_SERVICE_NAME}:${HYDRA_DATABASE_SERVICE_PORT:-5432}/hydra?sslmode=disable}" DSN="${DSN:-postgresql://${HYDRA_DATABASE_USER}:${HYDRA_DATABASE_PASSWORD}@${HYDRA_DATABASE_SERVICE_NAME}:${HYDRA_DATABASE_SERVICE_PORT:-5432}/hydra?sslmode=disable}"
RETENTION_HOURS="${RETENTION_HOURS:-48}" RETENTION_HOURS="${RETENTION_HOURS:-48}"
BATCH_SIZE="${BATCH_SIZE:-50}" BATCH_SIZE="${BATCH_SIZE:-50}"
BATCH_SIZE_ORIG="${BATCH_SIZE}"
LIMIT="${LIMIT:-1000}" LIMIT="${LIMIT:-1000}"
BEFORE_DATE="$(date +'%Y-%m-%d %H:%M:%S' --date=@$(($(date +%s) - RETENTION_HOURS * 3600)))" BEFORE_DATE="$(date +'%Y-%m-%d %H:%M:%S' --date=@$(($(date +%s) - RETENTION_HOURS * 3600)))"
@ -86,7 +88,43 @@ EOF
log "${OUTPUT}" log "${OUTPUT}"
if ! [[ "${OUTPUT}" =~ '^DELETE ' ]] ; then if ! [[ "${OUTPUT}" =~ '^DELETE ' ]] ; then
log "Output doesn't seems OK..." log "Output doesn't seem OK..."
break
fi
OUTPUT_NB=$(echo "${OUTPUT}" | cut -d' ' -f 2)
if [ "${OUTPUT_NB}" -lt "${BATCH_SIZE}" ]; then
break
fi
REMAINING_ELMTS=$((REMAINING_ELMTS - BATCH_SIZE))
if [ "${REMAINING_ELMTS}" -lt "${BATCH_SIZE}" ]; then
BATCH_SIZE="${REMAINING_ELMTS}"
fi
done
BATCH_SIZE="${BATCH_SIZE_ORIG}"
REMAINING_ELMTS="${LIMIT}"
while [ "${REMAINING_ELMTS}" -gt 0 ]; do
OUTPUT=$(psql "${DSN}" <<EOF
DELETE
FROM hydra_oauth2_authentication_session
WHERE id = ANY (
array(
SELECT id
FROM hydra_oauth2_authentication_session
WHERE authenticated_at < '${BEFORE_DATE}'
LIMIT ${BATCH_SIZE}
)
);
EOF
)
log "${OUTPUT}"
if ! [[ "${OUTPUT}" =~ '^DELETE ' ]] ; then
log "Output doesn't seem OK..."
break break
fi fi
OUTPUT_NB=$(echo "${OUTPUT}" | cut -d' ' -f 2) OUTPUT_NB=$(echo "${OUTPUT}" | cut -d' ' -f 2)

View File

@ -18,7 +18,7 @@ spec:
spec: spec:
containers: containers:
- name: hydra-oidc-php-fpm - name: hydra-oidc-php-fpm
image: reg.cadoles.com/cadoles/hydra-oidc-base:2025.5.12-develop.1308.4d1b0a4 image: reg.cadoles.com/cadoles/hydra-oidc-base:2025.6.13-develop.1333.aa5c382
imagePullPolicy: IfNotPresent imagePullPolicy: IfNotPresent
args: ["/usr/sbin/php-fpm81", "-F", "-e"] args: ["/usr/sbin/php-fpm81", "-F", "-e"]
readinessProbe: readinessProbe:
@ -55,7 +55,7 @@ spec:
runAsUser: 1000 runAsUser: 1000
- name: hydra-oidc-caddy - name: hydra-oidc-caddy
image: reg.cadoles.com/cadoles/hydra-oidc-base:2025.5.12-develop.1308.4d1b0a4 image: reg.cadoles.com/cadoles/hydra-oidc-base:2025.6.13-develop.1333.aa5c382
imagePullPolicy: IfNotPresent imagePullPolicy: IfNotPresent
args: args:
[ [
@ -97,6 +97,10 @@ spec:
value: "/tmp/caddy" value: "/tmp/caddy"
- name: CADDY_APP_ROOT_PUBLIC - name: CADDY_APP_ROOT_PUBLIC
value: "/app/public/" value: "/app/public/"
- name: CADDY_LOG_FILTER
value: healthy|metrics
- name: CADDY_LOG_SKIP
value: "true"
resources: {} resources: {}
securityContext: securityContext:
runAsNonRoot: true runAsNonRoot: true

View File

@ -21,15 +21,15 @@ spec:
spec: spec:
containers: containers:
- name: hydra-sql-fpm - name: hydra-sql-fpm
image: reg.cadoles.com/cadoles/hydra-sql-base:2025.5.12-develop.1303.64d1c1c image: reg.cadoles.com/cadoles/hydra-sql-base:2025.7.30-develop.1146.5f2654c
imagePullPolicy: IfNotPresent imagePullPolicy: IfNotPresent
args: ["/usr/sbin/php-fpm81", "-F", "-e"] args: ["/usr/sbin/php-fpm84", "-F", "-e"]
readinessProbe: readinessProbe:
exec: exec:
command: command:
- sh - sh
- -c - -c
- test -f /etc/php81/php-fpm.d/www.conf - test -f /etc/php84/php-fpm.d/www.conf
livenessProbe: livenessProbe:
exec: exec:
command: command:
@ -61,13 +61,13 @@ spec:
value: "0" value: "0"
volumeMounts: volumeMounts:
- name: hydra-sql-php-ini - name: hydra-sql-php-ini
mountPath: /etc/php81/conf.d/03_base.ini mountPath: /etc/php84/conf.d/03_base.ini
subPath: 03_base.ini subPath: 03_base.ini
- name: sql-tmp - name: sql-tmp
mountPath: /tmp mountPath: /tmp
- name: hydra-sql-caddy - name: hydra-sql-caddy
image: reg.cadoles.com/cadoles/hydra-sql-base:2025.5.12-develop.1303.64d1c1c image: reg.cadoles.com/cadoles/hydra-sql-base:2025.7.30-develop.1146.5f2654c
imagePullPolicy: IfNotPresent imagePullPolicy: IfNotPresent
args: ["/usr/sbin/caddy", "run", "--adapter", "caddyfile", "--config", "/etc/caddy/Caddyfile"] args: ["/usr/sbin/caddy", "run", "--adapter", "caddyfile", "--config", "/etc/caddy/Caddyfile"]
readinessProbe: readinessProbe:
@ -98,6 +98,10 @@ spec:
value: "/tmp/caddy" value: "/tmp/caddy"
- name: CADDY_APP_ROOT_PUBLIC - name: CADDY_APP_ROOT_PUBLIC
value: "/app/public/" value: "/app/public/"
- name: CADDY_LOG_FILTER
value: health|metrics
- name: CADDY_LOG_SKIP
value: "true"
resources: {} resources: {}
securityContext: securityContext:
runAsNonRoot: true runAsNonRoot: true

View File

@ -19,7 +19,7 @@ spec:
spec: spec:
containers: containers:
- name: hydra-dispatcher-php-fpm - name: hydra-dispatcher-php-fpm
image: reg.cadoles.com/cadoles/hydra-dispatcher-base:2025.5.12-develop.1306.a249b62 image: reg.cadoles.com/cadoles/hydra-dispatcher-base:2025.6.13-develop.1332.c8d277f
args: ["/usr/sbin/php-fpm81", "-F", "-e"] args: ["/usr/sbin/php-fpm81", "-F", "-e"]
readinessProbe: readinessProbe:
exec: exec:
@ -61,7 +61,7 @@ spec:
runAsGroup: 1000 runAsGroup: 1000
runAsUser: 1000 runAsUser: 1000
- name: hydra-dispatcher-caddy - name: hydra-dispatcher-caddy
image: reg.cadoles.com/cadoles/hydra-dispatcher-base:2025.5.12-develop.1306.a249b62 image: reg.cadoles.com/cadoles/hydra-dispatcher-base:2025.6.13-develop.1332.c8d277f
imagePullPolicy: IfNotPresent imagePullPolicy: IfNotPresent
args: args:
[ [
@ -100,6 +100,10 @@ spec:
value: "/tmp/caddy" value: "/tmp/caddy"
- name: CADDY_APP_ROOT_PUBLIC - name: CADDY_APP_ROOT_PUBLIC
value: "/app/public/" value: "/app/public/"
- name: CADDY_LOG_FILTER
value: health|metrics
- name: CADDY_LOG_SKIP
value: "true"
ports: ports:
- containerPort: 8080 - containerPort: 8080
name: http name: http