diff --git a/.obs/workflows.yml b/.obs/workflows.yml index 4d9a43860..b7d41cfd4 100644 --- a/.obs/workflows.yml +++ b/.obs/workflows.yml @@ -93,6 +93,22 @@ staging_build: source_project: home:defolos:BCI:CR:Tumbleweed source_package: kiwi-image target_project: home:defolos:BCI:CR:Tumbleweed:Staging + - branch_package: + source_project: home:defolos:BCI:CR:Tumbleweed + source_package: kubectl-1.29-image + target_project: home:defolos:BCI:CR:Tumbleweed:Staging + - branch_package: + source_project: home:defolos:BCI:CR:Tumbleweed + source_package: kubectl-1.30-image + target_project: home:defolos:BCI:CR:Tumbleweed:Staging + - branch_package: + source_project: home:defolos:BCI:CR:Tumbleweed + source_package: kubectl-1.31-image + target_project: home:defolos:BCI:CR:Tumbleweed:Staging + - branch_package: + source_project: home:defolos:BCI:CR:Tumbleweed + source_package: kubectl-1.32-image + target_project: home:defolos:BCI:CR:Tumbleweed:Staging - branch_package: source_project: home:defolos:BCI:CR:Tumbleweed source_package: mariadb-image @@ -327,6 +343,18 @@ refresh_devel_BCI: - trigger_services: project: devel:BCI:Tumbleweed package: kiwi-image + - trigger_services: + project: devel:BCI:Tumbleweed + package: kubectl-1.29-image + - trigger_services: + project: devel:BCI:Tumbleweed + package: kubectl-1.30-image + - trigger_services: + project: devel:BCI:Tumbleweed + package: kubectl-1.31-image + - trigger_services: + project: devel:BCI:Tumbleweed + package: kubectl-1.32-image - trigger_services: project: devel:BCI:Tumbleweed package: mariadb-image diff --git a/kubectl-1.29-image/Dockerfile b/kubectl-1.29-image/Dockerfile new file mode 100644 index 000000000..6c4fd9a74 --- /dev/null +++ b/kubectl-1.29-image/Dockerfile @@ -0,0 +1,50 @@ +# SPDX-License-Identifier: Apache-2.0 + +# Copyright (c) 2025 SUSE LLC + +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. + +# The content of THIS FILE IS AUTOGENERATED and should not be manually modified. +# It is maintained by the BCI team and generated by +# https://github.com/SUSE/BCI-dockerfile-generator + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# You can contact the BCI team via https://github.com/SUSE/bci/discussions + +#!UseOBSRepositories + +#!BuildTag: opensuse/kubectl:%%kubectl_version%%-%RELEASE% +#!BuildTag: opensuse/kubectl:%%kubectl_version%% +#!BuildTag: opensuse/kubectl:1.29 +#!BuildTag: opensuse/kubectl:1.29 + +FROM opensuse/bci/bci-micro:latest AS target +FROM opensuse/tumbleweed:latest AS builder +COPY --from=target / /target + +RUN set -euo pipefail; \ + zypper -n --installroot /target --gpg-auto-import-keys install --no-recommends kubernetes1.29-client; \ + zypper -n clean; \ + rm -rf {/target,}/var/log/{alternatives.log,lastlog,tallylog,zypper.log,zypp/history,YaST2} +FROM opensuse/bci/bci-micro:latest +COPY --from=builder /target / +# Define labels according to https://en.opensuse.org/Building_derived_containers +# labelprefix=org.opensuse.application.kubectl +LABEL org.opencontainers.image.title="openSUSE Tumbleweed kubectl" +LABEL org.opencontainers.image.description="Kubernetes CLI for communicating with a Kubernetes cluster's control plane, using the Kubernetes API." +LABEL org.opencontainers.image.version="%%kubectl_version%%" +LABEL org.opencontainers.image.url="https://www.opensuse.org" +LABEL org.opencontainers.image.created="%BUILDTIME%" +LABEL org.opencontainers.image.vendor="openSUSE Project" +LABEL org.opencontainers.image.source="%SOURCEURL%" +LABEL org.opencontainers.image.ref.name="%%kubectl_version%%-%RELEASE%" +LABEL org.opensuse.reference="registry.opensuse.org/opensuse/kubectl:%%kubectl_version%%-%RELEASE%" +LABEL org.openbuildservice.disturl="%DISTURL%" +LABEL org.opensuse.lifecycle-url="https://en.opensuse.org/Lifetime#openSUSE_BCI" +LABEL org.opensuse.release-stage="released" +# endlabelprefix +LABEL io.artifacthub.package.readme-url="https://raw.githubusercontent.com/SUSE/BCI-dockerfile-generator/Tumbleweed/kubectl-1.29-image/README.md" +LABEL io.artifacthub.package.logo-url="https://raw.githubusercontent.com/kubernetes/kubernetes/master/logo/logo.png" +ENTRYPOINT ["kubectl"] diff --git a/kubectl-1.29-image/README.md b/kubectl-1.29-image/README.md new file mode 100644 index 000000000..1e01f96b7 --- /dev/null +++ b/kubectl-1.29-image/README.md @@ -0,0 +1,32 @@ +# kubectl Container Image + +![Redistributable](https://img.shields.io/badge/Redistributable-Yes-green) + +Kubectl is a command line tool for communicating with a Kubernetes cluster's control plane, using the Kubernetes API. + +## How to use this Container Image + +To run commands inside the container for the current cluster for which the kubeconfig is available in `/root/.kube.config`: + +```ShellSession +podman run --rm --name kubectl\ + registry.opensuse.org/opensuse/kubectl:1.29 get nodes +``` + +To pass configuration of a remote cluster to the container: + +```ShellSession +podman run --rm --name kubectl\ + -v /localpath/to/kubeconfig:/root/.kube/config:Z + registry.opensuse.org/opensuse/kubectl:1.29 get nodes +``` + +## Licensing + +`SPDX-License-Identifier: Apache-2.0` + +This documentation and the build recipe are licensed as Apache-2.0. +The container itself contains various software components under various open source licenses listed in the associated +Software Bill of Materials (SBOM). + +This image is based on [openSUSE Tumbleweed](https://get.opensuse.org/tumbleweed/). diff --git a/kubectl-1.29-image/_service b/kubectl-1.29-image/_service new file mode 100644 index 000000000..7ba4d95c1 --- /dev/null +++ b/kubectl-1.29-image/_service @@ -0,0 +1,10 @@ + + + + + Dockerfile + %%kubectl_version%% + kubernetes1.29-client + patch + + \ No newline at end of file diff --git a/kubectl-1.29-image/kubectl-1.29-image.changes b/kubectl-1.29-image/kubectl-1.29-image.changes new file mode 100644 index 000000000..0075623d3 --- /dev/null +++ b/kubectl-1.29-image/kubectl-1.29-image.changes @@ -0,0 +1,4 @@ +------------------------------------------------------------------- +Mon Jan 13 11:29:05 UTC 2025 - SUSE Update Bot + +- First version of the kubectl 1.29 BCI diff --git a/kubectl-1.30-image/Dockerfile b/kubectl-1.30-image/Dockerfile new file mode 100644 index 000000000..94bb350aa --- /dev/null +++ b/kubectl-1.30-image/Dockerfile @@ -0,0 +1,50 @@ +# SPDX-License-Identifier: Apache-2.0 + +# Copyright (c) 2025 SUSE LLC + +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. + +# The content of THIS FILE IS AUTOGENERATED and should not be manually modified. +# It is maintained by the BCI team and generated by +# https://github.com/SUSE/BCI-dockerfile-generator + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# You can contact the BCI team via https://github.com/SUSE/bci/discussions + +#!UseOBSRepositories + +#!BuildTag: opensuse/kubectl:%%kubectl_version%%-%RELEASE% +#!BuildTag: opensuse/kubectl:%%kubectl_version%% +#!BuildTag: opensuse/kubectl:1.30 +#!BuildTag: opensuse/kubectl:1.30 + +FROM opensuse/bci/bci-micro:latest AS target +FROM opensuse/tumbleweed:latest AS builder +COPY --from=target / /target + +RUN set -euo pipefail; \ + zypper -n --installroot /target --gpg-auto-import-keys install --no-recommends kubernetes1.30-client; \ + zypper -n clean; \ + rm -rf {/target,}/var/log/{alternatives.log,lastlog,tallylog,zypper.log,zypp/history,YaST2} +FROM opensuse/bci/bci-micro:latest +COPY --from=builder /target / +# Define labels according to https://en.opensuse.org/Building_derived_containers +# labelprefix=org.opensuse.application.kubectl +LABEL org.opencontainers.image.title="openSUSE Tumbleweed kubectl" +LABEL org.opencontainers.image.description="Kubernetes CLI for communicating with a Kubernetes cluster's control plane, using the Kubernetes API." +LABEL org.opencontainers.image.version="%%kubectl_version%%" +LABEL org.opencontainers.image.url="https://www.opensuse.org" +LABEL org.opencontainers.image.created="%BUILDTIME%" +LABEL org.opencontainers.image.vendor="openSUSE Project" +LABEL org.opencontainers.image.source="%SOURCEURL%" +LABEL org.opencontainers.image.ref.name="%%kubectl_version%%-%RELEASE%" +LABEL org.opensuse.reference="registry.opensuse.org/opensuse/kubectl:%%kubectl_version%%-%RELEASE%" +LABEL org.openbuildservice.disturl="%DISTURL%" +LABEL org.opensuse.lifecycle-url="https://en.opensuse.org/Lifetime#openSUSE_BCI" +LABEL org.opensuse.release-stage="released" +# endlabelprefix +LABEL io.artifacthub.package.readme-url="https://raw.githubusercontent.com/SUSE/BCI-dockerfile-generator/Tumbleweed/kubectl-1.30-image/README.md" +LABEL io.artifacthub.package.logo-url="https://raw.githubusercontent.com/kubernetes/kubernetes/master/logo/logo.png" +ENTRYPOINT ["kubectl"] diff --git a/kubectl-1.30-image/README.md b/kubectl-1.30-image/README.md new file mode 100644 index 000000000..7ad889cf4 --- /dev/null +++ b/kubectl-1.30-image/README.md @@ -0,0 +1,32 @@ +# kubectl Container Image + +![Redistributable](https://img.shields.io/badge/Redistributable-Yes-green) + +Kubectl is a command line tool for communicating with a Kubernetes cluster's control plane, using the Kubernetes API. + +## How to use this Container Image + +To run commands inside the container for the current cluster for which the kubeconfig is available in `/root/.kube.config`: + +```ShellSession +podman run --rm --name kubectl\ + registry.opensuse.org/opensuse/kubectl:1.30 get nodes +``` + +To pass configuration of a remote cluster to the container: + +```ShellSession +podman run --rm --name kubectl\ + -v /localpath/to/kubeconfig:/root/.kube/config:Z + registry.opensuse.org/opensuse/kubectl:1.30 get nodes +``` + +## Licensing + +`SPDX-License-Identifier: Apache-2.0` + +This documentation and the build recipe are licensed as Apache-2.0. +The container itself contains various software components under various open source licenses listed in the associated +Software Bill of Materials (SBOM). + +This image is based on [openSUSE Tumbleweed](https://get.opensuse.org/tumbleweed/). diff --git a/kubectl-1.30-image/_service b/kubectl-1.30-image/_service new file mode 100644 index 000000000..adbac56b2 --- /dev/null +++ b/kubectl-1.30-image/_service @@ -0,0 +1,10 @@ + + + + + Dockerfile + %%kubectl_version%% + kubernetes1.30-client + patch + + \ No newline at end of file diff --git a/kubectl-1.30-image/kubectl-1.30-image.changes b/kubectl-1.30-image/kubectl-1.30-image.changes new file mode 100644 index 000000000..b3ff0318f --- /dev/null +++ b/kubectl-1.30-image/kubectl-1.30-image.changes @@ -0,0 +1,4 @@ +------------------------------------------------------------------- +Mon Jan 13 11:29:05 UTC 2025 - SUSE Update Bot + +- First version of the kubectl 1.30 BCI diff --git a/kubectl-1.31-image/Dockerfile b/kubectl-1.31-image/Dockerfile new file mode 100644 index 000000000..a8d1b6698 --- /dev/null +++ b/kubectl-1.31-image/Dockerfile @@ -0,0 +1,50 @@ +# SPDX-License-Identifier: Apache-2.0 + +# Copyright (c) 2025 SUSE LLC + +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. + +# The content of THIS FILE IS AUTOGENERATED and should not be manually modified. +# It is maintained by the BCI team and generated by +# https://github.com/SUSE/BCI-dockerfile-generator + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# You can contact the BCI team via https://github.com/SUSE/bci/discussions + +#!UseOBSRepositories + +#!BuildTag: opensuse/kubectl:%%kubectl_version%%-%RELEASE% +#!BuildTag: opensuse/kubectl:%%kubectl_version%% +#!BuildTag: opensuse/kubectl:1.31 +#!BuildTag: opensuse/kubectl:1.31 + +FROM opensuse/bci/bci-micro:latest AS target +FROM opensuse/tumbleweed:latest AS builder +COPY --from=target / /target + +RUN set -euo pipefail; \ + zypper -n --installroot /target --gpg-auto-import-keys install --no-recommends kubernetes1.31-client; \ + zypper -n clean; \ + rm -rf {/target,}/var/log/{alternatives.log,lastlog,tallylog,zypper.log,zypp/history,YaST2} +FROM opensuse/bci/bci-micro:latest +COPY --from=builder /target / +# Define labels according to https://en.opensuse.org/Building_derived_containers +# labelprefix=org.opensuse.application.kubectl +LABEL org.opencontainers.image.title="openSUSE Tumbleweed kubectl" +LABEL org.opencontainers.image.description="Kubernetes CLI for communicating with a Kubernetes cluster's control plane, using the Kubernetes API." +LABEL org.opencontainers.image.version="%%kubectl_version%%" +LABEL org.opencontainers.image.url="https://www.opensuse.org" +LABEL org.opencontainers.image.created="%BUILDTIME%" +LABEL org.opencontainers.image.vendor="openSUSE Project" +LABEL org.opencontainers.image.source="%SOURCEURL%" +LABEL org.opencontainers.image.ref.name="%%kubectl_version%%-%RELEASE%" +LABEL org.opensuse.reference="registry.opensuse.org/opensuse/kubectl:%%kubectl_version%%-%RELEASE%" +LABEL org.openbuildservice.disturl="%DISTURL%" +LABEL org.opensuse.lifecycle-url="https://en.opensuse.org/Lifetime#openSUSE_BCI" +LABEL org.opensuse.release-stage="released" +# endlabelprefix +LABEL io.artifacthub.package.readme-url="https://raw.githubusercontent.com/SUSE/BCI-dockerfile-generator/Tumbleweed/kubectl-1.31-image/README.md" +LABEL io.artifacthub.package.logo-url="https://raw.githubusercontent.com/kubernetes/kubernetes/master/logo/logo.png" +ENTRYPOINT ["kubectl"] diff --git a/kubectl-1.31-image/README.md b/kubectl-1.31-image/README.md new file mode 100644 index 000000000..86fbc1c70 --- /dev/null +++ b/kubectl-1.31-image/README.md @@ -0,0 +1,32 @@ +# kubectl Container Image + +![Redistributable](https://img.shields.io/badge/Redistributable-Yes-green) + +Kubectl is a command line tool for communicating with a Kubernetes cluster's control plane, using the Kubernetes API. + +## How to use this Container Image + +To run commands inside the container for the current cluster for which the kubeconfig is available in `/root/.kube.config`: + +```ShellSession +podman run --rm --name kubectl\ + registry.opensuse.org/opensuse/kubectl:1.31 get nodes +``` + +To pass configuration of a remote cluster to the container: + +```ShellSession +podman run --rm --name kubectl\ + -v /localpath/to/kubeconfig:/root/.kube/config:Z + registry.opensuse.org/opensuse/kubectl:1.31 get nodes +``` + +## Licensing + +`SPDX-License-Identifier: Apache-2.0` + +This documentation and the build recipe are licensed as Apache-2.0. +The container itself contains various software components under various open source licenses listed in the associated +Software Bill of Materials (SBOM). + +This image is based on [openSUSE Tumbleweed](https://get.opensuse.org/tumbleweed/). diff --git a/kubectl-1.31-image/_service b/kubectl-1.31-image/_service new file mode 100644 index 000000000..1f5178cf6 --- /dev/null +++ b/kubectl-1.31-image/_service @@ -0,0 +1,10 @@ + + + + + Dockerfile + %%kubectl_version%% + kubernetes1.31-client + patch + + \ No newline at end of file diff --git a/kubectl-1.31-image/kubectl-1.31-image.changes b/kubectl-1.31-image/kubectl-1.31-image.changes new file mode 100644 index 000000000..ef4389cb4 --- /dev/null +++ b/kubectl-1.31-image/kubectl-1.31-image.changes @@ -0,0 +1,4 @@ +------------------------------------------------------------------- +Mon Jan 13 11:29:05 UTC 2025 - SUSE Update Bot + +- First version of the kubectl 1.31 BCI diff --git a/kubectl-1.32-image/Dockerfile b/kubectl-1.32-image/Dockerfile new file mode 100644 index 000000000..1558e8caa --- /dev/null +++ b/kubectl-1.32-image/Dockerfile @@ -0,0 +1,51 @@ +# SPDX-License-Identifier: Apache-2.0 + +# Copyright (c) 2025 SUSE LLC + +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. + +# The content of THIS FILE IS AUTOGENERATED and should not be manually modified. +# It is maintained by the BCI team and generated by +# https://github.com/SUSE/BCI-dockerfile-generator + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# You can contact the BCI team via https://github.com/SUSE/bci/discussions + +#!UseOBSRepositories + +#!BuildTag: opensuse/kubectl:%%kubectl_version%%-%RELEASE% +#!BuildTag: opensuse/kubectl:%%kubectl_version%% +#!BuildTag: opensuse/kubectl:1.32 +#!BuildTag: opensuse/kubectl:1.32 +#!BuildTag: opensuse/kubectl:latest + +FROM opensuse/bci/bci-micro:latest AS target +FROM opensuse/tumbleweed:latest AS builder +COPY --from=target / /target + +RUN set -euo pipefail; \ + zypper -n --installroot /target --gpg-auto-import-keys install --no-recommends kubernetes1.32-client; \ + zypper -n clean; \ + rm -rf {/target,}/var/log/{alternatives.log,lastlog,tallylog,zypper.log,zypp/history,YaST2} +FROM opensuse/bci/bci-micro:latest +COPY --from=builder /target / +# Define labels according to https://en.opensuse.org/Building_derived_containers +# labelprefix=org.opensuse.application.kubectl +LABEL org.opencontainers.image.title="openSUSE Tumbleweed kubectl" +LABEL org.opencontainers.image.description="Kubernetes CLI for communicating with a Kubernetes cluster's control plane, using the Kubernetes API." +LABEL org.opencontainers.image.version="%%kubectl_version%%" +LABEL org.opencontainers.image.url="https://www.opensuse.org" +LABEL org.opencontainers.image.created="%BUILDTIME%" +LABEL org.opencontainers.image.vendor="openSUSE Project" +LABEL org.opencontainers.image.source="%SOURCEURL%" +LABEL org.opencontainers.image.ref.name="%%kubectl_version%%-%RELEASE%" +LABEL org.opensuse.reference="registry.opensuse.org/opensuse/kubectl:%%kubectl_version%%-%RELEASE%" +LABEL org.openbuildservice.disturl="%DISTURL%" +LABEL org.opensuse.lifecycle-url="https://en.opensuse.org/Lifetime#openSUSE_BCI" +LABEL org.opensuse.release-stage="released" +# endlabelprefix +LABEL io.artifacthub.package.readme-url="https://raw.githubusercontent.com/SUSE/BCI-dockerfile-generator/Tumbleweed/kubectl-1.32-image/README.md" +LABEL io.artifacthub.package.logo-url="https://raw.githubusercontent.com/kubernetes/kubernetes/master/logo/logo.png" +ENTRYPOINT ["kubectl"] diff --git a/kubectl-1.32-image/README.md b/kubectl-1.32-image/README.md new file mode 100644 index 000000000..575052e40 --- /dev/null +++ b/kubectl-1.32-image/README.md @@ -0,0 +1,32 @@ +# kubectl Container Image + +![Redistributable](https://img.shields.io/badge/Redistributable-Yes-green) + +Kubectl is a command line tool for communicating with a Kubernetes cluster's control plane, using the Kubernetes API. + +## How to use this Container Image + +To run commands inside the container for the current cluster for which the kubeconfig is available in `/root/.kube.config`: + +```ShellSession +podman run --rm --name kubectl\ + registry.opensuse.org/opensuse/kubectl:1.32 get nodes +``` + +To pass configuration of a remote cluster to the container: + +```ShellSession +podman run --rm --name kubectl\ + -v /localpath/to/kubeconfig:/root/.kube/config:Z + registry.opensuse.org/opensuse/kubectl:1.32 get nodes +``` + +## Licensing + +`SPDX-License-Identifier: Apache-2.0` + +This documentation and the build recipe are licensed as Apache-2.0. +The container itself contains various software components under various open source licenses listed in the associated +Software Bill of Materials (SBOM). + +This image is based on [openSUSE Tumbleweed](https://get.opensuse.org/tumbleweed/). diff --git a/kubectl-1.32-image/_service b/kubectl-1.32-image/_service new file mode 100644 index 000000000..2c8dcbb53 --- /dev/null +++ b/kubectl-1.32-image/_service @@ -0,0 +1,10 @@ + + + + + Dockerfile + %%kubectl_version%% + kubernetes1.32-client + patch + + \ No newline at end of file diff --git a/kubectl-1.32-image/kubectl-1.32-image.changes b/kubectl-1.32-image/kubectl-1.32-image.changes new file mode 100644 index 000000000..8e86e4dd8 --- /dev/null +++ b/kubectl-1.32-image/kubectl-1.32-image.changes @@ -0,0 +1,4 @@ +------------------------------------------------------------------- +Mon Jan 13 11:29:05 UTC 2025 - SUSE Update Bot + +- First version of the kubectl 1.32 BCI