Organizations

What are Organizations?

Organizations are the top-level entities in Greenhouse. Each Organization gets a dedicated Namespace, that contains all resources bound to the Organization. Greenhouse expects an Organization to provide it’s own Identity Provider and currently supports OIDC Identity Providers. Greenhouse also supports SCIM for syncing users and groups from an Identity Provider.

See creating an Organization for more details.

Organization Namespace and Permissions

The Organization’s Namespace in the Greenhouse cluster contains all resources bound to the Organization. This Namespace is automatically provisioned when a new Organization is created and shares the Organization’s name. Once the Namespace is created, Greenhouse will automatically seed RBAC Roles and ClusterRoles for the Organization. These are used to grant permissions for the Organization’s resources to Teams.

  • The Administrators of an Organization are specified via a identity provider (IDP) group during the creation of the Organization.
  • The Administrators for Plugins and Clusters need to be defined by the Organization Admins via RoleBindings for the seeded Roles role:<org-name>:cluster-admin and role:<org-name>:plugin-admin.
  • All authenticated users are considered members of the Organization and are granted the organization:<org-name> Role.

The following roles are seeded for each Organization:

NameDescriptionApiGroupsResourcesVerbsCluster scoped
role:<org-name>:adminAn admin of a Greenhouse Organization. This entails the permissions of role:<org-name>:cluster-admin and role:<org-name>:plugin-admingreenhouse.sap/v1alpha1**-
v1secrets*-
""pods, replicasets, deployments, statefulsets, daemonsets, cronjobs, jobs, configmapsget, list, watch-
monitoring.coreos.comalertmanagers, alertmanagerconfigsget, list, watch-
role:<org-name>:cluster-adminAn admin of Greenhouse Clusters within an Organizationgreenhouse.sap/v1alpha1clusters, teamrolebindings*-
v1secretscreate, update, patch-
role:<org-name>:plugin-adminAn admin of Greenhouse Plugins within an Organizationgreenhouse.sap/v1alpha1plugins, pluginpresets*-
v1secretscreate, update, patch-
organization:<org-name>A member of a Greenhouse Organizationgreenhouse.sap/v1alpha1*get, list, watch-
organization:<org-name>A member of a Greenhouse Organizationgreenhouse.sap/v1alpha1organizations, plugindefinitionsget, list, watchx

OIDC

Each Organization must specify the OIDC configuration for the Organization’s IDP. This configuration is used together with DEXIDP to authenticate users in the Organization.

SCIM

Each Organization can specify SCIM credentials which are used to syncronize users and groups from an Identity Provider. This makes it possible to view the members of a Team in the Greenhouse dashboard.