From fa9bfd077c46f04546fe7442361a7bef9a4122af Mon Sep 17 00:00:00 2001 From: davejrt Date: Tue, 11 Jul 2023 12:29:28 -0500 Subject: [PATCH 01/11] get pre-built binary --- wolfi-packages/cadvisor.yaml | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/wolfi-packages/cadvisor.yaml b/wolfi-packages/cadvisor.yaml index 6411f5b72b49..658c406ba546 100644 --- a/wolfi-packages/cadvisor.yaml +++ b/wolfi-packages/cadvisor.yaml @@ -3,7 +3,7 @@ package: name: cadvisor # libpfm version may also need updating - check cadvisor Dockerfile - version: 0.47.1 + version: 0.47.2 epoch: 1 description: "Analyzes resource usage and performance characteristics of running containers" target-architecture: @@ -53,22 +53,18 @@ pipeline: make -e -C libpfm-4.11.0 make install -C libpfm-4.11.0 -# Check out cadvisor - - uses: git-checkout +# Fetch cadvisor + - uses: fetch with: - repository: https://github.com/google/cadvisor - tag: v${{package.version}} - expected-commit: c7714a77f72d77936446cb45296a1ef305a06c11 - destination: /cadvisor -# Build cadvisor - - runs: | - cd /cadvisor - GO_FLAGS="-tags=libfpm,netgo" ./build/build.sh + uri: https://github.com/google/cadvisor/releases/download/v0.47.2/cadvisor-v0.47.2-linux-amd64 + extract: false + expected-sha256: 30602f675e9bcd39b0d4cd4bd9e83c0849dd4bb3a60a0544b9f2a6451a3facfe + strip-components: 0 # Package libpfm and cadvisor - runs: | mkdir -p ${{targets.destdir}}/usr/bin/ mkdir -p ${{targets.destdir}}/usr/local/lib/ - cp /cadvisor/_output/cadvisor ${{targets.destdir}}/usr/bin/cadvisor + cp /home/build/cadvisor-v0.47.2-linux-amd64 ${{targets.destdir}}/usr/bin/cadvisor cp /usr/local/lib/libpfm.so* ${{targets.destdir}}/usr/local/lib/ From a88b9d0c3dab8d73c09ee008bd81e7941c218929 Mon Sep 17 00:00:00 2001 From: davejrt Date: Tue, 11 Jul 2023 12:41:02 -0500 Subject: [PATCH 02/11] rebuild image --- wolfi-images/cadvisor.yaml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/wolfi-images/cadvisor.yaml b/wolfi-images/cadvisor.yaml index bd0c372c4ef6..8241d75fac04 100644 --- a/wolfi-images/cadvisor.yaml +++ b/wolfi-images/cadvisor.yaml @@ -8,5 +8,4 @@ contents: ## cadvisor dependencies - cadvisor - -# MANUAL REBUILD: Thu Jun 22 13:43:35 BST 2023 +# MANUAL REBUILD: Tue Jul 11 12:40:40 -05 2023 From a337f655e46f6df4f55768babd088ccf9bcbca08 Mon Sep 17 00:00:00 2001 From: davejrt Date: Tue, 11 Jul 2023 12:47:34 -0500 Subject: [PATCH 03/11] update sha --- dev/oci_deps.bzl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dev/oci_deps.bzl b/dev/oci_deps.bzl index 3d605a53964a..109e6c9e8a2f 100644 --- a/dev/oci_deps.bzl +++ b/dev/oci_deps.bzl @@ -40,7 +40,7 @@ def oci_deps(): oci_pull( name = "wolfi_cadvisor_base", - digest = "sha256:42e9626596c7e3873f9ea66b87732273bc93f20d05499d410160468f40d585f5", + digest = "sha256:146983a8deecf9c81172b82f60064707796d86123e6be261d17e771374abfb70", image = "index.docker.io/sourcegraph/wolfi-cadvisor-base", ) From 502b2bdb7e273f329fcbfca0faac3c7c2f32c50a Mon Sep 17 00:00:00 2001 From: davejrt Date: Tue, 11 Jul 2023 13:08:56 -0500 Subject: [PATCH 04/11] fix binary permissions --- wolfi-packages/cadvisor.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/wolfi-packages/cadvisor.yaml b/wolfi-packages/cadvisor.yaml index 658c406ba546..c199491f3596 100644 --- a/wolfi-packages/cadvisor.yaml +++ b/wolfi-packages/cadvisor.yaml @@ -67,4 +67,5 @@ pipeline: mkdir -p ${{targets.destdir}}/usr/local/lib/ cp /home/build/cadvisor-v0.47.2-linux-amd64 ${{targets.destdir}}/usr/bin/cadvisor cp /usr/local/lib/libpfm.so* ${{targets.destdir}}/usr/local/lib/ + chmod +x ${{targets.destdir}}/usr/bin/cadvisor From 11672bdf788b90058751ab3e322569179ed18b2a Mon Sep 17 00:00:00 2001 From: davejrt Date: Tue, 11 Jul 2023 13:12:29 -0500 Subject: [PATCH 05/11] update sha --- dev/oci_deps.bzl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dev/oci_deps.bzl b/dev/oci_deps.bzl index 109e6c9e8a2f..2ff8c2a1193a 100644 --- a/dev/oci_deps.bzl +++ b/dev/oci_deps.bzl @@ -40,7 +40,7 @@ def oci_deps(): oci_pull( name = "wolfi_cadvisor_base", - digest = "sha256:146983a8deecf9c81172b82f60064707796d86123e6be261d17e771374abfb70", + digest = "sha256:ef61fa124c29002aa6edf8cd5bac3526887aecc99286c469c0b1ed54f7af6889", image = "index.docker.io/sourcegraph/wolfi-cadvisor-base", ) From 37a04ff54c4e4d8bc5b724a1bf82897fa5de1765 Mon Sep 17 00:00:00 2001 From: davejrt Date: Tue, 11 Jul 2023 15:11:43 -0500 Subject: [PATCH 06/11] try with entrypoint script --- docker-images/cadvisor/BUILD.bazel | 32 ++++++++++++++++------------ docker-images/cadvisor/entrypoint.sh | 12 +++++++++++ 2 files changed, 30 insertions(+), 14 deletions(-) create mode 100755 docker-images/cadvisor/entrypoint.sh diff --git a/docker-images/cadvisor/BUILD.bazel b/docker-images/cadvisor/BUILD.bazel index a031e5cffd25..36de2143eed4 100644 --- a/docker-images/cadvisor/BUILD.bazel +++ b/docker-images/cadvisor/BUILD.bazel @@ -1,24 +1,28 @@ load("@rules_oci//oci:defs.bzl", "oci_image", "oci_push", "oci_tarball") load("@container_structure_test//:defs.bzl", "container_structure_test") load("//dev:oci_defs.bzl", "image_repository") +load("@rules_pkg//:pkg.bzl", "pkg_tar") + +filegroup( + name = "cadvisor_entrypoint", + srcs = ["entrypoint.sh"], +) + +pkg_tar( + name = "tar_cadvisor", + srcs = [ + ":cadvisor_entrypoint", + ], + remap_paths = { + "/entrypoint.sh": "/usr/bin/entrypoint.sh", + }, +) oci_image( name = "image", base = "@wolfi_cadvisor_base", - cmd = ["--sampling.strategies-file=/etc/jaeger/sampling_strategies.json"], - entrypoint = [ - "/usr/bin/cadvisor", - "-logtostderr", - "-port=48080", - "-enable_metrics=cpu,diskIO,memory,network", - "-docker_only", - "-housekeeping_interval=10s", - "-max_housekeeping_interval=15s", - "-event_storage_event_limit=default=0", - "-v=3", - "-event_storage_age_limit=default=0", - "-containerd=/var/run/containerd/containerd.sock", - ], + entrypoint = ["/usr/bin/entrypoint.sh"], + tars = [":tar_cadvisor"], ) oci_tarball( diff --git a/docker-images/cadvisor/entrypoint.sh b/docker-images/cadvisor/entrypoint.sh new file mode 100755 index 000000000000..d8916ad78529 --- /dev/null +++ b/docker-images/cadvisor/entrypoint.sh @@ -0,0 +1,12 @@ +#!/bin/sh +/usr/bin/cadvisor \ + -enable_metrics=cpu,memory,disk,network \ + -logtostderr \ + -port=48080 \ + -docker_only \ + -housekeeping_interval=10s \ + -max_housekeeping_interval=15s \ + -event_storage_event_limit=default=0 \ + -v=3 \ + -event_storage_age_limit=default=0 \ + -containerd=/var/run/containerd/containerd.sock From 9758ad7eceaca04d82374174f305913e01da34ec Mon Sep 17 00:00:00 2001 From: davejrt Date: Wed, 12 Jul 2023 07:39:51 -0500 Subject: [PATCH 07/11] try locally built package --- wolfi-images/cadvisor.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/wolfi-images/cadvisor.yaml b/wolfi-images/cadvisor.yaml index 8241d75fac04..a08ef98dea7a 100644 --- a/wolfi-images/cadvisor.yaml +++ b/wolfi-images/cadvisor.yaml @@ -7,5 +7,5 @@ contents: - mailcap ## cadvisor dependencies - - cadvisor -# MANUAL REBUILD: Tue Jul 11 12:40:40 -05 2023 + - cadvisor@sourcegraph +# MANUAL REBUILD: Wed Jul 12 07:39:28 -05 2023 From 80690f2fa17c0ea77ce384c7b2ad1e2dbed41cd7 Mon Sep 17 00:00:00 2001 From: davejrt Date: Wed, 12 Jul 2023 07:47:17 -0500 Subject: [PATCH 08/11] update base --- dev/oci_deps.bzl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dev/oci_deps.bzl b/dev/oci_deps.bzl index 2ff8c2a1193a..edb8d5e1f38a 100644 --- a/dev/oci_deps.bzl +++ b/dev/oci_deps.bzl @@ -40,7 +40,7 @@ def oci_deps(): oci_pull( name = "wolfi_cadvisor_base", - digest = "sha256:ef61fa124c29002aa6edf8cd5bac3526887aecc99286c469c0b1ed54f7af6889", + digest = "sha256:9215dfe77d22d3a51db79a232f595d9c9d58f9aa4a7f4a25aad84b5803fb667d", image = "index.docker.io/sourcegraph/wolfi-cadvisor-base", ) From 95dc858d0beb341f1ef664e4950a1bce2fbbaee8 Mon Sep 17 00:00:00 2001 From: davejrt Date: Wed, 12 Jul 2023 08:43:18 -0500 Subject: [PATCH 09/11] use new cadvisor package --- wolfi-images/cadvisor.yaml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/wolfi-images/cadvisor.yaml b/wolfi-images/cadvisor.yaml index a08ef98dea7a..8d9bffbae439 100644 --- a/wolfi-images/cadvisor.yaml +++ b/wolfi-images/cadvisor.yaml @@ -7,5 +7,6 @@ contents: - mailcap ## cadvisor dependencies - - cadvisor@sourcegraph -# MANUAL REBUILD: Wed Jul 12 07:39:28 -05 2023 + - cadvisor + +# MANUAL REBUILD: Wed Jul 12 08:42:56 -05 2023 From ccc9cd3f45ebd7b4b6d99885d78d9dbfdd99bf3e Mon Sep 17 00:00:00 2001 From: davejrt Date: Wed, 12 Jul 2023 08:50:34 -0500 Subject: [PATCH 10/11] cadvisor base 0.47.3 --- dev/oci_deps.bzl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dev/oci_deps.bzl b/dev/oci_deps.bzl index edb8d5e1f38a..69a76b6e2392 100644 --- a/dev/oci_deps.bzl +++ b/dev/oci_deps.bzl @@ -40,7 +40,7 @@ def oci_deps(): oci_pull( name = "wolfi_cadvisor_base", - digest = "sha256:9215dfe77d22d3a51db79a232f595d9c9d58f9aa4a7f4a25aad84b5803fb667d", + digest = "sha256:39f800ff006bbe579c71eaecc0157d5a57c7e2c0b11ba7a262eb8aec9fd848e0", image = "index.docker.io/sourcegraph/wolfi-cadvisor-base", ) From 9a7d4388d276a7b0a31b4efd0eeced068ee18c48 Mon Sep 17 00:00:00 2001 From: davejrt Date: Wed, 12 Jul 2023 09:43:24 -0500 Subject: [PATCH 11/11] remove unused package --- wolfi-packages/cadvisor.yaml | 71 ------------------------------------ 1 file changed, 71 deletions(-) delete mode 100644 wolfi-packages/cadvisor.yaml diff --git a/wolfi-packages/cadvisor.yaml b/wolfi-packages/cadvisor.yaml deleted file mode 100644 index c199491f3596..000000000000 --- a/wolfi-packages/cadvisor.yaml +++ /dev/null @@ -1,71 +0,0 @@ -# Loosely based on the cadvisor Dockerfile, without support for ipmctl -# https://github.com/google/cadvisor/blob/master/deploy/Dockerfile -package: - name: cadvisor - # libpfm version may also need updating - check cadvisor Dockerfile - version: 0.47.2 - epoch: 1 - description: "Analyzes resource usage and performance characteristics of running containers" - target-architecture: - - x86_64 - copyright: - - paths: - - "*" - attestation: 'Copyright 2014 The cAdvisor Authors' - license: 'Apache License 2.0' - dependencies: - runtime: - - device-mapper - - findutils - - ndctl - - thin-provisioning-tools - -environment: - contents: - repositories: - - https://packages.wolfi.dev/os - keyring: - - https://packages.wolfi.dev/os/wolfi-signing.rsa.pub - packages: - - wolfi-base - - busybox - - ca-certificates-bundle - - build-base - - cmake - - device-mapper - - findutils - - git - - go - - linux-headers - - ndctl-dev - - thin-provisioning-tools - -pipeline: - # Fetch and build libpfm - - uses: fetch - with: - uri: https://sourceforge.net/projects/perfmon2/files/libpfm4/libpfm-4.11.0.tar.gz - expected-sha256: 5da5f8872bde14b3634c9688d980f68bda28b510268723cc12973eedbab9fecc - strip-components: 0 - - runs: | - pwd - export DBG="-g -Wall" - make -e -C libpfm-4.11.0 - make install -C libpfm-4.11.0 - -# Fetch cadvisor - - uses: fetch - with: - uri: https://github.com/google/cadvisor/releases/download/v0.47.2/cadvisor-v0.47.2-linux-amd64 - extract: false - expected-sha256: 30602f675e9bcd39b0d4cd4bd9e83c0849dd4bb3a60a0544b9f2a6451a3facfe - strip-components: 0 - - # Package libpfm and cadvisor - - runs: | - mkdir -p ${{targets.destdir}}/usr/bin/ - mkdir -p ${{targets.destdir}}/usr/local/lib/ - cp /home/build/cadvisor-v0.47.2-linux-amd64 ${{targets.destdir}}/usr/bin/cadvisor - cp /usr/local/lib/libpfm.so* ${{targets.destdir}}/usr/local/lib/ - chmod +x ${{targets.destdir}}/usr/bin/cadvisor -