diff --git a/apis/installer/v1alpha1/ace_ace_types.go b/apis/installer/v1alpha1/ace_ace_types.go
index c3185408b..fe02f9ec2 100644
--- a/apis/installer/v1alpha1/ace_ace_types.go
+++ b/apis/installer/v1alpha1/ace_ace_types.go
@@ -480,8 +480,10 @@ type PlatformSettings struct {
ServiceEnableCaptcha bool `json:"serviceEnableCaptcha"`
ServiceRegisterEmailConfirm bool `json:"serviceRegisterEmailConfirm"`
ServiceDisableRegistration bool `json:"serviceDisableRegistration"`
- ServiceRequireSignInView bool `json:"serviceRequireSignInView"`
- ServiceEnableNotifyMail bool `json:"serviceEnableNotifyMail"`
+ // +optional
+ DisableRegularOrgCreation *bool `json:"disableRegularOrgCreation"`
+ ServiceRequireSignInView bool `json:"serviceRequireSignInView"`
+ ServiceEnableNotifyMail bool `json:"serviceEnableNotifyMail"`
// +optional
ServiceDomainWhiteList []string `json:"serviceDomainWhiteList"`
CookieName string `json:"cookieName"`
diff --git a/apis/installer/v1alpha1/zz_generated.deepcopy.go b/apis/installer/v1alpha1/zz_generated.deepcopy.go
index 724f97a1a..4bee2d7d4 100644
--- a/apis/installer/v1alpha1/zz_generated.deepcopy.go
+++ b/apis/installer/v1alpha1/zz_generated.deepcopy.go
@@ -9883,6 +9883,11 @@ func (in *PlatformSettings) DeepCopyInto(out *PlatformSettings) {
*out = new(string)
**out = **in
}
+ if in.DisableRegularOrgCreation != nil {
+ in, out := &in.DisableRegularOrgCreation, &out.DisableRegularOrgCreation
+ *out = new(bool)
+ **out = **in
+ }
if in.ServiceDomainWhiteList != nil {
in, out := &in.ServiceDomainWhiteList, &out.ServiceDomainWhiteList
*out = make([]string, len(*in))
diff --git a/charts/ace/README.md b/charts/ace/README.md
index e1a2bdac4..c055c2ddb 100644
--- a/charts/ace/README.md
+++ b/charts/ace/README.md
@@ -194,6 +194,7 @@ The following table lists the configurable parameters of the `ace` chart and the
| settings.platform.serviceEnableCaptcha | # Enable this to use captcha validation for registration. # | true |
| settings.platform.serviceRegisterEmailConfirm | # Users need to confirm e-mail for registration # | true |
| settings.platform.serviceDisableRegistration | # Weather or not to allow users to register. # | false |
+| settings.platform.disableRegularOrgCreation | # Bar regular users from creating organizations. Only seeds the ace-user-config secret; # site admins toggle it at runtime. Null lets the platform decide (on for selfhosted). # | null |
| settings.platform.serviceRequireSignInView | # Weather or not sign in is required to view anything. # | false |
| settings.platform.serviceEnableNotifyMail | # Mail notification # | true |
| settings.platform.serviceDomainWhiteList | # To create an account, email should belong to this domain list # | [] |
diff --git a/charts/ace/templates/platform/user-config.yaml b/charts/ace/templates/platform/user-config.yaml
index 281ba2c16..7bc79f4b6 100644
--- a/charts/ace/templates/platform/user-config.yaml
+++ b/charts/ace/templates/platform/user-config.yaml
@@ -14,6 +14,11 @@ stringData:
user.ini: |-
[service]
EMAIL_DOMAIN_WHITELIST = {{ join "," .Values.settings.platform.serviceDomainWhiteList }}
+{{- if kindIs "bool" .Values.settings.platform.disableRegularOrgCreation }}
+
+ [admin]
+ DISABLE_REGULAR_ORG_CREATION = {{ .Values.settings.platform.disableRegularOrgCreation }}
+{{- end }}
[branding]
APP_NAME = {{ .Values.settings.platform.appName }}
diff --git a/charts/ace/values.openapiv3_schema.yaml b/charts/ace/values.openapiv3_schema.yaml
index f948fe3cc..62dc4f035 100644
--- a/charts/ace/values.openapiv3_schema.yaml
+++ b/charts/ace/values.openapiv3_schema.yaml
@@ -24750,6 +24750,8 @@ properties:
type: string
disableHttpGit:
type: boolean
+ disableRegularOrgCreation:
+ type: boolean
enableCSRFCookieHttpOnly:
type: boolean
forcePrivate:
diff --git a/charts/ace/values.yaml b/charts/ace/values.yaml
index de8d3901a..8bbff9e2f 100644
--- a/charts/ace/values.yaml
+++ b/charts/ace/values.yaml
@@ -402,6 +402,11 @@ settings:
##
serviceDisableRegistration: false
+ ## Bar regular users from creating organizations. Only seeds the ace-user-config secret;
+ ## site admins toggle it at runtime. Null lets the platform decide (on for selfhosted).
+ ##
+ disableRegularOrgCreation: null
+
## Weather or not sign in is required to view anything.
##
serviceRequireSignInView: false