# See the License for the specific language governing permissions and
# limitations under the License.
#######################################################################################
-
---
apiVersion: source.toolkit.fluxcd.io/v1beta2
kind: HelmRepository
# See the License for the specific language governing permissions and
# limitations under the License.
#######################################################################################
-
---
apiVersion: helm.toolkit.fluxcd.io/v2beta1
kind: HelmRelease
kind: HelmRepository
name: bitnamicharts
namespace: jenkins
- install:
- createNamespace: true
interval: 3m0s
targetNamespace: jenkins
values: {}
# 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}
+++ /dev/null
-#######################################################################################
-# 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: Namespace
-metadata:
- creationTimestamp: null
- name: jenkins
-spec: {}
-status: {}
--- /dev/null
+#######################################################################################
+# 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: Namespace
+metadata:
+ name: mynamespace
+ annotations:
+ kustomize.toolkit.fluxcd.io/ssa: "IfNotPresent"
--- /dev/null
+#######################################################################################
+# 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}
--- /dev/null
+#######################################################################################
+# 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
+
--- /dev/null
+#######################################################################################
+# 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
--- /dev/null
+#######################################################################################
+# 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}