1
+ {%- from " metalk8s/repo/macro.sls" import build_image_name with context % }
2
+
3
+ {%- set shell_ui_image = build_image_name(' shell-ui' ) % }
4
+
5
+ {%- set shell_ui_cp = salt.metalk8s_kubernetes.get_object(
6
+ kind = ' ScalityUI' ,
7
+ apiVersion = ' ui.scality.com/v1alpha1' ,
8
+ namespace = ' metalk8s-ui' ,
9
+ name = ' shell-ui-cp' ,
10
+ )
11
+ % }
12
+
13
+ {%- if shell_ui_cp is none % }
14
+
15
+ Create ScalityUI for control plane:
16
+ metalk8s_kubernetes.object_present:
17
+ - manifest:
18
+ apiVersion: ui.scality.com/ v1alpha1
19
+ kind: ScalityUI
20
+ metadata:
21
+ name: shell- ui- cp
22
+ namespace: metalk8s- ui
23
+ labels:
24
+ app.kubernetes.io/ name: shell- ui- cp
25
+ app.kubernetes.io/ managed- by: salt
26
+ app.kubernetes.io/ part- of: metalk8s
27
+ heritage: metalk8s
28
+ spec:
29
+ networks:
30
+ ingressClassName: nginx- control- plane
31
+ productName: MetalK8s
32
+ image: {{ shell_ui_image }}
33
+ auth:
34
+ clientId: control- plane- ui
35
+ kind: OIDC
36
+ providerLogout: true
37
+ providerUrl: " /oidc"
38
+ redirectUrl: " {{ salt.metalk8s_network.get_control_plane_ingress_endpoint() }} /"
39
+ responseType: code
40
+ scopes: openid email profile
41
+ navbar:
42
+ main:
43
+ - internal:
44
+ kind: metalk8s- ui
45
+ view: platform
46
+ groups: [metalk8s:admin]
47
+ - internal:
48
+ kind: metalk8s- ui
49
+ view: alerts
50
+ groups: [metalk8s:admin]
51
+ {%- else % }
52
+
53
+ Update ScalityUI for control plane:
54
+ metalk8s_kubernetes.object_updated:
55
+ - name: shell- ui- cp
56
+ - kind: ScalityUI
57
+ - apiVersion: ui.scality.com/ v1alpha1
58
+ - namespace: metalk8s- ui
59
+ - patch:
60
+ spec:
61
+ image: {{ shell_ui_image }}
62
+ auth:
63
+ redirectUrl: " {{ salt.metalk8s_network.get_control_plane_ingress_endpoint() }} /"
64
+ - content_type: application/ merge- patch+ json
65
+ {%- endif % }
66
+
67
+
68
+ {%- set shell_ui_wp = salt.metalk8s_kubernetes.get_object(
69
+ kind = ' ScalityUI' ,
70
+ apiVersion = ' ui.scality.com/v1alpha1' ,
71
+ namespace = ' metalk8s-ui' ,
72
+ name = ' shell-ui-wp' ,
73
+ )
74
+ % }
75
+
76
+ {%- if shell_ui_wp is none % }
77
+ Create ScalityUI for workload plane:
78
+ metalk8s_kubernetes.object_present:
79
+ - manifest:
80
+ apiVersion: ui.scality.com/ v1alpha1
81
+ kind: ScalityUI
82
+ metadata:
83
+ name: shell- ui- wp
84
+ namespace: metalk8s- ui
85
+ labels:
86
+ app.kubernetes.io/ name: shell- ui- wp
87
+ app.kubernetes.io/ managed- by: salt
88
+ app.kubernetes.io/ part- of: metalk8s
89
+ heritage: metalk8s
90
+ spec:
91
+ networks:
92
+ ingressClassName: nginx
93
+ productName: MetalK8s
94
+ image: {{ shell_ui_image }}
95
+ auth:
96
+ clientId: control- plane- ui
97
+ kind: OIDC
98
+ providerLogout: true
99
+ providerUrl: " /oidc"
100
+ redirectUrl: " {{ salt.metalk8s_network.get_control_plane_ingress_endpoint() }} /"
101
+ responseType: code
102
+ scopes: openid profile email groups offline_access audience:server:client_id:oidc- auth- client
103
+ navbar:
104
+ main:
105
+ - internal:
106
+ kind: metalk8s- ui
107
+ view: platform
108
+ groups: [metalk8s:admin]
109
+ - internal:
110
+ kind: metalk8s- ui
111
+ view: alerts
112
+ groups: [metalk8s:admin]
113
+ {%- else % }
114
+
115
+ Update ScalityUI for workload plane:
116
+ metalk8s_kubernetes.object_updated:
117
+ - name: shell- ui- wp
118
+ - kind: ScalityUI
119
+ - apiVersion: ui.scality.com/ v1alpha1
120
+ - namespace: metalk8s- ui
121
+ - patch:
122
+ spec:
123
+ image: {{ shell_ui_image }}
124
+ auth:
125
+ redirectUrl: " {{ salt.metalk8s_network.get_control_plane_ingress_endpoint() }} /"
126
+ - content_type: application/ merge- patch+ json
127
+ {%- endif % }
0 commit comments