1
0
Fork 0
mirror of https://github.com/postmannen/ctrl.git synced 2024-12-14 12:37:31 +00:00
ctrl/Dockerfile
postmannen 69995f76ca updated package info
updated references
removed tui client
removed ringbuffer persist store
removed ringbuffer
enabled audit logging
moved audit logging to message readers
disabled goreleaser
update readme, cbor, zstd
removed request type ping and pong
update readme
testing with cmd.WaitDelay for clicommand
fixed readme
removed ringbuffer flag
default serialization set to cbor, default compression set to zstd, fixed race,
removed event type ack and nack, also removed from subject. Fixed file stat error for copy log file
removed remaining elements of the event type
removed comments
renamed toRingbufferCh to samToSendCh
renamed directSAMSCh ro samSendLocalCh
removed handler interface
agpl3 license
added license-change.md
2024-02-07 22:54:50 +01:00

130 lines
4.4 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/ctrl/
RUN go version
RUN go build -o ctrl
# final stage
FROM alpine
RUN apk update && apk add curl && apk add nmap
WORKDIR /app
COPY --from=build-env /build/cmd/ctrl/ctrl /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_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/ctrl\
-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}\
-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}\
-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}\
"]