Skip to main content

Check out Port for yourself ➜ 

Setup

Using this installation option means that the integration will run in your own infrastructure, giving you full control over resources and configuration. You can deploy it using Helm or Docker, and it will run continuously in your environment to keep your data synchronized with Port.

High-scale environments

For high-scale environments with large datasets, allocate sufficient CPU and memory based on your data volume.

Installation

Choose your preferred deployment method:

To install the integration using Helm:

  1. Go to the custom data source page in your portal.

  2. Select the Real-time and always on method:

  1. A helm command will be displayed, with default values already filled out (e.g. your Port client ID, client secret, etc). Copy the command, replace the placeholders with your values, then run it in your terminal to install the integration.

Alternatively, you can install manually using the following steps:

  1. Add Port's Helm chart repository:
helm repo add --force-update port-labs https://port-labs.github.io/helm-charts
  1. Install the Helm chart with your configuration:
helm install ocean-custom port-labs/port-ocean \
--set port.clientId="<PORT_CLIENT_ID>" \
--set port.clientSecret="<PORT_CLIENT_SECRET>" \
--set port.baseUrl="https://api.getport.io" \
--set initializePortResources=true \
--set scheduledResyncInterval=60 \
--set integration.identifier="ocean-custom" \
--set integration.type="custom" \
--set integration.eventListener.type="POLLING" \
--set integration.config.baseUrl="https://api.yourcompany.com" \
--set integration.config.authType="bearer_token" \
--set integration.secrets.apiToken="<YOUR_API_TOKEN>" \
--set integration.config.paginationType="page" \
--set integration.config.pageSize=100
Selecting a Port API URL by account region

The port_region, port.baseUrl, portBaseUrl, port_base_url and OCEAN__PORT__BASE_URL parameters select which Port API instance to use:

Health check endpoint

All Ocean integrations expose a health check endpoint at /docs.

For example, if your integration is accessible at https://your-integration-host:8000, you can access the health check at https://your-integration-host:8000/docs.

Configuration parameters

This table summarizes the available parameters for the installation.

ParameterDescriptionExampleRequired
port.clientIdYour port client id
port.clientSecretYour port client secret
port.baseUrlYour Port API URL - https://api.getport.io for EU, https://api.us.getport.io for US
integration.config.baseUrlThe root URL of your API (e.g., https://api.yourcompany.com)https://api.yourcompany.com
integration.config.authTypeAuthentication type: bearer_token, api_key, basic_auth, custom, or none. For custom authentication (OAuth2, JWT, etc.), see custom authenticationbearer_token
integration.secrets.apiTokenBearer token for authentication (required when authType is bearer_token)
integration.config.paginationTypePagination type: offset, page, cursor, or nonepage
integration.config.pageSizeNumber of items per page (for offset/page pagination)100
integration.config.timeoutRequest timeout in seconds (default: 30)30
integration.eventListener.typeThe event listener type. Read more about event listenersPOLLING
integration.typeThe integration to be installedcustom
scheduledResyncIntervalThe number of minutes between each resync. When not set the integration will resync for each event listener resync event. Read more about scheduledResyncInterval60
initializePortResourcesDefault true, When set to true the integration will create default blueprints and the port App config Mapping.true
sendRawDataExamplesEnable sending raw data examples from the third party API to port for testing and managing the integration mapping. Default is truetrue

Recommended resource sizes

To ensure optimal performance and avoid out-of-memory (OOM) errors, we recommend the following resources for this integration:

  • CPU Limit: 800m
  • CPU Request: 400m
  • Memory Limit: 4Gi
  • Memory Request: 4Gi

Set resource values

helm install my-integration port-labs/port-ocean \
# ... other parameters
--set ocean.resources.limits.cpu=800m \
--set ocean.resources.limits.memory=4Gi \
--set ocean.resources.requests.cpu=400m \
--set ocean.resources.requests.memory=4Gi

Authentication

The integration supports several authentication types:

  • Bearer token: Use authType: "bearer_token" with an API token
  • API key: Use authType: "api_key" with an API key and optional custom header name
  • Basic auth: Use authType: "basic_auth" with username and password
  • Custom authentication: Use authType: "custom" for OAuth2, JWT, and other dynamic token-based flows. See custom authentication for details.
  • None: Use authType: "none" for public APIs without authentication

Ready to build?

Head to build your integration for a step-by-step guide with an interactive configuration builder.

More resources

For all configuration options, code examples, and advanced use cases, check out the Ocean custom integration repository on GitHub.