Skip to content

Commit

Permalink
Merge branch 'main' into updatecli_main_updatecli-bump-elastic-stack-…
Browse files Browse the repository at this point in the history
…snapshot-main
  • Loading branch information
mergify[bot] authored Jun 7, 2024
2 parents 48ad917 + 24bb6b4 commit 2127052
Showing 1 changed file with 87 additions and 2 deletions.
89 changes: 87 additions & 2 deletions packaging/docker/Dockerfile.chainguard
Original file line number Diff line number Diff line change
@@ -1,2 +1,87 @@
FROM docker.elastic.co/wolfi/chainguard-base:20230214
RUN echo 'TBC'
ARG GOLANG_VERSION

################################################################################
# Build stage 0
# Build the apm-server binary. The golang image version is kept
# up to date with go.mod by Makefile.
################################################################################
FROM docker.elastic.co/wolfi/go:${GOLANG_VERSION} as builder
WORKDIR /src
COPY go.mod go.sum .go-version /src/
COPY internal/glog/go.mod /src/internal/glog/go.mod
RUN --mount=type=cache,target=/go/pkg/mod go mod download
COPY Makefile *.mk /src/
COPY cmd /src/cmd
COPY internal /src/internal
COPY x-pack /src/x-pack
COPY .git /src/.git
COPY script /src/script

RUN --mount=type=cache,target=/go/pkg/mod \
--mount=type=cache,target=/root/.cache/go-build \
make apm-server

COPY apm-server.yml ./apm-server.yml
COPY --chmod=0644 apm-server.yml ./apm-server.yml
RUN sed -i 's/127.0.0.1:8200/0.0.0.0:8200/' apm-server.yml
RUN sed -i 's/localhost:9200/elasticsearch:9200/' apm-server.yml

################################################################################
# Build stage 1
# Copy prepared files from the previous stage and complete the image.
################################################################################
FROM cgr.dev/chainguard/static:latest@sha256:288b818c1b3dd89776d176f07f5f671b118fe836c4d80ec2cc3299b596fe71b7
ARG TARGETARCH
ARG BUILD_DATE
ARG VERSION
ARG VCS_REF

# Statically defined labels.
LABEL \
org.label-schema.schema-version="1.0" \
org.label-schema.vendor="Elastic" \
org.label-schema.license="Elastic License" \
org.label-schema.name="apm-server" \
org.label-schema.url="https://www.elastic.co/apm" \
org.label-schema.vcs-url="github.com/elastic/apm-server" \
io.k8s.description="Elastic APM Server" \
io.k8s.display-name="Apm-Server image" \
org.opencontainers.image.licenses="Elastic License" \
org.opencontainers.image.title="Apm-Server" \
org.opencontainers.image.vendor="Elastic" \
name="apm-server" \
maintainer="[email protected]" \
vendor="Elastic" \
release="1" \
url="https://www.elastic.co/apm" \
summary="apm-server" \
license="Elastic License" \
description="Elastic APM Server"

# Dynamic labels, only set in published images.
LABEL \
org.label-schema.build-date=${BUILD_DATE} \
org.label-schema.version=${VERSION} \
org.label-schema.vcs-ref=${VCS_REF} \
org.opencontainers.image.created=${BUILD_DATE} \
version=${VERSION}

ENV ELASTIC_CONTAINER "true"

# When running under Docker, we must ensure libbeat monitoring pulls cgroup
# metrics from /sys/fs/cgroup/<subsystem>/, ignoring any paths found in
# /proc/self/cgroup.
ENV LIBBEAT_MONITORING_CGROUPS_HIERARCHY_OVERRIDE=/

# Disable libbeat's strict permissions checking, which is not relevant when
# running in Docker.
ENV BEAT_STRICT_PERMS=false

COPY --chmod=0644 --chown=nonroot:nonroot licenses/ELASTIC-LICENSE-2.0.txt NOTICE.txt /licenses/

WORKDIR /usr/share/apm-server
COPY --chmod=0755 --chown=nonroot:nonroot --from=builder /src/apm-server ./apm-server
COPY --chmod=0644 --chown=nonroot:nonroot --from=builder /src/apm-server.yml ./apm-server.yml

EXPOSE 8200
ENTRYPOINT ["/usr/share/apm-server/apm-server", "--environment=container"]

0 comments on commit 2127052

Please sign in to comment.