blob: 87b52d75aa8efec2d543ea2c209fb5f61cafd5e2 [file] [log] [blame]
garciadeblas61a4c692025-07-17 13:04:13 +02001#######################################################################################
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
18apiVersion: argoproj.io/v1alpha1
19kind: Workflow
20metadata:
21 name: {{ workflow_name }}
22spec:
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