hyperdx/docker/otel-collector/Dockerfile
Hannes Leutloff 8f1026089d
fix: Set correct github URL as image source in Dockerfiles (#1698)
I went ahead and looked for more occurences of the issue i raised #1697 and fixed them. I hope that's alright with you.
2026-02-04 16:11:31 +00:00

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"]