From 481dba60a7a7cf77464a6fe2f76c25c787298a4f Mon Sep 17 00:00:00 2001 From: Nico Schieder Date: Wed, 6 Dec 2023 16:54:19 +0100 Subject: [PATCH 1/2] Add repository example --- 4_repositories/README.md | 10 ++++ 4_repositories/build.sh | 14 +++++ .../pkgs/pkg-a/v0.1.0/manifest.yaml | 18 ++++++ .../pkgs/pkg-a/v0.2.0/manifest.yaml | 18 ++++++ .../pkgs/pkg-a/v0.3.0/manifest.yaml | 18 ++++++ 4_repositories/repo.yaml | 60 +++++++++++++++++++ 4_repositories/root/manifest.lock.yaml | 6 ++ 4_repositories/root/manifest.yaml | 23 +++++++ 8 files changed, 167 insertions(+) create mode 100644 4_repositories/README.md create mode 100755 4_repositories/build.sh create mode 100644 4_repositories/pkgs/pkg-a/v0.1.0/manifest.yaml create mode 100644 4_repositories/pkgs/pkg-a/v0.2.0/manifest.yaml create mode 100644 4_repositories/pkgs/pkg-a/v0.3.0/manifest.yaml create mode 100644 4_repositories/repo.yaml create mode 100644 4_repositories/root/manifest.lock.yaml create mode 100644 4_repositories/root/manifest.yaml diff --git a/4_repositories/README.md b/4_repositories/README.md new file mode 100644 index 0000000..8e20b72 --- /dev/null +++ b/4_repositories/README.md @@ -0,0 +1,10 @@ +# Repositories + +## Packages + +### pkg-a + +Versions: +- **v0.1.0** Works with OpenShift 4.11.x +- **v0.2.0** Works with OpenShift 4.12 - 4.14 (But not 4.13.5 - known regression) +- **v0.3.0** Works with OpenShift 4.15.x \ No newline at end of file diff --git a/4_repositories/build.sh b/4_repositories/build.sh new file mode 100755 index 0000000..a4cea03 --- /dev/null +++ b/4_repositories/build.sh @@ -0,0 +1,14 @@ +#!/bin/bash +set -euo pipefail + +# build package images +PKG_A_REPO="quay.io/nschiede/pkg-a" +kubectl package build ./pkgs/pkg-a/v0.1.0 --tag="${PKG_A_REPO}:v0.1.0" --push +kubectl package build ./pkgs/pkg-a/v0.2.0 --tag="${PKG_A_REPO}:v0.2.0" --push +kubectl package build ./pkgs/pkg-a/v0.3.0 --tag="${PKG_A_REPO}:v0.3.0" --push + +rm repo.yaml +kubectl package repo initialize repo.yaml my-repo +kubectl package repo add repo.yaml "${PKG_A_REPO}:v0.1.0" 0.1.0 +kubectl package repo add repo.yaml "${PKG_A_REPO}:v0.2.0" 0.2.0 +kubectl package repo add repo.yaml "${PKG_A_REPO}:v0.3.0" 0.3.0 \ No newline at end of file diff --git a/4_repositories/pkgs/pkg-a/v0.1.0/manifest.yaml b/4_repositories/pkgs/pkg-a/v0.1.0/manifest.yaml new file mode 100644 index 0000000..b6ace0e --- /dev/null +++ b/4_repositories/pkgs/pkg-a/v0.1.0/manifest.yaml @@ -0,0 +1,18 @@ +apiVersion: manifests.package-operator.run/v1alpha1 +kind: PackageManifest +metadata: + name: pkg-a + annotations: + version: v0.1.0 +spec: + scopes: + - Cluster + - Namespaced + phases: + - name: deploy + constraints: + - platform: + - OpenShift + - platformVersion: + name: OpenShift + range: 4.11.x \ No newline at end of file diff --git a/4_repositories/pkgs/pkg-a/v0.2.0/manifest.yaml b/4_repositories/pkgs/pkg-a/v0.2.0/manifest.yaml new file mode 100644 index 0000000..57b132a --- /dev/null +++ b/4_repositories/pkgs/pkg-a/v0.2.0/manifest.yaml @@ -0,0 +1,18 @@ +apiVersion: manifests.package-operator.run/v1alpha1 +kind: PackageManifest +metadata: + name: pkg-a + annotations: + version: v0.2.0 +spec: + scopes: + - Cluster + - Namespaced + phases: + - name: deploy + constraints: + - platform: + - OpenShift + - platformVersion: + name: OpenShift + range: 4.12.x - 4.14.x && != 4.13.5 \ No newline at end of file diff --git a/4_repositories/pkgs/pkg-a/v0.3.0/manifest.yaml b/4_repositories/pkgs/pkg-a/v0.3.0/manifest.yaml new file mode 100644 index 0000000..626b51a --- /dev/null +++ b/4_repositories/pkgs/pkg-a/v0.3.0/manifest.yaml @@ -0,0 +1,18 @@ +apiVersion: manifests.package-operator.run/v1alpha1 +kind: PackageManifest +metadata: + name: pkg-a + annotations: + version: v0.3.0 +spec: + scopes: + - Cluster + - Namespaced + phases: + - name: deploy + constraints: + - platform: + - OpenShift + - platformVersion: + name: OpenShift + range: 4.15.x \ No newline at end of file diff --git a/4_repositories/repo.yaml b/4_repositories/repo.yaml new file mode 100644 index 0000000..39b0861 --- /dev/null +++ b/4_repositories/repo.yaml @@ -0,0 +1,60 @@ +--- +apiVersion: manifests.package-operator.run/v1alpha1 +kind: Repository +metadata: + creationTimestamp: "2023-12-06T15:49:51Z" + name: my-repo +--- +apiVersion: manifests.package-operator.run/v1alpha1 +data: + constraints: + - platform: + - OpenShift + - platformVersion: + name: OpenShift + range: 4.11.x + digest: 9f62412e643b6e3a8a2b3997e955062af3813dfe2aa577a01f724daa1033cd98 + image: quay.io/nschiede/pkg-a + name: pkg-a + versions: + - v0.1.0 +kind: RepositoryEntry +metadata: + creationTimestamp: null + name: pkg-a.9f62412e643b6e3a8a2b3997e955062af3813dfe2aa577a01f724daa1033cd98 +--- +apiVersion: manifests.package-operator.run/v1alpha1 +data: + constraints: + - platform: + - OpenShift + - platformVersion: + name: OpenShift + range: 4.12.x - 4.14.x && != 4.13.5 + digest: 037ff25265533a1f314e20ba8f4825836a9712443c04a6cdf4f741c09163f861 + image: quay.io/nschiede/pkg-a + name: pkg-a + versions: + - v0.2.0 +kind: RepositoryEntry +metadata: + creationTimestamp: null + name: pkg-a.037ff25265533a1f314e20ba8f4825836a9712443c04a6cdf4f741c09163f861 +--- +apiVersion: manifests.package-operator.run/v1alpha1 +data: + constraints: + - platform: + - OpenShift + - platformVersion: + name: OpenShift + range: 4.15.x + digest: 1f1347f666c05a769548d8e16e5c92a3304ce7603f67f0e3a2801d1f4d102c5b + image: quay.io/nschiede/pkg-a + name: pkg-a + versions: + - v0.3.0 +kind: RepositoryEntry +metadata: + creationTimestamp: null + name: pkg-a.1f1347f666c05a769548d8e16e5c92a3304ce7603f67f0e3a2801d1f4d102c5b diff --git a/4_repositories/root/manifest.lock.yaml b/4_repositories/root/manifest.lock.yaml new file mode 100644 index 0000000..7f8097d --- /dev/null +++ b/4_repositories/root/manifest.lock.yaml @@ -0,0 +1,6 @@ +apiVersion: manifests.package-operator.run/v1alpha1 +kind: PackageManifestLock +metadata: + creationTimestamp: "2023-12-06T15:52:18Z" +spec: + images: [] diff --git a/4_repositories/root/manifest.yaml b/4_repositories/root/manifest.yaml new file mode 100644 index 0000000..25ffebc --- /dev/null +++ b/4_repositories/root/manifest.yaml @@ -0,0 +1,23 @@ +apiVersion: manifests.package-operator.run/v1alpha1 +kind: PackageManifest +metadata: + name: root +spec: + scopes: + - Cluster + - Namespaced + phases: + - name: deploy + constraints: + - platform: + - OpenShift + - platformVersion: + name: OpenShift + range: 4.11.x + dependencies: + - image: + name: my-pkg + package: my-pkg.my-repo + # range: '>=2.1' + repositories: + - image: quay.io/package-operator/my-repo:latest \ No newline at end of file From 7b1d547723327816388f900652bbff3c8728ab67 Mon Sep 17 00:00:00 2001 From: Nico Schieder Date: Wed, 6 Dec 2023 22:27:56 +0100 Subject: [PATCH 2/2] f --- 4_repositories/repo.yaml | 2 +- 4_repositories/root/manifest.lock.yaml | 6 ------ 4_repositories/root/manifest.yaml | 8 ++++---- 3 files changed, 5 insertions(+), 11 deletions(-) delete mode 100644 4_repositories/root/manifest.lock.yaml diff --git a/4_repositories/repo.yaml b/4_repositories/repo.yaml index 39b0861..305c720 100644 --- a/4_repositories/repo.yaml +++ b/4_repositories/repo.yaml @@ -2,7 +2,7 @@ apiVersion: manifests.package-operator.run/v1alpha1 kind: Repository metadata: - creationTimestamp: "2023-12-06T15:49:51Z" + creationTimestamp: "2023-12-06T18:10:01Z" name: my-repo --- apiVersion: manifests.package-operator.run/v1alpha1 diff --git a/4_repositories/root/manifest.lock.yaml b/4_repositories/root/manifest.lock.yaml deleted file mode 100644 index 7f8097d..0000000 --- a/4_repositories/root/manifest.lock.yaml +++ /dev/null @@ -1,6 +0,0 @@ -apiVersion: manifests.package-operator.run/v1alpha1 -kind: PackageManifestLock -metadata: - creationTimestamp: "2023-12-06T15:52:18Z" -spec: - images: [] diff --git a/4_repositories/root/manifest.yaml b/4_repositories/root/manifest.yaml index 25ffebc..2c7492b 100644 --- a/4_repositories/root/manifest.yaml +++ b/4_repositories/root/manifest.yaml @@ -16,8 +16,8 @@ spec: range: 4.11.x dependencies: - image: - name: my-pkg - package: my-pkg.my-repo - # range: '>=2.1' + name: pkg-a + package: pkg-a.my-repo + # range: '0-1' repositories: - - image: quay.io/package-operator/my-repo:latest \ No newline at end of file + - file: repo.yaml \ No newline at end of file