mirror of
https://github.com/fosrl/docs-v2.git
synced 2026-02-08 05:56:45 +00:00
71 lines
1.8 KiB
Plaintext
71 lines
1.8 KiB
Plaintext
---
|
|
title: "Enable Integration API"
|
|
description: "Enable and configure the Integration API for external access"
|
|
---
|
|
|
|
The Integration API provides programmatic access to Pangolin functionality. It includes OpenAPI documentation via Swagger UI.
|
|
|
|
## Enable Integration API
|
|
|
|
Update your Pangolin configuration file:
|
|
|
|
```yaml title="config.yml"
|
|
flags:
|
|
enable_integration_api: true
|
|
```
|
|
|
|
If you want to specify a port other than the default `3003`, you can do so in the config as well:
|
|
|
|
```yaml title="config.yml"
|
|
server:
|
|
integration_port: 3003 # Specify different port
|
|
```
|
|
|
|
## Configure Traefik Routing
|
|
|
|
Add the following configuration to your `config/traefik/dynamic_config.yml` to expose the Integration API at `https://api.example.com/v1`:
|
|
|
|
```yaml title="dynamic_config.yml"
|
|
routers:
|
|
# Add the following two routers
|
|
int-api-router-redirect:
|
|
rule: "Host(`api.example.com`)"
|
|
service: int-api-service
|
|
entryPoints:
|
|
- web
|
|
middlewares:
|
|
- redirect-to-https
|
|
- badger # If you have Badger >=1.3.0 and it's enabled in the middlewares section of the dynamic config
|
|
|
|
int-api-router:
|
|
rule: "Host(`api.example.com`)"
|
|
service: int-api-service
|
|
entryPoints:
|
|
- websecure
|
|
tls:
|
|
certResolver: letsencrypt
|
|
|
|
services:
|
|
# Add the following service
|
|
int-api-service:
|
|
loadBalancer:
|
|
servers:
|
|
- url: "http://pangolin:3003"
|
|
```
|
|
|
|
## Access Documentation
|
|
|
|
Once configured, access the Swagger UI documentation at:
|
|
|
|
```
|
|
https://api.example.com/v1/docs
|
|
```
|
|
|
|
<Frame caption="Swagger UI documentation interface">
|
|
<img src="/images/swagger.png" alt="Swagger UI Preview"/>
|
|
</Frame>
|
|
|
|
<Note>
|
|
The Integration API will be accessible at `https://api.example.com/v1` for external applications.
|
|
</Note>
|