snapshot of https://github.com/ory/kratos.git (master, 2026-09-15; blobs > 131072B omitted)
Some checks failed
CI / Run tests and lints (push) Failing after 29s
CI / Build CLI docs (push) Has been skipped
CI / Run Playwright end-to-end tests (mysql) (push) Failing after 3s
CI / Run Playwright end-to-end tests (postgres) (push) Failing after 2s
CI / Run Playwright end-to-end tests (sqlite) (push) Failing after 3s
CodeQL / Analyze (go) (push) Failing after 4s
CodeQL / Analyze (javascript) (push) Failing after 3s
Docker Image Scanners / scanners (push) Failing after 4s
Synchronize Issue Labels / Synchronize Issue Labels (push) Has been skipped
CI / Run end-to-end tests (postgres) (push) Failing after 19s
CI / Run end-to-end tests (sqlite) (push) Failing after 2s
CI / Run Playwright end-to-end tests (cockroach) (push) Failing after 2s
CI / Draft newsletter (push) Has been skipped
CI / Generate release (push) Has been skipped
CI / Pending approval Slack notification (push) Has been skipped
CI / Send newsletter (push) Has been skipped

This commit is contained in:
upstream-mirror
2026-09-15 21:19:12 +05:00
commit c60cc7ca75
8092 changed files with 394160 additions and 0 deletions

35
.docker/Dockerfile-alpine Normal file
View File

@@ -0,0 +1,35 @@
FROM alpine:3.20.0
# Because this image supports SQLite, we create /home/ory and /home/ory/sqlite which is owned by the ory user
# and declare /home/ory/sqlite a volume.
#
# To get SQLite and Docker Volumes working with this image, mount the volume where SQLite should be written to at:
#
# /home/ory/sqlite/some-file.
RUN addgroup -S ory; \
adduser -S ory -G ory -D -u 10000 -h /home/ory -s /bin/nologin; \
chown -R ory:ory /home/ory
RUN apk --update upgrade && apk --no-cache --update-cache --upgrade --latest add ca-certificates
WORKDIR /home/ory
COPY kratos /usr/bin/kratos
# By creating the sqlite folder as the ory user, the mounted volume will be owned by ory:ory, which
# is required for read/write of SQLite.
RUN mkdir -p /var/lib/sqlite
RUN chown ory:ory /var/lib/sqlite
VOLUME /var/lib/sqlite
# Exposing the ory home directory to simplify passing in Kratos configuration (e.g. if the file $HOME/.kratos.yaml
# exists, it will be automatically used as the configuration file).
VOLUME /home/ory
# Declare the standard ports used by Kratos (4433 for public service endpoint, 4434 for admin service endpoint)
EXPOSE 4433 4434
USER 10000
ENTRYPOINT ["kratos"]
CMD ["serve"]

46
.docker/Dockerfile-build Normal file
View File

@@ -0,0 +1,46 @@
FROM golang:1.26-trixie AS builder
RUN apt-get update && apt-get upgrade -y &&\
mkdir -p /var/lib/sqlite
WORKDIR /go/src/github.com/ory/kratos
COPY oryx/go.mod oryx/go.mod
COPY oryx/go.sum oryx/go.sum
COPY go.mod go.mod
COPY go.sum go.sum
COPY pkg/client-go/go.* pkg/client-go/
ENV CGO_ENABLED 0
RUN go mod download
COPY . .
ARG VERSION
ARG COMMIT
ARG BUILD_DATE
RUN --mount=type=cache,target=/root/.cache/go-build go build \
-ldflags="-X 'github.com/ory/kratos/driver/config.Version=${VERSION}' -X 'github.com/ory/kratos/driver/config.Date=${BUILD_DATE}' -X 'github.com/ory/kratos/driver/config.Commit=${COMMIT}'" \
-o /usr/bin/kratos
#########################
# Kratos is built with CGO_ENABLED=0, so it needs no glibc at runtime. The static
# base carries none, which keeps this image free of the unfixable libc6
# advisories the base-nossl variant ships with, and matches the base the released
# images use (.docker/Dockerfile-distroless-static).
FROM gcr.io/distroless/static-debian12:nonroot AS runner
COPY --from=builder --chown=nonroot:nonroot /var/lib/sqlite /var/lib/sqlite
COPY --from=builder --chown=nonroot:nonroot /usr/bin/kratos /usr/bin/kratos
VOLUME /var/lib/sqlite
# Declare the standard ports used by Kratos (4433 for public service endpoint, 4434 for admin service endpoint)
EXPOSE 4433 4434
ENTRYPOINT ["kratos"]
CMD ["serve"]

18
.docker/Dockerfile-debug Normal file
View File

@@ -0,0 +1,18 @@
FROM golang:1.26-trixie
ENV CGO_ENABLED 0
RUN apt-get update && apt-get install -y --no-install-recommends inotify-tools psmisc
RUN go install github.com/go-delve/delve/cmd/dlv@latest
COPY script/debug-entrypoint.sh /entrypoint.sh
VOLUME /dockerdev
WORKDIR /dockerdev
ENV DELVE_PORT 40000
ENV SERVICE_NAME service
EXPOSE 8000 $DELVE_PORT
ENTRYPOINT ["/entrypoint.sh"]

View File

@@ -0,0 +1,7 @@
FROM gcr.io/distroless/static-debian12:nonroot
COPY kratos /usr/bin/kratos
EXPOSE 4433 4434
ENTRYPOINT ["kratos"]
CMD ["serve"]

View File

@@ -0,0 +1,17 @@
version: '3.7'
services:
${SERVICE_NAME}:
build:
dockerfile: ./.docker/Dockerfile-debug
ports:
- ${REMOTE_DEBUGGING_PORT}:40000
security_opt:
- apparmor=unconfined
cap_add:
- SYS_PTRACE
volumes:
- type: bind
source: ${SERVICE_ROOT}
target: /dockerdev
read_only: false