diff --git a/go.mod b/go.mod
index 3b7679f483..bdbe7d2abb 100644
--- a/go.mod
+++ b/go.mod
@@ -49,8 +49,8 @@ require (
github.com/phayes/freeport v0.0.0-20220201140144-74d24b5ae9f5
github.com/pkg/errors v0.9.1
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2
- github.com/replicatedhq/embedded-cluster/kinds v1.15.1-0.20250408014646-d1737c81cb6e
- github.com/replicatedhq/kotskinds v0.0.0-20250410171328-3fc5effbf386
+ github.com/replicatedhq/embedded-cluster/kinds v1.15.1-0.20250411154749-d20d2f980f0c
+ github.com/replicatedhq/kotskinds v0.0.0-20250411153224-089dbeb7ba2a
github.com/replicatedhq/kurlkinds v1.5.0
github.com/replicatedhq/troubleshoot v0.117.0
github.com/replicatedhq/yaml/v3 v3.0.0-beta5-replicatedhq
diff --git a/go.sum b/go.sum
index 2f3102a1c7..2c8e0fcb4b 100644
--- a/go.sum
+++ b/go.sum
@@ -1861,10 +1861,10 @@ github.com/redis/go-redis/v9 v9.7.3 h1:YpPyAayJV+XErNsatSElgRZZVCwXX9QzkKYNvO7x0
github.com/redis/go-redis/v9 v9.7.3/go.mod h1:bGUrSggJ9X9GUmZpZNEOQKaANxSGgOEBRltRTZHSvrA=
github.com/remyoudompheng/bigfft v0.0.0-20170806203942-52369c62f446/go.mod h1:uYEyJGbgTkfkS4+E/PavXkNJcbFIpEtjt2B0KDQ5+9M=
github.com/remyoudompheng/bigfft v0.0.0-20200410134404-eec4a21b6bb0/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo=
-github.com/replicatedhq/embedded-cluster/kinds v1.15.1-0.20250408014646-d1737c81cb6e h1:3TO1DCXi2aGH6HPA4pDQ4qfe/fw10b626CJEAAYdI8c=
-github.com/replicatedhq/embedded-cluster/kinds v1.15.1-0.20250408014646-d1737c81cb6e/go.mod h1:DZVH5BSrkKaZPYO6psQYRZgzPdwaxrh8CpJYW95D76E=
-github.com/replicatedhq/kotskinds v0.0.0-20250410171328-3fc5effbf386 h1:pLDNazFkB1bB2eS9w9iebQHSTcz6F3QCYYWhHltLOjU=
-github.com/replicatedhq/kotskinds v0.0.0-20250410171328-3fc5effbf386/go.mod h1:QjhIUu3+OmHZ09u09j3FCoTt8F3BYtQglS+OLmftu9I=
+github.com/replicatedhq/embedded-cluster/kinds v1.15.1-0.20250411154749-d20d2f980f0c h1:QoAn+gFKypZPuybDUIzYQt/hzSLOMwTab/csazCAZQ8=
+github.com/replicatedhq/embedded-cluster/kinds v1.15.1-0.20250411154749-d20d2f980f0c/go.mod h1:DZVH5BSrkKaZPYO6psQYRZgzPdwaxrh8CpJYW95D76E=
+github.com/replicatedhq/kotskinds v0.0.0-20250411153224-089dbeb7ba2a h1:aNZ7qcuEmPGIUIIfxF7c0sdKR2+zL2vc5r2V8j8a49I=
+github.com/replicatedhq/kotskinds v0.0.0-20250411153224-089dbeb7ba2a/go.mod h1:QjhIUu3+OmHZ09u09j3FCoTt8F3BYtQglS+OLmftu9I=
github.com/replicatedhq/kurlkinds v1.5.0 h1:zZ0PKNeh4kXvSzVGkn62DKTo314GxhXg1TSB3azURMc=
github.com/replicatedhq/kurlkinds v1.5.0/go.mod h1:rUpBMdC81IhmJNCWMU/uRsMETv9P0xFoMvdSP/TAr5A=
github.com/replicatedhq/termui/v3 v3.1.1-0.20200811145416-f40076d26851 h1:eRlNDHxGfVkPCRXbA4BfQJvt5DHjFiTtWy3R/t4djyY=
diff --git a/kurl_proxy/assets/tls-warning.html b/kurl_proxy/assets/tls-warning.html
index ae4568a77b..60e2a0baa8 100644
--- a/kurl_proxy/assets/tls-warning.html
+++ b/kurl_proxy/assets/tls-warning.html
@@ -100,7 +100,7 @@
Secure the Admin Console
- {{if .IsMultinodeEnabled }}
+ {{if .IsMultiNodeEnabled }}
diff --git a/kurl_proxy/assets/tls.html b/kurl_proxy/assets/tls.html
index 55a6001c9a..c505d95727 100644
--- a/kurl_proxy/assets/tls.html
+++ b/kurl_proxy/assets/tls.html
@@ -48,7 +48,7 @@
/>
Secure the Admin Console
- {{if .IsMultinodeEnabled }}
+ {{if .IsMultiNodeEnabled }}
diff --git a/kurl_proxy/assets/welcome.html b/kurl_proxy/assets/welcome.html
index e83670d5fe..500331cac6 100644
--- a/kurl_proxy/assets/welcome.html
+++ b/kurl_proxy/assets/welcome.html
@@ -60,7 +60,7 @@
Secure the Admin Console
- {{if .IsMultinodeEnabled }}
+ {{if .IsMultiNodeEnabled }}
diff --git a/kurl_proxy/cmd/main.go b/kurl_proxy/cmd/main.go
index a4a3f83d62..9f6f5450a6 100644
--- a/kurl_proxy/cmd/main.go
+++ b/kurl_proxy/cmd/main.go
@@ -280,7 +280,7 @@ func getHttpServer(fingerprint string, acceptAnonymousUploads bool, assetsDir st
"AppIcon": appIcon,
"AppTitle": app.Spec.Title,
"IsEmbeddedCluster": isEmbeddedCluster(),
- "IsMultinodeEnabled": isMultinodeEnabled(),
+ "IsMultiNodeEnabled": isMultiNodeEnabled(),
})
})
r.GET("/tls-warning", func(c *gin.Context) {
@@ -308,7 +308,7 @@ func getHttpServer(fingerprint string, acceptAnonymousUploads bool, assetsDir st
"AppIcon": appIcon,
"AppTitle": app.Spec.Title,
"IsEmbeddedCluster": isEmbeddedCluster(),
- "IsMultinodeEnabled": isMultinodeEnabled(),
+ "IsMultiNodeEnabled": isMultiNodeEnabled(),
})
})
r.NoRoute(func(c *gin.Context) {
@@ -352,7 +352,7 @@ func getHttpsServer(upstream, dexUpstream *url.URL, tlsSecretName string, secret
"AppTitle": app.Spec.Title,
"App": app.Spec,
"IsEmbeddedCluster": isEmbeddedCluster(),
- "IsMultinodeEnabled": isMultinodeEnabled(),
+ "IsMultiNodeEnabled": isMultiNodeEnabled(),
})
})
@@ -716,6 +716,6 @@ func isEmbeddedCluster() bool {
return os.Getenv("EMBEDDED_CLUSTER_ID") != ""
}
-func isMultinodeEnabled() bool {
+func isMultiNodeEnabled() bool {
return os.Getenv("IS_MULTI_NODE_ENABLED") == "true"
}
diff --git a/pkg/api/handlers/types/types.go b/pkg/api/handlers/types/types.go
index eb9906f2c8..65a0d497ce 100644
--- a/pkg/api/handlers/types/types.go
+++ b/pkg/api/handlers/types/types.go
@@ -41,7 +41,7 @@ type ResponseApp struct {
IsGeoaxisSupported bool `json:"isGeoaxisSupported"`
IsSemverRequired bool `json:"isSemverRequired"`
IsSupportBundleUploadSupported bool `json:"isSupportBundleUploadSupported"`
- IsEmbeddedClusterMultinodeEnabled bool `json:"isEmbeddedClusterMultinodeEnabled"`
+ IsEmbeddedClusterMultiNodeEnabled bool `json:"isEmbeddedClusterMultiNodeEnabled"`
AllowRollback bool `json:"allowRollback"`
AllowSnapshots bool `json:"allowSnapshots"`
TargetKotsVersion string `json:"targetKotsVersion"`
diff --git a/pkg/embeddedcluster/upgrade.go b/pkg/embeddedcluster/upgrade.go
index ce1ab2a7b1..7bf7d0c976 100644
--- a/pkg/embeddedcluster/upgrade.go
+++ b/pkg/embeddedcluster/upgrade.go
@@ -80,7 +80,7 @@ func startClusterUpgrade(
newInstall.Spec.Config = &newcfg
newInstall.Spec.LicenseInfo = &embeddedclusterv1beta1.LicenseInfo{
IsDisasterRecoverySupported: license.Spec.IsDisasterRecoverySupported,
- IsMultinodeEnabled: license.Spec.IsEmbeddedClusterMultinodeEnabled,
+ IsMultiNodeEnabled: license.Spec.IsEmbeddedClusterMultiNodeEnabled,
}
log.Printf("Starting cluster upgrade to version %s...", newcfg.Version)
diff --git a/pkg/handlers/app.go b/pkg/handlers/app.go
index 99445858d1..8fd7169cd2 100644
--- a/pkg/handlers/app.go
+++ b/pkg/handlers/app.go
@@ -325,7 +325,7 @@ func responseAppFromApp(ctx context.Context, a *apptypes.App, kcb kubeclient.Kub
IsGeoaxisSupported: license.Spec.IsGeoaxisSupported,
IsSemverRequired: license.Spec.IsSemverRequired,
IsSupportBundleUploadSupported: license.Spec.IsSupportBundleUploadSupported,
- IsEmbeddedClusterMultinodeEnabled: license.Spec.IsEmbeddedClusterMultinodeEnabled,
+ IsEmbeddedClusterMultiNodeEnabled: license.Spec.IsEmbeddedClusterMultiNodeEnabled,
AllowRollback: allowRollback,
AllowSnapshots: allowSnapshots,
TargetKotsVersion: targetKotsVersion,
diff --git a/pkg/handlers/license.go b/pkg/handlers/license.go
index fbf5b5f0e6..8a1a4f9ff2 100644
--- a/pkg/handlers/license.go
+++ b/pkg/handlers/license.go
@@ -52,7 +52,7 @@ type LicenseResponse struct {
IsDisasterRecoverySupported bool `json:"isDisasterRecoverySupported"`
LastSyncedAt string `json:"lastSyncedAt"`
IsSupportBundleUploadSupported bool `json:"isSupportBundleUploadSupported"`
- IsEmbeddedClusterMultinodeEnabled bool `json:"isEmbeddedClusterMultinodeEnabled"`
+ IsEmbeddedClusterMultiNodeEnabled bool `json:"isEmbeddedClusterMultiNodeEnabled"`
}
type SyncLicenseResponse struct {
@@ -698,7 +698,7 @@ func licenseResponseFromLicense(license *kotsv1beta1.License, app *apptypes.App)
IsDisasterRecoverySupported: license.Spec.IsDisasterRecoverySupported,
LastSyncedAt: app.LastLicenseSync,
IsSupportBundleUploadSupported: license.Spec.IsSupportBundleUploadSupported,
- IsEmbeddedClusterMultinodeEnabled: license.Spec.IsEmbeddedClusterMultinodeEnabled,
+ IsEmbeddedClusterMultiNodeEnabled: license.Spec.IsEmbeddedClusterMultiNodeEnabled,
}
return &response, nil
diff --git a/pkg/kotsutil/kots.go b/pkg/kotsutil/kots.go
index 72b9cb751c..771adf1d02 100644
--- a/pkg/kotsutil/kots.go
+++ b/pkg/kotsutil/kots.go
@@ -230,11 +230,11 @@ func (k *KotsKinds) DecryptConfigValues() error {
return nil
}
-func (k *KotsKinds) IsMultinodeEnabled() bool {
+func (k *KotsKinds) IsMultiNodeEnabled() bool {
if k == nil || k.License == nil {
return false
}
- return k.License.Spec.IsEmbeddedClusterMultinodeEnabled
+ return k.License.Spec.IsEmbeddedClusterMultiNodeEnabled
}
func (k *KotsKinds) IsConfigurable() bool {
diff --git a/pkg/license/signature.go b/pkg/license/signature.go
index 9e5a6b2a98..1b1debb981 100644
--- a/pkg/license/signature.go
+++ b/pkg/license/signature.go
@@ -164,8 +164,8 @@ func verifyLicenseData(outerLicense *kotsv1beta1.License, innerLicense *kotsv1be
if outerLicense.Spec.IsSupportBundleUploadSupported != innerLicense.Spec.IsSupportBundleUploadSupported {
return fmt.Errorf("\"IsSupportBundleUploadSupported\" field has changed to %t (license) from %t (within signature)", outerLicense.Spec.IsSupportBundleUploadSupported, innerLicense.Spec.IsSupportBundleUploadSupported)
}
- if outerLicense.Spec.IsEmbeddedClusterMultinodeEnabled != innerLicense.Spec.IsEmbeddedClusterMultinodeEnabled {
- return fmt.Errorf("\"IsEmbeddedClusterMultinodeEnabled\" field has changed to %t (license) from %t (within signature)", outerLicense.Spec.IsEmbeddedClusterMultinodeEnabled, innerLicense.Spec.IsEmbeddedClusterMultinodeEnabled)
+ if outerLicense.Spec.IsEmbeddedClusterMultiNodeEnabled != innerLicense.Spec.IsEmbeddedClusterMultiNodeEnabled {
+ return fmt.Errorf("\"IsEmbeddedClusterMultiNodeEnabled\" field has changed to %t (license) from %t (within signature)", outerLicense.Spec.IsEmbeddedClusterMultiNodeEnabled, innerLicense.Spec.IsEmbeddedClusterMultiNodeEnabled)
}
if outerLicense.Spec.IsSemverRequired != innerLicense.Spec.IsSemverRequired {
return fmt.Errorf("\"IsSemverRequired\" field has changed to %t (license) from %t (within signature)", outerLicense.Spec.IsSemverRequired, innerLicense.Spec.IsSemverRequired)
diff --git a/pkg/store/kotsstore/version_store.go b/pkg/store/kotsstore/version_store.go
index 657858c968..478811dacf 100644
--- a/pkg/store/kotsstore/version_store.go
+++ b/pkg/store/kotsstore/version_store.go
@@ -722,7 +722,7 @@ func (s *KOTSStore) upsertAppVersionRecordStatements(appID string, sequence int6
func determineDownstreamVersionStatus(s store.Store, a *apptypes.App, sequence int64, kotsKinds *kotsutil.KotsKinds, isInstall bool, isAutomated bool, skipPreflights bool) (types.DownstreamVersionStatus, error) {
// Check if we need to show cluster management
- if util.IsEmbeddedCluster() && isInstall && !isAutomated && kotsKinds.IsMultinodeEnabled() {
+ if util.IsEmbeddedCluster() && isInstall && !isAutomated && kotsKinds.IsMultiNodeEnabled() {
return types.VersionPendingClusterManagement, nil
}
diff --git a/pkg/store/kotsstore/version_store_test.go b/pkg/store/kotsstore/version_store_test.go
index 1f335d521e..d2be309cd1 100644
--- a/pkg/store/kotsstore/version_store_test.go
+++ b/pkg/store/kotsstore/version_store_test.go
@@ -38,7 +38,7 @@ func Test_determineDownstreamVersionStatus(t *testing.T) {
kotsKinds: &kotsutil.KotsKinds{
License: &kotsv1beta1.License{
Spec: kotsv1beta1.LicenseSpec{
- IsEmbeddedClusterMultinodeEnabled: true,
+ IsEmbeddedClusterMultiNodeEnabled: true,
},
},
},
@@ -57,7 +57,7 @@ func Test_determineDownstreamVersionStatus(t *testing.T) {
kotsKinds: &kotsutil.KotsKinds{
License: &kotsv1beta1.License{
Spec: kotsv1beta1.LicenseSpec{
- IsEmbeddedClusterMultinodeEnabled: false,
+ IsEmbeddedClusterMultiNodeEnabled: false,
},
},
Config: &kotsv1beta1.Config{
@@ -94,7 +94,7 @@ func Test_determineDownstreamVersionStatus(t *testing.T) {
kotsKinds: &kotsutil.KotsKinds{
License: &kotsv1beta1.License{
Spec: kotsv1beta1.LicenseSpec{
- IsEmbeddedClusterMultinodeEnabled: true,
+ IsEmbeddedClusterMultiNodeEnabled: true,
},
},
Config: &kotsv1beta1.Config{
@@ -131,7 +131,7 @@ func Test_determineDownstreamVersionStatus(t *testing.T) {
kotsKinds: &kotsutil.KotsKinds{
License: &kotsv1beta1.License{
Spec: kotsv1beta1.LicenseSpec{
- IsEmbeddedClusterMultinodeEnabled: false,
+ IsEmbeddedClusterMultiNodeEnabled: false,
},
},
},
@@ -149,7 +149,7 @@ func Test_determineDownstreamVersionStatus(t *testing.T) {
kotsKinds: &kotsutil.KotsKinds{
License: &kotsv1beta1.License{
Spec: kotsv1beta1.LicenseSpec{
- IsEmbeddedClusterMultinodeEnabled: true,
+ IsEmbeddedClusterMultiNodeEnabled: true,
},
},
},
@@ -501,7 +501,7 @@ func Test_determineDownstreamVersionStatus(t *testing.T) {
kotsKinds: &kotsutil.KotsKinds{
License: &kotsv1beta1.License{
Spec: kotsv1beta1.LicenseSpec{
- IsEmbeddedClusterMultinodeEnabled: true,
+ IsEmbeddedClusterMultiNodeEnabled: true,
},
},
Config: &kotsv1beta1.Config{
diff --git a/pkg/template/license_context.go b/pkg/template/license_context.go
index e4201c581f..63a7821c73 100644
--- a/pkg/template/license_context.go
+++ b/pkg/template/license_context.go
@@ -48,8 +48,8 @@ func (ctx licenseCtx) licenseFieldValue(name string) string {
return strconv.FormatBool(ctx.License.Spec.IsGitOpsSupported)
case "isSupportBundleUploadSupported":
return strconv.FormatBool(ctx.License.Spec.IsSupportBundleUploadSupported)
- case "isEmbeddedClusterMultinodeEnabled":
- return strconv.FormatBool(ctx.License.Spec.IsEmbeddedClusterMultinodeEnabled)
+ case "isEmbeddedClusterMultiNodeEnabled":
+ return strconv.FormatBool(ctx.License.Spec.IsEmbeddedClusterMultiNodeEnabled)
case "isIdentityServiceSupported":
return strconv.FormatBool(ctx.License.Spec.IsIdentityServiceSupported)
case "isGeoaxisSupported":
diff --git a/pkg/template/license_context_test.go b/pkg/template/license_context_test.go
index e851c16e62..0d06c1fa53 100644
--- a/pkg/template/license_context_test.go
+++ b/pkg/template/license_context_test.go
@@ -235,13 +235,13 @@ func TestLicenseCtx_licenseFieldValue(t *testing.T) {
want: "true",
},
{
- name: "built-in isEmbeddedClusterMultinodeEnabled",
+ name: "built-in isEmbeddedClusterMultiNodeEnabled",
License: &kotsv1beta1.License{
Spec: kotsv1beta1.LicenseSpec{
- IsEmbeddedClusterMultinodeEnabled: true,
+ IsEmbeddedClusterMultiNodeEnabled: true,
},
},
- fieldName: "isEmbeddedClusterMultinodeEnabled",
+ fieldName: "isEmbeddedClusterMultiNodeEnabled",
want: "true",
},
{
diff --git a/web/src/Root.tsx b/web/src/Root.tsx
index cb73fd67ef..c7e8150010 100644
--- a/web/src/Root.tsx
+++ b/web/src/Root.tsx
@@ -593,7 +593,7 @@ const Root = () => {
title: "Secure the Admin Console",
});
- if (app?.isEmbeddedClusterMultinodeEnabled) {
+ if (app?.isEmbeddedClusterMultiNodeEnabled) {
steps.push({
id: "cluster",
title: "Configure the cluster",
diff --git a/web/src/components/apps/AppLicense.tsx b/web/src/components/apps/AppLicense.tsx
index 7cd5d55833..31c805c089 100644
--- a/web/src/components/apps/AppLicense.tsx
+++ b/web/src/components/apps/AppLicense.tsx
@@ -473,9 +473,9 @@ const AppLicenseComponent = () => {
) : null}
{isEmbeddedCluster &&
- appLicense?.isEmbeddedClusterMultinodeEnabled ? (
+ appLicense?.isEmbeddedClusterMultiNodeEnabled ? (
-
+
Multi-node cluster enabled{" "}
) : null}
diff --git a/web/src/components/apps/EmbeddedClusterManagement.tsx b/web/src/components/apps/EmbeddedClusterManagement.tsx
index 29595d9331..0d89660d54 100644
--- a/web/src/components/apps/EmbeddedClusterManagement.tsx
+++ b/web/src/components/apps/EmbeddedClusterManagement.tsx
@@ -524,7 +524,7 @@ const EmbeddedClusterManagement = ({
);
};
- const isMultiNodeEnabled = app?.isEmbeddedClusterMultinodeEnabled;
+ const isMultiNodeEnabled = app?.isEmbeddedClusterMultiNodeEnabled;
return (
diff --git a/web/src/scss/utilities/icons.scss b/web/src/scss/utilities/icons.scss
index 1558e87c85..6b856d879f 100644
--- a/web/src/scss/utilities/icons.scss
+++ b/web/src/scss/utilities/icons.scss
@@ -920,7 +920,7 @@
height: 20px;
margin-right: 4px;
}
-.icon.licenseMultinodeIcon {
+.icon.licenseMultiNodeIcon {
background-position: -274px -839px;
width: 20px;
height: 20px;
diff --git a/web/src/types/index.ts b/web/src/types/index.ts
index 18c3769339..7b042a2d56 100644
--- a/web/src/types/index.ts
+++ b/web/src/types/index.ts
@@ -20,7 +20,7 @@ export type App = {
isIdentityServiceSupported: boolean;
isSemverRequired: boolean;
isSupportBundleUploadSupported: boolean;
- isEmbeddedClusterMultinodeEnabled: boolean;
+ isEmbeddedClusterMultiNodeEnabled: boolean;
licenseType: string;
name: string;
namespace: string;
@@ -44,7 +44,7 @@ export type AppLicense = {
isSnapshotSupported: boolean;
isDisasterRecoverySupported: boolean;
isSupportBundleUploadSupported: boolean;
- isEmbeddedClusterMultinodeEnabled: boolean;
+ isEmbeddedClusterMultiNodeEnabled: boolean;
lastSyncedAt: string;
licenseSequence: number;
licenseType: string;