mirror of
https://github.com/hanzozt/zt.git
synced 2026-11-02 11:38:22 +00:00
75 lines
2.3 KiB
Docker
75 lines
2.3 KiB
Docker
# this Dockerfile builds docker.io/openziti/ziti-controller
|
|
|
|
ARG ZITI_CLI_TAG="latest"
|
|
ARG ZITI_CLI_IMAGE="docker.io/openziti/ziti-cli"
|
|
|
|
# dependabot bumps this version based on release to Hub
|
|
FROM openziti/ziti-console-assets:3.12.4 AS ziti-console
|
|
|
|
FROM ${ZITI_CLI_IMAGE}:${ZITI_CLI_TAG}
|
|
|
|
ARG CONTROLLER_PACKAGE=./dist/dist-packages/linux/openziti-controller
|
|
|
|
### Required Labels for OpenShift
|
|
LABEL name="openziti/ziti-controller" \
|
|
maintainer="[email protected]" \
|
|
vendor="NetFoundry" \
|
|
summary="Run the OpenZiti Controller" \
|
|
description="Run the OpenZiti Controller" \
|
|
org.opencontainers.image.description="Run the OpenZiti Controller" \
|
|
org.opencontainers.image.source="https://github.com/openziti/ziti"
|
|
|
|
# set up image as root, then drop privs to ziggy
|
|
USER root
|
|
|
|
RUN INSTALL_PKGS="util-linux libbpf" && \
|
|
microdnf -y update --setopt=install_weak_deps=0 --setopt=tsflags=nodocs && \
|
|
microdnf -y install --setopt=install_weak_deps=0 --setopt=tsflags=nodocs ${INSTALL_PKGS}
|
|
|
|
# used by entrypoint.bash to source the bootstrapping script in this image
|
|
ENV ZITI_CTRL_BOOTSTRAP_BASH=/bootstrap.bash
|
|
|
|
COPY ${CONTROLLER_PACKAGE}/bootstrap.bash ${ZITI_CTRL_BOOTSTRAP_BASH}
|
|
COPY ${CONTROLLER_PACKAGE}/entrypoint.bash /
|
|
|
|
# copy the console SPA build files
|
|
ENV ZITI_CONSOLE_LOCATION=/ziti-console
|
|
COPY --from=ziti-console /usr/src/app/dist/app-ziti-console ${ZITI_CONSOLE_LOCATION}
|
|
|
|
RUN mkdir -p /ziti-controller
|
|
RUN chown -R ziggy:ziggy /ziti-controller ${ZITI_CONSOLE_LOCATION}
|
|
WORKDIR /ziti-controller
|
|
ENV ZITI_HOME=/ziti-controller
|
|
|
|
# configure logging
|
|
ENV ZITI_TIME_FORMAT=utc
|
|
|
|
# globally toggle bootstrapping
|
|
ENV ZITI_BOOTSTRAP=true
|
|
|
|
# selectively toggle bootstrapping steps
|
|
ENV ZITI_BOOTSTRAP_PKI=true
|
|
ENV ZITI_BOOTSTRAP_CONFIG=true
|
|
ENV ZITI_BOOTSTRAP_DATABASE=true
|
|
ENV ZITI_BOOTSTRAP_CONSOLE=true
|
|
|
|
# defaults for bootstrapping PKI
|
|
ENV ZITI_PKI_ROOT=pki
|
|
ENV ZITI_CA_FILE=root
|
|
ENV ZITI_INTERMEDIATE_FILE=intermediate
|
|
ENV ZITI_SERVER_FILE=server
|
|
ENV ZITI_CLIENT_FILE=client
|
|
ENV ZITI_NETWORK_NAME=ctrl
|
|
ENV ZITI_AUTO_RENEW_CERTS=true
|
|
|
|
# defaults for bootstrapping config
|
|
ENV ZITI_CTRL_ADVERTISED_PORT=1280
|
|
|
|
# defaults for bootstrapping database
|
|
ENV ZITI_CTRL_DATABASE_FILE=bbolt.db
|
|
ENV ZITI_USER=admin
|
|
|
|
# run as ziggy (2171:2171) by default
|
|
USER ziggy
|
|
ENTRYPOINT [ "/entrypoint.bash" ]
|