@@ -17,15 +17,82 @@ topology_template:
1717 node_templates :
1818
1919 argo :
20- type : tosca.nodes.ec3.Application
20+ type : tosca.nodes.indigo.Helm.Chart
21+ properties :
22+ namespace : argo
23+ repository_name : argo
24+ repository_url : " https://argoproj.github.io/argo-helm"
25+ name : argo-workflows
26+ values_file : |
27+ controller:
28+ workflowNamespaces: [default, argo]
29+ values :
30+ server.ingress.enabled : " true"
31+ server.ingress.ingressClassName : " nginx"
32+ workflow.serviceAccount.create : " true"
33+ requirements :
34+ - host : front
35+ - dependency : lrms_front_end
36+
37+ argo_rbac :
38+ type : tosca.nodes.indigo.KubernetesObject
39+ properties :
40+ spec : |
41+ ---
42+ apiVersion: rbac.authorization.k8s.io/v1
43+ kind: ClusterRole
44+ metadata:
45+ namespace: argo
46+ name: argo-user-cluster-role
47+ rules:
48+ - apiGroups: ['argoproj.io']
49+ resources: ['workflows', 'eventsources', 'sensors', 'clusterworkflowtemplates', 'cronworkflows', 'cronworkflows/finalizers', 'workflowtemplates', 'workfloweventbindings']
50+ verbs: ['create', 'delete', 'list', 'update', 'get', 'patch', 'watch']
51+ - apiGroups: ['']
52+ resources: ['configmaps']
53+ verbs: ['get', 'watch', 'list']
54+ - apiGroups: ['']
55+ resources: ['secrets']
56+ verbs: ['get', 'create']
57+ - apiGroups: ['']
58+ resources: ['pods', 'pods/exec', 'pods/log']
59+ verbs: ['get', 'watch', 'list', 'delete']
60+ - apiGroups: ['']
61+ resources: ['events']
62+ verbs: ['create', 'watch', 'patch']
63+ - apiGroups: ['']
64+ resources: ['serviceaccounts']
65+ verbs: ['get', 'watch', 'list']
66+ ---
67+ apiVersion: rbac.authorization.k8s.io/v1
68+ kind: ClusterRoleBinding
69+ metadata:
70+ namespace: argo
71+ name: argo-user-cluster-binding
72+ roleRef:
73+ apiGroup: rbac.authorization.k8s.io
74+ kind: ClusterRole
75+ name: argo-user-cluster-role
76+ subjects:
77+ - kind: ServiceAccount
78+ name: argo-workflow
79+ namespace: argo
80+ requirements :
81+ - host : lrms_front_end
82+ - dependency : argo
83+
84+ argo_client :
85+ type : tosca.nodes.SoftwareComponent
2186 interfaces :
2287 Standard :
2388 configure :
24- implementation : https://raw.githubusercontent.com/grycap/ec3/tosca/tosca/artifacts/argo.yml
89+ implementation : https://raw.githubusercontent.com/grycap/ec3/tosca/tosca/artifacts/argo-client .yml
2590 requirements :
2691 - host : front
27- - dependency : lrms_front_end
92+ - dependency : argo
2893
2994 outputs :
3095 argo_dashboard :
31- value : { concat: [ 'https://', get_attribute: [ front, public_address, 0 ], '/' ] }
96+ value : { concat: [ 'https://', get_attribute: [ front, public_address, 0 ], '/' ] }
97+ argo_token :
98+ value : { get_attribute: [ front, ansible_output, argo_client_front_conf_front, tasks, argo_token, output ] }
0 commit comments