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-aks-cluster-wft
22 namespace: osm-workflows
30 - name: fleet_destination_folder
31 - name: git_fleet_cred_secret
34 - name: git_sw_catalogs_url
35 - name: sw_catalogs_destination_folder
36 - name: git_sw_catalogs_cred_secret
38 # Specific parameters - AKS cluster
42 - name: cluster_location
45 - name: providerconfig_name
46 - name: cluster_kustomization_name
55 # secondsAfterCompletion: 100 # Time to live after workflow is completed, replaces ttlSecondsAfterFinished
56 # secondsAfterSuccess: 50 # Time to live after workflow is successful
57 # secondsAfterFailure: 50 # Time to live after workflow fails
59 entrypoint: update-aks-cluster
64 - name: update-aks-cluster
69 - name: fleet_destination_folder
70 - name: git_fleet_cred_secret
71 - name: git_sw_catalogs_url
72 - name: sw_catalogs_destination_folder
73 - name: git_sw_catalogs_cred_secret
75 # Specific parameters - AKS cluster
79 - name: cluster_location
82 - name: providerconfig_name
83 - name: cluster_kustomization_name
89 # ------ Preparations for transaction
90 - - name: generate-fleet-volume-repo
92 name: k8s-resources-wft
93 template: generate-volume
98 - name: generate-sw-catalogs-volume-repo
100 name: k8s-resources-wft
101 template: generate-volume
106 - - name: clone-fleet
115 value: "{{inputs.parameters.git_fleet_url}}"
116 - name: destination_folder
117 value: "{{inputs.parameters.fleet_destination_folder}}"
118 - name: git_cred_secret
119 value: "{{inputs.parameters.git_fleet_cred_secret}}"
120 - name: git_volume_name
121 value: '{{steps.generate-fleet-volume-repo.outputs.parameters.pvc-name}}'
122 - name: clone-sw-catalogs
129 value: "/sw-catalogs"
131 value: "{{inputs.parameters.git_sw_catalogs_url}}"
132 - name: destination_folder
133 value: "{{inputs.parameters.sw_catalogs_destination_folder}}"
134 - name: git_cred_secret
135 value: "{{inputs.parameters.git_sw_catalogs_cred_secret}}"
136 - name: git_volume_name
137 value: '{{steps.generate-sw-catalogs-volume-repo.outputs.parameters.pvc-name}}'
138 # ------ end of preparations for transaction
140 # ------ Transformations
141 # Update cluster definition
142 - - name: update-cluster-aks
144 name: cluster-management-wft
145 template: create-cluster-aks
148 # Volumes with cloned repos
149 - name: fleet_volume_name
150 value: '{{steps.generate-fleet-volume-repo.outputs.parameters.pvc-name}}'
151 - name: fleet_mount_path
153 - name: sw_catalogs_volume_name
154 value: '{{steps.generate-sw-catalogs-volume-repo.outputs.parameters.pvc-name}}'
155 - name: sw_catalogs_mount_path
156 value: "/sw-catalogs"
157 # Specific parameters
159 value: "{{inputs.parameters.cluster_name}}"
161 value: "{{inputs.parameters.vm_size}}"
163 value: "{{inputs.parameters.node_count}}"
164 - name: cluster_location
165 value: "{{inputs.parameters.cluster_location}}"
167 value: "{{inputs.parameters.rg_name}}"
169 value: "{{inputs.parameters.k8s_version}}"
170 - name: providerconfig_name
171 value: "{{inputs.parameters.providerconfig_name}}"
172 - name: cluster_kustomization_name
173 value: "{{inputs.parameters.cluster_kustomization_name}}"
174 # ------ end of transformations
176 # ------ Commit transaction
177 - - name: push-to-fleet
180 template: git-commit-merge-push
186 value: "{{inputs.parameters.fleet_destination_folder}}"
187 - name: git_cred_secret
188 value: "{{inputs.parameters.git_fleet_cred_secret}}"
189 - name: git_volume_name
190 value: '{{steps.generate-fleet-volume-repo.outputs.parameters.pvc-name}}'
191 - name: commit_message
192 value: "Update AKS cluster {{inputs.parameters.cluster_kustomization_name}}"
195 - name: contrib_branch
198 value: "{{inputs.parameters.dry_run}}"
199 # ------ end of commit transaction