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-disconnect-flux-remote-cluster-wft
22 namespace: osm-workflows
30 - name: fleet_destination_folder
31 - name: git_fleet_cred_secret
34 - name: cluster_kustomization_name
35 - name: mgmt_project_name
47 # secondsAfterCompletion: 100 # Time to live after workflow is completed, replaces ttlSecondsAfterFinished
48 # secondsAfterSuccess: 50 # Time to live after workflow is successful
49 # secondsAfterFailure: 50 # Time to live after workflow fails
51 entrypoint: disconnect-remote-cluster
56 - name: disconnect-remote-cluster
61 - name: fleet_destination_folder
62 - name: git_fleet_cred_secret
65 - name: cluster_kustomization_name
66 - name: mgmt_project_name
73 # ------ Preparations for transaction
74 - - name: generate-fleet-volume-repo
76 name: k8s-resources-wft
77 template: generate-volume
91 value: "{{inputs.parameters.git_fleet_url}}"
92 - name: destination_folder
93 value: "{{inputs.parameters.fleet_destination_folder}}"
94 - name: git_cred_secret
95 value: "{{inputs.parameters.git_fleet_cred_secret}}"
96 - name: git_volume_name
97 value: '{{steps.generate-fleet-volume-repo.outputs.parameters.pvc-name}}'
98 # ------ end of preparations for transaction
100 # ------ Transformations
101 # Disconnect the remote cluster
102 - - name: disconnect-flux-remote-cluster
104 name: cluster-management-wft
105 template: disconnect-flux-remote-cluster
108 # Volumes with cloned repos
109 - name: fleet_volume_name
110 value: '{{steps.generate-fleet-volume-repo.outputs.parameters.pvc-name}}'
112 # Specific parameters
113 - name: cluster_kustomization_name
114 value: "{{inputs.parameters.cluster_kustomization_name}}"
115 - name: mgmt_project_name
116 value: "{{inputs.parameters.mgmt_project_name}}"
117 # ------ end of transformations
119 # ------ Commit transaction
120 - - name: push-to-fleet
123 template: git-commit-merge-push
129 value: "{{inputs.parameters.fleet_destination_folder}}"
130 - name: git_cred_secret
131 value: "{{inputs.parameters.git_fleet_cred_secret}}"
132 - name: git_volume_name
133 value: '{{steps.generate-fleet-volume-repo.outputs.parameters.pvc-name}}'
134 - name: commit_message
135 value: "Disconnect imported cluster {{inputs.parameters.cluster_kustomization_name}}"
138 - name: contrib_branch
141 value: "{{inputs.parameters.dry_run}}"
142 # ------ end of commit transaction