add configure integration api

This commit is contained in:
miloschwartz 2025-04-27 19:44:25 -04:00
parent 55e2da8a9b
commit 79516001b6
No known key found for this signature in database
76 changed files with 82 additions and 1 deletions

View file

@ -1,5 +1,11 @@
# Auto Provision (Professional) # Auto Provision (Professional)
:::note
Auto provisioning users requires a paid license.
:::
Auto provisioning is a feature that allows you to automatically create and manage user accounts in Pangolin when they log in using an external identity provider. This is useful for organizations that want to streamline the onboarding process for new users and ensure that their user accounts are always up-to-date. Auto provisioning is a feature that allows you to automatically create and manage user accounts in Pangolin when they log in using an external identity provider. This is useful for organizations that want to streamline the onboarding process for new users and ensure that their user accounts are always up-to-date.
You will be able to programatically decide the roles and organizations for new users based on the information provided by the identity provider. You will be able to programatically decide the roles and organizations for new users based on the information provided by the identity provider.

View file

@ -0,0 +1,75 @@
# Integration API (Professional)
:::note
The Integration API requires a paid license.
:::
## Generate API Keys
You can generate as many API keys as you need. There are two types of API keys:
### Root API Keys
Root API keys can only be created by the server admin account from the Server Admin panel. These keys have expanded permissions and can do things such as create and delete organizations.
### Organization API Keys
Organization API keys can be created by organization admins from the Organization Admin panel. These keys have limited permissions and can only do things directly related to the organization.
## Fine-Grained Permissions
When you create or edit an API key, you can select the permissions that the API key will have. This allows you to create API keys with only the permissions that you need.
## Configure Integration API
The below example shows how to expose the Integration API. It will be accessible at `https://api.example.com/v1`.
There are two things you will need to do to enable the Integration API:
1. Determine which port the Integration API will run on by setting `server.integration_port` in the configuration file.
```yaml
server:
integration_port: 3003
```
2. Edit the Traefik `dynamic_config.yml` file to add the following configuration to expose the Integration API.
```yaml
http:
middlewares:
redirect-to-https:
redirectScheme:
scheme: https
routers:
# ...existing routers...
int-api-router-redirect:
rule: "Host(`api.fosrl.com`)"
service: int-api-service
entryPoints:
- web
middlewares:
- redirect-to-https
int-api-router:
rule: "Host(`api.fosrl.com`)"
service: int-api-service
entryPoints:
- websecure
tls:
certResolver: letsencrypt
services:
# ...existing services...
int-api-service:
loadBalancer:
servers:
- url: "http://pangolin:3003" # Integration API
```
## Swagger Docs
OpenAPI documentation is served via Swagger UI. You can access the documentation at `https://api.example.com/v1/docs`.

View file

@ -194,7 +194,7 @@ const config: Config = {
config: { config: {
petstore: { petstore: {
specPath: "./openapi.yml", specPath: "./openapi.yml",
outputDir: "docs/03-Pangolin/07-API", outputDir: "docs/03-Pangolin/07-API/02-Routes",
sidebarOptions: { sidebarOptions: {
groupPathsBy: "tag", groupPathsBy: "tag",
categoryLinkSource: "tag", categoryLinkSource: "tag",