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: capi-cloud-configs-wft
22 namespace: osm-workflows
26 # Create a CloudConfig for CAPI OpenStack provider
27 - name: create-capi-openstack-cloudconfig
30 # Volumes with cloned repos
31 - name: fleet_volume_name
32 - name: fleet_mount_path
34 - name: sw_catalogs_volume_name
35 - name: sw_catalogs_mount_path
39 - name: openstack_clouds_yaml_secret_name
40 - name: openstack_clouds_yaml_secret_key
41 - name: openstack_cacert_secret_name
42 - name: openstack_cacert_secret_key
44 - name: os_region_name
46 - name: openstack_credentials_secret_name
47 - name: openstack_credentials_secret_key
49 - name: os_project_domain_id
50 - name: openstack_cloud_name
51 - name: age_public_key_mgmt
52 - name: mgmt_project_name
57 # Other parameters - Do not touch
58 - name: mgmt_cluster_name
60 - name: base_templates_path
61 value: "cloud-resources"
62 - name: cloned_fleet_folder_name
64 - name: cloned_sw_catalogs_folder_name
65 value: "sw-catalogs-osm"
68 image: opensourcemano/osm-krm-functions:testing-daily
69 # imagePullPolicy: Always
71 - name: OPENSTACK_CLOUDS_YAML
74 name: "{{inputs.parameters.openstack_clouds_yaml_secret_name}}"
75 key: "{{inputs.parameters.openstack_clouds_yaml_secret_key}}"
77 - name: OPENSTACK_CACERT
80 name: "{{inputs.parameters.openstack_cacert_secret_name}}"
81 key: "{{inputs.parameters.openstack_cacert_secret_key}}"
84 value: "{{inputs.parameters.os_auth_url}}"
85 - name: OS_REGION_NAME
86 value: "{{inputs.parameters.os_region_name}}"
88 value: "{{inputs.parameters.os_username}}"
92 name: "{{inputs.parameters.openstack_credentials_secret_name}}"
93 key: "{{inputs.parameters.openstack_credentials_secret_key}}"
96 value: "{{inputs.parameters.os_project_id}}"
97 - name: OS_PROJECT_DOMAIN_ID
98 value: "{{inputs.parameters.os_project_domain_id}}"
100 value: "{{inputs.parameters.debug}}"
101 command: ["/app/scripts/entrypoint.sh"]
103 - create_capi_openstack_cloudconf
104 - "{{inputs.parameters.openstack_cloud_name}}"
105 - "{{inputs.parameters.age_public_key_mgmt}}"
106 - "{{inputs.parameters.fleet_mount_path}}/{{inputs.parameters.cloned_fleet_folder_name}}/{{inputs.parameters.mgmt_project_name}}/infra-config-profiles/{{inputs.parameters.mgmt_cluster_name}}"
108 - name: fleet-repo-volume
109 mountPath: '{{inputs.parameters.fleet_mount_path}}'
110 - name: sw-catalogs-repo-volume
111 mountPath: '{{inputs.parameters.sw_catalogs_mount_path}}'
113 - name: fleet-repo-volume
114 persistentVolumeClaim:
115 claimName: '{{inputs.parameters.fleet_volume_name}}'
116 - name: sw-catalogs-repo-volume
117 persistentVolumeClaim:
118 claimName: '{{inputs.parameters.sw_catalogs_volume_name}}'
123 # Update a CloudConfig for CAPI OpenStack provider
124 - name: update-capi-openstack-cloudconfig
127 # Volumes with cloned repos
128 - name: fleet_volume_name
129 - name: fleet_mount_path
131 - name: sw_catalogs_volume_name
132 - name: sw_catalogs_mount_path
133 value: "/sw-catalogs"
135 # Specific parameters
136 - name: openstack_clouds_yaml_secret_name
137 - name: openstack_clouds_yaml_secret_key
138 - name: openstack_cacert_secret_name
139 - name: openstack_cacert_secret_key
141 - name: os_region_name
143 - name: openstack_credentials_secret_name
144 - name: openstack_credentials_secret_key
145 - name: os_project_id
146 - name: os_project_domain_id
147 - name: openstack_cloud_name
148 - name: age_public_key_mgmt
149 - name: mgmt_project_name
154 # Other parameters - Do not touch
155 - name: mgmt_cluster_name
157 - name: base_templates_path
158 value: "cloud-resources"
159 - name: cloned_fleet_folder_name
161 - name: cloned_sw_catalogs_folder_name
162 value: "sw-catalogs-osm"
165 image: opensourcemano/osm-krm-functions:testing-daily
166 # imagePullPolicy: Always
168 - name: OPENSTACK_CLOUDS_YAML
171 name: "{{inputs.parameters.openstack_clouds_yaml_secret_name}}"
172 key: "{{inputs.parameters.openstack_clouds_yaml_secret_key}}"
174 - name: OPENSTACK_CACERT
177 name: "{{inputs.parameters.openstack_cacert_secret_name}}"
178 key: "{{inputs.parameters.openstack_cacert_secret_key}}"
181 value: "{{inputs.parameters.os_auth_url}}"
182 - name: OS_REGION_NAME
183 value: "{{inputs.parameters.os_region_name}}"
185 value: "{{inputs.parameters.os_username}}"
189 name: "{{inputs.parameters.openstack_credentials_secret_name}}"
190 key: "{{inputs.parameters.openstack_credentials_secret_key}}"
192 - name: OS_PROJECT_ID
193 value: "{{inputs.parameters.os_project_id}}"
194 - name: OS_PROJECT_DOMAIN_ID
195 value: "{{inputs.parameters.os_project_domain_id}}"
197 value: "{{inputs.parameters.debug}}"
198 command: ["/app/scripts/entrypoint.sh"]
200 - update_capi_openstack_cloudconf
201 - "{{inputs.parameters.openstack_cloud_name}}"
202 - "{{inputs.parameters.age_public_key_mgmt}}"
203 - "{{inputs.parameters.fleet_mount_path}}/{{inputs.parameters.cloned_fleet_folder_name}}/{{inputs.parameters.mgmt_project_name}}/infra-config-profiles/{{inputs.parameters.mgmt_cluster_name}}"
205 - name: fleet-repo-volume
206 mountPath: '{{inputs.parameters.fleet_mount_path}}'
207 - name: sw-catalogs-repo-volume
208 mountPath: '{{inputs.parameters.sw_catalogs_mount_path}}'
210 - name: fleet-repo-volume
211 persistentVolumeClaim:
212 claimName: '{{inputs.parameters.fleet_volume_name}}'
213 - name: sw-catalogs-repo-volume
214 persistentVolumeClaim:
215 claimName: '{{inputs.parameters.sw_catalogs_volume_name}}'
220 # Delete a CloudConfig for CAPI OpenStack provider
221 - name: delete-capi-openstack-cloudconfig
224 # Volumes with cloned repos
225 - name: fleet_volume_name
226 - name: fleet_mount_path
228 - name: sw_catalogs_volume_name
229 - name: sw_catalogs_mount_path
230 value: "/sw-catalogs"
232 # Specific parameters
233 - name: openstack_cloud_name
234 - name: mgmt_project_name
239 # Other parameters - Do not touch
240 - name: mgmt_cluster_name
242 - name: base_templates_path
243 value: "cloud-resources"
244 - name: cloned_fleet_folder_name
248 image: opensourcemano/osm-krm-functions:testing-daily
249 # imagePullPolicy: Always
252 value: "{{inputs.parameters.debug}}"
253 command: ["/app/scripts/entrypoint.sh"]
255 - delete_capi_openstack_cloudconf
256 - "{{inputs.parameters.openstack_cloud_name}}"
257 - "{{inputs.parameters.fleet_mount_path}}/{{inputs.parameters.cloned_fleet_folder_name}}/{{inputs.parameters.mgmt_project_name}}/infra-config-profiles/{{inputs.parameters.mgmt_cluster_name}}"
259 - name: fleet-repo-volume
260 mountPath: '{{inputs.parameters.fleet_mount_path}}'
262 - name: fleet-repo-volume
263 persistentVolumeClaim:
264 claimName: '{{inputs.parameters.fleet_volume_name}}'