Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
114 changes: 110 additions & 4 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -795,15 +795,15 @@ COPY . /work
# Run the build script once to build the ops agent engine to a cache
RUN mkdir -p /tmp/cache_run/golang && cp -r . /tmp/cache_run/golang
WORKDIR /tmp/cache_run/golang
RUN ./pkg/rpm/build.sh &> /dev/null || true
RUN SLE_VERSION=12 ./pkg/rpm/build.sh &> /dev/null || true
WORKDIR /work

COPY ./confgenerator/default-config.yaml /work/cache/etc/google-cloud-ops-agent/config.yaml
COPY --from=sles12-build-otel /work/cache /work/cache
COPY --from=sles12-build-fluent-bit /work/cache /work/cache
COPY --from=sles12-build-systemd /work/cache /work/cache
COPY --from=sles12-build-wrapper /work/cache /work/cache
RUN ./pkg/rpm/build.sh
RUN SLE_VERSION=12 ./pkg/rpm/build.sh

COPY cmd/ops_agent_uap_plugin cmd/ops_agent_uap_plugin
COPY ./builds/ops_agent_plugin.sh .
Expand Down Expand Up @@ -900,15 +900,15 @@ COPY . /work
# Run the build script once to build the ops agent engine to a cache
RUN mkdir -p /tmp/cache_run/golang && cp -r . /tmp/cache_run/golang
WORKDIR /tmp/cache_run/golang
RUN ./pkg/rpm/build.sh &> /dev/null || true
RUN SLE_VERSION=15 ./pkg/rpm/build.sh &> /dev/null || true
WORKDIR /work

COPY ./confgenerator/default-config.yaml /work/cache/etc/google-cloud-ops-agent/config.yaml
COPY --from=sles15-build-otel /work/cache /work/cache
COPY --from=sles15-build-fluent-bit /work/cache /work/cache
COPY --from=sles15-build-systemd /work/cache /work/cache
COPY --from=sles15-build-wrapper /work/cache /work/cache
RUN ./pkg/rpm/build.sh
RUN SLE_VERSION=15 ./pkg/rpm/build.sh

COPY cmd/ops_agent_uap_plugin cmd/ops_agent_uap_plugin
COPY ./builds/ops_agent_plugin.sh .
Expand All @@ -921,6 +921,111 @@ COPY --from=sles15-build /tmp/google-cloud-ops-agent.tgz /google-cloud-ops-agent
COPY --from=sles15-build /google-cloud-ops-agent*.rpm /
COPY --from=sles15-build /google-cloud-ops-agent-plugin*.tar.gz /

# ======================================
# Build Ops Agent for sles-16
# ======================================

FROM opensuse/leap:16.0 AS sles16-build-base
ARG OPENJDK_MAJOR_VERSION

RUN set -x; zypper -n refresh && \
zypper -n update && \
zypper -n install git systemd autoconf automake flex libtool libcurl-devel libopenssl-devel libyajl-devel gcc gcc-c++ zlib-devel rpm-build expect cmake systemd-devel systemd-rpm-macros unzip zip 'bison>3'
# Allow fluent-bit to find systemd
RUN ln -fs /usr/lib/systemd /lib/systemd
COPY --from=openjdk-install /usr/local/java-${OPENJDK_MAJOR_VERSION}-openjdk/ /usr/local/java-${OPENJDK_MAJOR_VERSION}-openjdk
ENV JAVA_HOME /usr/local/java-${OPENJDK_MAJOR_VERSION}-openjdk/
COPY --from=cmake-install-recent /cmake.sh /cmake.sh
RUN set -x; bash /cmake.sh --skip-license --prefix=/usr/local


SHELL ["/bin/bash", "-c"]

# Install golang
ARG TARGETARCH
ARG GO_VERSION
ADD https://go.dev/dl/go${GO_VERSION}.linux-${TARGETARCH}.tar.gz /tmp/go${GO_VERSION}.tar.gz
RUN set -xe; \
tar -xf /tmp/go${GO_VERSION}.tar.gz -C /usr/local
ENV PATH="${PATH}:/usr/local/go/bin"


FROM sles16-build-base AS sles16-build-otel
WORKDIR /work
# Download golang deps
COPY ./submodules/opentelemetry-operations-collector/go.mod ./submodules/opentelemetry-operations-collector/go.sum submodules/opentelemetry-operations-collector/
RUN cd submodules/opentelemetry-operations-collector && go mod download

COPY ./submodules/opentelemetry-java-contrib submodules/opentelemetry-java-contrib
# Install gradle. The first invocation of gradlew does this
RUN cd submodules/opentelemetry-java-contrib && ./gradlew --no-daemon -Djdk.lang.Process.launchMechanism=vfork tasks
COPY ./submodules/opentelemetry-operations-collector submodules/opentelemetry-operations-collector
COPY ./builds/otel.sh .
RUN \
unset OTEL_TRACES_EXPORTER && \
unset OTEL_EXPORTER_OTLP_TRACES_ENDPOINT && \
unset OTEL_EXPORTER_OTLP_TRACES_PROTOCOL && \
./otel.sh /work/cache/

FROM sles16-build-base AS sles16-build-fluent-bit
WORKDIR /work
COPY ./submodules/fluent-bit submodules/fluent-bit
COPY ./builds/fluent_bit.sh .
RUN ./fluent_bit.sh /work/cache/


FROM sles16-build-base AS sles16-build-systemd
WORKDIR /work
COPY ./systemd systemd
COPY ./builds/systemd.sh .
RUN ./systemd.sh /work/cache/


FROM sles16-build-base AS sles16-build-golang-base
WORKDIR /work
COPY go.mod go.sum ./
# Fetch dependencies
RUN go mod download
COPY confgenerator confgenerator
COPY apps apps
COPY internal internal


FROM sles16-build-golang-base AS sles16-build-wrapper
WORKDIR /work
COPY cmd/agent_wrapper cmd/agent_wrapper
COPY ./builds/agent_wrapper.sh .
RUN ./agent_wrapper.sh /work/cache/


FROM sles16-build-golang-base AS sles16-build
WORKDIR /work
COPY . /work

# Run the build script once to build the ops agent engine to a cache
RUN mkdir -p /tmp/cache_run/golang && cp -r . /tmp/cache_run/golang
WORKDIR /tmp/cache_run/golang
RUN SLE_VERSION=16 ./pkg/rpm/build.sh &> /dev/null || true
WORKDIR /work

COPY ./confgenerator/default-config.yaml /work/cache/etc/google-cloud-ops-agent/config.yaml
COPY --from=sles16-build-otel /work/cache /work/cache
COPY --from=sles16-build-fluent-bit /work/cache /work/cache
COPY --from=sles16-build-systemd /work/cache /work/cache
COPY --from=sles16-build-wrapper /work/cache /work/cache
RUN SLE_VERSION=16 ./pkg/rpm/build.sh

COPY cmd/ops_agent_uap_plugin cmd/ops_agent_uap_plugin
COPY ./builds/ops_agent_plugin.sh .
RUN ./ops_agent_plugin.sh /work/cache/
RUN ./pkg/plugin/build.sh /work/cache sles16


FROM scratch AS sles16
COPY --from=sles16-build /tmp/google-cloud-ops-agent.tgz /google-cloud-ops-agent-sles-16.tgz
COPY --from=sles16-build /google-cloud-ops-agent*.rpm /
COPY --from=sles16-build /google-cloud-ops-agent-plugin*.tar.gz /

# ======================================
# Build Ops Agent for ubuntu-jammy
# ======================================
Expand Down Expand Up @@ -1330,6 +1435,7 @@ COPY --from=bullseye /* /
COPY --from=trixie /* /
COPY --from=sles12 /* /
COPY --from=sles15 /* /
COPY --from=sles16 /* /
COPY --from=jammy /* /
COPY --from=noble /* /
COPY --from=plucky /* /
Expand Down
16 changes: 14 additions & 2 deletions dockerfiles/compile.go
Original file line number Diff line number Diff line change
Expand Up @@ -182,7 +182,7 @@ RUN set -x; \
update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-8 1 \
--slave /usr/bin/g++ g++ /usr/bin/g++-8 && \
update-alternatives --set gcc /usr/bin/gcc-8` + installJava + installCMake,
package_build: "RUN ./pkg/rpm/build.sh",
package_build: "RUN SLE_VERSION=12 ./pkg/rpm/build.sh",
tar_distro_name: "sles-12",
package_extension: "rpm",
},
Expand All @@ -194,10 +194,22 @@ RUN set -x; \
zypper -n install git systemd autoconf automake flex libtool libcurl-devel libopenssl-devel libyajl-devel gcc gcc-c++ zlib-devel rpm-build expect cmake systemd-devel systemd-rpm-macros unzip zip 'bison>3'
# Allow fluent-bit to find systemd
RUN ln -fs /usr/lib/systemd /lib/systemd` + installJava + installCMake,
package_build: "RUN ./pkg/rpm/build.sh",
package_build: "RUN SLE_VERSION=15 ./pkg/rpm/build.sh",
tar_distro_name: "sles-15",
package_extension: "rpm",
},
{
from_image: "opensuse/leap:16.0",
target_name: "sles16",
install_packages: `RUN set -x; zypper -n refresh && \
zypper -n update && \
zypper -n install git systemd autoconf automake flex libtool libcurl-devel libopenssl-devel libyajl-devel gcc gcc-c++ zlib-devel rpm-build expect cmake systemd-devel systemd-rpm-macros unzip zip 'bison>3'
# Allow fluent-bit to find systemd
RUN ln -fs /usr/lib/systemd /lib/systemd` + installJava + installCMake,
package_build: "RUN SLE_VERSION=16 ./pkg/rpm/build.sh",
tar_distro_name: "sles-16",
package_extension: "rpm",
},
{
from_image: "ubuntu:jammy",
target_name: "jammy",
Expand Down
2 changes: 1 addition & 1 deletion kokoro/config/build/presubmit/sles15_aarch64.gcl
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import '../common.gcl' as common
config build = common.build {
params {
environment {
DISTRO = 'sles15'
DISTRO = 'sles16'
PKGFORMAT = 'rpm'
}
}
Expand Down
2 changes: 1 addition & 1 deletion kokoro/config/build/presubmit/sles15_x86_64.gcl
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import '../common.gcl' as common
config build = common.build {
params {
environment {
DISTRO = 'sles15'
DISTRO = 'sles16'
PKGFORMAT = 'rpm'
}
}
Expand Down
2 changes: 1 addition & 1 deletion kokoro/config/test/ops_agent/presubmit/sles15_aarch64.gcl
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import 'common.gcl' as common
config build = common.ops_agent_test {
params {
environment {
TARGET = 'sles15'
TARGET = 'sles16'
ARCH = 'aarch64'
}
}
Expand Down
2 changes: 1 addition & 1 deletion kokoro/config/test/ops_agent/presubmit/sles15_x86_64.gcl
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import 'common.gcl' as common
config build = common.ops_agent_test {
params {
environment {
TARGET = 'sles15'
TARGET = 'sles16'
ARCH = 'x86_64'
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import 'common.gcl' as common
config build = common.third_party_apps_test {
params {
environment {
TARGET = 'sles15'
TARGET = 'sles16'
ARCH = 'aarch64'
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import 'common.gcl' as common
config build = common.third_party_apps_test {
params {
environment {
TARGET = 'sles15'
TARGET = 'sles16'
ARCH = 'x86_64'
}
}
Expand Down
5 changes: 5 additions & 0 deletions pkg/rpm/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,14 @@ set -ex
. VERSION

# Build .rpms
RPMBUILD_ARGS=()
if [[ -n "${SLE_VERSION}" ]]; then
RPMBUILD_ARGS+=(--define "sle_version ${SLE_VERSION}")
fi
rpmbuild --define "_source_filedigest_algorithm md5" \
--define "package_version ${PKG_VERSION//[^a-zA-Z0-9.]/.}" \
--define "_sourcedir $(pwd)" \
--define "_rpmdir $(pwd)" \
"${RPMBUILD_ARGS[@]}" \
-ba pkg/rpm/google-cloud-ops-agent.spec
cp $(uname -m)/google-cloud-ops-agent*.rpm /
16 changes: 16 additions & 0 deletions project.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -198,6 +198,22 @@ targets:
- suse-cloud:sles-15-sp6-arm64
- opensuse-cloud:opensuse-leap-arm64
- opensuse-cloud=opensuse-leap-15-6-v20250724-arm64
sles16:
os_versions: [sles-16*, opensuse-leap-16*]
package_extension:
rpm
architectures:
x86_64:
test_distros:
representative:
- suse-cloud:sles-16-0-x86-64
exhaustive:
- suse-sap-cloud:sles-sap-16-0-x86-64
aarch64:
test_distros:
representative:
- suse-cloud:sles-16-0-arm64
exhaustive:
windows:
package_extension:
goo
Expand Down
2 changes: 1 addition & 1 deletion submodules/opentelemetry-operations-collector
Submodule opentelemetry-operations-collector updated 33 files
+2 −1 components/google-built-opentelemetry-collector/exporter/googleservicecontrolexporter/config.go
+2 −3 components/google-built-opentelemetry-collector/exporter/googleservicecontrolexporter/exporter_test.go
+3 −3 components/google-built-opentelemetry-collector/exporter/googleservicecontrolexporter/factory.go
+3 −3 components/google-built-opentelemetry-collector/exporter/googleservicecontrolexporter/factory_test.go
+76 −77 components/google-built-opentelemetry-collector/exporter/googleservicecontrolexporter/go.mod
+184 −183 components/google-built-opentelemetry-collector/exporter/googleservicecontrolexporter/go.sum
+68 −69 components/google-built-opentelemetry-collector/extension/healthagent/go.mod
+180 −179 components/google-built-opentelemetry-collector/extension/healthagent/go.sum
+24 −22 components/google-built-opentelemetry-collector/extension/oauth2clientauthextension/go.mod
+54 −50 components/google-built-opentelemetry-collector/extension/oauth2clientauthextension/go.sum
+14 −13 components/google-built-opentelemetry-collector/internal/tools/go.mod
+44 −0 components/google-built-opentelemetry-collector/internal/tools/go.sum
+1 −1 google-built-opentelemetry-collector/.goreleaser.yaml
+3 −3 google-built-opentelemetry-collector/Makefile
+1 −1 google-built-opentelemetry-collector/README.md
+1 −1 google-built-opentelemetry-collector/docs/examples/configuration/config-standard.yaml
+2 −1 google-built-opentelemetry-collector/docs/examples/deployment/cos/cloud-init-config-example.yaml
+1 −1 google-built-opentelemetry-collector/docs/examples/deployment/cos/run.sh
+27 −7 google-built-opentelemetry-collector/goo/maint.ps1
+1 −1 google-built-opentelemetry-collector/goo/otelcol.goospec
+1 −1 google-built-opentelemetry-collector/goopack.mk
+94 −94 google-built-opentelemetry-collector/manifest.yaml
+5 −5 google-built-opentelemetry-collector/spec.yaml
+36 −14 integration_test/gce-testing-internal/gce/gce_testing.go
+1 −1 integration_test/smoke_test/go.mod
+2 −2 integration_test/smoke_test/go.sum
+2 −17 integration_test/smoke_test/smoke_test.go
+1 −1 kokoro/config/build/build_image.gcl
+5 −5 specs/google-built-opentelemetry-collector.yaml
+1 −1 templates/google-built-opentelemetry-collector/docs/examples/configuration/config-standard.yaml.go.tmpl
+2 −1 ...es/google-built-opentelemetry-collector/docs/examples/deployment/cos/cloud-init-config-example.yaml.go.tmpl
+27 −7 templates/google-built-opentelemetry-collector/goo/maint.ps1.go.tmpl
+1 −1 templates/google-built-opentelemetry-collector/goo/otelcol.goospec.go.tmpl
1 change: 0 additions & 1 deletion transformation_test/transformation_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -658,7 +658,6 @@ func sanitizeFluentBitStderr(t *testing.T, input string) string {
result := strings.Join(regexp.MustCompile(`(?m)^.*\[error\].*$`).FindAllString(input, -1), "\n")
// Remove timestamps
result = regexp.MustCompile(`\d{4}/\d{2}/\d{2}\s\d{2}:\d{2}:\d{2}`).ReplaceAllString(result, "YYYY/MM/DD HH:MM:SS")

result = strings.ReplaceAll(result, "\t", " ")
return result
}
Expand Down
Loading