aboutsummaryrefslogtreecommitdiffstats
path: root/kud/deployment_infra/emco/composite-app.yaml
blob: 869447adaf1e1c5040efacefae96bb4902b8f7aa (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
# SPDX-License-Identifier: Apache-2.0
# Copyright (c) 2020 Intel Corporation

---
#creating composite app entry
version: emco/v2
resourceContext:
  anchor: projects/{{ .ProjectName }}/composite-apps
metadata :
  name: {{ .CompositeApp }}
  description: "KUD addons"
spec:
  version: v1

{{- range $index, $addon := .Apps }}
---
#adding app to the composite app
version: emco/v2
resourceContext:
  anchor: projects/{{ $.ProjectName }}/composite-apps/{{ $.CompositeApp }}/v1/apps
metadata :
  name: {{ $addon }}
file:
  {{ $.PackagesPath }}/{{ $addon }}.tar.gz
{{- end }}

---
#creating composite profile entry
version: emco/v2
resourceContext:
  anchor: projects/{{ .ProjectName }}/composite-apps/{{ .CompositeApp }}/v1/composite-profiles
metadata :
  name: {{ .CompositeProfile }}

{{- range $index, $addon := .Apps }}
---
#adding app profiles to the composite profile
version: emco/v2
resourceContext:
  anchor: projects/{{ $.ProjectName }}/composite-apps/{{ $.CompositeApp }}/v1/composite-profiles/{{ $.CompositeProfile }}/profiles
metadata :
  name: {{ $addon }}-profile
spec:
  app-name: {{ $addon }}
file:
  {{ $.PackagesPath }}/{{ $addon }}_profile.tar.gz
{{- end }}

---
#create deployment intent group
version: emco/v2
resourceContext:
  anchor: projects/{{ .ProjectName }}/composite-apps/{{ .CompositeApp }}/v1/deployment-intent-groups
metadata :
  name: {{ .DeploymentIntentGroup }}
  description: "description"
spec:
  profile: {{ .CompositeProfile }}
  version: r1
  logical-cloud: {{ .LogicalCloud }}
  override-values: []

---
#create intent in deployment intent group
version: emco/v2
resourceContext:
  anchor: projects/{{ .ProjectName }}/composite-apps/{{ .CompositeApp }}/v1/deployment-intent-groups/{{ .DeploymentIntentGroup }}/intents
metadata :
  name: {{ .DeploymentIntent }}
spec:
  intent:
    genericPlacementIntent: {{ .GenericPlacementIntent }}

---
#create the generic placement intent
version: emco/v2
resourceContext:
  anchor: projects/{{ .ProjectName }}/composite-apps/{{ .CompositeApp }}/v1/deployment-intent-groups/{{ .DeploymentIntentGroup }}/generic-placement-intents
metadata :
  name: {{ .GenericPlacementIntent }}
spec:
  logical-cloud: {{ .LogicalCloud }}

{{- range $index, $addon := .Apps }}
---
#add the app placement intent to the generic placement intent
version: emco/v2
resourceContext:
  anchor: projects/{{ $.ProjectName }}/composite-apps/{{ $.CompositeApp }}/v1/deployment-intent-groups/{{ $.DeploymentIntentGroup }}/generic-placement-intents/{{ $.GenericPlacementIntent }}/app-intents
metadata:
  name: {{ $addon }}-placement-intent
spec:
  app-name: {{ $addon }}
  intent:
    allOf:
    - provider-name: {{ $.ClusterProvider }}
      cluster-label-name: {{ $.ClusterLabel }}
{{- end }}

---
#Approve
version: emco/v2
resourceContext:
  anchor: projects/{{ .ProjectName }}/composite-apps/{{ .CompositeApp }}/v1/deployment-intent-groups/{{ .DeploymentIntentGroup }}/approve

---
#Instantiate
version: emco/v2
resourceContext:
  anchor: projects/{{ .ProjectName }}/composite-apps/{{ .CompositeApp }}/v1/deployment-intent-groups/{{ .DeploymentIntentGroup }}/instantiate