Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Identity environment variables for multi-tenancy and clients #5339

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

conceptualshark
Copy link
Contributor

@conceptualshark conceptualshark commented Mar 21, 2025

Description

Resolves #3446

Adds environment variables around configuring multi-tenancy options to the Identity configuration. Will backport to 8.6 when the content is technically accurate.

This is a draft, as I am unsure if this list is complete or if these descriptions are accurate. Looking for feedback on that!

When should this change go live?

  • This is a bug fix, security concern, or something that needs urgent release support. (add bug or support label)
  • This is already available but undocumented and should be released within a week. (add available & undocumented label)
  • This is on a specific schedule and the assignee will coordinate a release with the DevEx team. (create draft PR and/or add hold label)
  • This is part of a scheduled alpha or minor. (add alpha or minor label)
  • There is no urgency with this change (add low prio label)

PR Checklist

  • My changes are for an upcoming minor release and:
    • are in the /docs directory (version 8.8).
    • are in the /versioned_docs/version-8.7/ directory (version 8.7).
  • My changes are for an already released minor and are in a /versioned_docs directory.

Copy link
Contributor

👋 🤖 🤔 Hello, @conceptualshark! Did you make your changes in all the right places?

These files were changed only in versioned_docs/version-8.7/. You might want to duplicate these changes in docs/.

  • versioned_docs/version-8.7/self-managed/identity/deployment/configuration-variables.md
  • versioned_docs/version-8.7/self-managed/operational-guides/configure-multi-tenancy.md
These files were changed only in versioned_docs/version-8.7/. You might want to duplicate these changes in versioned_docs/version-8.6/.
  • versioned_docs/version-8.7/self-managed/identity/deployment/configuration-variables.md
  • versioned_docs/version-8.7/self-managed/operational-guides/configure-multi-tenancy.md

You may have done this intentionally, but we wanted to point it out in case you didn't. You can read more about the versioning within our docs in our documentation guidelines.

@conceptualshark conceptualshark added component:identity Issues related with Identity project component:self-managed Docs and issues related to Camunda Platform 8 Self-Managed deploy Stand up a temporary docs site with this PR labels Mar 21, 2025
Copy link
Contributor Author

@conceptualshark conceptualshark left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@FarkasRabai @Ben-Sheppard @akeller I've left some comments here with my questions for areas I had to fill in or couldn't find an answer for. The preview environment page is available here: https://preview.docs.camunda.cloud/pr-5339/docs/8.7/self-managed/identity/deployment/configuration-variables/#multi-tenancy

Also, is there any standard around what is allowed in an ID? It would be nice to add to the descriptions.

Should this go into 8.8 as well, assuming it will still be valid for non-Orchestration cluster Identity?

| -------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------- |
| `IDENTITY_TENANTS_0_NAME` | A human-readable name for the tenant. | Default |
| `IDENTITY_TENANTS_0_TENANTID` | The tenant ID. The `<default>` tenant is automatically created during Identity startup. | `<default>` |
| `IDENTITY_TENANTS_0_MEMBERS_0_TYPE` | The type of member to add to the tenant, one of `GROUP`, `USER`, or `APPLICATION`. Additional members can be added by incrementing the second `0` value (for example, `IDENTITY_TENANTS_0_MEMBERS_1_TYPE`.) | `APPLICATION` |
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I had to backward engineer this a bit. Are these the only available types?

Comment on lines +163 to +164
| `IDENTITY_TENANTS_0_MEMBERS_0_USERNAME` | If adding a **user** as a member of the tenant, the username. If additional members have been added to the tenant, ensure the second `0` value matches that of its type (for example, `IDENTITY_TENANTS_0_MEMBERS_1_USERNAME`). | `user-name` |
| `IDENTITY_TENANTS_0_MEMBERS_0_GROUPNAME` | If adding a **group** as a member of the tenant, the name of the group. If additional members have been added to the tenant, ensure the second `0` value matches that of its type (for example, `IDENTITY_TENANTS_0_MEMBERS_1_GROUPNAME`). | `group-name` |
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same as above, are these the only other configurable options for users and groups added as tenant members?

Comment on lines +165 to +166
| `IDENTITY_ENVIRONMENT_TENANTS_0_NAME` | Needs description. | Default |
| `IDENTITY_ENVIRONMENT_TENANTS_0_TENANTID` | Needs description. | `<default>` |
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I could not find any description for the ENVIRONMENT variables.


## Configure clients

The following variables can be used to configure [clients](/self-managed/identity/user-guide/additional-features/incorporate-applications.md). To add additional clients, increment the `0` value for each variable (for example, `KEYCLOAK_CLIENTS_1_NAME`).
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this the appropriate link? Is a client any of these applications?

| `KEYCLOAK_CLIENTS_0_NAME` | A human-readable name for the client. | zeebe |
| `KEYCLOAK_CLIENTS_0_ID` | The client ID. | `${ZEEBE_CLIENT_ID}` |
| `KEYCLOAK_CLIENTS_0_SECRET` | The client secret. | `${ZEEBE_CLIENT_SECRET}` |
| `KEYCLOAK_CLIENTS_0_TYPE` | The type of client, one of `CONFIDENTIAL`, `PUBLIC`, or `M2M`. | `M2M` |
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The initial ticket only specified M2M, but it seems like all of these are available.

Comment on lines +209 to +219
```
keycloak:
clients:
- name: "Test Application"
id: test-application
secret: your-secret
type: M2M
permissions:
- resource-server-id: : zeebe-api
definition: write:*
```
Copy link
Contributor Author

@conceptualshark conceptualshark Mar 21, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I had to backward engineer this. Can someone verify this is valid?

@github-actions github-actions bot temporarily deployed to camunda-docs March 21, 2025 20:34 Destroyed
Copy link
Contributor

The preview environment relating to the commit 9aabe8f has successfully been deployed. You can access it at https://preview.docs.camunda.cloud/pr-5339/index.html

@conceptualshark conceptualshark marked this pull request as ready for review March 27, 2025 19:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component:identity Issues related with Identity project component:self-managed Docs and issues related to Camunda Platform 8 Self-Managed deploy Stand up a temporary docs site with this PR
Projects
Status: 👀 In Review
Development

Successfully merging this pull request may close these issues.

Missing Identity environment variables
1 participant