1
0
Fork 0
mirror of https://github.com/postmannen/ctrl.git synced 2024-12-14 12:37:31 +00:00
ctrl/Dockerfile
2022-06-24 10:08:32 +02:00

134 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}\
"]