From 1ab35626d8d88532a9ae5e08cea260d6151610dd Mon Sep 17 00:00:00 2001 From: garciadeblas Date: Wed, 11 Jun 2025 09:49:26 +0200 Subject: [PATCH] Update manifests in the sw-catalog for jenkins app, add namespace and testacme app Change-Id: Ic63604aacda256729e98c4d1a286020925dd92db Signed-off-by: garciadeblas --- .../jenkins/manifests/bitnamicharts-repo.yaml | 1 - .../apps/jenkins/manifests/jenkins-hr.yaml | 3 -- .../apps/jenkins/templates/jenkins-ks.yaml | 40 ++++++++++++-- .../manifests/namespace.yaml} | 9 ++-- .../namespace/templates/namespace-ks.yaml | 40 ++++++++++++++ .../testacme/manifests/testacme-deploy.yaml | 54 +++++++++++++++++++ .../apps/testacme/manifests/testacme-svc.yaml | 35 ++++++++++++ .../apps/testacme/templates/testacme-ks.yaml | 37 +++++++++++++ 8 files changed, 207 insertions(+), 12 deletions(-) rename installers/mgmt-cluster/flux/templates/sw-catalogs/apps/{jenkins/templates/jenkins-ns.yaml => namespace/manifests/namespace.yaml} (89%) create mode 100644 installers/mgmt-cluster/flux/templates/sw-catalogs/apps/namespace/templates/namespace-ks.yaml create mode 100644 installers/mgmt-cluster/flux/templates/sw-catalogs/apps/testacme/manifests/testacme-deploy.yaml create mode 100644 installers/mgmt-cluster/flux/templates/sw-catalogs/apps/testacme/manifests/testacme-svc.yaml create mode 100644 installers/mgmt-cluster/flux/templates/sw-catalogs/apps/testacme/templates/testacme-ks.yaml diff --git a/installers/mgmt-cluster/flux/templates/sw-catalogs/apps/jenkins/manifests/bitnamicharts-repo.yaml b/installers/mgmt-cluster/flux/templates/sw-catalogs/apps/jenkins/manifests/bitnamicharts-repo.yaml index 354b8372..429a6585 100644 --- a/installers/mgmt-cluster/flux/templates/sw-catalogs/apps/jenkins/manifests/bitnamicharts-repo.yaml +++ b/installers/mgmt-cluster/flux/templates/sw-catalogs/apps/jenkins/manifests/bitnamicharts-repo.yaml @@ -14,7 +14,6 @@ # See the License for the specific language governing permissions and # limitations under the License. ####################################################################################### - --- apiVersion: source.toolkit.fluxcd.io/v1beta2 kind: HelmRepository diff --git a/installers/mgmt-cluster/flux/templates/sw-catalogs/apps/jenkins/manifests/jenkins-hr.yaml b/installers/mgmt-cluster/flux/templates/sw-catalogs/apps/jenkins/manifests/jenkins-hr.yaml index c5d7eb37..f83ae764 100644 --- a/installers/mgmt-cluster/flux/templates/sw-catalogs/apps/jenkins/manifests/jenkins-hr.yaml +++ b/installers/mgmt-cluster/flux/templates/sw-catalogs/apps/jenkins/manifests/jenkins-hr.yaml @@ -14,7 +14,6 @@ # See the License for the specific language governing permissions and # limitations under the License. ####################################################################################### - --- apiVersion: helm.toolkit.fluxcd.io/v2beta1 kind: HelmRelease @@ -31,8 +30,6 @@ spec: kind: HelmRepository name: bitnamicharts namespace: jenkins - install: - createNamespace: true interval: 3m0s targetNamespace: jenkins values: {} diff --git a/installers/mgmt-cluster/flux/templates/sw-catalogs/apps/jenkins/templates/jenkins-ks.yaml b/installers/mgmt-cluster/flux/templates/sw-catalogs/apps/jenkins/templates/jenkins-ks.yaml index bbf4d7ba..276db4b2 100644 --- a/installers/mgmt-cluster/flux/templates/sw-catalogs/apps/jenkins/templates/jenkins-ks.yaml +++ b/installers/mgmt-cluster/flux/templates/sw-catalogs/apps/jenkins/templates/jenkins-ks.yaml @@ -14,18 +14,52 @@ # See the License for the specific language governing permissions and # limitations under the License. ####################################################################################### - --- apiVersion: kustomize.toolkit.fluxcd.io/v1 kind: Kustomization metadata: - name: jenkins - namespace: jenkins + name: ${APPNAME} + namespace: flux-system spec: interval: 1h0m0s path: ./apps/jenkins/manifests prune: true + targetNamespace: ${TARGET_NS} + wait: true sourceRef: kind: GitRepository name: sw-catalogs namespace: flux-system + patches: + # - target: + # kind: Namespace + # version: v1 + # name: jenkins + # patch: |- + # kind: Namespace + # metadata: + # name: ${TARGET_NS} + - target: + kind: HelmRelease + version: v2beta1 + name: jenkins + namespace: jenkins + patch: |- + - op: replace + path: /metadata/name + value: ${APPNAME} + - op: replace + path: /spec/chart/spec/sourceRef/namespace + value: ${TARGET_NS} + - op: replace + path: /spec/targetNamespace + value: ${TARGET_NS} + - target: + kind: HelmRepository + version: v2beta1 + name: bitnamicharts + namespace: jenkins + patch: |- + - op: replace + path: /metadata/namespace + value: ${TARGET_NS} diff --git a/installers/mgmt-cluster/flux/templates/sw-catalogs/apps/jenkins/templates/jenkins-ns.yaml b/installers/mgmt-cluster/flux/templates/sw-catalogs/apps/namespace/manifests/namespace.yaml similarity index 89% rename from installers/mgmt-cluster/flux/templates/sw-catalogs/apps/jenkins/templates/jenkins-ns.yaml rename to installers/mgmt-cluster/flux/templates/sw-catalogs/apps/namespace/manifests/namespace.yaml index ca2fff85..ac2c4afb 100644 --- a/installers/mgmt-cluster/flux/templates/sw-catalogs/apps/jenkins/templates/jenkins-ns.yaml +++ b/installers/mgmt-cluster/flux/templates/sw-catalogs/apps/namespace/manifests/namespace.yaml @@ -14,11 +14,10 @@ # See the License for the specific language governing permissions and # limitations under the License. ####################################################################################### - +--- apiVersion: v1 kind: Namespace metadata: - creationTimestamp: null - name: jenkins -spec: {} -status: {} + name: mynamespace + annotations: + kustomize.toolkit.fluxcd.io/ssa: "IfNotPresent" diff --git a/installers/mgmt-cluster/flux/templates/sw-catalogs/apps/namespace/templates/namespace-ks.yaml b/installers/mgmt-cluster/flux/templates/sw-catalogs/apps/namespace/templates/namespace-ks.yaml new file mode 100644 index 00000000..3e22d968 --- /dev/null +++ b/installers/mgmt-cluster/flux/templates/sw-catalogs/apps/namespace/templates/namespace-ks.yaml @@ -0,0 +1,40 @@ +####################################################################################### +# Copyright ETSI Contributors and Others. +# +# 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. +####################################################################################### +--- +apiVersion: kustomize.toolkit.fluxcd.io/v1 +kind: Kustomization +metadata: + name: ${APPNAME} + namespace: flux-system +spec: + interval: 1h0m0s + path: ./apps/namespace/manifests + prune: true + # deletionPolicy: Orphan + sourceRef: + kind: GitRepository + name: sw-catalogs + namespace: flux-system + patches: + - target: + kind: Namespace + version: v1 + name: mynamespace + patch: |- + - op: replace + path: /metadata/name + value: ${TARGET_NS} diff --git a/installers/mgmt-cluster/flux/templates/sw-catalogs/apps/testacme/manifests/testacme-deploy.yaml b/installers/mgmt-cluster/flux/templates/sw-catalogs/apps/testacme/manifests/testacme-deploy.yaml new file mode 100644 index 00000000..e467ecac --- /dev/null +++ b/installers/mgmt-cluster/flux/templates/sw-catalogs/apps/testacme/manifests/testacme-deploy.yaml @@ -0,0 +1,54 @@ +####################################################################################### +# Copyright ETSI Contributors and Others. +# +# 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. +####################################################################################### +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + creationTimestamp: null + labels: + config: ${appname} + name: ${appname}-deployment + namespace: ${target_ns} +spec: + replicas: 1 + selector: + matchLabels: + run: ${appname} + strategy: {} + template: + metadata: + creationTimestamp: null + labels: + mex-app: ${appname}-deployment + mexAppInstName: test + mexAppInstOrg: AcmeAppCo + mexDeployGen: kubernetes-basic + run: ${appname} + spec: + containers: + - image: docker.io/hashicorp/http-echo:1.0 + imagePullPolicy: Always + name: ${appname} + ports: + - containerPort: 5678 + protocol: TCP + resources: {} + args: + - "-text=\"${echo_message:=hello}\"" + imagePullSecrets: + - name: docker.io + diff --git a/installers/mgmt-cluster/flux/templates/sw-catalogs/apps/testacme/manifests/testacme-svc.yaml b/installers/mgmt-cluster/flux/templates/sw-catalogs/apps/testacme/manifests/testacme-svc.yaml new file mode 100644 index 00000000..cb9f9686 --- /dev/null +++ b/installers/mgmt-cluster/flux/templates/sw-catalogs/apps/testacme/manifests/testacme-svc.yaml @@ -0,0 +1,35 @@ +####################################################################################### +# Copyright ETSI Contributors and Others. +# +# 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. +####################################################################################### +--- +apiVersion: v1 +kind: Service +metadata: + creationTimestamp: null + labels: + config: ${appname} + run: ${appname} + name: ${appname}-http + namespace: ${target_ns} +spec: + ports: + - name: http5678tls + port: 5678 + protocol: TCP + targetPort: 5678 + selector: + run: ${appname} + type: ClusterIP diff --git a/installers/mgmt-cluster/flux/templates/sw-catalogs/apps/testacme/templates/testacme-ks.yaml b/installers/mgmt-cluster/flux/templates/sw-catalogs/apps/testacme/templates/testacme-ks.yaml new file mode 100644 index 00000000..4401d4b2 --- /dev/null +++ b/installers/mgmt-cluster/flux/templates/sw-catalogs/apps/testacme/templates/testacme-ks.yaml @@ -0,0 +1,37 @@ +####################################################################################### +# Copyright ETSI Contributors and Others. +# +# 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. +####################################################################################### +--- +apiVersion: kustomize.toolkit.fluxcd.io/v1 +kind: Kustomization +metadata: + name: ${APPNAME} + namespace: flux-system +spec: + interval: 1h0m0s + path: ./apps/testacme/manifests + prune: true + wait: true + sourceRef: + kind: GitRepository + name: sw-catalogs + namespace: flux-system + # Input parameters + postBuild: + substitute: + appname: ${APPNAME} + target_ns: ${TARGET_NS} + echo_message: ${ECHO_MESSAGE} -- 2.25.1