1 #######################################################################################
2 # Copyright ETSI Contributors and Others.
4 # Licensed under the Apache License, Version 2.0 (the "License");
5 # you may not use this file except in compliance with the License.
6 # You may obtain a copy of the License at
8 # http://www.apache.org/licenses/LICENSE-2.0
10 # Unless required by applicable law or agreed to in writing, software
11 # distributed under the License is distributed on an "AS IS" BASIS,
12 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
14 # See the License for the specific language governing permissions and
15 # limitations under the License.
16 #######################################################################################
18 apiVersion: argoproj.io/v1alpha1
19 kind: WorkflowTemplate
21 name: full-update-ksu-generated-hr-wtf
22 namespace: osm-workflows
28 - name: fleet_destination_folder
29 - name: git_fleet_cred_secret
30 # HelmRelease generation
31 - name: helmrelease_name
36 # Repo source generation
37 - name: is_preexisting_repo
43 expression: "{{inputs.parameters.target_ns}}"
44 - name: helmrepo_secret_ref
45 # HelmRelease inline values (if any)
48 # Secret reference and generation (if required)
49 - name: is_preexisting_secret
51 - name: values_secret_name
54 - name: age_public_key
55 ################################################################
56 ## A temporary secret should exist already in the `osm-workflows`
57 ## namespace containing the desired secret key-values
58 ## in a well-known key (in the example, `creds`).
64 ## jenkinsPassword: myJ3nk1n2P2ssw0rd
66 ## Secret values will be obtained from the
67 ## secret named after the input parameter `reference_secret_for_values`,
68 ## and from the key named after the input parameter `reference_key_for_values`
69 - name: reference_secret_for_values
70 - name: reference_key_for_values
71 # ConfigMap reference and generation (if required)
72 - name: is_preexisting_cm
73 - name: values_cm_name
84 ## Root folder of the cloned Fleet repo - Do not touch
85 ### `FLEET_REPO_DIR` is the result of:
86 ### "{{inputs.parameters.fleet_mount_path}}/{{inputs.parameters.cloned_fleet_folder_name}}"
87 - name: cloned_fleet_folder_name
97 secondsAfterCompletion: 6000 # Time to live after workflow is completed, replaces ttlSecondsAfterFinished
98 secondsAfterSuccess: 6000 # Time to live after workflow is successful
99 secondsAfterFailure: 9000 # Time to live after workflow fails
101 entrypoint: update-ksu-hr
105 - name: update-ksu-hr
109 - name: git_fleet_url
110 - name: fleet_destination_folder
111 - name: git_fleet_cred_secret
112 # HelmRelease generation
113 - name: helmrelease_name
115 - name: chart_version
118 # Repo source generation
119 - name: is_preexisting_repo
120 - name: helmrepo_name
123 - name: helmrepo_secret_ref
124 # HelmRelease inline values (if any)
125 - name: inline_values
126 # Secret reference and generation (if required)
127 - name: is_preexisting_secret
128 - name: values_secret_name
130 - name: age_public_key
131 - name: reference_secret_for_values
132 - name: reference_key_for_values
133 # ConfigMap reference and generation (if required)
134 - name: is_preexisting_cm
135 - name: values_cm_name
143 - name: cloned_fleet_folder_name
151 # ------ Preparations for transaction
152 - - name: generate-fleet-volume-repo
154 name: k8s-resources-wft
155 template: generate-volume
160 - - name: clone-fleet
169 value: "{{inputs.parameters.git_fleet_url}}"
170 - name: destination_folder
171 value: "{{inputs.parameters.fleet_destination_folder}}"
172 - name: git_cred_secret
173 value: "{{inputs.parameters.git_fleet_cred_secret}}"
174 - name: git_volume_name
175 value: '{{steps.generate-fleet-volume-repo.outputs.parameters.pvc-name}}'
176 # ------ end of preparations for transaction
178 # ------ Transformations
179 - - name: update-ksu-generated-hr
181 name: ksu-management-wft
182 template: update-ksu-generated-hr
185 # References to required external resources
186 - name: fleet_volume_name
187 value: '{{steps.generate-fleet-volume-repo.outputs.parameters.pvc-name}}'
188 - name: fleet_mount_path
190 # HelmRelease generation
191 - name: helmrelease_name
192 value: "{{inputs.parameters.helmrelease_name}}"
194 value: "{{inputs.parameters.chart_name}}"
195 - name: chart_version
196 value: "{{inputs.parameters.chart_version}}"
198 value: "{{inputs.parameters.target_ns}}"
200 value: "{{inputs.parameters.create_ns}}"
201 # Repo source generation
202 - name: is_preexisting_repo
203 value: "{{inputs.parameters.is_preexisting_repo}}"
204 - name: helmrepo_name
205 value: "{{inputs.parameters.helmrepo_name}}"
207 value: "{{inputs.parameters.helmrepo_url}}"
209 value: "{{inputs.parameters.helmrepo_ns}}"
210 - name: helmrepo_secret_ref
211 value: "{{inputs.parameters.helmrepo_secret_ref}}"
212 # HelmRelease inline values (if any)
213 - name: inline_values
214 value: "{{inputs.parameters.inline_values}}"
215 # Secret reference and generation (if required)
216 - name: is_preexisting_secret
217 value: "{{inputs.parameters.is_preexisting_secret}}"
218 - name: values_secret_name
219 value: "{{inputs.parameters.values_secret_name}}"
221 value: "{{inputs.parameters.secret_key}}"
222 - name: age_public_key
223 value: "{{inputs.parameters.age_public_key}}"
224 ## Secret values will be obtained from this key in this secret
225 - name: reference_secret_for_values
226 value: "{{inputs.parameters.reference_secret_for_values}}"
227 - name: reference_key_for_values
228 value: "{{inputs.parameters.reference_key_for_values}}"
229 # ConfigMap reference and generation (if required)
230 - name: is_preexisting_cm
231 value: "{{inputs.parameters.is_preexisting_cm}}"
232 - name: values_cm_name
233 value: "{{inputs.parameters.values_cm_name}}"
235 value: "{{inputs.parameters.cm_key}}"
237 value: "{{inputs.parameters.cm_values}}"
240 value: "{{inputs.parameters.ksu_name}}"
242 value: "{{inputs.parameters.profile_name}}"
244 value: "{{inputs.parameters.profile_type}}"
246 value: "{{inputs.parameters.project_name}}"
247 ## Root folder of the cloned Fleet repo - Do not touch
248 - name: cloned_fleet_folder_name
249 value: "{{inputs.parameters.cloned_fleet_folder_name}}"
252 value: "{{inputs.parameters.debug}}"
253 # ------ end of transformations
255 # ------ Commit transaction
256 - - name: push-to-fleet
259 template: git-commit-merge-push
265 value: "{{inputs.parameters.fleet_destination_folder}}"
266 - name: git_cred_secret
267 value: "{{inputs.parameters.git_fleet_cred_secret}}"
268 - name: git_volume_name
269 value: '{{steps.generate-fleet-volume-repo.outputs.parameters.pvc-name}}'
270 - name: commit_message
271 value: "Update KSU {{inputs.parameters.ksu_name}} of {{inputs.parameters.profile_name}} profile of {{inputs.parameters.profile_type}} type @ {{inputs.parameters.project_name}} project"
274 - name: contrib_branch
277 value: "{{inputs.parameters.dry_run}}"
278 # ------ end of commit transaction