From 053777a8f0198d55d1caec185dcbe0ca524e751c Mon Sep 17 00:00:00 2001 From: Anand Kumar Singh Date: Wed, 20 Nov 2024 15:08:32 +0530 Subject: [PATCH] Create downstream container image for konflux Signed-off-by: Anand Kumar Singh --- .tekton/gitops-operator-pull-request.yaml | 2 +- .tekton/gitops-operator-push.yaml | 2 +- Containerfile.plugin | 68 +++++++++++++++++++++++ 3 files changed, 70 insertions(+), 2 deletions(-) create mode 100644 Containerfile.plugin diff --git a/.tekton/gitops-operator-pull-request.yaml b/.tekton/gitops-operator-pull-request.yaml index 696e8f8da..d3cc43924 100644 --- a/.tekton/gitops-operator-pull-request.yaml +++ b/.tekton/gitops-operator-pull-request.yaml @@ -27,7 +27,7 @@ spec: - name: image-expires-after value: 5d - name: dockerfile - value: Dockerfile + value: Containerfile.plugin pipelineSpec: finally: - name: show-sbom diff --git a/.tekton/gitops-operator-push.yaml b/.tekton/gitops-operator-push.yaml index e1653394f..b2d98f6c1 100644 --- a/.tekton/gitops-operator-push.yaml +++ b/.tekton/gitops-operator-push.yaml @@ -24,7 +24,7 @@ spec: - name: output-image value: quay.io/redhat-user-workloads/rh-openshift-gitops-tenant/openshift-gitops-operator/gitops-operator:{{revision}} - name: dockerfile - value: Dockerfile + value: Containerfile.plugin pipelineSpec: finally: - name: show-sbom diff --git a/Containerfile.plugin b/Containerfile.plugin new file mode 100644 index 000000000..b910f2d76 --- /dev/null +++ b/Containerfile.plugin @@ -0,0 +1,68 @@ +# Copyright 2021 Red Hat +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# -- + +FROM brew.registry.redhat.io/rh-osbs/openshift-golang-builder:rhel_8_golang_1.22 AS builder + +ENV LANG=en_US.utf8 +ENV GIT_COMMITTER_NAME devtools +ENV GIT_COMMITTER_EMAIL devtools@redhat.com +LABEL com.redhat.delivery.appregistry=true + +WORKDIR /gitops-operator + +COPY go.mod go.mod +COPY go.sum go.sum +# cache deps before building and copying source so that we don't need to re-download as much +# and so that source changes don't invalidate our downloaded layer +RUN go mod download + +# Copy the go source +COPY cmd/main.go cmd/main.go +COPY api/ api/ +COPY controllers/ controllers/ +COPY common/ common/ +COPY version/ version/ + +ARG VERBOSE=2 +ENV GOFLAGS="-mod=mod" +RUN go build -o bin/manager ./cmd/main.go + +FROM registry.access.redhat.com/ubi8/ubi-minimal +ENV LANG=en_US.utf8 +COPY --from=builder /gitops-operator/bin/manager /usr/local/bin/manager +# Redis HA script templates +COPY build/redis /var/lib/redis +USER 10001 +ENTRYPOINT [ "/usr/local/bin/manager" ] + +LABEL \ + name="openshift-gitops-1/gitops-rhel8-operator" \ + version=${CI_CONTAINER_VERSION} \ + License="Apache 2.0" \ + com.redhat.component="openshift-gitops-operator-container" \ + com.redhat.delivery.appregistry="false" \ + release=${CI_CONTAINER_RELEASE} \ + upstream-version=${CI_UPSTREAM_VERSION} \ + upstream-vcs-ref="${CI_GITOPS_OPERATOR_UPSTREAM_COMMIT}" \ + upstream-vcs-type="git" \ + summary="Openshift GitOps Operator Dockerfile Template" \ + maintainer="William Tam " \ + io.openshift.tags="openshift,gitops-operator" \ + io.k8s.display-name="Red Hat OpenShift GitOps Operator" \ + io.k8s.description="Red Hat OpenShift GitOps Operator" \ + io.openshift.maintainer.product="Red Hat OpenShift GitOps" \ + io.openshift.maintainer.component="William Tam " +