-
Notifications
You must be signed in to change notification settings - Fork 110
Organizations
APK supports organization/tenant isolation to enable multiple organizations to use the platform independently. Organizations can be managed in the Control Plane, and data can be isolated in the Data Plane. Organizations are used in APK to map the organizations created in Identity Providers (IdPs) to APK.
For example if an API named sample-api was created in organization org1. Users who have a default token will not be allowed to access details of sample-api API and invoke it. Instead, users will be able to retrieve API details of sample-api and invoke it only if they have a token that was generated based on the org1 organization.
Follow the instructions below to create a new organization.
Let's create an organization using the sample CR that is available in APK.
-
Define the CR for your organization in a YAML file.
Note
You can view a sample CR definition for an organization, namely
sample-organization.yaml, in the<APK_HOME>/developer/tryout/samples/directory.<APK_HOME>defines the unzipped APK distribution.Let's navigate to the `samples` directory, which has the CR for the `org1` organization.cd developer/tryout/samples -
Create an organization.
Add the organization CR for
org1to the namespace to create a new organization.Format
Kubectl apply -f <organization-cr-file-name> -n apk
Example
Kubectl apply -f sample-organization.yaml -n apk
After adding the organization named
org1it will be added to the system (Data Plane).Sample CR for an organization
apiVersion: cp.wso2.com/v1alpha1 kind: Organization metadata: name: org1 spec: displayName: org1 enabled: true name: org1 organizationClaimValue: org1 serviceListingNamespaces: - '*' uuid: 01edb285-6304-1b20-a090-4d02067ed56e
Before you beign
Follow the instructios below to create an API that is associated to an organization.
-
Define the CR for your API in a YAML file.
Info
You can view a sample CR definition for an API, namely
sample-api.yaml, in the<APK_HOME>/developer/tryout/samples/directory.<APK_HOME>defines the unzipped APK distribution.Let's navigate to the
samplesdirectory, which has the CR for the API namedsample-api.cd developer/tryout/samples -
Add the UUID of your organization in the API CR.
- Copy the
uuidvalue of the organization from the organization CR (e.g.,sample-organization.yaml). - Add it as the value for
organizationin your API CR (e.g.,sample-api.yaml).
Snippet of a sample CR for an API
spec: apiDisplayName: http-bin-api apiType: REST apiVersion: 1.0.8 context: /http-bin-api/1.0.8 definitionFileRef: swagger-definition-http-bin-api prodHTTPRouteRef: prod-http-route-http-bin-api sandHTTPRouteRef: sand-http-route-http-bin-api organization: 01edb285-6304-1b20-a090-4d02067ed56e - Copy the