Skip to content

Commit 8fe1803

Browse files
authored
Merge pull request #2188 from SUSE/for-deploy-Tumbleweed
🤖: Update build recipes for Tumbleweed
2 parents dd75fa9 + 51e2892 commit 8fe1803

17 files changed

Lines changed: 413 additions & 0 deletions

File tree

.obs/workflows.yml

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,22 @@ staging_build:
9393
source_project: home:defolos:BCI:CR:Tumbleweed
9494
source_package: kiwi-image
9595
target_project: home:defolos:BCI:CR:Tumbleweed:Staging
96+
- branch_package:
97+
source_project: home:defolos:BCI:CR:Tumbleweed
98+
source_package: kubectl-1.29-image
99+
target_project: home:defolos:BCI:CR:Tumbleweed:Staging
100+
- branch_package:
101+
source_project: home:defolos:BCI:CR:Tumbleweed
102+
source_package: kubectl-1.30-image
103+
target_project: home:defolos:BCI:CR:Tumbleweed:Staging
104+
- branch_package:
105+
source_project: home:defolos:BCI:CR:Tumbleweed
106+
source_package: kubectl-1.31-image
107+
target_project: home:defolos:BCI:CR:Tumbleweed:Staging
108+
- branch_package:
109+
source_project: home:defolos:BCI:CR:Tumbleweed
110+
source_package: kubectl-1.32-image
111+
target_project: home:defolos:BCI:CR:Tumbleweed:Staging
96112
- branch_package:
97113
source_project: home:defolos:BCI:CR:Tumbleweed
98114
source_package: mariadb-image
@@ -327,6 +343,18 @@ refresh_devel_BCI:
327343
- trigger_services:
328344
project: devel:BCI:Tumbleweed
329345
package: kiwi-image
346+
- trigger_services:
347+
project: devel:BCI:Tumbleweed
348+
package: kubectl-1.29-image
349+
- trigger_services:
350+
project: devel:BCI:Tumbleweed
351+
package: kubectl-1.30-image
352+
- trigger_services:
353+
project: devel:BCI:Tumbleweed
354+
package: kubectl-1.31-image
355+
- trigger_services:
356+
project: devel:BCI:Tumbleweed
357+
package: kubectl-1.32-image
330358
- trigger_services:
331359
project: devel:BCI:Tumbleweed
332360
package: mariadb-image

kubectl-1.29-image/Dockerfile

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
# SPDX-License-Identifier: Apache-2.0
2+
3+
# Copyright (c) 2025 SUSE LLC
4+
5+
# All modifications and additions to the file contributed by third parties
6+
# remain the property of their copyright owners, unless otherwise agreed
7+
# upon.
8+
9+
# The content of THIS FILE IS AUTOGENERATED and should not be manually modified.
10+
# It is maintained by the BCI team and generated by
11+
# https://github.com/SUSE/BCI-dockerfile-generator
12+
13+
# Please submit bugfixes or comments via https://bugs.opensuse.org/
14+
# You can contact the BCI team via https://github.com/SUSE/bci/discussions
15+
16+
#!UseOBSRepositories
17+
18+
#!BuildTag: opensuse/kubectl:%%kubectl_version%%-%RELEASE%
19+
#!BuildTag: opensuse/kubectl:%%kubectl_version%%
20+
#!BuildTag: opensuse/kubectl:1.29
21+
#!BuildTag: opensuse/kubectl:1.29
22+
23+
FROM opensuse/bci/bci-micro:latest AS target
24+
FROM opensuse/tumbleweed:latest AS builder
25+
COPY --from=target / /target
26+
27+
RUN set -euo pipefail; \
28+
zypper -n --installroot /target --gpg-auto-import-keys install --no-recommends kubernetes1.29-client; \
29+
zypper -n clean; \
30+
rm -rf {/target,}/var/log/{alternatives.log,lastlog,tallylog,zypper.log,zypp/history,YaST2}
31+
FROM opensuse/bci/bci-micro:latest
32+
COPY --from=builder /target /
33+
# Define labels according to https://en.opensuse.org/Building_derived_containers
34+
# labelprefix=org.opensuse.application.kubectl
35+
LABEL org.opencontainers.image.title="openSUSE Tumbleweed kubectl"
36+
LABEL org.opencontainers.image.description="Kubernetes CLI for communicating with a Kubernetes cluster's control plane, using the Kubernetes API."
37+
LABEL org.opencontainers.image.version="%%kubectl_version%%"
38+
LABEL org.opencontainers.image.url="https://www.opensuse.org"
39+
LABEL org.opencontainers.image.created="%BUILDTIME%"
40+
LABEL org.opencontainers.image.vendor="openSUSE Project"
41+
LABEL org.opencontainers.image.source="%SOURCEURL%"
42+
LABEL org.opencontainers.image.ref.name="%%kubectl_version%%-%RELEASE%"
43+
LABEL org.opensuse.reference="registry.opensuse.org/opensuse/kubectl:%%kubectl_version%%-%RELEASE%"
44+
LABEL org.openbuildservice.disturl="%DISTURL%"
45+
LABEL org.opensuse.lifecycle-url="https://en.opensuse.org/Lifetime#openSUSE_BCI"
46+
LABEL org.opensuse.release-stage="released"
47+
# endlabelprefix
48+
LABEL io.artifacthub.package.readme-url="https://raw.githubusercontent.com/SUSE/BCI-dockerfile-generator/Tumbleweed/kubectl-1.29-image/README.md"
49+
LABEL io.artifacthub.package.logo-url="https://raw.githubusercontent.com/kubernetes/kubernetes/master/logo/logo.png"
50+
ENTRYPOINT ["kubectl"]

kubectl-1.29-image/README.md

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
# kubectl Container Image
2+
3+
![Redistributable](https://img.shields.io/badge/Redistributable-Yes-green)
4+
5+
Kubectl is a command line tool for communicating with a Kubernetes cluster's control plane, using the Kubernetes API.
6+
7+
## How to use this Container Image
8+
9+
To run commands inside the container for the current cluster for which the kubeconfig is available in `/root/.kube.config`:
10+
11+
```ShellSession
12+
podman run --rm --name kubectl\
13+
registry.opensuse.org/opensuse/kubectl:1.29 get nodes
14+
```
15+
16+
To pass configuration of a remote cluster to the container:
17+
18+
```ShellSession
19+
podman run --rm --name kubectl\
20+
-v /localpath/to/kubeconfig:/root/.kube/config:Z
21+
registry.opensuse.org/opensuse/kubectl:1.29 get nodes
22+
```
23+
24+
## Licensing
25+
26+
`SPDX-License-Identifier: Apache-2.0`
27+
28+
This documentation and the build recipe are licensed as Apache-2.0.
29+
The container itself contains various software components under various open source licenses listed in the associated
30+
Software Bill of Materials (SBOM).
31+
32+
This image is based on [openSUSE Tumbleweed](https://get.opensuse.org/tumbleweed/).

kubectl-1.29-image/_service

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
<services>
2+
<service mode="buildtime" name="docker_label_helper"/>
3+
<service mode="buildtime" name="kiwi_metainfo_helper"/>
4+
<service mode="buildtime" name="replace_using_package_version">
5+
<param name="file">Dockerfile</param>
6+
<param name="regex">%%kubectl_version%%</param>
7+
<param name="package">kubernetes1.29-client</param>
8+
<param name="parse-version">patch</param>
9+
</service>
10+
</services>
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
-------------------------------------------------------------------
2+
Mon Jan 13 11:29:05 UTC 2025 - SUSE Update Bot <bci-internal@suse.de>
3+
4+
- First version of the kubectl 1.29 BCI

kubectl-1.30-image/Dockerfile

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
# SPDX-License-Identifier: Apache-2.0
2+
3+
# Copyright (c) 2025 SUSE LLC
4+
5+
# All modifications and additions to the file contributed by third parties
6+
# remain the property of their copyright owners, unless otherwise agreed
7+
# upon.
8+
9+
# The content of THIS FILE IS AUTOGENERATED and should not be manually modified.
10+
# It is maintained by the BCI team and generated by
11+
# https://github.com/SUSE/BCI-dockerfile-generator
12+
13+
# Please submit bugfixes or comments via https://bugs.opensuse.org/
14+
# You can contact the BCI team via https://github.com/SUSE/bci/discussions
15+
16+
#!UseOBSRepositories
17+
18+
#!BuildTag: opensuse/kubectl:%%kubectl_version%%-%RELEASE%
19+
#!BuildTag: opensuse/kubectl:%%kubectl_version%%
20+
#!BuildTag: opensuse/kubectl:1.30
21+
#!BuildTag: opensuse/kubectl:1.30
22+
23+
FROM opensuse/bci/bci-micro:latest AS target
24+
FROM opensuse/tumbleweed:latest AS builder
25+
COPY --from=target / /target
26+
27+
RUN set -euo pipefail; \
28+
zypper -n --installroot /target --gpg-auto-import-keys install --no-recommends kubernetes1.30-client; \
29+
zypper -n clean; \
30+
rm -rf {/target,}/var/log/{alternatives.log,lastlog,tallylog,zypper.log,zypp/history,YaST2}
31+
FROM opensuse/bci/bci-micro:latest
32+
COPY --from=builder /target /
33+
# Define labels according to https://en.opensuse.org/Building_derived_containers
34+
# labelprefix=org.opensuse.application.kubectl
35+
LABEL org.opencontainers.image.title="openSUSE Tumbleweed kubectl"
36+
LABEL org.opencontainers.image.description="Kubernetes CLI for communicating with a Kubernetes cluster's control plane, using the Kubernetes API."
37+
LABEL org.opencontainers.image.version="%%kubectl_version%%"
38+
LABEL org.opencontainers.image.url="https://www.opensuse.org"
39+
LABEL org.opencontainers.image.created="%BUILDTIME%"
40+
LABEL org.opencontainers.image.vendor="openSUSE Project"
41+
LABEL org.opencontainers.image.source="%SOURCEURL%"
42+
LABEL org.opencontainers.image.ref.name="%%kubectl_version%%-%RELEASE%"
43+
LABEL org.opensuse.reference="registry.opensuse.org/opensuse/kubectl:%%kubectl_version%%-%RELEASE%"
44+
LABEL org.openbuildservice.disturl="%DISTURL%"
45+
LABEL org.opensuse.lifecycle-url="https://en.opensuse.org/Lifetime#openSUSE_BCI"
46+
LABEL org.opensuse.release-stage="released"
47+
# endlabelprefix
48+
LABEL io.artifacthub.package.readme-url="https://raw.githubusercontent.com/SUSE/BCI-dockerfile-generator/Tumbleweed/kubectl-1.30-image/README.md"
49+
LABEL io.artifacthub.package.logo-url="https://raw.githubusercontent.com/kubernetes/kubernetes/master/logo/logo.png"
50+
ENTRYPOINT ["kubectl"]

kubectl-1.30-image/README.md

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
# kubectl Container Image
2+
3+
![Redistributable](https://img.shields.io/badge/Redistributable-Yes-green)
4+
5+
Kubectl is a command line tool for communicating with a Kubernetes cluster's control plane, using the Kubernetes API.
6+
7+
## How to use this Container Image
8+
9+
To run commands inside the container for the current cluster for which the kubeconfig is available in `/root/.kube.config`:
10+
11+
```ShellSession
12+
podman run --rm --name kubectl\
13+
registry.opensuse.org/opensuse/kubectl:1.30 get nodes
14+
```
15+
16+
To pass configuration of a remote cluster to the container:
17+
18+
```ShellSession
19+
podman run --rm --name kubectl\
20+
-v /localpath/to/kubeconfig:/root/.kube/config:Z
21+
registry.opensuse.org/opensuse/kubectl:1.30 get nodes
22+
```
23+
24+
## Licensing
25+
26+
`SPDX-License-Identifier: Apache-2.0`
27+
28+
This documentation and the build recipe are licensed as Apache-2.0.
29+
The container itself contains various software components under various open source licenses listed in the associated
30+
Software Bill of Materials (SBOM).
31+
32+
This image is based on [openSUSE Tumbleweed](https://get.opensuse.org/tumbleweed/).

kubectl-1.30-image/_service

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
<services>
2+
<service mode="buildtime" name="docker_label_helper"/>
3+
<service mode="buildtime" name="kiwi_metainfo_helper"/>
4+
<service mode="buildtime" name="replace_using_package_version">
5+
<param name="file">Dockerfile</param>
6+
<param name="regex">%%kubectl_version%%</param>
7+
<param name="package">kubernetes1.30-client</param>
8+
<param name="parse-version">patch</param>
9+
</service>
10+
</services>
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
-------------------------------------------------------------------
2+
Mon Jan 13 11:29:05 UTC 2025 - SUSE Update Bot <bci-internal@suse.de>
3+
4+
- First version of the kubectl 1.30 BCI

kubectl-1.31-image/Dockerfile

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
# SPDX-License-Identifier: Apache-2.0
2+
3+
# Copyright (c) 2025 SUSE LLC
4+
5+
# All modifications and additions to the file contributed by third parties
6+
# remain the property of their copyright owners, unless otherwise agreed
7+
# upon.
8+
9+
# The content of THIS FILE IS AUTOGENERATED and should not be manually modified.
10+
# It is maintained by the BCI team and generated by
11+
# https://github.com/SUSE/BCI-dockerfile-generator
12+
13+
# Please submit bugfixes or comments via https://bugs.opensuse.org/
14+
# You can contact the BCI team via https://github.com/SUSE/bci/discussions
15+
16+
#!UseOBSRepositories
17+
18+
#!BuildTag: opensuse/kubectl:%%kubectl_version%%-%RELEASE%
19+
#!BuildTag: opensuse/kubectl:%%kubectl_version%%
20+
#!BuildTag: opensuse/kubectl:1.31
21+
#!BuildTag: opensuse/kubectl:1.31
22+
23+
FROM opensuse/bci/bci-micro:latest AS target
24+
FROM opensuse/tumbleweed:latest AS builder
25+
COPY --from=target / /target
26+
27+
RUN set -euo pipefail; \
28+
zypper -n --installroot /target --gpg-auto-import-keys install --no-recommends kubernetes1.31-client; \
29+
zypper -n clean; \
30+
rm -rf {/target,}/var/log/{alternatives.log,lastlog,tallylog,zypper.log,zypp/history,YaST2}
31+
FROM opensuse/bci/bci-micro:latest
32+
COPY --from=builder /target /
33+
# Define labels according to https://en.opensuse.org/Building_derived_containers
34+
# labelprefix=org.opensuse.application.kubectl
35+
LABEL org.opencontainers.image.title="openSUSE Tumbleweed kubectl"
36+
LABEL org.opencontainers.image.description="Kubernetes CLI for communicating with a Kubernetes cluster's control plane, using the Kubernetes API."
37+
LABEL org.opencontainers.image.version="%%kubectl_version%%"
38+
LABEL org.opencontainers.image.url="https://www.opensuse.org"
39+
LABEL org.opencontainers.image.created="%BUILDTIME%"
40+
LABEL org.opencontainers.image.vendor="openSUSE Project"
41+
LABEL org.opencontainers.image.source="%SOURCEURL%"
42+
LABEL org.opencontainers.image.ref.name="%%kubectl_version%%-%RELEASE%"
43+
LABEL org.opensuse.reference="registry.opensuse.org/opensuse/kubectl:%%kubectl_version%%-%RELEASE%"
44+
LABEL org.openbuildservice.disturl="%DISTURL%"
45+
LABEL org.opensuse.lifecycle-url="https://en.opensuse.org/Lifetime#openSUSE_BCI"
46+
LABEL org.opensuse.release-stage="released"
47+
# endlabelprefix
48+
LABEL io.artifacthub.package.readme-url="https://raw.githubusercontent.com/SUSE/BCI-dockerfile-generator/Tumbleweed/kubectl-1.31-image/README.md"
49+
LABEL io.artifacthub.package.logo-url="https://raw.githubusercontent.com/kubernetes/kubernetes/master/logo/logo.png"
50+
ENTRYPOINT ["kubectl"]

0 commit comments

Comments
 (0)