diff --git a/charts/portkey-app/Chart.yaml b/charts/portkey-app/Chart.yaml index ae4710d..ed149e8 100644 --- a/charts/portkey-app/Chart.yaml +++ b/charts/portkey-app/Chart.yaml @@ -4,7 +4,7 @@ description: Helm chart to deploy the Portkey Full Stack application and all dep home: https://portkey.ai/ icon: https://avatars.githubusercontent.com/u/131141116?s=200&v=4 type: application -version: 1.7.6 +version: 1.7.7 appVersion: "1.19.0" maintainers: - name: Ayush diff --git a/charts/portkey-app/config-samples/openshift.yaml b/charts/portkey-app/config-samples/openshift.yaml index 6fb05da..dd8c86c 100644 --- a/charts/portkey-app/config-samples/openshift.yaml +++ b/charts/portkey-app/config-samples/openshift.yaml @@ -27,6 +27,7 @@ images: config: jwtPrivateKey: "" # Required: set a strong secret for signing the frontend JWT tokens, or provide it via config.existingSecretName disableOrgCreation: false # Set to true to disable organization creation post installation and first time login + allowMultiOrgCreation: false # Set to true to let org owners/admins create additional organizations. Ignored when disableOrgCreation is true disableTestimonial: true # Set to true to disable testimonial section in the frontend noAuth: enabled: false # Set to true to disable authentication and allow access to the application without any authentication diff --git a/charts/portkey-app/docs/configuration.md b/charts/portkey-app/docs/configuration.md index 386ae4f..5306da5 100644 --- a/charts/portkey-app/docs/configuration.md +++ b/charts/portkey-app/docs/configuration.md @@ -37,6 +37,19 @@ config: - If you are installing for the first time you should set noAuth.enabled true. This will allow you to access the application without any authentication, post which you should configure OAuth and switch it on. - Strongly recommended to use OAuth for authentication in production. +### Organization Creation + +```yaml +config: + disableOrgCreation: false + allowMultiOrgCreation: false +``` + +- By default, a user who is not part of any organization can self-provision exactly one organization on first login. This is how the first organization gets created in an air-gapped install. +- Set `disableOrgCreation: true` to lock this down entirely once your first organization exists. This sets `DISABLE_ORG_CREATION=ON` on the backend. +- Set `allowMultiOrgCreation: true` to let users who are already an `owner` or `admin` of an organization create additional ones. This sets `ALLOW_MULTI_ORG_CREATION=ON` on the backend. Plain members and users with a pending invite remain blocked. +- `disableOrgCreation` takes precedence: when it is `true`, `allowMultiOrgCreation` is ignored and `ALLOW_MULTI_ORG_CREATION` is not set. + ### Blob Storage Configuration ```yaml diff --git a/charts/portkey-app/templates/backend/deployment.yaml b/charts/portkey-app/templates/backend/deployment.yaml index 32d1ce8..09d5720 100644 --- a/charts/portkey-app/templates/backend/deployment.yaml +++ b/charts/portkey-app/templates/backend/deployment.yaml @@ -96,6 +96,9 @@ spec: {{- if .Values.config.disableOrgCreation }} - name: DISABLE_ORG_CREATION value: "ON" + {{- else if .Values.config.allowMultiOrgCreation }} + - name: ALLOW_MULTI_ORG_CREATION + value: "ON" {{- end }} {{- if .Values.mcp.enabled }} - name: MCP_ENABLED diff --git a/charts/portkey-app/values.yaml b/charts/portkey-app/values.yaml index 90b390b..6260603 100644 --- a/charts/portkey-app/values.yaml +++ b/charts/portkey-app/values.yaml @@ -86,6 +86,9 @@ config: controlPlaneURL: "" containerProtocol: "http" disableOrgCreation: false + # -- Allow org owners/admins to create additional organizations. + # Ignored when disableOrgCreation is true. + allowMultiOrgCreation: false disableTestimonial: false internalGatewayURL: "" loginDisclaimer: ""