mirror of
https://github.com/postmannen/ctrl.git
synced 2024-12-14 12:37:31 +00:00
133 lines
4.5 KiB
Docker
133 lines
4.5 KiB
Docker
# build stage
|
|
FROM golang:1.17.7-alpine AS build-env
|
|
RUN apk --no-cache add build-base git gcc
|
|
|
|
RUN mkdir -p /build
|
|
COPY ./ /build/
|
|
|
|
WORKDIR /build/cmd/steward/
|
|
RUN go version
|
|
RUN go build -o steward
|
|
|
|
# final stage
|
|
FROM alpine
|
|
|
|
RUN apk update && apk add curl && apk add nmap
|
|
|
|
WORKDIR /app
|
|
COPY --from=build-env /build/cmd/steward/steward /app/
|
|
|
|
ENV RING_BUFFER_PERSIST_STORE "1"
|
|
ENV RING_BUFFER_SIZE "1000"
|
|
ENV CONFIG_FOLDER "./etc"
|
|
ENV SOCKET_FOLDER "./tmp"
|
|
ENV TCP_LISTENER ""
|
|
ENV HTTP_LISTENER "localhost:8091"
|
|
ENV DATABASE_FOLDER "./var/lib"
|
|
ENV NODE_NAME ""
|
|
ENV BROKER_ADDRESS "127.0.0.1:4222"
|
|
ENV NATS_CONN_OPT_TIMEOUT "20"
|
|
ENV NATS_CONNECT_RETRY_INTERVAL "10"
|
|
ENV NATS_RECONNECT_JITTER "100"
|
|
ENV NATS_RECONNECT_JITTER_TLS "1"
|
|
ENV REQ_KEYS_REQUEST_UPDATE_INTERVAL "60"
|
|
ENV REQ_ACL_REQUEST_UPDATE_INTERVAL "60"
|
|
ENV PROFILING_PORT ""
|
|
ENV PROM_HOST_AND_PORT "127.0.0.1:2111"
|
|
ENV DEFAULT_MESSAGE_TIMEOUT 10
|
|
ENV DEFAULT_MESSAGE_RETRIES 3
|
|
ENV DEFAULT_METHOD_TIMEOUT 10
|
|
ENV SUBSCRIBERS_DATA_FOLDER "./var"
|
|
ENV CENTRAL_NODE_NAME "central"
|
|
ENV ROOT_CA_PATH ""
|
|
ENV NKEY_SEED_FILE ""
|
|
ENV EXPOSE_DATA_FOLDER "127.0.0.1:8090"
|
|
ENV ERROR_MESSAGE_RETRIES 3
|
|
ENV ERROR_MESSAGE_TIMEOUT 10
|
|
ENV COMPRESSION ""
|
|
ENV SERIALIZATION ""
|
|
ENV SET_BLOCK_PROFILE_RATE "0"
|
|
ENV ENABLE_SOCKET "1"
|
|
ENV ENABLE_TUI "0"
|
|
ENV ENABLE_SIGNATURE_CHECK "0"
|
|
ENV ENABLE_ACL_CHECK "0"
|
|
ENV IS_CENTRAL_AUTH "0"
|
|
ENV ENABLE_DEBUG "0"
|
|
ENV KEEP_PUBLISHERS_ALIVE_FOR "10"
|
|
|
|
ENV START_PUB_REQ_HELLO 60
|
|
|
|
ENV ENABLE_KEY_UPDATES "1"
|
|
ENV ENABLE_ACL_UPDATES "1"
|
|
ENV IS_CENTRAL_ERROR_LOGGER ""
|
|
ENV START_SUB_REQ_HELLO ""
|
|
ENV START_SUB_REQ_TO_FILE_APPEND ""
|
|
ENV START_SUB_REQ_TO_FILE ""
|
|
ENV START_SUB_REQ_TO_FILE_NACK ""
|
|
ENV START_SUB_REQ_COPY_SRC ""
|
|
ENV START_SUB_REQ_COPY_DST ""
|
|
ENV START_SUB_REQ_PING ""
|
|
ENV START_SUB_REQ_PONG ""
|
|
ENV START_SUB_REQ_CLI_COMMAND ""
|
|
ENV START_SUB_REQ_TO_CONSOLE ""
|
|
ENV START_SUB_REQ_HTTP_GET ""
|
|
ENV START_SUB_REQ_HTTP_GET_SCHEDULED ""
|
|
ENV START_SUB_REQ_TAIL_FILE ""
|
|
ENV START_SUB_REQ_CLI_COMMAND_CONT ""
|
|
|
|
CMD ["ash","-c","env CONFIGFOLDER=./etc/ /app/steward\
|
|
-ringBufferPersistStore=${RING_BUFFER_PERSIST_STORE}\
|
|
-ringBufferSize=${RING_BUFFER_SIZE}\
|
|
-socketFolder=${SOCKET_FOLDER}\
|
|
-tcpListener=${TCP_LISTENER}\
|
|
-httpListener=${HTTP_LISTENER}\
|
|
-databaseFolder=${DATABASE_FOLDER}\
|
|
-nodeName=${NODE_NAME}\
|
|
-brokerAddress=${BROKER_ADDRESS}\
|
|
-natsConnOptTimeout=${NATS_CONN_OPT_TIMEOUT}\
|
|
-natsConnectRetryInterval=${NATS_CONNECT_RETRY_INTERVAL}\
|
|
-natsReconnectJitter=${NATS_RECONNECT_JITTER}\
|
|
-natsReconnectJitterTLS=${NATS_RECONNECT_JITTER_TLS}\
|
|
-REQKeysRequestUpdateInterval=${REQ_KEYS_REQUEST_UPDATE_INTERVAL}\
|
|
-REQAclRequestUpdateInterval=${REQ_ACL_REQUEST_UPDATE_INTERVAL}\
|
|
-profilingPort=${PROFILING_PORT}\
|
|
-promHostAndPort=${PROM_HOST_AND_PORT}\
|
|
-defaultMessageTimeout=${DEFAULT_MESSAGE_TIMEOUT}\
|
|
-defaultMessageRetries=${DEFAULT_MESSAGE_RETRIES}\
|
|
-defaultMethodTimeout=${DEFAULT_METHOD_TIMEOUT}\
|
|
-subscribersDataFolder=${SUBSCRIBERS_DATA_FOLDER}\
|
|
-centralNodeName=${CENTRAL_NODE_NAME}\
|
|
-rootCAPath=${ROOT_CA_PATH}\
|
|
-nkeySeedFile=${NKEY_SEED_FILE}\
|
|
-exposeDataFolder=${EXPOSE_DATA_FOLDER}\
|
|
-errorMessageRetries=${ERROR_MESSAGE_RETRIES}\
|
|
-errorMessageTimeout=${ERROR_MESSAGE_TIMEOUT}\
|
|
-compression=${COMPRESSION}\
|
|
-serialization=${SERIALIZATION}\
|
|
-setBlockProfileRate=${SET_BLOCK_PROFILE_RATE}\
|
|
-enableSocket=${ENABLE_SOCKET}\
|
|
-enableTUI=${ENABLE_TUI}\
|
|
-enableSignatureCheck=${ENABLE_SIGNATURE_CHECK}\
|
|
-enableAclCheck=${ENABLE_ACL_CHECK}\
|
|
-isCentralAuth=${IS_CENTRAL_AUTH}\
|
|
-enableDebug=${ENABLE_DEBUG}\
|
|
-keepPublishersAliveFor=${KEEP_PUBLISHERS_ALIVE_FOR}\
|
|
-startPubREQHello=${START_PUB_REQ_HELLO}\
|
|
-EnableKeyUpdates=${ENABLE_KEY_UPDATES}\
|
|
-EnableAclUpdates=${ENABLE_ACL_UPDATES}\
|
|
-isCentralErrorLogger=${IS_CENTRAL_ERROR_LOGGER}\
|
|
-startSubREQHello=${START_SUB_REQ_HELLO}\
|
|
-startSubREQToFileAppend=${START_SUB_REQ_TO_FILE_APPEND}\
|
|
-startSubREQToFile=${START_SUB_REQ_TO_FILE}\
|
|
-startSubREQCopySrc=${START_SUB_REQ_COPY_SRC}\
|
|
-startSubREQCopyDst=${START_SUB_REQ_COPY_DST}\
|
|
-startSubREQToFileNACK=${START_SUB_REQ_TO_FILE_NACK}\
|
|
-startSubREQPing=${START_SUB_REQ_PING}\
|
|
-startSubREQPong=${START_SUB_REQ_PONG}\
|
|
-startSubREQCliCommand=${START_SUB_REQ_CLI_COMMAND}\
|
|
-startSubREQToConsole=${START_SUB_REQ_TO_CONSOLE}\
|
|
-startSubREQHttpGet=${START_SUB_REQ_HTTP_GET}\
|
|
-startSubREQHttpGetScheduled=${START_SUB_REQ_HTTP_GET_SCHEDULED}\
|
|
-startSubREQTailFile=${START_SUB_REQ_TAIL_FILE}\
|
|
-startSubREQCliCommandCont=${START_SUB_REQ_CLI_COMMAND_CONT}\
|
|
"]
|