| garciadeblas | 61a4c69 | 2025-07-17 13:04:13 +0200 | [diff] [blame^] | 1 | ####################################################################################### |
| 2 | # Copyright ETSI Contributors and Others. |
| 3 | # |
| 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 |
| 7 | # |
| 8 | # http://www.apache.org/licenses/LICENSE-2.0 |
| 9 | # |
| 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 |
| 13 | # implied. |
| 14 | # See the License for the specific language governing permissions and |
| 15 | # limitations under the License. |
| 16 | ####################################################################################### |
| 17 | |
| 18 | apiVersion: argoproj.io/v1alpha1 |
| 19 | kind: Workflow |
| 20 | metadata: |
| 21 | name: {{ workflow_name }} |
| 22 | spec: |
| 23 | arguments: |
| 24 | parameters: |
| 25 | # Full OSM SDK command to execute |
| 26 | - name: command |
| 27 | description: | |
| 28 | Full command string to execute with the OSM SDK. |
| 29 | Examples: |
| 30 | - "app create $environment": Deploy new application instance |
| 31 | - "app update $environment": Update existing application instance |
| 32 | - "app delete $environment": Remove application instance |
| 33 | This parameter accepts any valid OSM SDK command for maximum flexibility. |
| 34 | value: {{ app_command }} |
| 35 | # Volume reference for application models and parameters |
| 36 | # NOTE: The PVC must be created and populated with the following structure: |
| 37 | # /model/app_instance_model.yaml |
| 38 | # /model/parameters/clear/environment.yaml |
| 39 | - name: model_volume_name |
| 40 | value: "{{ app_model_pvc }}" |
| 41 | # Secret reference for mounting sensitive parameters |
| 42 | # This secret will be mounted as a file at: |
| 43 | # /model/parameters/secret/environment.yaml |
| 44 | - name: secret_name |
| 45 | value: "{{ app_secret_name }}" |
| 46 | # Fleet repo configuration |
| 47 | - name: git_fleet_url |
| 48 | value: "{{ git_fleet_url }}" |
| 49 | - name: fleet_destination_folder |
| 50 | value: "/fleet/fleet-osm" |
| 51 | - name: git_fleet_cred_secret |
| 52 | value: fleet-repo |
| 53 | # SW-Catalogs repo configuration |
| 54 | - name: git_sw_catalogs_url |
| 55 | value: "{{ git_sw_catalogs_url }}" |
| 56 | - name: sw_catalogs_destination_folder |
| 57 | value: "/sw-catalogs/sw-catalogs-osm" |
| 58 | - name: git_sw_catalogs_cred_secret |
| 59 | value: sw-catalogs |
| 60 | # Target deployment information |
| 61 | - name: app_name |
| 62 | value: "{{ app_name }}" |
| 63 | - name: profile_name |
| 64 | value: "{{ profile_name }}" |
| 65 | - name: profile_type |
| 66 | value: "{{ profile_type }}" |
| 67 | - name: project_name |
| 68 | value: "{{ osm_project_name }}" |
| 69 | # OSM SDK container configuration |
| 70 | - name: osm_sdk_image_repository |
| 71 | value: "opensourcemano/osm-nushell-krm-functions" |
| 72 | - name: osm_sdk_image_tag |
| 73 | value: "testing-daily" |
| 74 | # Debug and dry-run flags |
| 75 | - name: debug |
| 76 | value: "{{ workflow_debug }}" |
| 77 | - name: dry_run |
| 78 | value: "{{ workflow_dry_run }}" |
| 79 | |
| 80 | # Cleanup policy |
| 81 | ttlStrategy: |
| 82 | secondsAfterCompletion: 1800 # Time to live after workflow is completed |
| 83 | secondsAfterSuccess: 1800 # Time to live after workflow is successful |
| 84 | secondsAfterFailure: 1800 # Time to live after workflow fails |
| 85 | |
| 86 | workflowTemplateRef: |
| 87 | name: full-app-management-wft |