From 9350df4691fbba060297c7f5182f379fca064b58 Mon Sep 17 00:00:00 2001 From: Rakshitha-Kamath Date: Thu, 16 Oct 2025 16:35:01 +0530 Subject: [PATCH 1/2] grafana-7.1: Add a separate dockerfile for SPS Signed-off-by: Rakshitha-Kamath --- Dockerfile | 10 +++--- Dockerfile_IBM | 83 ++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 88 insertions(+), 5 deletions(-) create mode 100644 Dockerfile_IBM diff --git a/Dockerfile b/Dockerfile index 40d1631..594ce65 100644 --- a/Dockerfile +++ b/Dockerfile @@ -27,9 +27,9 @@ ENV PATH=/usr/share/grafana/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bi GF_PATHS_PROVISIONING="/etc/grafana/provisioning" RUN rm -rf $GF_PATHS_HOME && mkdir -p $GF_PATHS_HOME -COPY --from=builder /grafana/pkg/cmd/grafana /usr/bin/grafana -COPY --from=builder /grafana/pkg/cmd/grafana-server /usr/bin/grafana-server -COPY --from=builder /grafana/pkg/cmd/grafana-cli /usr/bin/grafana-cli +COPY --from=builder /grafana/bin/grafana /usr/bin/grafana +COPY --from=builder /grafana/bin/grafana-server /usr/bin/grafana-server +COPY --from=builder /grafana/bin/grafana-cli /usr/bin/grafana-cli COPY --from=builder /grafana/conf $GF_PATHS_HOME/conf/ COPY --from=builder /grafana/docs $GF_PATHS_HOME/docs/ COPY --from=builder /grafana/public $GF_PATHS_HOME/public/ @@ -41,7 +41,7 @@ COPY --from=builder /grafana/conf/ldap.toml /etc/grafana/ldap.toml COPY ./run.sh /run.sh # Create grafana user/group -#RUN microdnf install -y shadow-utils +RUN microdnf install -y shadow-utils RUN groupadd -r -g 472 grafana RUN useradd -r -u 472 -g grafana -d /etc/grafana -s /sbin/nologin -c "Grafana Dashboard" grafana @@ -68,7 +68,7 @@ ENTRYPOINT [ "/run.sh" ] # Build specific labels LABEL maintainer="Nizamudeen A " LABEL com.redhat.component="grafana-container" -LABEL version=11.5.2 +LABEL version=11.6.2 LABEL name="grafana" LABEL description="Red Hat Ceph Storage Grafana container" LABEL summary="Grafana container on RHEL 9 for Red Hat Ceph Storage" diff --git a/Dockerfile_IBM b/Dockerfile_IBM new file mode 100644 index 0000000..0d5c2ec --- /dev/null +++ b/Dockerfile_IBM @@ -0,0 +1,83 @@ +# Build stage 1 +ARG BASE_IMAGE=registry.redhat.io/ubi9/go-toolset:latest + +FROM --platform=$BUILDPLATFORM ${BASE_IMAGE} AS builder +ARG REMOTE_SOURCE_DIR + +# Grafana tends to use the fodlers from the root directory. +USER root + +COPY grafana $REMOTE_SOURCE_DIR/grafana + +WORKDIR $REMOTE_SOURCE_DIR/grafana + +ENV GOFLAGS="-mod=vendor" + +RUN go run -mod vendor build.go -dev build + +# Build stage 2 +FROM --platform=$BUILDPLATFORM registry.redhat.io/ubi9-minimal:latest +ARG REMOTE_SOURCE_DIR + +# Update the image to get the latest CVE updates +RUN microdnf update -y + +ENV PATH=/usr/share/grafana/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin \ + GF_PATHS_CONFIG="/etc/grafana/grafana.ini" \ + GF_PATHS_DATA="/var/lib/grafana" \ + GF_PATHS_HOME="/usr/share/grafana" \ + GF_PATHS_LOGS="/var/log/grafana" \ + GF_PATHS_PLUGINS="/usr/share/grafana/plugins" \ + GF_PATHS_PROVISIONING="/etc/grafana/provisioning" + +RUN rm -rf $GF_PATHS_HOME && mkdir -p $GF_PATHS_HOME +COPY --from=builder $REMOTE_SOURCE_DIR/grafana/bin/grafana /usr/bin/grafana +COPY --from=builder $REMOTE_SOURCE_DIR/grafana/bin/grafana-server /usr/bin/grafana-server +COPY --from=builder $REMOTE_SOURCE_DIR/grafana/bin/grafana-cli /usr/bin/grafana-cli +COPY --from=builder $REMOTE_SOURCE_DIR/grafana/conf $GF_PATHS_HOME/conf/ +COPY --from=builder $REMOTE_SOURCE_DIR/grafana/docs $GF_PATHS_HOME/docs/ +COPY --from=builder $REMOTE_SOURCE_DIR/grafana/public $GF_PATHS_HOME/public/ +COPY --from=builder $REMOTE_SOURCE_DIR/grafana/scripts $GF_PATHS_HOME/scripts/ + +RUN rm -rf /etc/grafana && mkdir -p /etc/grafana +COPY --from=builder $REMOTE_SOURCE_DIR/grafana/conf/sample.ini $GF_PATHS_CONFIG +COPY --from=builder $REMOTE_SOURCE_DIR/grafana/conf/ldap.toml /etc/grafana/ldap.toml +COPY ./run.sh /run.sh + +# Create grafana user/group +RUN microdnf install -y shadow-utils +RUN groupadd -r -g 472 grafana +RUN useradd -r -u 472 -g grafana -d /etc/grafana -s /sbin/nologin -c "Grafana Dashboard" grafana + +# Unpack plugins and update permissions +RUN mkdir -p "$GF_PATHS_HOME/.aws" && \ + mkdir -p "$GF_PATHS_PROVISIONING/datasources" \ + "$GF_PATHS_PROVISIONING/dashboards" \ + "$GF_PATHS_PROVISIONING/notifiers" \ + "$GF_PATHS_PROVISIONING/plugins" \ + "$GF_PATHS_PROVISIONING/access-control" \ + "$GF_PATHS_PROVISIONING/alerting" \ + "$GF_PATHS_LOGS" \ + "$GF_PATHS_PLUGINS" \ + "$GF_PATHS_DATA" && \ + chown -R grafana:grafana "$GF_PATHS_DATA" "$GF_PATHS_HOME/.aws" "$GF_PATHS_LOGS" "$GF_PATHS_PLUGINS" "$GF_PATHS_PROVISIONING" && \ + chmod -R 775 "$GF_PATHS_DATA" "$GF_PATHS_HOME/.aws" "$GF_PATHS_LOGS" "$GF_PATHS_PLUGINS" "$GF_PATHS_PROVISIONING" /run.sh + +EXPOSE 3000 + +USER grafana +WORKDIR / +ENTRYPOINT [ "/run.sh" ] + +# Build specific labels +LABEL maintainer="Nizamudeen A " +LABEL com.redhat.component="grafana-container" +LABEL version=11.6.2 +LABEL name="grafana" +LABEL description="Red Hat Ceph Storage Grafana container" +LABEL summary="Grafana container on RHEL 9 for Red Hat Ceph Storage" +LABEL io.k8s.display-name="Grafana on RHEL 9" +LABEL io.k8s.description="grafana-container" +LABEL io.openshift.tags="rhceph ceph dashboard grafana" +LABEL cpe=cpe:/a:redhat:ceph_storage:9::el9 +LABEL org.opencontainers.image.created="${BUILD_DATE}" From f1bf43d6a36e9e67a3cdd092a56a96898fbe9085 Mon Sep 17 00:00:00 2001 From: Rakshitha-Kamath Date: Mon, 17 Nov 2025 18:37:48 +0530 Subject: [PATCH 2/2] Update 7.0 upstream grafana version to 12.2.0 Signed-off-by: Rakshitha-Kamath --- .gitmodules | 2 +- Dockerfile | 4 ++-- Dockerfile_IBM | 4 ++-- grafana | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.gitmodules b/.gitmodules index 38c53df..6b19a42 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,4 +1,4 @@ [submodule "grafana"] path = grafana url = https://github.com/ibmstorage/grafana.git - branch = release-8.1 + branch = release-7.1 diff --git a/Dockerfile b/Dockerfile index 594ce65..72aac44 100644 --- a/Dockerfile +++ b/Dockerfile @@ -68,12 +68,12 @@ ENTRYPOINT [ "/run.sh" ] # Build specific labels LABEL maintainer="Nizamudeen A " LABEL com.redhat.component="grafana-container" -LABEL version=11.6.2 +LABEL version=12.2.0 LABEL name="grafana" LABEL description="Red Hat Ceph Storage Grafana container" LABEL summary="Grafana container on RHEL 9 for Red Hat Ceph Storage" LABEL io.k8s.display-name="Grafana on RHEL 9" LABEL io.k8s.description="grafana-container" LABEL io.openshift.tags="rhceph ceph dashboard grafana" -LABEL cpe=cpe:/a:redhat:ceph_storage:9::el9 +LABEL cpe=cpe:/a:redhat:ceph_storage:7::el9 LABEL org.opencontainers.image.created="${BUILD_DATE}" diff --git a/Dockerfile_IBM b/Dockerfile_IBM index 0d5c2ec..0a48295 100644 --- a/Dockerfile_IBM +++ b/Dockerfile_IBM @@ -72,12 +72,12 @@ ENTRYPOINT [ "/run.sh" ] # Build specific labels LABEL maintainer="Nizamudeen A " LABEL com.redhat.component="grafana-container" -LABEL version=11.6.2 +LABEL version=12.2.0 LABEL name="grafana" LABEL description="Red Hat Ceph Storage Grafana container" LABEL summary="Grafana container on RHEL 9 for Red Hat Ceph Storage" LABEL io.k8s.display-name="Grafana on RHEL 9" LABEL io.k8s.description="grafana-container" LABEL io.openshift.tags="rhceph ceph dashboard grafana" -LABEL cpe=cpe:/a:redhat:ceph_storage:9::el9 +LABEL cpe=cpe:/a:redhat:ceph_storage:7::el9 LABEL org.opencontainers.image.created="${BUILD_DATE}" diff --git a/grafana b/grafana index 466af43..3cf10c3 160000 --- a/grafana +++ b/grafana @@ -1 +1 @@ -Subproject commit 466af438302a95ada075ff969a15bb867172eea3 +Subproject commit 3cf10c38b219d3c1bad6c4b21b9859e3fc2132c0