@@ -27,83 +27,10 @@ import (
2727type ScalityUISpec struct {
2828 // INSERT ADDITIONAL SPEC FIELDS - desired state of cluster
2929 // Important: Run "make" to regenerate code after modifying this file
30- Image string `json:"image"`
31- ProductName string `json:"productName"`
32- MountPath string `json:"mountPath,omitempty"`
33- CanChangeTheme bool `json:"canChangeTheme,omitempty"`
34- CanChangeInstanceName bool `json:"canChangeInstanceName,omitempty"`
35- CanChangeLanguage bool `json:"canChangeLanguage,omitempty"`
36- Favicon string `json:"favicon,omitempty"`
37- Logo string `json:"logo,omitempty"`
38- Themes Themes `json:"themes,omitempty"`
39- DiscoveryURL string `json:"discoveryURL,omitempty"`
40- Navbar Navbar `json:"navbar,omitempty"`
41- Networks UINetworks `json:"networks,omitempty"`
42- }
43-
44- // Themes defines the various themes supported by the UI.
45- type Themes struct {
46- // Light is the light theme configuration for the UI.
47- Light Theme `json:"light"`
48- // Dark is the dark theme configuration for the UI.
49- Dark Theme `json:"dark"`
50- }
51-
52- // Theme defines a theme supported by the UI.
53- type Theme struct {
54- // Type specifies the theme's category or system (e.g., 'core-ui').
55- Type string `json:"type"`
56- // Name is the unique identifier for the theme.
57- Name string `json:"name"`
58- // LogoPath is the path to the logo image file to use with this theme.
59- LogoPath string `json:"logoPath"`
60- }
61-
62- // Navbar configures the UI navbar.
63- type Navbar struct {
64- // Main contains configuration for the main navigation items in the navbar.
65- Main []NavbarItem `json:"main"`
66- // SubLogin contains configuration for navigation items displayed in the sub-login area.
67- SubLogin []NavbarItem `json:"subLogin"`
68- }
69-
70- // NavbarItem defines an item in the navbar.
71- type NavbarItem struct {
72- // Kind specifies the type of navbar item.
73- Kind string `json:"kind"`
74- // View identifies the associated view for this navbar item.
75- View string `json:"view"`
76- // Groups contains a list of user groups that can see this navbar item.
77- // If empty, the item is visible to all users.
78- Groups []string `json:"groups,omitempty"`
79- // Icon is the name or path of the icon to display for this navbar item.
80- Icon string `json:"icon,omitempty"`
81- // IsExternal indicates whether the item links to an external resource.
82- IsExternal bool `json:"isExternal,omitempty"`
83- // Label contains localized text for the navbar item, keyed by language code.
84- Label map [string ]string `json:"label,omitempty"`
85- // URL specifies the link destination when IsExternal is true.
86- URL string `json:"url,omitempty"`
87- }
88-
89- // UINetworks configures network parameters for the UI.
90- type UINetworks struct {
91- // IngressClassName specifies which ingress controller should implement the resource.
92- IngressClassName string `json:"ingressClassName"`
93- // Host specifies the hostname for the UI ingress.
94- Host string `json:"host"`
95- // TLS configures the TLS settings for the ingress.
96- TLS []IngressTLS `json:"tls,omitempty"`
97- // IngressAnnotations provides custom annotations for the ingress resource.
98- IngressAnnotations map [string ]string `json:"ingressAnnotations,omitempty"`
99- }
10030
101- // IngressTLS defines the TLS configuration for the ingress.
102- type IngressTLS struct {
103- // Hosts is a list of hosts included in the TLS certificate.
104- Hosts []string `json:"hosts,omitempty"`
105- // SecretName is the name of the secret used to terminate TLS traffic.
106- SecretName string `json:"secretName,omitempty"`
31+ Image string `json:"image"`
32+ ProductName string `json:"productName"`
33+ MountPath string `json:"mountPath,omitempty"`
10734}
10835
10936// ScalityUIStatus defines the observed state of ScalityUI
0 commit comments