| ####################################################################################### |
| # Copyright ETSI Contributors and Others. |
| # |
| # Licensed under the Apache License, Version 2.0 (the "License"); |
| # you may not use this file except in compliance with the License. |
| # You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, software |
| # distributed under the License is distributed on an "AS IS" BASIS, |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or |
| # implied. |
| # See the License for the specific language governing permissions and |
| # limitations under the License. |
| ####################################################################################### |
| |
| apiVersion: argoproj.io/v1alpha1 |
| kind: Workflow |
| metadata: |
| name: {{ workflow_name }} |
| spec: |
| arguments: |
| parameters: |
| # Full OSM SDK command to execute |
| - name: command |
| description: | |
| Full command string to execute with the OSM SDK. |
| Examples: |
| - "app create $environment": Deploy new application instance |
| - "app update $environment": Update existing application instance |
| - "app delete $environment": Remove application instance |
| This parameter accepts any valid OSM SDK command for maximum flexibility. |
| value: {{ app_command }} |
| # Volume reference for application models and parameters |
| # NOTE: The PVC must be created and populated with the following structure: |
| # /model/app_instance_model.yaml |
| # /model/parameters/clear/environment.yaml |
| - name: model_volume_name |
| value: "{{ app_model_pvc }}" |
| # Secret reference for mounting sensitive parameters |
| # This secret will be mounted as a file at: |
| # /model/parameters/secret/environment.yaml |
| - name: secret_name |
| value: "{{ app_secret_name }}" |
| # Fleet repo configuration |
| - name: git_fleet_url |
| value: "{{ git_fleet_url }}" |
| - name: fleet_destination_folder |
| value: "/fleet/fleet-osm" |
| - name: git_fleet_cred_secret |
| value: fleet-repo |
| # SW-Catalogs repo configuration |
| - name: git_sw_catalogs_url |
| value: "{{ git_sw_catalogs_url }}" |
| - name: sw_catalogs_destination_folder |
| value: "/sw-catalogs/sw-catalogs-osm" |
| - name: git_sw_catalogs_cred_secret |
| value: sw-catalogs |
| # Target deployment information |
| - name: app_name |
| value: "{{ app_name }}" |
| - name: profile_name |
| value: "{{ profile_name }}" |
| - name: profile_type |
| value: "{{ profile_type }}" |
| - name: project_name |
| value: "{{ osm_project_name }}" |
| # OSM SDK container configuration |
| - name: osm_sdk_image_repository |
| value: "opensourcemano/osm-nushell-krm-functions" |
| - name: osm_sdk_image_tag |
| value: "testing-daily" |
| # Debug and dry-run flags |
| - name: debug |
| value: "{{ workflow_debug }}" |
| - name: dry_run |
| value: "{{ workflow_dry_run }}" |
| |
| # Cleanup policy |
| ttlStrategy: |
| secondsAfterSuccess: 1800 # Time to live after workflow is successful |
| secondsAfterFailure: 7200 # Time to live after workflow fails |
| |
| workflowTemplateRef: |
| name: full-app-management-wft |