diff --git a/Dockerfile b/Dockerfile index 3b7beb6f0..629d3258b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,3 +1,5 @@ +# syntax=docker/dockerfile:1 + # Stage 1: Build website FROM --platform=${BUILDPLATFORM} docker.io/node:21 as website-builder @@ -7,7 +9,7 @@ WORKDIR /work/website RUN --mount=type=bind,target=/work/website/package.json,src=./website/package.json \ --mount=type=bind,target=/work/website/package-lock.json,src=./website/package-lock.json \ - --mount=type=cache,target=/root/.npm \ + --mount=type=cache,id=npm-website,sharing=shared,target=/root/.npm \ npm ci --include=dev COPY ./website /work/website/ @@ -25,7 +27,7 @@ WORKDIR /work/web RUN --mount=type=bind,target=/work/web/package.json,src=./web/package.json \ --mount=type=bind,target=/work/web/package-lock.json,src=./web/package-lock.json \ - --mount=type=cache,target=/root/.npm \ + --mount=type=cache,id=npm-web,sharing=shared,target=/root/.npm \ npm ci --include=dev COPY ./web /work/web/ @@ -62,8 +64,8 @@ COPY ./go.sum /go/src/goauthentik.io/go.sum ENV CGO_ENABLED=0 -RUN --mount=type=cache,target=/go/pkg/mod \ - --mount=type=cache,target=/root/.cache/go-build \ +RUN --mount=type=cache,sharing=locked,target=/go/pkg/mod \ + --mount=type=cache,id=go-build-$TARGETARCH$TARGETVARIANT,sharing=locked,target=/root/.cache/go-build \ GOARM="${TARGETVARIANT#v}" go build -o /go/authentik ./cmd/server # Stage 4: MaxMind GeoIP @@ -81,7 +83,7 @@ RUN --mount=type=secret,id=GEOIPUPDATE_ACCOUNT_ID \ /bin/sh -c "/usr/bin/entry.sh || echo 'Failed to get GeoIP database, disabling'; exit 0" # Stage 5: Python dependencies -FROM docker.io/python:3.12.0-slim-bookworm AS python-deps +FROM docker.io/python:3.12.1-slim-bookworm AS python-deps WORKDIR /ak-root/poetry @@ -89,7 +91,9 @@ ENV VENV_PATH="/ak-root/venv" \ POETRY_VIRTUALENVS_CREATE=false \ PATH="/ak-root/venv/bin:$PATH" -RUN --mount=type=cache,target=/var/cache/apt \ +RUN rm -f /etc/apt/apt.conf.d/docker-clean; echo 'Binary::apt::APT::Keep-Downloaded-Packages "true";' > /etc/apt/apt.conf.d/keep-cache + +RUN --mount=type=cache,id=apt-$TARGETARCH$TARGETVARIANT,sharing=locked,target=/var/cache/apt \ apt-get update && \ # Required for installing pip packages apt-get install -y --no-install-recommends build-essential pkg-config libxmlsec1-dev zlib1g-dev libpq-dev @@ -104,7 +108,7 @@ RUN --mount=type=bind,target=./pyproject.toml,src=./pyproject.toml \ poetry install --only=main --no-ansi --no-interaction # Stage 6: Run -FROM docker.io/python:3.12.0-slim-bookworm AS final-image +FROM docker.io/python:3.12.1-slim-bookworm AS final-image ARG GIT_BUILD_HASH ARG VERSION diff --git a/go.mod b/go.mod index 61fbf4736..c05347832 100644 --- a/go.mod +++ b/go.mod @@ -9,7 +9,7 @@ require ( github.com/getsentry/sentry-go v0.25.0 github.com/go-http-utils/etag v0.0.0-20161124023236-513ea8f21eb1 github.com/go-ldap/ldap/v3 v3.4.6 - github.com/go-openapi/runtime v0.26.0 + github.com/go-openapi/runtime v0.26.2 github.com/go-openapi/strfmt v0.21.9 github.com/golang-jwt/jwt v3.2.2+incompatible github.com/google/uuid v1.4.0 @@ -46,16 +46,16 @@ require ( github.com/go-asn1-ber/asn1-ber v1.5.5 // indirect github.com/go-http-utils/fresh v0.0.0-20161124030543-7231e26a4b27 // indirect github.com/go-http-utils/headers v0.0.0-20181008091004-fed159eddc2a // indirect - github.com/go-logr/logr v1.2.3 // indirect + github.com/go-logr/logr v1.3.0 // indirect github.com/go-logr/stdr v1.2.2 // indirect github.com/go-openapi/analysis v0.21.4 // indirect github.com/go-openapi/errors v0.20.4 // indirect - github.com/go-openapi/jsonpointer v0.19.5 // indirect - github.com/go-openapi/jsonreference v0.20.0 // indirect + github.com/go-openapi/jsonpointer v0.20.0 // indirect + github.com/go-openapi/jsonreference v0.20.2 // indirect github.com/go-openapi/loads v0.21.2 // indirect - github.com/go-openapi/spec v0.20.8 // indirect - github.com/go-openapi/swag v0.22.3 // indirect - github.com/go-openapi/validate v0.22.1 // indirect + github.com/go-openapi/spec v0.20.11 // indirect + github.com/go-openapi/swag v0.22.4 // indirect + github.com/go-openapi/validate v0.22.3 // indirect github.com/golang/protobuf v1.5.3 // indirect github.com/inconshreveable/mousetrap v1.1.0 // indirect github.com/josharian/intern v1.0.0 // indirect @@ -69,9 +69,10 @@ require ( github.com/prometheus/common v0.44.0 // indirect github.com/prometheus/procfs v0.11.1 // indirect github.com/spf13/pflag v1.0.5 // indirect - go.mongodb.org/mongo-driver v1.13.0 // indirect - go.opentelemetry.io/otel v1.14.0 // indirect - go.opentelemetry.io/otel/trace v1.14.0 // indirect + go.mongodb.org/mongo-driver v1.13.1 // indirect + go.opentelemetry.io/otel v1.17.0 // indirect + go.opentelemetry.io/otel/metric v1.17.0 // indirect + go.opentelemetry.io/otel/trace v1.17.0 // indirect golang.org/x/crypto v0.16.0 // indirect golang.org/x/net v0.19.0 // indirect golang.org/x/sys v0.15.0 // indirect diff --git a/go.sum b/go.sum index 26143162d..3d974ad6d 100644 --- a/go.sum +++ b/go.sum @@ -39,8 +39,6 @@ github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03 github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= github.com/Netflix/go-env v0.0.0-20210215222557-e437a7e7f9fb h1:w9IDEB7P1VzNcBpOG7kMpFkZp2DkyJIUt0gDx5MBhRU= github.com/Netflix/go-env v0.0.0-20210215222557-e437a7e7f9fb/go.mod h1:9XMFaCeRyW7fC9XJOWQ+NdAv8VLG7ys7l3x4ozEGLUQ= -github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= -github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= github.com/alexbrainman/sspi v0.0.0-20210105120005-909beea2cc74 h1:Kk6a4nehpJ3UuJRqlA3JxYxBZEqCeOmATOvrbT4p9RA= github.com/alexbrainman/sspi v0.0.0-20210105120005-909beea2cc74/go.mod h1:cEWa1LVoE5KvSD9ONXsZrj0z6KqySlCCNKHlLzbqAt4= github.com/asaskevich/govalidator v0.0.0-20200907205600-7a23bdc65eef/go.mod h1:WaHUgvxTVq04UNunO+XhnAqY/wQc+bxr74GqbsZ/Jqw= @@ -93,70 +91,41 @@ github.com/go-http-utils/headers v0.0.0-20181008091004-fed159eddc2a/go.mod h1:I7 github.com/go-ldap/ldap/v3 v3.4.6 h1:ert95MdbiG7aWo/oPYp9btL3KJlMPKnP58r09rI8T+A= github.com/go-ldap/ldap/v3 v3.4.6/go.mod h1:IGMQANNtxpsOzj7uUAMjpGBaOVTC4DYyIy8VsTdxmtc= github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= -github.com/go-logr/logr v1.2.3 h1:2DntVwHkVopvECVRSlL5PSo9eG+cAkDCuckLubN+rq0= -github.com/go-logr/logr v1.2.3/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= +github.com/go-logr/logr v1.3.0 h1:2y3SDp0ZXuc6/cjLSZ+Q3ir+QB9T/iG5yYRXqsagWSY= +github.com/go-logr/logr v1.3.0/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= -github.com/go-openapi/analysis v0.21.2/go.mod h1:HZwRk4RRisyG8vx2Oe6aqeSQcoxRp47Xkp3+K6q+LdY= github.com/go-openapi/analysis v0.21.4 h1:ZDFLvSNxpDaomuCueM0BlSXxpANBlFYiBvr+GXrvIHc= github.com/go-openapi/analysis v0.21.4/go.mod h1:4zQ35W4neeZTqh3ol0rv/O8JBbka9QyAgQRPp9y3pfo= -github.com/go-openapi/errors v0.19.8/go.mod h1:cM//ZKUKyO06HSwqAelJ5NsEMMcpa6VpXe8DOa1Mi1M= -github.com/go-openapi/errors v0.19.9/go.mod h1:cM//ZKUKyO06HSwqAelJ5NsEMMcpa6VpXe8DOa1Mi1M= github.com/go-openapi/errors v0.20.2/go.mod h1:cM//ZKUKyO06HSwqAelJ5NsEMMcpa6VpXe8DOa1Mi1M= github.com/go-openapi/errors v0.20.4 h1:unTcVm6PispJsMECE3zWgvG4xTiKda1LIR5rCRWLG6M= github.com/go-openapi/errors v0.20.4/go.mod h1:Z3FlZ4I8jEGxjUK+bugx3on2mIAk4txuAOhlsB1FSgk= github.com/go-openapi/jsonpointer v0.19.3/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= -github.com/go-openapi/jsonpointer v0.19.5 h1:gZr+CIYByUqjcgeLXnQu2gHYQC9o73G2XUeOFYEICuY= github.com/go-openapi/jsonpointer v0.19.5/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= -github.com/go-openapi/jsonreference v0.19.6/go.mod h1:diGHMEHg2IqXZGKxqyvWdfWU/aim5Dprw5bqpKkTvns= -github.com/go-openapi/jsonreference v0.20.0 h1:MYlu0sBgChmCfJxxUKZ8g1cPWFOB37YSZqewK7OKeyA= +github.com/go-openapi/jsonpointer v0.19.6/go.mod h1:osyAmYz/mB/C3I+WsTTSgw1ONzaLJoLCyoi6/zppojs= +github.com/go-openapi/jsonpointer v0.20.0 h1:ESKJdU9ASRfaPNOPRx12IUyA1vn3R9GiE3KYD14BXdQ= +github.com/go-openapi/jsonpointer v0.20.0/go.mod h1:6PGzBjjIIumbLYysB73Klnms1mwnU4G3YHOECG3CedA= github.com/go-openapi/jsonreference v0.20.0/go.mod h1:Ag74Ico3lPc+zR+qjn4XBUmXymS4zJbYVCZmcgkasdo= -github.com/go-openapi/loads v0.21.1/go.mod h1:/DtAMXXneXFjbQMGEtbamCZb+4x7eGwkvZCvBmwUG+g= +github.com/go-openapi/jsonreference v0.20.2 h1:3sVjiK66+uXK/6oQ8xgcRKcFgQ5KXa2KvnJRumpMGbE= +github.com/go-openapi/jsonreference v0.20.2/go.mod h1:Bl1zwGIM8/wsvqjsOQLJ/SH+En5Ap4rVB5KVcIDZG2k= github.com/go-openapi/loads v0.21.2 h1:r2a/xFIYeZ4Qd2TnGpWDIQNcP80dIaZgf704za8enro= github.com/go-openapi/loads v0.21.2/go.mod h1:Jq58Os6SSGz0rzh62ptiu8Z31I+OTHqmULx5e/gJbNw= -github.com/go-openapi/runtime v0.26.0 h1:HYOFtG00FM1UvqrcxbEJg/SwvDRvYLQKGhw2zaQjTcc= -github.com/go-openapi/runtime v0.26.0/go.mod h1:QgRGeZwrUcSHdeh4Ka9Glvo0ug1LC5WyE+EV88plZrQ= -github.com/go-openapi/spec v0.20.4/go.mod h1:faYFR1CvsJZ0mNsmsphTMSoRrNV3TEDoAM7FOEWeq8I= +github.com/go-openapi/runtime v0.26.2 h1:elWyB9MacRzvIVgAZCBJmqTi7hBzU0hlKD4IvfX0Zl0= +github.com/go-openapi/runtime v0.26.2/go.mod h1:O034jyRZ557uJKzngbMDJXkcKJVzXJiymdSfgejrcRw= github.com/go-openapi/spec v0.20.6/go.mod h1:2OpW+JddWPrpXSCIX8eOx7lZ5iyuWj3RYR6VaaBKcWA= -github.com/go-openapi/spec v0.20.8 h1:ubHmXNY3FCIOinT8RNrrPfGc9t7I1qhPtdOGoG2AxRU= -github.com/go-openapi/spec v0.20.8/go.mod h1:2OpW+JddWPrpXSCIX8eOx7lZ5iyuWj3RYR6VaaBKcWA= -github.com/go-openapi/strfmt v0.21.0/go.mod h1:ZRQ409bWMj+SOgXofQAGTIo2Ebu72Gs+WaRADcS5iNg= -github.com/go-openapi/strfmt v0.21.1/go.mod h1:I/XVKeLc5+MM5oPNN7P6urMOpuLXEcNrCX/rPGuWb0k= +github.com/go-openapi/spec v0.20.11 h1:J/TzFDLTt4Rcl/l1PmyErvkqlJDncGvPTMnCI39I4gY= +github.com/go-openapi/spec v0.20.11/go.mod h1:2OpW+JddWPrpXSCIX8eOx7lZ5iyuWj3RYR6VaaBKcWA= github.com/go-openapi/strfmt v0.21.3/go.mod h1:k+RzNO0Da+k3FrrynSNN8F7n/peCmQQqbbXjtDfvmGg= github.com/go-openapi/strfmt v0.21.9 h1:LnEGOO9qyEC1v22Bzr323M98G13paIUGPU7yeJtG9Xs= github.com/go-openapi/strfmt v0.21.9/go.mod h1:0k3v301mglEaZRJdDDGSlN6Npq4VMVU69DE0LUyf7uA= github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= github.com/go-openapi/swag v0.19.15/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ= github.com/go-openapi/swag v0.21.1/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ= -github.com/go-openapi/swag v0.22.3 h1:yMBqmnQ0gyZvEb/+KzuWZOXgllrXT4SADYbvDaXHv/g= github.com/go-openapi/swag v0.22.3/go.mod h1:UzaqsxGiab7freDnrUUra0MwWfN/q7tE4j+VcZ0yl14= -github.com/go-openapi/validate v0.22.1 h1:G+c2ub6q47kfX1sOBLwIQwzBVt8qmOAARyo/9Fqs9NU= -github.com/go-openapi/validate v0.22.1/go.mod h1:rjnrwK57VJ7A8xqfpAOEKRH8yQSGUriMu5/zuPSQ1hg= -github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= -github.com/gobuffalo/attrs v0.0.0-20190224210810-a9411de4debd/go.mod h1:4duuawTqi2wkkpB4ePgWMaai6/Kc6WEz83bhFwpHzj0= -github.com/gobuffalo/depgen v0.0.0-20190329151759-d478694a28d3/go.mod h1:3STtPUQYuzV0gBVOY3vy6CfMm/ljR4pABfrTeHNLHUY= -github.com/gobuffalo/depgen v0.1.0/go.mod h1:+ifsuy7fhi15RWncXQQKjWS9JPkdah5sZvtHc2RXGlg= -github.com/gobuffalo/envy v1.6.15/go.mod h1:n7DRkBerg/aorDM8kbduw5dN3oXGswK5liaSCx4T5NI= -github.com/gobuffalo/envy v1.7.0/go.mod h1:n7DRkBerg/aorDM8kbduw5dN3oXGswK5liaSCx4T5NI= -github.com/gobuffalo/flect v0.1.0/go.mod h1:d2ehjJqGOH/Kjqcoz+F7jHTBbmDb38yXA598Hb50EGs= -github.com/gobuffalo/flect v0.1.1/go.mod h1:8JCgGVbRjJhVgD6399mQr4fx5rRfGKVzFjbj6RE/9UI= -github.com/gobuffalo/flect v0.1.3/go.mod h1:8JCgGVbRjJhVgD6399mQr4fx5rRfGKVzFjbj6RE/9UI= -github.com/gobuffalo/genny v0.0.0-20190329151137-27723ad26ef9/go.mod h1:rWs4Z12d1Zbf19rlsn0nurr75KqhYp52EAGGxTbBhNk= -github.com/gobuffalo/genny v0.0.0-20190403191548-3ca520ef0d9e/go.mod h1:80lIj3kVJWwOrXWWMRzzdhW3DsrdjILVil/SFKBzF28= -github.com/gobuffalo/genny v0.1.0/go.mod h1:XidbUqzak3lHdS//TPu2OgiFB+51Ur5f7CSnXZ/JDvo= -github.com/gobuffalo/genny v0.1.1/go.mod h1:5TExbEyY48pfunL4QSXxlDOmdsD44RRq4mVZ0Ex28Xk= -github.com/gobuffalo/gitgen v0.0.0-20190315122116-cc086187d211/go.mod h1:vEHJk/E9DmhejeLeNt7UVvlSGv3ziL+djtTr3yyzcOw= -github.com/gobuffalo/gogen v0.0.0-20190315121717-8f38393713f5/go.mod h1:V9QVDIxsgKNZs6L2IYiGR8datgMhB577vzTDqypH360= -github.com/gobuffalo/gogen v0.1.0/go.mod h1:8NTelM5qd8RZ15VjQTFkAW6qOMx5wBbW4dSCS3BY8gg= -github.com/gobuffalo/gogen v0.1.1/go.mod h1:y8iBtmHmGc4qa3urIyo1shvOD8JftTtfcKi+71xfDNE= -github.com/gobuffalo/logger v0.0.0-20190315122211-86e12af44bc2/go.mod h1:QdxcLw541hSGtBnhUc4gaNIXRjiDppFGaDqzbrBd3v8= -github.com/gobuffalo/mapi v1.0.1/go.mod h1:4VAGh89y6rVOvm5A8fKFxYG+wIW6LO1FMTG9hnKStFc= -github.com/gobuffalo/mapi v1.0.2/go.mod h1:4VAGh89y6rVOvm5A8fKFxYG+wIW6LO1FMTG9hnKStFc= -github.com/gobuffalo/packd v0.0.0-20190315124812-a385830c7fc0/go.mod h1:M2Juc+hhDXf/PnmBANFCqx4DM3wRbgDvnVWeG2RIxq4= -github.com/gobuffalo/packd v0.1.0/go.mod h1:M2Juc+hhDXf/PnmBANFCqx4DM3wRbgDvnVWeG2RIxq4= -github.com/gobuffalo/packr/v2 v2.0.9/go.mod h1:emmyGweYTm6Kdper+iywB6YK5YzuKchGtJQZ0Odn4pQ= -github.com/gobuffalo/packr/v2 v2.2.0/go.mod h1:CaAwI0GPIAv+5wKLtv8Afwl+Cm78K/I/VCm/3ptBN+0= -github.com/gobuffalo/syncx v0.0.0-20190224160051-33c29581e754/go.mod h1:HhnNqWY95UYwwW3uSASeV7vtgYkT2t16hJgV3AEPUpw= +github.com/go-openapi/swag v0.22.4 h1:QLMzNJnMGPRNDCbySlcj1x01tzU8/9LTTL9hZZZogBU= +github.com/go-openapi/swag v0.22.4/go.mod h1:UzaqsxGiab7freDnrUUra0MwWfN/q7tE4j+VcZ0yl14= +github.com/go-openapi/validate v0.22.3 h1:KxG9mu5HBRYbecRb37KRCihvGGtND2aXziBAv0NNfyI= +github.com/go-openapi/validate v0.22.3/go.mod h1:kVxh31KbfsxU8ZyoHaDbLBWU5CnMdqBUEtadQ2G4d5M= github.com/golang-jwt/jwt v3.2.2+incompatible h1:IfV12K8xAKAnZqdXVzCZ+TOjboZ2keLg81eXfW3O+oY= github.com/golang-jwt/jwt v3.2.2+incompatible/go.mod h1:8pz2t5EyA70fFQQSrl6XZXzqecmYZeUEB8OUGHkxJ+I= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= @@ -231,23 +200,18 @@ github.com/gorilla/websocket v1.5.1/go.mod h1:x3kM2JMyaluk02fnUJpQuwD2dCS5NDG2ZH github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= -github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8= github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= github.com/jellydator/ttlcache/v3 v3.1.0 h1:0gPFG0IHHP6xyUyXq+JaD8fwkDCqgqwohXNJBcYE71g= github.com/jellydator/ttlcache/v3 v3.1.0/go.mod h1:hi7MGFdMAwZna5n2tuvh63DvFLzVKySzCVW6+0gA2n4= -github.com/joho/godotenv v1.3.0/go.mod h1:7hK45KPybAkOC6peb+G5yklZfMxEjkZhHbwpqxOKXbg= github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY= github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= -github.com/karrick/godirwalk v1.8.0/go.mod h1:H5KPZjojv4lE+QYImBI8xVtrBRgYrIVsaRPx4tDPEn4= -github.com/karrick/godirwalk v1.10.3/go.mod h1:RoGL9dQei4vP9ilrpETWE8CLOZ1kiN0LhBygSwrAsHA= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= github.com/klauspost/compress v1.13.6/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk= -github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= -github.com/konsorten/go-windows-terminal-sequences v1.0.2/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= +github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= @@ -259,8 +223,6 @@ github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN github.com/mailru/easyjson v0.7.6/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0= github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= -github.com/markbates/oncer v0.0.0-20181203154359-bf2de49a0be2/go.mod h1:Ld9puTsIW75CHf65OeIOkyKbteujpZVXDpWK6YGZbxE= -github.com/markbates/safe v1.0.1/go.mod h1:nAqgmRi7cY2nqMc92/bSEeQA+R4OheNU2T1kNSCBdG0= github.com/matttproud/golang_protobuf_extensions v1.0.4 h1:mmDVorXM7PCGKw94cs5zkfA9PSy5pEvNWRP0ET0TIVo= github.com/matttproud/golang_protobuf_extensions v1.0.4/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4= github.com/mitchellh/mapstructure v1.3.3/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= @@ -275,13 +237,10 @@ github.com/oklog/ulid v1.3.1 h1:EGfNDEx6MqHz8B3uNV6QAib1UR2Lm97sHi3ocA6ESJ4= github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U= github.com/opentracing/opentracing-go v1.2.0 h1:uEJPy/1a5RIPAJ0Ov+OIO8OxWu77jEv+1B0VhjKrZUs= github.com/opentracing/opentracing-go v1.2.0/go.mod h1:GxEUsuufX4nBwe+T+Wl9TAgYrxe9dPLANfrWvHYVTgc= -github.com/pelletier/go-toml v1.7.0/go.mod h1:vwGMzjaWMwyfHwgIBhI2YUM4fB6nL6lVAvS1LBMMhTE= github.com/pingcap/errors v0.11.4 h1:lFuQV/oaUMGcD2tqt+01ROSmJs75VG1ToEOkZIZ4nE4= github.com/pingcap/errors v0.11.4/go.mod h1:Oi8TUi2kEtXXLMJk9l1cGmz20kV3TaQ0usTwv5KuLY8= github.com/pires/go-proxyproto v0.7.0 h1:IukmRewDQFWC7kfnb66CSomk2q/seBuilHBYFwyq0Hs= github.com/pires/go-proxyproto v0.7.0/go.mod h1:Vz/1JPY/OACxWGQNIRY2BeyDmpoaWmEP40O9LbuiFR4= -github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= @@ -299,41 +258,32 @@ github.com/prometheus/procfs v0.11.1 h1:xRC8Iq1yyca5ypa9n1EZnWZkt7dwcoRPQwX/5gwa github.com/prometheus/procfs v0.11.1/go.mod h1:eesXgaPo1q7lBpVMoMy0ZOFTth9hBn4W/y0/p/ScXhY= github.com/redis/go-redis/v9 v9.3.0 h1:RiVDjmig62jIWp7Kk4XVLs0hzV6pI3PyTnnL0cnn0u0= github.com/redis/go-redis/v9 v9.3.0/go.mod h1:hdY0cQFCN4fnSYT6TkisLufl/4W5UIXyv0b/CLO2V2M= -github.com/rogpeppe/go-internal v1.1.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= -github.com/rogpeppe/go-internal v1.2.2/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= -github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= -github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= +github.com/rogpeppe/go-internal v1.11.0 h1:cWPaGQEPrBb5/AsnsZesgZZ9yb1OQ+GOISoDNXVBh4M= +github.com/rogpeppe/go-internal v1.11.0/go.mod h1:ddIwULY96R17DhadqLgMfk9H9tvdUzkipdSkR5nkCZA= github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= -github.com/sirupsen/logrus v1.4.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= -github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q= -github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ= github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= -github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= github.com/spf13/cobra v1.8.0 h1:7aJaZx1B85qltLMc546zn58BxxfZdR/W22ej9CFoEf0= github.com/spf13/cobra v1.8.0/go.mod h1:WXLWApfZ71AjXPya3WOlMsY9yMs7YeiHhFVlvLyhcho= -github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= -github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= +github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= +github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= github.com/tidwall/pretty v1.0.0/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk= github.com/xdg-go/pbkdf2 v1.0.0/go.mod h1:jrpuAogTd400dnrH08LKmI/xc1MbPOebTwRqcT5RDeI= -github.com/xdg-go/scram v1.0.2/go.mod h1:1WAq6h33pAW+iRreB34OORO2Nf7qel3VV3fjBj+hCSs= github.com/xdg-go/scram v1.1.1/go.mod h1:RaEWvsqvNKKvBPvcKeFjrG2cJqOkHTiyTpzz23ni57g= github.com/xdg-go/scram v1.1.2/go.mod h1:RT/sEzTbU5y00aCK8UOx6R7YryM0iF1N2MOmC3kKLN4= -github.com/xdg-go/stringprep v1.0.2/go.mod h1:8F9zXuvzgwmyT5DUm4GUfZGDdT3W+LCvS6+da4O5kxM= github.com/xdg-go/stringprep v1.0.3/go.mod h1:W3f5j4i+9rC0kuIEJL0ky1VpHXQU3ocBgklLGvcBnW8= github.com/xdg-go/stringprep v1.0.4/go.mod h1:mPGuuIYwz7CmR2bT9j4GbQqutWS1zV24gijq1dTyGkM= github.com/youmark/pkcs8 v0.0.0-20181117223130-1be2e3e5546d/go.mod h1:rHwXgn7JulP+udvsHwJoVG1YGAP6VLg4y9I5dyZdqmA= @@ -341,33 +291,30 @@ github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9de github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= -go.mongodb.org/mongo-driver v1.7.3/go.mod h1:NqaYOwnXWr5Pm7AOpO5QFxKJ503nbMse/R79oO62zWg= -go.mongodb.org/mongo-driver v1.7.5/go.mod h1:VXEWRZ6URJIkUq2SCAyapmhH0ZLRBP+FT4xhp5Zvxng= go.mongodb.org/mongo-driver v1.10.0/go.mod h1:wsihk0Kdgv8Kqu1Anit4sfK+22vSFbUrAVEYRhCXrA8= -go.mongodb.org/mongo-driver v1.13.0 h1:67DgFFjYOCMWdtTEmKFpV3ffWlFnh+CYZ8ZS/tXWUfY= -go.mongodb.org/mongo-driver v1.13.0/go.mod h1:/rGBTebI3XYboVmgz+Wv3Bcbl3aD0QF9zl6kDDw18rQ= +go.mongodb.org/mongo-driver v1.13.1 h1:YIc7HTYsKndGK4RFzJ3covLz1byri52x0IoMB0Pt/vk= +go.mongodb.org/mongo-driver v1.13.1/go.mod h1:wcDf1JBCXy2mOW0bWHwO/IOYqdca1MPCwDtFu/Z9+eo= go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= -go.opentelemetry.io/otel v1.14.0 h1:/79Huy8wbf5DnIPhemGB+zEPVwnN6fuQybr/SRXa6hM= -go.opentelemetry.io/otel v1.14.0/go.mod h1:o4buv+dJzx8rohcUeRmWUZhqupFvzWis188WlggnNeU= -go.opentelemetry.io/otel/sdk v1.14.0 h1:PDCppFRDq8A1jL9v6KMI6dYesaq+DFcDZvjsoGvxGzY= -go.opentelemetry.io/otel/sdk v1.14.0/go.mod h1:bwIC5TjrNG6QDCHNWvW4HLHtUQ4I+VQDsnjhvyZCALM= -go.opentelemetry.io/otel/trace v1.14.0 h1:wp2Mmvj41tDsyAJXiWDWpfNsOiIyd38fy85pyKcFq/M= -go.opentelemetry.io/otel/trace v1.14.0/go.mod h1:8avnQLK+CG77yNLUae4ea2JDQ6iT+gozhnZjy/rw9G8= +go.opentelemetry.io/otel v1.17.0 h1:MW+phZ6WZ5/uk2nd93ANk/6yJ+dVrvNWUjGhnnFU5jM= +go.opentelemetry.io/otel v1.17.0/go.mod h1:I2vmBGtFaODIVMBSTPVDlJSzBDNf93k60E6Ft0nyjo0= +go.opentelemetry.io/otel/metric v1.17.0 h1:iG6LGVz5Gh+IuO0jmgvpTB6YVrCGngi8QGm+pMd8Pdc= +go.opentelemetry.io/otel/metric v1.17.0/go.mod h1:h4skoxdZI17AxwITdmdZjjYJQH5nzijUUjm+wtPph5o= +go.opentelemetry.io/otel/sdk v1.17.0 h1:FLN2X66Ke/k5Sg3V623Q7h7nt3cHXaW1FOvKKrW0IpE= +go.opentelemetry.io/otel/sdk v1.17.0/go.mod h1:U87sE0f5vQB7hwUoW98pW5Rz4ZDuCFBZFNUBlSgmDFQ= +go.opentelemetry.io/otel/trace v1.17.0 h1:/SWhSRHmDPOImIAetP1QAeMnZYiQXrTy4fMMYOdSKWQ= +go.opentelemetry.io/otel/trace v1.17.0/go.mod h1:I/4vKTgFclIsXRVucpH25X0mpFSczM7aHeaz0ZBLWjY= go.uber.org/goleak v1.2.1 h1:NBol2c7O1ZokfZ0LEU9K6Whx/KnwvepVetCUhtKja4A= go.uber.org/goleak v1.2.1/go.mod h1:qlT2yGI9QafXHhZZLxlSuNsMw3FFLxBr+tBRlmO1xH4= goauthentik.io/api/v3 v3.2023104.2 h1:TV3SdaPGhjVE7If0l1kt+H23xwgEabWUFgX4ijkkeSc= goauthentik.io/api/v3 v3.2023104.2/go.mod h1:zz+mEZg8rY/7eEjkMGWJ2DnGqk+zqxuybGCGrR2O4Kw= -golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20190422162423-af44ce270edf/go.mod h1:WFFai1msRO1wXaEeE5yQxYXgSfI8pQAWXbQop6sCtWE= golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20200302210943-78000ba7a073/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200709230013-948cd5f35899/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= @@ -436,7 +383,6 @@ golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81R golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20210421230115-4e50805a0758/go.mod h1:72T/g9IO56b78aLF+1Kcs5dz7/ng1VjMUvfKvpfy+jM= golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= @@ -455,7 +401,6 @@ golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190412183630-56d357773e84/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -466,16 +411,11 @@ golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.5.0 h1:60k92dhOjHxJkrqnwsfl8KuaHbn/5dl0lUPUklKo3qE= golang.org/x/sync v0.5.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190403152447-81d4e9dc473e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190419153524-e8e3143a4f4a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190531175056-4c3a928424d2/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -496,7 +436,6 @@ golang.org/x/sys v0.0.0-20200515095857-1151b9dac4a9/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210420072515-93ed5bcd2bfe/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= @@ -517,7 +456,6 @@ golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ= @@ -535,13 +473,9 @@ golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3 golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190329151228-23e29df326fe/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190416151739-9c9e1878f421/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190420181800-aa740d480789/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= -golang.org/x/tools v0.0.0-20190531172133-b3315ee88b7d/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= @@ -667,13 +601,11 @@ gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= gopkg.in/square/go-jose.v2 v2.5.1 h1:7odma5RETjNHWJnR32wx8t+Io4djHE1PqxCFx3iiZ2w= gopkg.in/square/go-jose.v2 v2.5.1/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.0-20200605160147-a5ece683394c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= diff --git a/ldap.Dockerfile b/ldap.Dockerfile index 7b1b9fbb1..acfa09f4d 100644 --- a/ldap.Dockerfile +++ b/ldap.Dockerfile @@ -1,3 +1,5 @@ +# syntax=docker/dockerfile:1 + # Stage 1: Build FROM --platform=${BUILDPLATFORM} docker.io/golang:1.21.5-bookworm AS builder @@ -18,8 +20,8 @@ RUN --mount=type=bind,target=/go/src/goauthentik.io/go.mod,src=./go.mod \ ENV CGO_ENABLED=0 COPY . . -RUN --mount=type=cache,target=/go/pkg/mod \ - --mount=type=cache,target=/root/.cache/go-build \ +RUN --mount=type=cache,sharing=locked,target=/go/pkg/mod \ + --mount=type=cache,id=go-build-$TARGETARCH$TARGETVARIANT,sharing=locked,target=/root/.cache/go-build \ GOARM="${TARGETVARIANT#v}" go build -o /go/ldap ./cmd/ldap # Stage 2: Run diff --git a/lifecycle/ak b/lifecycle/ak index 2ea6a4f59..941b12594 100755 --- a/lifecycle/ak +++ b/lifecycle/ak @@ -1,4 +1,4 @@ -#!/bin/bash -e +#!/usr/bin/env -S bash -e MODE_FILE="${TMPDIR}/authentik-mode" function log { diff --git a/locale/fr/LC_MESSAGES/django.po b/locale/fr/LC_MESSAGES/django.po index fa3e8dab9..eff93e672 100644 --- a/locale/fr/LC_MESSAGES/django.po +++ b/locale/fr/LC_MESSAGES/django.po @@ -6,12 +6,12 @@ # Translators: # Bastien Germond, 2022 # Phorcys, 2022 -# nerdinator , 2023 -# Charles Leclerc, 2023 # Titouan Petit, 2023 # Kyllian Delaye-Maillot, 2023 # Manuel Viens, 2023 # Mordecai, 2023 +# Charles Leclerc, 2023 +# nerdinator , 2023 # Marc Schmitt, 2023 # #, fuzzy @@ -19,7 +19,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-10-02 12:46+0000\n" +"POT-Creation-Date: 2023-12-06 16:55+0000\n" "PO-Revision-Date: 2022-09-26 16:47+0000\n" "Last-Translator: Marc Schmitt, 2023\n" "Language-Team: French (https://app.transifex.com/authentik/teams/119923/fr/)\n" @@ -29,7 +29,7 @@ msgstr "" "Language: fr\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n" -#: authentik/admin/api/tasks.py:125 +#: authentik/admin/api/tasks.py:127 #, python-format msgid "Successfully re-scheduled Task %(name)s!" msgstr "La Tâche %(name)s a bien été reprogrammée !" @@ -42,16 +42,16 @@ msgstr "Erreur d'API Générique" msgid "Validation Error" msgstr "Erreur de Validation" -#: authentik/blueprints/api.py:44 +#: authentik/blueprints/api.py:43 msgid "Blueprint file does not exist" msgstr "Le fichier de plan n'existe pas" -#: authentik/blueprints/api.py:55 +#: authentik/blueprints/api.py:54 #, python-format msgid "Failed to validate blueprint: %(logs)s" msgstr "Échec de validation du plan: %(logs)s" -#: authentik/blueprints/api.py:60 +#: authentik/blueprints/api.py:59 msgid "Either path or content must be set." msgstr "Le chemin ou le contenu doit être défini." @@ -98,12 +98,12 @@ msgstr "Fournisseur SAML depuis métadonnées" msgid "Create a SAML Provider by importing its Metadata." msgstr "Créer un fournisseur SAML en important ses métadonnées." -#: authentik/core/api/users.py:158 +#: authentik/core/api/users.py:156 msgid "No leading or trailing slashes allowed." msgstr "" "Les barres obliques, ou slashes, de tête ou de queue ne sont pas autorisées." -#: authentik/core/api/users.py:161 +#: authentik/core/api/users.py:159 msgid "No empty segments in user path allowed." msgstr "Les segments vides dans le chemin utilisateur ne sont pas autorisés." @@ -115,19 +115,44 @@ msgstr "nom" msgid "Users added to this group will be superusers." msgstr "Les utilisateurs ajoutés à ce groupe seront des super-utilisateurs." -#: authentik/core/models.py:142 +#: authentik/core/models.py:162 +msgid "Group" +msgstr "Group" + +#: authentik/core/models.py:163 +msgid "Groups" +msgstr "Groupes" + +#: authentik/core/models.py:178 msgid "User's display name." msgstr "Nom d'affichage de l'utilisateur" -#: authentik/core/models.py:268 authentik/providers/oauth2/models.py:295 +#: authentik/core/models.py:274 authentik/providers/oauth2/models.py:295 msgid "User" msgstr "Utilisateur" -#: authentik/core/models.py:269 +#: authentik/core/models.py:275 msgid "Users" msgstr "Utilisateurs" -#: authentik/core/models.py:282 +#: authentik/core/models.py:277 +#: authentik/stages/email/templates/email/password_reset.html:28 +msgid "Reset Password" +msgstr "Réinitialiser le mot de passe" + +#: authentik/core/models.py:278 +msgid "Can impersonate other users" +msgstr "Peut se faire passer pour d'autres utilisateurs" + +#: authentik/core/models.py:279 authentik/rbac/models.py:54 +msgid "Can assign permissions to users" +msgstr "Peut assigner des permissions aux utilisateurs" + +#: authentik/core/models.py:280 authentik/rbac/models.py:55 +msgid "Can unassign permissions from users" +msgstr "Peut enlever des permissions aux utilisateurs" + +#: authentik/core/models.py:294 msgid "" "Flow used for authentication when the associated application is accessed by " "an un-authenticated user." @@ -135,11 +160,11 @@ msgstr "" "Flux utilisé lors d'authentification quand l'application associée est " "accédée par un utilisateur non-authentifié." -#: authentik/core/models.py:292 +#: authentik/core/models.py:304 msgid "Flow used when authorizing this provider." msgstr "Flux utilisé lors de l'autorisation de ce fournisseur." -#: authentik/core/models.py:304 +#: authentik/core/models.py:316 msgid "" "Accessed from applications; optional backchannel providers for protocols " "like LDAP and SCIM." @@ -147,32 +172,32 @@ msgstr "" "Accès à partir d'applications ; fournisseurs optionnels de canaux de retour " "pour des protocoles tels que LDAP et SCIM." -#: authentik/core/models.py:359 +#: authentik/core/models.py:371 msgid "Application's display Name." msgstr "Nom d'affichage de l'application" -#: authentik/core/models.py:360 +#: authentik/core/models.py:372 msgid "Internal application name, used in URLs." msgstr "Nom de l'application interne, utilisé dans les URLs." -#: authentik/core/models.py:372 +#: authentik/core/models.py:384 msgid "Open launch URL in a new browser tab or window." msgstr "" "Ouvrir l'URL de lancement dans une nouvelle fenêtre ou un nouvel onglet." -#: authentik/core/models.py:436 +#: authentik/core/models.py:448 msgid "Application" msgstr "Application" -#: authentik/core/models.py:437 +#: authentik/core/models.py:449 msgid "Applications" msgstr "Applications" -#: authentik/core/models.py:443 +#: authentik/core/models.py:455 msgid "Use the source-specific identifier" msgstr "Utiliser l'identifiant spécifique à la source" -#: authentik/core/models.py:445 +#: authentik/core/models.py:457 msgid "" "Link to a user with identical email address. Can have security implications " "when a source doesn't validate email addresses." @@ -180,7 +205,7 @@ msgstr "" "Lier à un utilisateur avec une adresse email identique. Peut avoir des " "implications de sécurité lorsqu'une source ne valide pas les adresses email." -#: authentik/core/models.py:449 +#: authentik/core/models.py:461 msgid "" "Use the user's email address, but deny enrollment when the email address " "already exists." @@ -188,7 +213,7 @@ msgstr "" "Utiliser l'adresse courriel de l'utilisateur, mais refuser l'inscription " "lorsque celle-ci existe déjà." -#: authentik/core/models.py:452 +#: authentik/core/models.py:464 msgid "" "Link to a user with identical username. Can have security implications when " "a username is used with another source." @@ -197,7 +222,7 @@ msgstr "" "problèmes de sécurité si ce nom d'utilisateur est partagé avec une autre " "source." -#: authentik/core/models.py:456 +#: authentik/core/models.py:468 msgid "" "Use the user's username, but deny enrollment when the username already " "exists." @@ -205,23 +230,23 @@ msgstr "" "Utiliser le nom d'utilisateur, mais refuser l'inscription si celui-ci existe" " déjà." -#: authentik/core/models.py:463 +#: authentik/core/models.py:475 msgid "Source's display Name." msgstr "Nom d'affichage de la source." -#: authentik/core/models.py:464 +#: authentik/core/models.py:476 msgid "Internal source name, used in URLs." msgstr "Nom interne de la source, utilisé dans les URLs." -#: authentik/core/models.py:483 +#: authentik/core/models.py:495 msgid "Flow to use when authenticating existing users." msgstr "Flux à utiliser pour authentifier les utilisateurs existants." -#: authentik/core/models.py:492 +#: authentik/core/models.py:504 msgid "Flow to use when enrolling new users." msgstr "Flux à utiliser pour inscrire les nouveaux utilisateurs." -#: authentik/core/models.py:500 +#: authentik/core/models.py:512 msgid "" "How the source determines if an existing user should be authenticated or a " "new user enrolled." @@ -229,31 +254,35 @@ msgstr "" "Comment la source détermine si un utilisateur existant doit être authentifié" " ou un nouvelle utilisateur doit être inscrit." -#: authentik/core/models.py:672 +#: authentik/core/models.py:684 msgid "Token" msgstr "Jeton" -#: authentik/core/models.py:673 +#: authentik/core/models.py:685 msgid "Tokens" msgstr "Jetons" -#: authentik/core/models.py:714 +#: authentik/core/models.py:690 +msgid "View token's key" +msgstr "Voir la clé du jeton" + +#: authentik/core/models.py:726 msgid "Property Mapping" msgstr "Mappage de propriété" -#: authentik/core/models.py:715 +#: authentik/core/models.py:727 msgid "Property Mappings" msgstr "Mappages de propriété" -#: authentik/core/models.py:750 +#: authentik/core/models.py:762 msgid "Authenticated Session" msgstr "Session Authentifiée" -#: authentik/core/models.py:751 +#: authentik/core/models.py:763 msgid "Authenticated Sessions" msgstr "Sessions Authentifiées" -#: authentik/core/sources/flow_manager.py:189 +#: authentik/core/sources/flow_manager.py:190 #, python-format msgid "" "Request to authenticate with %(source)s has been denied. Please authenticate" @@ -262,22 +291,22 @@ msgstr "" "La requête d'authentification avec %(source)s a été refusée. Merci de vous " "authentifier avec la source utilisée précédemment." -#: authentik/core/sources/flow_manager.py:241 +#: authentik/core/sources/flow_manager.py:242 msgid "Configured flow does not exist." msgstr "Le flux configuré n'existe pas." -#: authentik/core/sources/flow_manager.py:271 -#: authentik/core/sources/flow_manager.py:323 +#: authentik/core/sources/flow_manager.py:272 +#: authentik/core/sources/flow_manager.py:324 #, python-format msgid "Successfully authenticated with %(source)s!" msgstr "Authentifié avec succès avec %(source)s!" -#: authentik/core/sources/flow_manager.py:295 +#: authentik/core/sources/flow_manager.py:296 #, python-format msgid "Successfully linked %(source)s!" msgstr "%(source)s lié avec succès!" -#: authentik/core/sources/flow_manager.py:314 +#: authentik/core/sources/flow_manager.py:315 msgid "Source is not configured for enrollment." msgstr "La source n'est pas configurée pour l'inscription." @@ -298,11 +327,11 @@ msgstr "" #, python-format msgid "" "\n" -" You've logged out of %(application)s. You can go back to the overview to launch another application, or log out of your authentik account.\n" +" You've logged out of %(application)s. You can go back to the overview to launch another application, or log out of your %(branding_title)s account.\n" " " msgstr "" "\n" -" Vous vous êtes déconnecté de %(application)s. Vous pouvez retourner à la vue d'ensemble pour lancer une autre application, ou vous déconnecter de votre compte authentik.\n" +" Vous vous êtes déconnecté de %(application)s. Vous pouvez retourner à la vue d'ensemble pour lancer une autre application, ou vous déconnecter de votre compte %(branding_title)s .\n" " " #: authentik/core/templates/if/end_session.html:25 @@ -371,39 +400,47 @@ msgstr "Paire de clé/certificat" msgid "Certificate-Key Pairs" msgstr "Paires de clé/certificat" -#: authentik/enterprise/models.py:193 +#: authentik/enterprise/models.py:183 +msgid "License" +msgstr "Licence" + +#: authentik/enterprise/models.py:184 +msgid "Licenses" +msgstr "Licences" + +#: authentik/enterprise/models.py:206 msgid "License Usage" msgstr "Utilisation de la licence" -#: authentik/enterprise/models.py:194 +#: authentik/enterprise/models.py:207 msgid "License Usage Records" msgstr "Registre d'utilisation de la licence" -#: authentik/events/models.py:290 +#: authentik/events/models.py:291 msgid "Event" msgstr "Évènement" -#: authentik/events/models.py:291 +#: authentik/events/models.py:292 msgid "Events" msgstr "Évènements" -#: authentik/events/models.py:297 +#: authentik/events/models.py:298 msgid "authentik inbuilt notifications" msgstr "notifications intégrées à authentik" -#: authentik/events/models.py:298 +#: authentik/events/models.py:299 msgid "Generic Webhook" msgstr "Webhook Générique" -#: authentik/events/models.py:299 +#: authentik/events/models.py:300 msgid "Slack Webhook (Slack/Discord)" msgstr "Webhook Slack (ou Discord)" -#: authentik/events/models.py:300 +#: authentik/events/models.py:301 msgid "Email" msgstr "Courriel" -#: authentik/events/models.py:318 +#: authentik/events/models.py:319 msgid "" "Only send notification once, for example when sending a webhook into a chat " "channel." @@ -411,47 +448,47 @@ msgstr "" "Envoyer une seule fois la notification, par exemple lors de l'envoi d'un " "webhook dans un canal de discussion." -#: authentik/events/models.py:383 +#: authentik/events/models.py:384 msgid "Severity" msgstr "Sévérité" -#: authentik/events/models.py:388 +#: authentik/events/models.py:389 msgid "Dispatched for user" msgstr "Distribué pour l'utilisateur" -#: authentik/events/models.py:397 +#: authentik/events/models.py:398 msgid "Event user" msgstr "Évènement utilisateur" -#: authentik/events/models.py:491 +#: authentik/events/models.py:492 msgid "Notification Transport" msgstr "Transport de Notification" -#: authentik/events/models.py:492 +#: authentik/events/models.py:493 msgid "Notification Transports" msgstr "Transports de notification" -#: authentik/events/models.py:498 +#: authentik/events/models.py:499 msgid "Notice" msgstr "Note" -#: authentik/events/models.py:499 +#: authentik/events/models.py:500 msgid "Warning" msgstr "Avertissement" -#: authentik/events/models.py:500 +#: authentik/events/models.py:501 msgid "Alert" msgstr "Alerte" -#: authentik/events/models.py:525 +#: authentik/events/models.py:526 msgid "Notification" msgstr "Notification" -#: authentik/events/models.py:526 +#: authentik/events/models.py:527 msgid "Notifications" msgstr "Notifications" -#: authentik/events/models.py:536 +#: authentik/events/models.py:537 msgid "" "Select which transports should be used to notify the user. If none are " "selected, the notification will only be shown in the authentik UI." @@ -460,11 +497,11 @@ msgstr "" "défaut, la notification sera simplement affichée dans l'interface " "utilisateur authentik." -#: authentik/events/models.py:544 +#: authentik/events/models.py:545 msgid "Controls which severity level the created notifications will have." msgstr "Contrôle quel niveau de sévérité les notifications créées auront." -#: authentik/events/models.py:549 +#: authentik/events/models.py:550 msgid "" "Define which group of users this notification should be sent and shown to. " "If left empty, Notification won't ben sent." @@ -472,19 +509,19 @@ msgstr "" "Définir à quel groupe d'utilisateur cette notification doit être envoyée et " "affichée. Si laissé vide, les notifications ne seront pas envoyées." -#: authentik/events/models.py:567 +#: authentik/events/models.py:568 msgid "Notification Rule" msgstr "Règle de Notification" -#: authentik/events/models.py:568 +#: authentik/events/models.py:569 msgid "Notification Rules" msgstr "Règles de notification" -#: authentik/events/models.py:588 +#: authentik/events/models.py:589 msgid "Webhook Mapping" msgstr "Mappage de Webhook" -#: authentik/events/models.py:589 +#: authentik/events/models.py:590 msgid "Webhook Mappings" msgstr "Mappages de Webhook" @@ -603,16 +640,32 @@ msgstr "" msgid "Flows" msgstr "Flux" -#: authentik/flows/models.py:215 +#: authentik/flows/models.py:197 +msgid "Can export a Flow" +msgstr "Peut exporter un flux" + +#: authentik/flows/models.py:198 +msgid "Can inspect a Flow's execution" +msgstr "Peut inspecter l'exécution d'un flux" + +#: authentik/flows/models.py:199 +msgid "View Flow's cache metrics" +msgstr "Voir les métriques de cache du flux" + +#: authentik/flows/models.py:200 +msgid "Clear Flow's cache metrics" +msgstr "Nettoyer les métriques de cache du flux" + +#: authentik/flows/models.py:216 msgid "Evaluate policies during the Flow planning process." msgstr "Évaluer les politiques durant la planification du flux." -#: authentik/flows/models.py:219 +#: authentik/flows/models.py:220 msgid "Evaluate policies when the Stage is present to the user." msgstr "" "Évaluer les politiques lorsque l'étape est présentée est l'utilisateur." -#: authentik/flows/models.py:226 +#: authentik/flows/models.py:227 msgid "" "Configure how the flow executor should handle an invalid response to a " "challenge. RETRY returns the error message and a similar challenge to the " @@ -624,15 +677,15 @@ msgstr "" "l'éxecuteur. RESTART redémarre le flux au début. RESTART_WITH_CONTEXT " "redémarre le flux au début tout en conservant le contexte actuel." -#: authentik/flows/models.py:249 +#: authentik/flows/models.py:250 msgid "Flow Stage Binding" msgstr "Liaison de l'étape de flux" -#: authentik/flows/models.py:250 +#: authentik/flows/models.py:251 msgid "Flow Stage Bindings" msgstr "Liaisons d'étape de flux" -#: authentik/flows/models.py:265 +#: authentik/flows/models.py:266 msgid "" "Flow used by an authenticated user to configure this Stage. If empty, user " "will not be able to configure this stage." @@ -640,11 +693,11 @@ msgstr "" "Flux utilisé par un utilisateur authentifié pour configurer cette étape. " "S'il est vide, l'utilisateur ne sera pas en mesure de le configurer." -#: authentik/flows/models.py:305 +#: authentik/flows/models.py:306 msgid "Flow Token" msgstr "Jeton du flux" -#: authentik/flows/models.py:306 +#: authentik/flows/models.py:307 msgid "Flow Tokens" msgstr "Jetons du flux" @@ -653,6 +706,11 @@ msgstr "Jetons du flux" msgid "%(value)s is not in the correct format of 'hours=3;minutes=1'." msgstr "%(value)sn'est pas dans le bon format de 'hours=3;minutes=1'." +#: authentik/lib/validators.py:16 +#, python-brace-format +msgid "The fields {field_names} must be used together." +msgstr "Les champs {field_names} doivent être utilisés ensemble." + #: authentik/outposts/api/service_connections.py:127 msgid "" "You can only use an empty kubeconfig when connecting to a local cluster." @@ -741,6 +799,14 @@ msgstr "" "Sélectionner la connexion de service qu'authentik doit utiliser pour gérer " "cet avant-poste. Laisser vide si authentik ne doit pas gérer le déploiement." +#: authentik/outposts/models.py:419 +msgid "Outpost" +msgstr "Avant-poste" + +#: authentik/outposts/models.py:420 +msgid "Outposts" +msgstr "Avant-postes" + #: authentik/policies/denied.py:24 msgid "Access denied" msgstr "Accès refusé" @@ -879,6 +945,14 @@ msgstr "Politique" msgid "Policies" msgstr "Politiques" +#: authentik/policies/models.py:193 +msgid "View Policy's cache metrics" +msgstr "Voir les métriques de cache de la politique" + +#: authentik/policies/models.py:194 +msgid "Clear Policy's cache metrics" +msgstr "Nettoyer les métriques de cache de la politique" + #: authentik/policies/password/models.py:27 msgid "Field key to check, field keys defined in Prompt stages are available." msgstr "" @@ -1016,6 +1090,7 @@ msgstr "" "groupes primaires des utilisateurs" #: authentik/providers/ldap/models.py:76 +#: authentik/providers/radius/models.py:34 msgid "" "When enabled, code-based multi-factor authentication can be used by " "appending a semicolon and the TOTP code to the password. This should only be" @@ -1428,19 +1503,19 @@ msgstr "" "moins spécifique. Les clients se connectant depuis un CIDR non spécifié " "seront rejetés." -#: authentik/providers/radius/models.py:49 +#: authentik/providers/radius/models.py:60 msgid "Radius Provider" msgstr "Fournisseur Radius" -#: authentik/providers/radius/models.py:50 +#: authentik/providers/radius/models.py:61 msgid "Radius Providers" msgstr "Fournisseurs Radius" -#: authentik/providers/saml/api/providers.py:257 +#: authentik/providers/saml/api/providers.py:258 msgid "Invalid XML Syntax" msgstr "Syntaxe XML Invalide" -#: authentik/providers/saml/api/providers.py:267 +#: authentik/providers/saml/api/providers.py:268 #, python-format msgid "Failed to import Metadata: %(message)s" msgstr "Échec d'import des metadata : %(message)s" @@ -1568,19 +1643,23 @@ msgstr "" msgid "Signing Keypair" msgstr "Paire de clés de Signature" -#: authentik/providers/saml/models.py:167 +#: authentik/providers/saml/models.py:142 +msgid "Default relay_state value for IDP-initiated logins" +msgstr "Valeur par défaut de relay_state des connexions initiées par l'IdP" + +#: authentik/providers/saml/models.py:171 msgid "SAML Provider" msgstr "Fournisseur SAML" -#: authentik/providers/saml/models.py:168 +#: authentik/providers/saml/models.py:172 msgid "SAML Providers" msgstr "Fournisseurs SAML" -#: authentik/providers/saml/models.py:192 +#: authentik/providers/saml/models.py:196 msgid "SAML Property Mapping" msgstr "Mappages de propriétés SAML" -#: authentik/providers/saml/models.py:193 +#: authentik/providers/saml/models.py:197 msgid "SAML Property Mappings" msgstr "Mappages de propriétés SAML" @@ -1592,7 +1671,7 @@ msgstr "URL de base pour les requêtes SCIM, se terminant généralement par /v2 msgid "Authentication token" msgstr "Jeton d'authentification" -#: authentik/providers/scim/models.py:27 authentik/sources/ldap/models.py:94 +#: authentik/providers/scim/models.py:27 authentik/sources/ldap/models.py:98 msgid "Property mappings used for group creation/updating." msgstr "" "Mappages de propriétés utilisés lors de la création et de la mise à jour des" @@ -1647,6 +1726,38 @@ msgstr "" "Échec de synchronisation du group %(group_name)s dû à une erreur distante : " "%(error)s" +#: authentik/rbac/models.py:51 +msgid "Role" +msgstr "Rôle" + +#: authentik/rbac/models.py:52 +msgid "Roles" +msgstr "Rôles" + +#: authentik/rbac/models.py:66 +msgid "System permission" +msgstr "Permission système" + +#: authentik/rbac/models.py:67 +msgid "System permissions" +msgstr "Permissions système" + +#: authentik/rbac/models.py:69 +msgid "Can view system info" +msgstr "Peut voir les informations du système" + +#: authentik/rbac/models.py:70 +msgid "Can view system tasks" +msgstr "Peut voir les tâches du système" + +#: authentik/rbac/models.py:71 +msgid "Can run system tasks" +msgstr "Peut lancer des tâches système" + +#: authentik/rbac/models.py:72 +msgid "Can access admin interface" +msgstr "Peut accéder à l'interface d'administration" + #: authentik/recovery/management/commands/create_admin_group.py:11 msgid "Create admin group if the default group gets deleted." msgstr "Crée le groupe adminstrateur si le groupe par défaut est supprimé." @@ -1660,11 +1771,11 @@ msgstr "" msgid "Used recovery-link to authenticate." msgstr "Utiliser un lien de récupération pour se connecter." -#: authentik/sources/ldap/models.py:37 +#: authentik/sources/ldap/models.py:41 msgid "Server URI" msgstr "URI du serveur" -#: authentik/sources/ldap/models.py:46 +#: authentik/sources/ldap/models.py:50 msgid "" "Optionally verify the LDAP Server's Certificate against the CA Chain in this" " keypair." @@ -1672,60 +1783,60 @@ msgstr "" "Éventuellement vérifier le certificat du server LDAP par rapport à la chaine" " d'autorité de certification de cette paire de clés." -#: authentik/sources/ldap/models.py:55 +#: authentik/sources/ldap/models.py:59 msgid "" "Client certificate to authenticate against the LDAP Server's Certificate." msgstr "Certificat du client pour authentifier le certificat du serveur LDAP." -#: authentik/sources/ldap/models.py:58 +#: authentik/sources/ldap/models.py:62 msgid "Bind CN" msgstr "Bind DN" -#: authentik/sources/ldap/models.py:60 +#: authentik/sources/ldap/models.py:64 msgid "Enable Start TLS" msgstr "Activer Start TLS" -#: authentik/sources/ldap/models.py:61 +#: authentik/sources/ldap/models.py:65 msgid "Use Server URI for SNI verification" msgstr "Utiliser l'URI du serveur pour la vérification SNI" -#: authentik/sources/ldap/models.py:63 +#: authentik/sources/ldap/models.py:67 msgid "Base DN" msgstr "DN racine" -#: authentik/sources/ldap/models.py:65 +#: authentik/sources/ldap/models.py:69 msgid "Prepended to Base DN for User-queries." msgstr "Ajouté avant le DN de base pour les requêtes sur des utilisateurs." -#: authentik/sources/ldap/models.py:66 +#: authentik/sources/ldap/models.py:70 msgid "Addition User DN" msgstr "Préfixe DN utilisateurs" -#: authentik/sources/ldap/models.py:70 +#: authentik/sources/ldap/models.py:74 msgid "Prepended to Base DN for Group-queries." msgstr "Ajouté avant le DN de base pour les requêtes sur des groupes." -#: authentik/sources/ldap/models.py:71 +#: authentik/sources/ldap/models.py:75 msgid "Addition Group DN" msgstr "Préfixe DN groupes" -#: authentik/sources/ldap/models.py:77 +#: authentik/sources/ldap/models.py:81 msgid "Consider Objects matching this filter to be Users." msgstr "Les objets appliqués à ce filtre seront des utilisateurs." -#: authentik/sources/ldap/models.py:80 +#: authentik/sources/ldap/models.py:84 msgid "Field which contains members of a group." msgstr "Champ qui contient les membres d'un groupe." -#: authentik/sources/ldap/models.py:84 +#: authentik/sources/ldap/models.py:88 msgid "Consider Objects matching this filter to be Groups." msgstr "Les objets appliqués à ce filtre seront des groupes." -#: authentik/sources/ldap/models.py:87 +#: authentik/sources/ldap/models.py:91 msgid "Field which contains a unique Identifier." msgstr "Champ qui contient un identifiant unique." -#: authentik/sources/ldap/models.py:101 +#: authentik/sources/ldap/models.py:105 msgid "" "When a user changes their password, sync it back to LDAP. This can only be " "enabled on a single LDAP source." @@ -1733,23 +1844,23 @@ msgstr "" "Lorsqu'un utilisateur change son mot de passe, le synchroniser à nouveau " "vers LDAP. Ne peut être activé que sur une seule source LDAP." -#: authentik/sources/ldap/models.py:190 +#: authentik/sources/ldap/models.py:248 msgid "LDAP Source" msgstr "Source LDAP" -#: authentik/sources/ldap/models.py:191 +#: authentik/sources/ldap/models.py:249 msgid "LDAP Sources" msgstr "Sources LDAP" -#: authentik/sources/ldap/models.py:213 +#: authentik/sources/ldap/models.py:271 msgid "LDAP Property Mapping" msgstr "Mappage de propriété LDAP" -#: authentik/sources/ldap/models.py:214 +#: authentik/sources/ldap/models.py:272 msgid "LDAP Property Mappings" msgstr "Mappages de propriété LDAP" -#: authentik/sources/ldap/signals.py:50 +#: authentik/sources/ldap/signals.py:52 msgid "Password does not match Active Directory Complexity." msgstr "Le mot de passe ne correspond pas à la complexité d'Active Directory." @@ -1798,123 +1909,123 @@ msgstr "" msgid "Additional Scopes" msgstr "Portées additionnelles" -#: authentik/sources/oauth/models.py:108 +#: authentik/sources/oauth/models.py:107 msgid "OAuth Source" msgstr "Source OAuth" -#: authentik/sources/oauth/models.py:109 +#: authentik/sources/oauth/models.py:108 msgid "OAuth Sources" msgstr "Sources OAuth" -#: authentik/sources/oauth/models.py:117 +#: authentik/sources/oauth/models.py:116 msgid "GitHub OAuth Source" msgstr "Source d'OAuth GitHub" -#: authentik/sources/oauth/models.py:118 +#: authentik/sources/oauth/models.py:117 msgid "GitHub OAuth Sources" msgstr "Sources d'OAuth GitHub" -#: authentik/sources/oauth/models.py:126 +#: authentik/sources/oauth/models.py:125 msgid "Twitch OAuth Source" msgstr "Source d'OAuth Twitch" -#: authentik/sources/oauth/models.py:127 +#: authentik/sources/oauth/models.py:126 msgid "Twitch OAuth Sources" msgstr "Sources d'OAuth Twitch" -#: authentik/sources/oauth/models.py:135 +#: authentik/sources/oauth/models.py:134 msgid "Mailcow OAuth Source" msgstr "Source d'OAuth Mailcow" -#: authentik/sources/oauth/models.py:136 +#: authentik/sources/oauth/models.py:135 msgid "Mailcow OAuth Sources" msgstr "Sources d'OAuth Mailcow" -#: authentik/sources/oauth/models.py:144 +#: authentik/sources/oauth/models.py:143 msgid "Twitter OAuth Source" msgstr "Source d'OAuth Twitter" -#: authentik/sources/oauth/models.py:145 +#: authentik/sources/oauth/models.py:144 msgid "Twitter OAuth Sources" msgstr "Sources d'OAuth Twitter" -#: authentik/sources/oauth/models.py:153 +#: authentik/sources/oauth/models.py:152 msgid "Facebook OAuth Source" msgstr "Source d'OAuth Facebook" -#: authentik/sources/oauth/models.py:154 +#: authentik/sources/oauth/models.py:153 msgid "Facebook OAuth Sources" msgstr "Sources d'OAuth Facebook" -#: authentik/sources/oauth/models.py:162 +#: authentik/sources/oauth/models.py:161 msgid "Discord OAuth Source" msgstr "Source d'OAuth Discord" -#: authentik/sources/oauth/models.py:163 +#: authentik/sources/oauth/models.py:162 msgid "Discord OAuth Sources" msgstr "Sources d'OAuth Discord" -#: authentik/sources/oauth/models.py:171 +#: authentik/sources/oauth/models.py:170 msgid "Patreon OAuth Source" msgstr "Source d'OAuth Patreon" -#: authentik/sources/oauth/models.py:172 +#: authentik/sources/oauth/models.py:171 msgid "Patreon OAuth Sources" msgstr "Sources d'OAuth Patreon" -#: authentik/sources/oauth/models.py:180 +#: authentik/sources/oauth/models.py:179 msgid "Google OAuth Source" msgstr "Source d'OAuth Google" -#: authentik/sources/oauth/models.py:181 +#: authentik/sources/oauth/models.py:180 msgid "Google OAuth Sources" msgstr "Source d'OAuth Google" -#: authentik/sources/oauth/models.py:189 +#: authentik/sources/oauth/models.py:188 msgid "Azure AD OAuth Source" msgstr "Source d'OAuth Azure AD" -#: authentik/sources/oauth/models.py:190 +#: authentik/sources/oauth/models.py:189 msgid "Azure AD OAuth Sources" msgstr "Source d'OAuth Azure AD" -#: authentik/sources/oauth/models.py:198 +#: authentik/sources/oauth/models.py:197 msgid "OpenID OAuth Source" msgstr "Source d'OAuth OpenID" -#: authentik/sources/oauth/models.py:199 +#: authentik/sources/oauth/models.py:198 msgid "OpenID OAuth Sources" msgstr "Sources d'OAuth OpenID" -#: authentik/sources/oauth/models.py:207 +#: authentik/sources/oauth/models.py:206 msgid "Apple OAuth Source" msgstr "Source d'OAuth Apple" -#: authentik/sources/oauth/models.py:208 +#: authentik/sources/oauth/models.py:207 msgid "Apple OAuth Sources" msgstr "Sources d'OAuth Apple" -#: authentik/sources/oauth/models.py:216 +#: authentik/sources/oauth/models.py:215 msgid "Okta OAuth Source" msgstr "Source d'OAuth Okta" -#: authentik/sources/oauth/models.py:217 +#: authentik/sources/oauth/models.py:216 msgid "Okta OAuth Sources" msgstr "Sources d'OAuth Okta" -#: authentik/sources/oauth/models.py:225 +#: authentik/sources/oauth/models.py:224 msgid "Reddit OAuth Source" msgstr "Source d'OAuth Reddit" -#: authentik/sources/oauth/models.py:226 +#: authentik/sources/oauth/models.py:225 msgid "Reddit OAuth Sources" msgstr "Sources d'OAuth Reddit" -#: authentik/sources/oauth/models.py:248 +#: authentik/sources/oauth/models.py:247 msgid "User OAuth Source Connection" msgstr "Connexion de l'utilisateur à la source OAuth" -#: authentik/sources/oauth/models.py:249 +#: authentik/sources/oauth/models.py:248 msgid "User OAuth Source Connections" msgstr "Connexion de l'utilisateur aux sources OAuth" @@ -2108,13 +2219,13 @@ msgstr "Appareil SMS" msgid "SMS Devices" msgstr "Appareils SMS" -#: authentik/stages/authenticator_sms/stage.py:55 +#: authentik/stages/authenticator_sms/stage.py:57 #: authentik/stages/authenticator_totp/stage.py:41 #: authentik/stages/authenticator_totp/stage.py:44 msgid "Code does not match" msgstr "Le Code ne correspond pas" -#: authentik/stages/authenticator_sms/stage.py:71 +#: authentik/stages/authenticator_sms/stage.py:73 msgid "Invalid phone number" msgstr "Numéro de téléphone invalide" @@ -2127,13 +2238,21 @@ msgid "Static Authenticator Stages" msgstr "Étapes de configuration de l'authentificateur statique" #: authentik/stages/authenticator_static/models.py:98 -msgid "Static device" +msgid "Static Device" msgstr "Équipement statique" #: authentik/stages/authenticator_static/models.py:99 -msgid "Static devices" +msgid "Static Devices" msgstr "Équipements statiques" +#: authentik/stages/authenticator_static/models.py:129 +msgid "Static Token" +msgstr "Jeton statique" + +#: authentik/stages/authenticator_static/models.py:130 +msgid "Static Tokens" +msgstr "Jetons statiques" + #: authentik/stages/authenticator_totp/models.py:25 msgid "6 digits, widely compatible" msgstr "6 chiffres, compatibilité large" @@ -2153,11 +2272,11 @@ msgid "TOTP Authenticator Setup Stages" msgstr "Étapes de configuration de l'authentificateur TOTP" #: authentik/stages/authenticator_totp/models.py:244 -msgid "TOTP device" +msgid "TOTP Device" msgstr "Équipement TOTP" #: authentik/stages/authenticator_totp/models.py:245 -msgid "TOTP devices" +msgid "TOTP Devices" msgstr "Équipements TOTP" #: authentik/stages/authenticator_validate/challenge.py:131 @@ -2272,11 +2391,11 @@ msgstr "Consentement Utilisateur" msgid "User Consents" msgstr "Consentements Utilisateur" -#: authentik/stages/deny/models.py:30 +#: authentik/stages/deny/models.py:32 msgid "Deny Stage" msgstr "Étape de Refus" -#: authentik/stages/deny/models.py:31 +#: authentik/stages/deny/models.py:33 msgid "Deny Stages" msgstr "Étapes de Refus" @@ -2320,18 +2439,26 @@ msgstr "Étape Email" msgid "Email Stages" msgstr "Étape Email" -#: authentik/stages/email/stage.py:117 +#: authentik/stages/email/stage.py:126 +msgid "Exception occurred while rendering E-mail template" +msgstr "Une erreur s'est produite lors de la modélisation du couriel" + +#: authentik/stages/email/stage.py:140 msgid "Successfully verified Email." msgstr "Email vérifié avec succès." -#: authentik/stages/email/stage.py:124 authentik/stages/email/stage.py:146 +#: authentik/stages/email/stage.py:147 authentik/stages/email/stage.py:173 msgid "No pending user." msgstr "Pas d'utilisateurs en attente." -#: authentik/stages/email/stage.py:136 +#: authentik/stages/email/stage.py:163 msgid "Email sent." msgstr "Email envoyé." +#: authentik/stages/email/stage.py:176 +msgid "Email Successfully sent." +msgstr "Couriel envoyé avec succès." + #: authentik/stages/email/templates/email/account_confirmation.html:10 msgid "Welcome!" msgstr "Bienvenue !" @@ -2391,10 +2518,6 @@ msgstr "" " Vous avez récemment demandé à changer le mot de passe de votre compte authentik. Utilisez le bouton ci-dessous pour définir un nouveau mot de passe.\n" " " -#: authentik/stages/email/templates/email/password_reset.html:28 -msgid "Reset Password" -msgstr "Réinitialiser le mot de passe" - #: authentik/stages/email/templates/email/password_reset.html:39 #, python-format msgid "" @@ -2449,28 +2572,36 @@ msgstr "" "est active, le nom d'utilisateur et l'avatar de l'utilisateur seront " "affichés. Sinon, le texte que l'utilisateur a saisi sera affiché." -#: authentik/stages/identification/models.py:65 +#: authentik/stages/identification/models.py:60 +msgid "" +"When enabled, the stage will succeed and continue even when incorrect user " +"info is entered." +msgstr "" +"Lorsqu'activé, l'étape réussira et continuera même lorsque les informations " +"utilisateurs entrées sont invalides." + +#: authentik/stages/identification/models.py:72 msgid "Optional enrollment flow, which is linked at the bottom of the page." msgstr "Flux d'inscription facultatif, qui sera accessible en bas de page." -#: authentik/stages/identification/models.py:74 +#: authentik/stages/identification/models.py:81 msgid "Optional recovery flow, which is linked at the bottom of the page." msgstr "Flux de récupération facultatif, qui sera accessible en bas de page." -#: authentik/stages/identification/models.py:83 +#: authentik/stages/identification/models.py:90 msgid "Optional passwordless flow, which is linked at the bottom of the page." msgstr "" "Flux sans mot de passe facultatif, qui sera accessible en bas de page." -#: authentik/stages/identification/models.py:87 +#: authentik/stages/identification/models.py:94 msgid "Specify which sources should be shown." msgstr "Spécifie quelles sources doivent être affichées." -#: authentik/stages/identification/models.py:108 +#: authentik/stages/identification/models.py:115 msgid "Identification Stage" msgstr "Étape d'identification" -#: authentik/stages/identification/models.py:109 +#: authentik/stages/identification/models.py:116 msgid "Identification Stages" msgstr "Étapes d'identification" @@ -2749,24 +2880,24 @@ msgstr "" msgid "Optionally add newly created users to this group." msgstr "Optionnel, ajoute les nouveaux utilisateurs créés à ce groupe." -#: authentik/stages/user_write/models.py:64 +#: authentik/stages/user_write/models.py:68 msgid "User Write Stage" msgstr "Étapes d'écriture utilisateur" -#: authentik/stages/user_write/models.py:65 +#: authentik/stages/user_write/models.py:69 msgid "User Write Stages" msgstr "Étapes d'écriture utilisateur" -#: authentik/stages/user_write/stage.py:130 +#: authentik/stages/user_write/stage.py:141 msgid "No Pending data." msgstr "Aucune donnée en attente." -#: authentik/stages/user_write/stage.py:136 +#: authentik/stages/user_write/stage.py:147 msgid "No user found and can't create new user." msgstr "Utilisateur introuvable et impossible de créer un nouvel utilisateur." -#: authentik/stages/user_write/stage.py:153 -#: authentik/stages/user_write/stage.py:167 +#: authentik/stages/user_write/stage.py:164 +#: authentik/stages/user_write/stage.py:178 msgid "Failed to update user. Please try again later." msgstr "" "Échec de mise à jour de l'utilisateur. Merci de réessayer ultérieurement," diff --git a/proxy.Dockerfile b/proxy.Dockerfile index ca4f7bc1a..83f92badc 100644 --- a/proxy.Dockerfile +++ b/proxy.Dockerfile @@ -1,3 +1,5 @@ +# syntax=docker/dockerfile:1 + # Stage 1: Build website FROM --platform=${BUILDPLATFORM} docker.io/node:21 as web-builder @@ -34,8 +36,8 @@ RUN --mount=type=bind,target=/go/src/goauthentik.io/go.mod,src=./go.mod \ ENV CGO_ENABLED=0 COPY . . -RUN --mount=type=cache,target=/go/pkg/mod \ - --mount=type=cache,target=/root/.cache/go-build \ +RUN --mount=type=cache,sharing=locked,target=/go/pkg/mod \ + --mount=type=cache,id=go-build-$TARGETARCH$TARGETVARIANT,sharing=locked,target=/root/.cache/go-build \ GOARM="${TARGETVARIANT#v}" go build -o /go/proxy ./cmd/proxy # Stage 3: Run diff --git a/radius.Dockerfile b/radius.Dockerfile index bef91e084..9c03bb9b5 100644 --- a/radius.Dockerfile +++ b/radius.Dockerfile @@ -1,3 +1,5 @@ +# syntax=docker/dockerfile:1 + # Stage 1: Build FROM --platform=${BUILDPLATFORM} docker.io/golang:1.21.5-bookworm AS builder @@ -18,8 +20,8 @@ RUN --mount=type=bind,target=/go/src/goauthentik.io/go.mod,src=./go.mod \ ENV CGO_ENABLED=0 COPY . . -RUN --mount=type=cache,target=/go/pkg/mod \ - --mount=type=cache,target=/root/.cache/go-build \ +RUN --mount=type=cache,sharing=locked,target=/go/pkg/mod \ + --mount=type=cache,id=go-build-$TARGETARCH$TARGETVARIANT,sharing=locked,target=/root/.cache/go-build \ GOARM="${TARGETVARIANT#v}" go build -o /go/radius ./cmd/radius # Stage 2: Run diff --git a/scripts/docker-compose.yml b/scripts/docker-compose.yml index 46855e3bb..658d7a0db 100644 --- a/scripts/docker-compose.yml +++ b/scripts/docker-compose.yml @@ -1,22 +1,22 @@ -version: '3.7' +version: "3.7" services: postgresql: container_name: postgres - image: library/postgres:12 + image: docker.io/library/postgres:12 volumes: - - db-data:/var/lib/postgresql/data + - db-data:/var/lib/postgresql/data environment: POSTGRES_HOST_AUTH_METHOD: trust POSTGRES_DB: authentik ports: - - 5432:5432 + - 127.0.0.1:5432:5432 restart: always redis: container_name: redis - image: library/redis + image: docker.io/library/redis ports: - - 6379:6379 + - 127.0.0.1:6379:6379 restart: always volumes: diff --git a/tests/wdio/package-lock.json b/tests/wdio/package-lock.json index 82deb5203..c528b4a15 100644 --- a/tests/wdio/package-lock.json +++ b/tests/wdio/package-lock.json @@ -9,16 +9,16 @@ "@trivago/prettier-plugin-sort-imports": "^4.3.0", "@typescript-eslint/eslint-plugin": "^6.13.2", "@typescript-eslint/parser": "^6.13.2", - "@wdio/cli": "^8.24.16", - "@wdio/local-runner": "^8.24.12", + "@wdio/cli": "^8.26.1", + "@wdio/local-runner": "^8.26.1", "@wdio/mocha-framework": "^8.24.12", "@wdio/spec-reporter": "^8.24.12", "eslint": "^8.55.0", "eslint-config-google": "^0.14.0", "eslint-plugin-sonarjs": "^0.23.0", "npm-run-all": "^4.1.5", - "prettier": "^3.1.0", - "ts-node": "^10.9.1", + "prettier": "^3.1.1", + "ts-node": "^10.9.2", "typescript": "^5.3.3", "wdio-wait-for": "^3.0.9" }, @@ -1141,14 +1141,14 @@ "dev": true }, "node_modules/@wdio/cli": { - "version": "8.24.16", - "resolved": "https://registry.npmjs.org/@wdio/cli/-/cli-8.24.16.tgz", - "integrity": "sha512-DaXSdkWMlI0pPiTWMJRP5kBGpBrzEJfPdF1VqIw+HBC9vn4OWyZWAOlA3TZ1uKifTJQ3ydaXpclbDW0/x31YhQ==", + "version": "8.26.1", + "resolved": "https://registry.npmjs.org/@wdio/cli/-/cli-8.26.1.tgz", + "integrity": "sha512-KZ3MVyH4N6j0Gdy6RL6Wv0uf5OeggFe0WRpOwZFjjQpYVEV8IEuB4kDcw8ld7f3kp9YYQGabMAkGrO6tnz5T8w==", "dev": true, "dependencies": { "@types/node": "^20.1.1", "@wdio/config": "8.24.12", - "@wdio/globals": "8.24.12", + "@wdio/globals": "8.26.1", "@wdio/logger": "8.24.12", "@wdio/protocols": "8.24.12", "@wdio/types": "8.24.12", @@ -1167,7 +1167,7 @@ "lodash.union": "^4.6.0", "read-pkg-up": "^10.0.0", "recursive-readdir": "^2.2.3", - "webdriverio": "8.24.12", + "webdriverio": "8.26.1", "yargs": "^17.7.2" }, "bin": { @@ -1208,28 +1208,28 @@ } }, "node_modules/@wdio/globals": { - "version": "8.24.12", - "resolved": "https://registry.npmjs.org/@wdio/globals/-/globals-8.24.12.tgz", - "integrity": "sha512-uF26a89Q+6DdqzSfK9suXJNdWYJnsazjzPuq4Xtz6nKdjgmBufSeX1JHV4LxErEu5b/IdzVcMCUKKEvsZPc9vA==", + "version": "8.26.1", + "resolved": "https://registry.npmjs.org/@wdio/globals/-/globals-8.26.1.tgz", + "integrity": "sha512-hNJ4mvSHzvAzDcBisaNgwRzJ2sLN4B/fno6VZcskgfYlg7UyWpVHigyxaddP2e1OeoxLL9pc2hKCtwgDr4UozA==", "dev": true, "engines": { "node": "^16.13 || >=18" }, "optionalDependencies": { "expect-webdriverio": "^4.6.1", - "webdriverio": "8.24.12" + "webdriverio": "8.26.1" } }, "node_modules/@wdio/local-runner": { - "version": "8.24.12", - "resolved": "https://registry.npmjs.org/@wdio/local-runner/-/local-runner-8.24.12.tgz", - "integrity": "sha512-Q1lfdSPDEgKwuE1gNucJrkVfgOJLTjtnYGb7Fe7oYUHGDwjkudjSBJYmyx30qFZKfZ4zRqXtaEdys54/0TxibA==", + "version": "8.26.1", + "resolved": "https://registry.npmjs.org/@wdio/local-runner/-/local-runner-8.26.1.tgz", + "integrity": "sha512-n7iiB/mKt7u6bd3uJTgqOTaN2r/EUVQpBMsrXyv5XidYEr9QHuq2OOE3biswdxSez24p0zZGU35fu6oUwz5J1Q==", "dev": true, "dependencies": { "@types/node": "^20.1.0", "@wdio/logger": "8.24.12", "@wdio/repl": "8.24.12", - "@wdio/runner": "8.24.12", + "@wdio/runner": "8.26.1", "@wdio/types": "8.24.12", "async-exit-hook": "^2.0.1", "split2": "^4.1.0", @@ -1318,14 +1318,14 @@ } }, "node_modules/@wdio/runner": { - "version": "8.24.12", - "resolved": "https://registry.npmjs.org/@wdio/runner/-/runner-8.24.12.tgz", - "integrity": "sha512-wiwXZWG12YDe7GCYBnZ1xEg3UKi18Rvh4RNQiumjypDOErJit1hOCppbJ37LqLqQu+tfWGfN73j46yR7fQOCHw==", + "version": "8.26.1", + "resolved": "https://registry.npmjs.org/@wdio/runner/-/runner-8.26.1.tgz", + "integrity": "sha512-Uhz82HD53LvfW6hLwd/cX+vYVZpiKtAr7ipTxaLt5VPEIwcDlrVz1hoVkVMGyfvkAuHxDKLZx16bigfMg+5eTQ==", "dev": true, "dependencies": { "@types/node": "^20.1.0", "@wdio/config": "8.24.12", - "@wdio/globals": "8.24.12", + "@wdio/globals": "8.26.1", "@wdio/logger": "8.24.12", "@wdio/types": "8.24.12", "@wdio/utils": "8.24.12", @@ -1333,7 +1333,7 @@ "expect-webdriverio": "^4.6.1", "gaze": "^1.1.2", "webdriver": "8.24.12", - "webdriverio": "8.24.12" + "webdriverio": "8.26.1" }, "engines": { "node": "^16.13 || >=18" @@ -6446,9 +6446,9 @@ } }, "node_modules/prettier": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.1.0.tgz", - "integrity": "sha512-TQLvXjq5IAibjh8EpBIkNKxO749UEWABoiIZehEPiY4GNpVdhaFKqSTu+QrlU6D2dPAfubRmtJTi4K4YkQ5eXw==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.1.1.tgz", + "integrity": "sha512-22UbSzg8luF4UuZtzgiUOfcGM8s4tjBv6dJRT7j275NXsy2jb4aJa4NNveul5x4eqlF1wuhuR2RElK71RvmVaw==", "dev": true, "bin": { "prettier": "bin/prettier.cjs" @@ -7985,9 +7985,9 @@ } }, "node_modules/ts-node": { - "version": "10.9.1", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz", - "integrity": "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==", + "version": "10.9.2", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz", + "integrity": "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==", "dev": true, "dependencies": { "@cspotcode/source-map-support": "^0.8.0", @@ -8517,9 +8517,9 @@ } }, "node_modules/webdriverio": { - "version": "8.24.12", - "resolved": "https://registry.npmjs.org/webdriverio/-/webdriverio-8.24.12.tgz", - "integrity": "sha512-Ddu0NNRMVkTzRzqvm3m0wt2eLUn+Plz2Cj+1QXDnVpddYJvk9J3elZC2hqNyscEtecQ+h2y3r36OcJqkl9jPag==", + "version": "8.26.1", + "resolved": "https://registry.npmjs.org/webdriverio/-/webdriverio-8.26.1.tgz", + "integrity": "sha512-KnM92UPqk7FmPJpZf3krHrqn0ydjSdyAMn+i4uENxLBqm1OyQ12gSKtIatt8FOP9/C+UrFXATSOd+jRkU2xMkw==", "dev": true, "dependencies": { "@types/node": "^20.1.0", diff --git a/tests/wdio/package.json b/tests/wdio/package.json index ddd99cc21..589ae6332 100644 --- a/tests/wdio/package.json +++ b/tests/wdio/package.json @@ -6,16 +6,16 @@ "@trivago/prettier-plugin-sort-imports": "^4.3.0", "@typescript-eslint/eslint-plugin": "^6.13.2", "@typescript-eslint/parser": "^6.13.2", - "@wdio/cli": "^8.24.16", - "@wdio/local-runner": "^8.24.12", + "@wdio/cli": "^8.26.1", + "@wdio/local-runner": "^8.26.1", "@wdio/mocha-framework": "^8.24.12", "@wdio/spec-reporter": "^8.24.12", "eslint": "^8.55.0", "eslint-config-google": "^0.14.0", "eslint-plugin-sonarjs": "^0.23.0", "npm-run-all": "^4.1.5", - "prettier": "^3.1.0", - "ts-node": "^10.9.1", + "prettier": "^3.1.1", + "ts-node": "^10.9.2", "typescript": "^5.3.3", "wdio-wait-for": "^3.0.9" }, diff --git a/web/package-lock.json b/web/package-lock.json index cbe420dd0..d1caf97bc 100644 --- a/web/package-lock.json +++ b/web/package-lock.json @@ -15,6 +15,7 @@ "@codemirror/lang-xml": "^6.0.2", "@codemirror/legacy-modes": "^6.3.3", "@codemirror/theme-one-dark": "^6.1.2", + "@esbuild/linux-arm64": "^0.19.9", "@formatjs/intl-listformat": "^7.5.3", "@fortawesome/fontawesome-free": "^6.5.1", "@goauthentik/api": "^2023.10.4-1701882394", @@ -85,12 +86,12 @@ "eslint-plugin-storybook": "^0.6.15", "lit-analyzer": "^2.0.1", "npm-run-all": "^4.1.5", - "prettier": "^3.1.0", + "prettier": "^3.1.1", "pseudolocale": "^2.0.0", "pyright": "^1.1.338", "react": "^18.2.0", "react-dom": "^18.2.0", - "rollup": "^4.6.1", + "rollup": "^4.7.0", "rollup-plugin-copy": "^3.5.0", "rollup-plugin-cssimport": "^1.0.3", "rollup-plugin-postcss-lit": "^2.1.0", @@ -106,9 +107,9 @@ "node": ">=20" }, "optionalDependencies": { - "@esbuild/darwin-arm64": "^0.19.8", + "@esbuild/darwin-arm64": "^0.19.9", "@esbuild/linux-amd64": "^0.18.11", - "@esbuild/linux-arm64": "^0.19.8" + "@esbuild/linux-arm64": "^0.19.9" } }, "node_modules/@aashutoshrathi/word-wrap": { @@ -2431,9 +2432,9 @@ } }, "node_modules/@esbuild/darwin-arm64": { - "version": "0.19.8", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.19.8.tgz", - "integrity": "sha512-RQw9DemMbIq35Bprbboyf8SmOr4UXsRVxJ97LgB55VKKeJOOdvsIPy0nFyF2l8U+h4PtBx/1kRf0BelOYCiQcw==", + "version": "0.19.9", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.19.9.tgz", + "integrity": "sha512-KBJ9S0AFyLVx2E5D8W0vExqRW01WqRtczUZ8NRu+Pi+87opZn5tL4Y0xT0mA4FtHctd0ZgwNoN639fUUGlNIWw==", "cpu": [ "arm64" ], @@ -2510,9 +2511,9 @@ } }, "node_modules/@esbuild/linux-arm64": { - "version": "0.19.8", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.19.8.tgz", - "integrity": "sha512-z1zMZivxDLHWnyGOctT9JP70h0beY54xDDDJt4VpTX+iwA77IFsE1vCXWmprajJGa+ZYSqkSbRQ4eyLCpCmiCQ==", + "version": "0.19.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.19.9.tgz", + "integrity": "sha512-PiPblfe1BjK7WDAKR1Cr9O7VVPqVNpwFcPWgfn4xu0eMemzRp442hXyzF/fSwgrufI66FpHOEJk0yYdPInsmyQ==", "cpu": [ "arm64" ], @@ -4580,9 +4581,9 @@ } }, "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.6.1.tgz", - "integrity": "sha512-0WQ0ouLejaUCRsL93GD4uft3rOmB8qoQMU05Kb8CmMtMBe7XUDLAltxVZI1q6byNqEtU7N1ZX1Vw5lIpgulLQA==", + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.7.0.tgz", + "integrity": "sha512-rGku10pL1StFlFvXX5pEv88KdGW6DHUghsxyP/aRYb9eH+74jTGJ3U0S/rtlsQ4yYq1Hcc7AMkoJOb1xu29Fxw==", "cpu": [ "arm" ], @@ -4593,9 +4594,9 @@ ] }, "node_modules/@rollup/rollup-android-arm64": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.6.1.tgz", - "integrity": "sha512-1TKm25Rn20vr5aTGGZqo6E4mzPicCUD79k17EgTLAsXc1zysyi4xXKACfUbwyANEPAEIxkzwue6JZ+stYzWUTA==", + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.7.0.tgz", + "integrity": "sha512-/EBw0cuJ/KVHiU2qyVYUhogXz7W2vXxBzeE9xtVIMC+RyitlY2vvaoysMUqASpkUtoNIHlnKTu/l7mXOPgnKOA==", "cpu": [ "arm64" ], @@ -4606,9 +4607,9 @@ ] }, "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.6.1.tgz", - "integrity": "sha512-cEXJQY/ZqMACb+nxzDeX9IPLAg7S94xouJJCNVE5BJM8JUEP4HeTF+ti3cmxWeSJo+5D+o8Tc0UAWUkfENdeyw==", + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.7.0.tgz", + "integrity": "sha512-4VXG1bgvClJdbEYYjQ85RkOtwN8sqI3uCxH0HC5w9fKdqzRzgG39K7GAehATGS8jghA7zNoS5CjSKkDEqWmNZg==", "cpu": [ "arm64" ], @@ -4619,9 +4620,9 @@ ] }, "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.6.1.tgz", - "integrity": "sha512-LoSU9Xu56isrkV2jLldcKspJ7sSXmZWkAxg7sW/RfF7GS4F5/v4EiqKSMCFbZtDu2Nc1gxxFdQdKwkKS4rwxNg==", + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.7.0.tgz", + "integrity": "sha512-/ImhO+T/RWJ96hUbxiCn2yWI0/MeQZV/aeukQQfhxiSXuZJfyqtdHPUPrc84jxCfXTxbJLmg4q+GBETeb61aNw==", "cpu": [ "x64" ], @@ -4632,9 +4633,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.6.1.tgz", - "integrity": "sha512-EfI3hzYAy5vFNDqpXsNxXcgRDcFHUWSx5nnRSCKwXuQlI5J9dD84g2Usw81n3FLBNsGCegKGwwTVsSKK9cooSQ==", + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.7.0.tgz", + "integrity": "sha512-zhye8POvTyUXlKbfPBVqoHy3t43gIgffY+7qBFqFxNqVtltQLtWeHNAbrMnXiLIfYmxcoL/feuLDote2tx+Qbg==", "cpu": [ "arm" ], @@ -4645,9 +4646,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.6.1.tgz", - "integrity": "sha512-9lhc4UZstsegbNLhH0Zu6TqvDfmhGzuCWtcTFXY10VjLLUe4Mr0Ye2L3rrtHaDd/J5+tFMEuo5LTCSCMXWfUKw==", + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.7.0.tgz", + "integrity": "sha512-RAdr3OJnUum6Vs83cQmKjxdTg31zJnLLTkjhcFt0auxM6jw00GD6IPFF42uasYPr/wGC6TRm7FsQiJyk0qIEfg==", "cpu": [ "arm64" ], @@ -4658,9 +4659,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.6.1.tgz", - "integrity": "sha512-FfoOK1yP5ksX3wwZ4Zk1NgyGHZyuRhf99j64I5oEmirV8EFT7+OhUZEnP+x17lcP/QHJNWGsoJwrz4PJ9fBEXw==", + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.7.0.tgz", + "integrity": "sha512-nhWwYsiJwZGq7SyR3afS3EekEOsEAlrNMpPC4ZDKn5ooYSEjDLe9W/xGvoIV8/F/+HNIY6jY8lIdXjjxfxopXw==", "cpu": [ "arm64" ], @@ -4670,10 +4671,23 @@ "linux" ] }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.7.0.tgz", + "integrity": "sha512-rlfy5RnQG1aop1BL/gjdH42M2geMUyVQqd52GJVirqYc787A/XVvl3kQ5NG/43KXgOgE9HXgCaEH05kzQ+hLoA==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.6.1.tgz", - "integrity": "sha512-DNGZvZDO5YF7jN5fX8ZqmGLjZEXIJRdJEdTFMhiyXqyXubBa0WVLDWSNlQ5JR2PNgDbEV1VQowhVRUh+74D+RA==", + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.7.0.tgz", + "integrity": "sha512-cCkoGlGWfBobdDtiiypxf79q6k3/iRVGu1HVLbD92gWV5WZbmuWJCgRM4x2N6i7ljGn1cGytPn9ZAfS8UwF6vg==", "cpu": [ "x64" ], @@ -4684,9 +4698,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.6.1.tgz", - "integrity": "sha512-RkJVNVRM+piYy87HrKmhbexCHg3A6Z6MU0W9GHnJwBQNBeyhCJG9KDce4SAMdicQnpURggSvtbGo9xAWOfSvIQ==", + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.7.0.tgz", + "integrity": "sha512-R2oBf2p/Arc1m+tWmiWbpHBjEcJnHVnv6bsypu4tcKdrYTpDfl1UT9qTyfkIL1iiii5D4WHxUHCg5X0pzqmxFg==", "cpu": [ "x64" ], @@ -4697,9 +4711,9 @@ ] }, "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.6.1.tgz", - "integrity": "sha512-v2FVT6xfnnmTe3W9bJXl6r5KwJglMK/iRlkKiIFfO6ysKs0rDgz7Cwwf3tjldxQUrHL9INT/1r4VA0n9L/F1vQ==", + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.7.0.tgz", + "integrity": "sha512-CPtgaQL1aaPc80m8SCVEoxFGHxKYIt3zQYC3AccL/SqqiWXblo3pgToHuBwR8eCP2Toa+X1WmTR/QKFMykws7g==", "cpu": [ "arm64" ], @@ -4710,9 +4724,9 @@ ] }, "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.6.1.tgz", - "integrity": "sha512-YEeOjxRyEjqcWphH9dyLbzgkF8wZSKAKUkldRY6dgNR5oKs2LZazqGB41cWJ4Iqqcy9/zqYgmzBkRoVz3Q9MLw==", + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.7.0.tgz", + "integrity": "sha512-pmioUlttNh9GXF5x2CzNa7Z8kmRTyhEzzAC+2WOOapjewMbl+3tGuAnxbwc5JyG8Jsz2+hf/QD/n5VjimOZ63g==", "cpu": [ "ia32" ], @@ -4723,9 +4737,9 @@ ] }, "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.6.1.tgz", - "integrity": "sha512-0zfTlFAIhgz8V2G8STq8toAjsYYA6eci1hnXuyOTUFnymrtJwnS6uGKiv3v5UrPZkBlamLvrLV2iiaeqCKzb0A==", + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.7.0.tgz", + "integrity": "sha512-SeZzC2QhhdBQUm3U0c8+c/P6UlRyBcLL2Xp5KX7z46WXZxzR8RJSIWL9wSUeBTgxog5LTPJuPj0WOT9lvrtP7Q==", "cpu": [ "x64" ], @@ -15708,9 +15722,9 @@ } }, "node_modules/prettier": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.1.0.tgz", - "integrity": "sha512-TQLvXjq5IAibjh8EpBIkNKxO749UEWABoiIZehEPiY4GNpVdhaFKqSTu+QrlU6D2dPAfubRmtJTi4K4YkQ5eXw==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.1.1.tgz", + "integrity": "sha512-22UbSzg8luF4UuZtzgiUOfcGM8s4tjBv6dJRT7j275NXsy2jb4aJa4NNveul5x4eqlF1wuhuR2RElK71RvmVaw==", "dev": true, "bin": { "prettier": "bin/prettier.cjs" @@ -16658,9 +16672,9 @@ "integrity": "sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg==" }, "node_modules/rollup": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.6.1.tgz", - "integrity": "sha512-jZHaZotEHQaHLgKr8JnQiDT1rmatjgKlMekyksz+yk9jt/8z9quNjnKNRoaM0wd9DC2QKXjmWWuDYtM3jfF8pQ==", + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.7.0.tgz", + "integrity": "sha512-7Kw0dUP4BWH78zaZCqF1rPyQ8D5DSU6URG45v1dqS/faNsx9WXyess00uTOZxKr7oR/4TOjO1CPudT8L1UsEgw==", "dev": true, "bin": { "rollup": "dist/bin/rollup" @@ -16670,18 +16684,19 @@ "npm": ">=8.0.0" }, "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.6.1", - "@rollup/rollup-android-arm64": "4.6.1", - "@rollup/rollup-darwin-arm64": "4.6.1", - "@rollup/rollup-darwin-x64": "4.6.1", - "@rollup/rollup-linux-arm-gnueabihf": "4.6.1", - "@rollup/rollup-linux-arm64-gnu": "4.6.1", - "@rollup/rollup-linux-arm64-musl": "4.6.1", - "@rollup/rollup-linux-x64-gnu": "4.6.1", - "@rollup/rollup-linux-x64-musl": "4.6.1", - "@rollup/rollup-win32-arm64-msvc": "4.6.1", - "@rollup/rollup-win32-ia32-msvc": "4.6.1", - "@rollup/rollup-win32-x64-msvc": "4.6.1", + "@rollup/rollup-android-arm-eabi": "4.7.0", + "@rollup/rollup-android-arm64": "4.7.0", + "@rollup/rollup-darwin-arm64": "4.7.0", + "@rollup/rollup-darwin-x64": "4.7.0", + "@rollup/rollup-linux-arm-gnueabihf": "4.7.0", + "@rollup/rollup-linux-arm64-gnu": "4.7.0", + "@rollup/rollup-linux-arm64-musl": "4.7.0", + "@rollup/rollup-linux-riscv64-gnu": "4.7.0", + "@rollup/rollup-linux-x64-gnu": "4.7.0", + "@rollup/rollup-linux-x64-musl": "4.7.0", + "@rollup/rollup-win32-arm64-msvc": "4.7.0", + "@rollup/rollup-win32-ia32-msvc": "4.7.0", + "@rollup/rollup-win32-x64-msvc": "4.7.0", "fsevents": "~2.3.2" } }, diff --git a/web/package.json b/web/package.json index 2effd445c..811e221ca 100644 --- a/web/package.json +++ b/web/package.json @@ -106,12 +106,12 @@ "eslint-plugin-storybook": "^0.6.15", "lit-analyzer": "^2.0.1", "npm-run-all": "^4.1.5", - "prettier": "^3.1.0", + "prettier": "^3.1.1", "pseudolocale": "^2.0.0", "pyright": "^1.1.338", "react": "^18.2.0", "react-dom": "^18.2.0", - "rollup": "^4.6.1", + "rollup": "^4.7.0", "rollup-plugin-copy": "^3.5.0", "rollup-plugin-cssimport": "^1.0.3", "rollup-plugin-postcss-lit": "^2.1.0", @@ -124,9 +124,9 @@ "vite-tsconfig-paths": "^4.2.2" }, "optionalDependencies": { - "@esbuild/darwin-arm64": "^0.19.8", + "@esbuild/darwin-arm64": "^0.19.9", "@esbuild/linux-amd64": "^0.18.11", - "@esbuild/linux-arm64": "^0.19.8" + "@esbuild/linux-arm64": "^0.19.9" }, "engines": { "node": ">=20" diff --git a/web/src/assets/images/flow_background.jpg b/web/src/assets/images/flow_background.jpg index 7035dab16..ae78b49e9 100644 Binary files a/web/src/assets/images/flow_background.jpg and b/web/src/assets/images/flow_background.jpg differ diff --git a/web/src/flow/FlowExecutor.ts b/web/src/flow/FlowExecutor.ts index 73c51437d..595c52585 100644 --- a/web/src/flow/FlowExecutor.ts +++ b/web/src/flow/FlowExecutor.ts @@ -167,6 +167,7 @@ export class FlowExecutor extends Interface implements StageHost { } .ak-brand img { padding: 0 2rem; + max-height: inherit; } `); } @@ -502,7 +503,7 @@ export class FlowExecutor extends Interface implements StageHost { ? html`
  • ${msg("Background image")}
  • diff --git a/web/xliff/fr.xlf b/web/xliff/fr.xlf index 3c0fd9f4d..2c647c773 100644 --- a/web/xliff/fr.xlf +++ b/web/xliff/fr.xlf @@ -1,4 +1,4 @@ - + @@ -613,9 +613,9 @@ Il y a jour(s) - The URL "" was not found. - L'URL " - " n'a pas été trouvée. + The URL "" was not found. + L'URL " + " n'a pas été trouvée. @@ -1057,8 +1057,8 @@ Il y a jour(s) - To allow any redirect URI, set this value to ".*". Be aware of the possible security implications this can have. - Pour permettre n'importe quelle URI de redirection, définissez cette valeur sur ".*". Soyez conscient des possibles implications de sécurité que cela peut avoir. + To allow any redirect URI, set this value to ".*". Be aware of the possible security implications this can have. + Pour permettre n'importe quelle URI de redirection, définissez cette valeur sur ".*". Soyez conscient des possibles implications de sécurité que cela peut avoir. @@ -1630,7 +1630,7 @@ Il y a jour(s) Token to authenticate with. Currently only bearer authentication is supported. - Jeton d'authentification à utiliser. Actuellement, seule l'authentification "bearer authentication" est prise en charge. + Jeton d'authentification à utiliser. Actuellement, seule l'authentification "bearer authentication" est prise en charge. @@ -1798,8 +1798,8 @@ Il y a jour(s) - Either input a full URL, a relative path, or use 'fa://fa-test' to use the Font Awesome icon "fa-test". - Entrez une URL complète, un chemin relatif ou utilisez 'fa://fa-test' pour utiliser l'icône Font Awesome "fa-test". + Either input a full URL, a relative path, or use 'fa://fa-test' to use the Font Awesome icon "fa-test". + Entrez une URL complète, un chemin relatif ou utilisez 'fa://fa-test' pour utiliser l'icône Font Awesome "fa-test". @@ -2897,7 +2897,7 @@ doesn't pass when either or both of the selected options are equal or above the To use SSL instead, use 'ldaps://' and disable this option. - Pour utiliser SSL à la base, utilisez "ldaps://" et désactviez cette option. + Pour utiliser SSL à la base, utilisez "ldaps://" et désactviez cette option. @@ -2986,8 +2986,8 @@ doesn't pass when either or both of the selected options are equal or above the - Field which contains members of a group. Note that if using the "memberUid" field, the value is assumed to contain a relative distinguished name. e.g. 'memberUid=some-user' instead of 'memberUid=cn=some-user,ou=groups,...' - Champ qui contient les membres d'un groupe. Si vous utilisez le champ "memberUid", la valeur est censée contenir un nom distinctif relatif, par exemple 'memberUid=un-utilisateur' au lieu de 'memberUid=cn=un-utilisateur,ou=groups,...' + Field which contains members of a group. Note that if using the "memberUid" field, the value is assumed to contain a relative distinguished name. e.g. 'memberUid=some-user' instead of 'memberUid=cn=some-user,ou=groups,...' + Champ qui contient les membres d'un groupe. Si vous utilisez le champ "memberUid", la valeur est censée contenir un nom distinctif relatif, par exemple 'memberUid=un-utilisateur' au lieu de 'memberUid=cn=un-utilisateur,ou=groups,...' @@ -3282,7 +3282,7 @@ doesn't pass when either or both of the selected options are equal or above the Time offset when temporary users should be deleted. This only applies if your IDP uses the NameID Format 'transient', and the user doesn't log out manually. - Moment où les utilisateurs temporaires doivent être supprimés. Cela ne s'applique que si votre IDP utilise le format NameID "transient" et que l'utilisateur ne se déconnecte pas manuellement. + Moment où les utilisateurs temporaires doivent être supprimés. Cela ne s'applique que si votre IDP utilise le format NameID "transient" et que l'utilisateur ne se déconnecte pas manuellement. @@ -3450,7 +3450,7 @@ doesn't pass when either or both of the selected options are equal or above the Optionally set the 'FriendlyName' value of the Assertion attribute. - Indiquer la valeur "FriendlyName" de l'attribut d'assertion (optionnel) + Indiquer la valeur "FriendlyName" de l'attribut d'assertion (optionnel) @@ -3779,8 +3779,8 @@ doesn't pass when either or both of the selected options are equal or above the - When using an external logging solution for archiving, this can be set to "minutes=5". - En cas d'utilisation d'une solution de journalisation externe pour l'archivage, cette valeur peut être fixée à "minutes=5". + When using an external logging solution for archiving, this can be set to "minutes=5". + En cas d'utilisation d'une solution de journalisation externe pour l'archivage, cette valeur peut être fixée à "minutes=5". @@ -3789,8 +3789,8 @@ doesn't pass when either or both of the selected options are equal or above the - Format: "weeks=3;days=2;hours=3,seconds=2". - Format : "weeks=3;days=2;hours=3,seconds=2". + Format: "weeks=3;days=2;hours=3,seconds=2". + Format : "weeks=3;days=2;hours=3,seconds=2". @@ -3986,10 +3986,10 @@ doesn't pass when either or both of the selected options are equal or above the - Are you sure you want to update ""? + Are you sure you want to update ""? Êtes-vous sûr de vouloir mettre à jour - " - " ? + " + " ? @@ -5075,8 +5075,8 @@ doesn't pass when either or both of the selected options are equal or above the - A "roaming" authenticator, like a YubiKey - Un authentificateur "itinérant", comme une YubiKey + A "roaming" authenticator, like a YubiKey + Un authentificateur "itinérant", comme une YubiKey @@ -5401,7 +5401,7 @@ doesn't pass when either or both of the selected options are equal or above the Show arbitrary input fields to the user, for example during enrollment. Data is saved in the flow context under the 'prompt_data' variable. - Afficher des champs de saisie arbitraires à l'utilisateur, par exemple pendant l'inscription. Les données sont enregistrées dans le contexte du flux sous la variable "prompt_data". + Afficher des champs de saisie arbitraires à l'utilisateur, par exemple pendant l'inscription. Les données sont enregistrées dans le contexte du flux sous la variable "prompt_data". @@ -5410,10 +5410,10 @@ doesn't pass when either or both of the selected options are equal or above the - ("", of type ) + ("", of type ) - (" - ", de type + (" + ", de type ) @@ -5462,8 +5462,8 @@ doesn't pass when either or both of the selected options are equal or above the - If set to a duration above 0, the user will have the option to choose to "stay signed in", which will extend their session by the time specified here. - Si défini à une durée supérieure à 0, l'utilisateur aura la possibilité de choisir de "rester connecté", ce qui prolongera sa session jusqu'à la durée spécifiée ici. + If set to a duration above 0, the user will have the option to choose to "stay signed in", which will extend their session by the time specified here. + Si défini à une durée supérieure à 0, l'utilisateur aura la possibilité de choisir de "rester connecté", ce qui prolongera sa session jusqu'à la durée spécifiée ici. @@ -6247,7 +6247,7 @@ Les liaisons avec les groupes/utilisateurs sont vérifiées par rapport à l'uti Can be in the format of 'unix://' when connecting to a local docker daemon, using 'ssh://' to connect via SSH, or 'https://:2376' when connecting to a remote system. - Peut être au format "unix://" pour une connexion à un service docker local, "ssh://" pour une connexion via SSH, ou "https://:2376" pour une connexion à un système distant. + Peut être au format "unix://" pour une connexion à un service docker local, "ssh://" pour une connexion via SSH, ou "https://:2376" pour une connexion à un système distant. @@ -7554,7 +7554,7 @@ Les liaisons avec les groupes/utilisateurs sont vérifiées par rapport à l'uti Use this provider with nginx's auth_request or traefik's forwardAuth. Each application/domain needs its own provider. Additionally, on each domain, /outpost.goauthentik.io must be routed to the outpost (when using a managed outpost, this is done for you). - Utilisez ce fournisseur avec l'option "auth_request" de Nginx ou "forwardAuth" de Traefik. Chaque application/domaine a besoin de son propre fournisseur. De plus, sur chaque domaine, "/outpost.goauthentik.io" doit être routé vers le poste avancé (lorsque vous utilisez un poste avancé géré, cela est fait pour vous). + Utilisez ce fournisseur avec l'option "auth_request" de Nginx ou "forwardAuth" de Traefik. Chaque application/domaine a besoin de son propre fournisseur. De plus, sur chaque domaine, "/outpost.goauthentik.io" doit être routé vers le poste avancé (lorsque vous utilisez un poste avancé géré, cela est fait pour vous). Default relay state @@ -7968,7 +7968,7 @@ Les liaisons avec les groupes/utilisateurs sont vérifiées par rapport à l'uti Utilisateur créé et ajouté au groupe avec succès - This user will be added to the group "". + This user will be added to the group "". Cet utilisateur sera ajouté au groupe "". @@ -7981,52 +7981,68 @@ Les liaisons avec les groupes/utilisateurs sont vérifiées par rapport à l'uti There was an error in the application. + Une erreur a été rencontrée dans l'application. Review the application. + Passer en revue l'application. There was an error in the provider. + Une erreur a été rencontrée dans le fournisseur. Review the provider. + Passer en revue le fournisseur. There was an error + Il y a eu une erreur There was an error creating the application, but no error message was sent. Please review the server logs. + Il y a eu une erreur lors de la création de l'application, mais aucun message d'erreur n'a été envoyé. Veuillez consulter les logs du serveur. Configure LDAP Provider + Configurer le fournisseur LDAP Configure OAuth2/OpenId Provider + Configurer le fournisseur OAuth2/OpenID Configure Proxy Provider + Configurer le fournisseur Proxy AdditionalScopes + Scopes additionels Configure Radius Provider + Configurer le fournisseur Radius Configure SAML Provider + Configurer le fournisseur SAML Property mappings used for user mapping. + Mappages de propriété utilisés pour la correspondance des utilisateurs. Configure SCIM Provider + Configurer le fournisseur SCIM Property mappings used for group creation. + Mappages de propriétés utilisés lors de la création des groupe Event volume + Volume d'événements - + \ No newline at end of file diff --git a/web/xliff/zh-Hans.xlf b/web/xliff/zh-Hans.xlf index d14dfa4c0..efcf25576 100644 --- a/web/xliff/zh-Hans.xlf +++ b/web/xliff/zh-Hans.xlf @@ -1,4 +1,4 @@ - + @@ -613,9 +613,9 @@ - The URL "" was not found. - 未找到 URL " - "。 + The URL "" was not found. + 未找到 URL " + "。 @@ -1057,8 +1057,8 @@ - To allow any redirect URI, set this value to ".*". Be aware of the possible security implications this can have. - 要允许任何重定向 URI,请将此值设置为 ".*"。请注意这可能带来的安全影响。 + To allow any redirect URI, set this value to ".*". Be aware of the possible security implications this can have. + 要允许任何重定向 URI,请将此值设置为 ".*"。请注意这可能带来的安全影响。 @@ -1799,8 +1799,8 @@ - Either input a full URL, a relative path, or use 'fa://fa-test' to use the Font Awesome icon "fa-test". - 输入完整 URL、相对路径,或者使用 'fa://fa-test' 来使用 Font Awesome 图标 "fa-test"。 + Either input a full URL, a relative path, or use 'fa://fa-test' to use the Font Awesome icon "fa-test". + 输入完整 URL、相对路径,或者使用 'fa://fa-test' 来使用 Font Awesome 图标 "fa-test"。 @@ -2988,8 +2988,8 @@ doesn't pass when either or both of the selected options are equal or above the - Field which contains members of a group. Note that if using the "memberUid" field, the value is assumed to contain a relative distinguished name. e.g. 'memberUid=some-user' instead of 'memberUid=cn=some-user,ou=groups,...' - 包含组成员的字段。请注意,如果使用 "memberUid" 字段,则假定该值包含相对可分辨名称。例如,'memberUid=some-user' 而不是 'memberUid=cn=some-user,ou=groups,...' + Field which contains members of a group. Note that if using the "memberUid" field, the value is assumed to contain a relative distinguished name. e.g. 'memberUid=some-user' instead of 'memberUid=cn=some-user,ou=groups,...' + 包含组成员的字段。请注意,如果使用 "memberUid" 字段,则假定该值包含相对可分辨名称。例如,'memberUid=some-user' 而不是 'memberUid=cn=some-user,ou=groups,...' @@ -3781,8 +3781,8 @@ doesn't pass when either or both of the selected options are equal or above the - When using an external logging solution for archiving, this can be set to "minutes=5". - 使用外部日志记录解决方案进行存档时,可以将其设置为 "minutes=5"。 + When using an external logging solution for archiving, this can be set to "minutes=5". + 使用外部日志记录解决方案进行存档时,可以将其设置为 "minutes=5"。 @@ -3791,8 +3791,8 @@ doesn't pass when either or both of the selected options are equal or above the - Format: "weeks=3;days=2;hours=3,seconds=2". - 格式:"weeks=3;days=2;hours=3,seconds=2"。 + Format: "weeks=3;days=2;hours=3,seconds=2". + 格式:"weeks=3;days=2;hours=3,seconds=2"。 @@ -3988,10 +3988,10 @@ doesn't pass when either or both of the selected options are equal or above the - Are you sure you want to update ""? + Are you sure you want to update ""? 您确定要更新 - " - " 吗? + " + " 吗? @@ -5077,7 +5077,7 @@ doesn't pass when either or both of the selected options are equal or above the - A "roaming" authenticator, like a YubiKey + A "roaming" authenticator, like a YubiKey 像 YubiKey 这样的“漫游”身份验证器 @@ -5412,10 +5412,10 @@ doesn't pass when either or both of the selected options are equal or above the - ("", of type ) + ("", of type ) - (" - ",类型为 + (" + ",类型为 @@ -5464,7 +5464,7 @@ doesn't pass when either or both of the selected options are equal or above the - If set to a duration above 0, the user will have the option to choose to "stay signed in", which will extend their session by the time specified here. + If set to a duration above 0, the user will have the option to choose to "stay signed in", which will extend their session by the time specified here. 如果设置时长大于 0,用户可以选择“保持登录”选项,这将使用户的会话延长此处设置的时间。 @@ -7970,7 +7970,7 @@ Bindings to groups/users are checked against the user of the event. 成功创建用户并添加到组 - This user will be added to the group "". + This user will be added to the group "". 此用户将会被添加到组 ""。 @@ -8047,4 +8047,4 @@ Bindings to groups/users are checked against the user of the event. - \ No newline at end of file + diff --git a/website/package-lock.json b/website/package-lock.json index 6a119f446..5b1300f37 100644 --- a/website/package-lock.json +++ b/website/package-lock.json @@ -33,8 +33,8 @@ "@docusaurus/module-type-aliases": "3.0.1", "@docusaurus/tsconfig": "3.0.1", "@docusaurus/types": "3.0.1", - "@types/react": "^18.2.42", - "prettier": "3.1.0", + "@types/react": "^18.2.43", + "prettier": "3.1.1", "typescript": "~5.3.3" }, "engines": { @@ -4373,9 +4373,9 @@ "integrity": "sha512-+0autS93xyXizIYiyL02FCY8N+KkKPhILhcUSA276HxzreZ16kl+cmwvV2qAM/PuCCwPXzOXOWhiPcw20uSFcA==" }, "node_modules/@types/react": { - "version": "18.2.42", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.42.tgz", - "integrity": "sha512-c1zEr96MjakLYus/wPnuWDo1/zErfdU9rNsIGmE+NV71nx88FG9Ttgo5dqorXTu/LImX2f63WBP986gJkMPNbA==", + "version": "18.2.43", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.43.tgz", + "integrity": "sha512-nvOV01ZdBdd/KW6FahSbcNplt2jCJfyWdTos61RYHV+FVv5L/g9AOX1bmbVcWcLFL8+KHQfh1zVIQrud6ihyQA==", "dependencies": { "@types/prop-types": "*", "@types/scheduler": "*", @@ -13754,9 +13754,9 @@ } }, "node_modules/prettier": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.1.0.tgz", - "integrity": "sha512-TQLvXjq5IAibjh8EpBIkNKxO749UEWABoiIZehEPiY4GNpVdhaFKqSTu+QrlU6D2dPAfubRmtJTi4K4YkQ5eXw==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.1.1.tgz", + "integrity": "sha512-22UbSzg8luF4UuZtzgiUOfcGM8s4tjBv6dJRT7j275NXsy2jb4aJa4NNveul5x4eqlF1wuhuR2RElK71RvmVaw==", "dev": true, "bin": { "prettier": "bin/prettier.cjs" diff --git a/website/package.json b/website/package.json index cac35029a..154632203 100644 --- a/website/package.json +++ b/website/package.json @@ -52,8 +52,8 @@ "@docusaurus/module-type-aliases": "3.0.1", "@docusaurus/tsconfig": "3.0.1", "@docusaurus/types": "3.0.1", - "@types/react": "^18.2.42", - "prettier": "3.1.0", + "@types/react": "^18.2.43", + "prettier": "3.1.1", "typescript": "~5.3.3" }, "engines": {