mirror of
https://github.com/hyperdxio/hyperdx
synced 2026-04-21 13:37:15 +00:00
I went ahead and looked for more occurences of the issue i raised #1697 and fixed them. I hope that's alright with you.
71 lines
3.4 KiB
Docker
71 lines
3.4 KiB
Docker
## base #############################################################################################
|
|
FROM otel/opentelemetry-collector-contrib:0.129.1 AS col
|
|
FROM otel/opentelemetry-collector-opampsupervisor:0.128.0 AS supervisor
|
|
FROM hairyhenderson/gomplate:v4.3.3-alpine AS gomplate
|
|
FROM kukymbr/goose-docker@sha256:0cd025636df126e7f66472861ca4db3683bc649be46cd1f6ef1a316209058e23 AS goose
|
|
|
|
# From: https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/aa5c3aa4c7ec174361fcaf908de8eaca72263078/cmd/opampsupervisor/Dockerfile#L18
|
|
FROM alpine:latest@sha256:a8560b36e8b8210634f77d9f7f9efd7ffa463e380b75e2e74aff4511df3ef88c AS base
|
|
|
|
ARG USER_UID=10001
|
|
ARG USER_GID=10001
|
|
|
|
# Install certs, create user/group, and make the writable data dir
|
|
RUN apk add --no-cache ca-certificates && \
|
|
addgroup -S -g ${USER_GID} otel && \
|
|
adduser -S -u ${USER_UID} -G otel otel && \
|
|
install -d -m 0777 -o ${USER_UID} -g ${USER_GID} /etc/otel/supervisor-data && \
|
|
install -d -m 0755 -o ${USER_UID} -g ${USER_GID} /etc/otelcol-contrib
|
|
|
|
# Copy gomplate binary from the gomplate image
|
|
COPY --from=gomplate /bin/gomplate /usr/local/bin/gomplate
|
|
|
|
# Copy goose binary from the goose image
|
|
COPY --from=goose /bin/goose /usr/local/bin/goose
|
|
|
|
USER ${USER_UID}:${USER_GID}
|
|
|
|
COPY --from=supervisor --chmod=755 /usr/local/bin/opampsupervisor /opampsupervisor
|
|
COPY --from=col --chmod=755 /otelcol-contrib /otelcontribcol
|
|
|
|
# Copy entrypoint and log tail wrapper scripts
|
|
COPY --chmod=755 ./entrypoint.sh /entrypoint.sh
|
|
COPY --chmod=755 ./log-tailer.sh /log-tailer.sh
|
|
|
|
## dev ##############################################################################################
|
|
FROM base AS dev
|
|
|
|
LABEL org.opencontainers.image.vendor="HyperDX" \
|
|
org.opencontainers.image.title="HyperDX OTel Collector (Dev)" \
|
|
org.opencontainers.image.description="OpenTelemetry Collector for HyperDX development" \
|
|
org.opencontainers.image.source="https://github.com/hyperdxio/hyperdx" \
|
|
org.opencontainers.image.licenses="MIT"
|
|
|
|
COPY --chown=10001:10001 ./config.yaml /etc/otelcol-contrib/config.yaml
|
|
COPY --chown=10001:10001 ./config.standalone.yaml /etc/otelcol-contrib/standalone-config.yaml
|
|
COPY --chown=10001:10001 ./config.standalone.auth.yaml /etc/otelcol-contrib/standalone-auth-config.yaml
|
|
COPY --chown=10001:10001 ./supervisor_docker.yaml.tmpl /etc/otel/supervisor.yaml.tmpl
|
|
COPY --chown=10001:10001 ./schema /etc/otel/schema
|
|
|
|
EXPOSE 4317 4318 13133
|
|
|
|
ENTRYPOINT ["/entrypoint.sh", "/opampsupervisor"]
|
|
|
|
## prod #############################################################################################
|
|
FROM base AS prod
|
|
|
|
LABEL org.opencontainers.image.vendor="HyperDX" \
|
|
org.opencontainers.image.title="HyperDX OTel Collector" \
|
|
org.opencontainers.image.description="OpenTelemetry Collector for HyperDX observability platform" \
|
|
org.opencontainers.image.source="https://github.com/hyperdxio/hyperdx" \
|
|
org.opencontainers.image.licenses="MIT"
|
|
|
|
COPY --chown=10001:10001 ./config.yaml /etc/otelcol-contrib/config.yaml
|
|
COPY --chown=10001:10001 ./config.standalone.yaml /etc/otelcol-contrib/standalone-config.yaml
|
|
COPY --chown=10001:10001 ./config.standalone.auth.yaml /etc/otelcol-contrib/standalone-auth-config.yaml
|
|
COPY --chown=10001:10001 ./supervisor_docker.yaml.tmpl /etc/otel/supervisor.yaml.tmpl
|
|
COPY --chown=10001:10001 ./schema /etc/otel/schema
|
|
|
|
EXPOSE 4317 4318 13133
|
|
|
|
ENTRYPOINT ["/entrypoint.sh", "/opampsupervisor"]
|