mirror of
https://github.com/fosrl/docs.git
synced 2025-05-12 21:30:43 +01:00
add configure integration api
This commit is contained in:
parent
55e2da8a9b
commit
79516001b6
76 changed files with 82 additions and 1 deletions
|
@ -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.
|
||||||
|
|
|
@ -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`.
|
|
@ -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",
|
||||||
|
|
Loading…
Reference in a new issue