Skip to content

Commit caf478e

Browse files
authored
Merge branch 'main' into PORT-add-images-to-security-ai
2 parents 6fc2ee8 + fc73574 commit caf478e

File tree

18 files changed

+849
-448
lines changed

18 files changed

+849
-448
lines changed

.github/workflows/sync-docs-with-mapping-config.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ jobs:
3434
ref: main
3535

3636
- name: Set up Python
37-
uses: actions/setup-python@v5
37+
uses: actions/setup-python@v6
3838
with:
3939
python-version: "3.10"
4040

.github/workflows/verify-docs-build.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ jobs:
2222
with:
2323
persist-credentials: true
2424
- name: Install dependencies
25-
uses: actions/setup-node@v4
25+
uses: actions/setup-node@v5
2626
with:
2727
node-version: lts/*
2828
cache: npm

docs/actions-and-automations/create-self-service-experiences/security/security.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ When Port makes outbound calls (for example when using the [Webhook](/actions-an
1212

1313
Port outbound calls will originate from one of the following IP addresses:
1414

15-
```text showLineNumbers
16-
44.221.30.248, 44.193.148.179, 34.197.132.205, 3.251.12.205, 34.252.219.131, 54.75.236.107
15+
```text
16+
US - 44.221.30.248, 44.193.148.179, 34.197.132.205
17+
EU - 3.251.12.205, 34.252.219.131, 54.75.236.107
1718
```

docs/api-reference/change-a-webhook.api.mdx

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

docs/api-reference/change-scorecards.api.mdx

Lines changed: 2 additions & 2 deletions
Large diffs are not rendered by default.

docs/api-reference/create-an-action-automation.api.mdx

Lines changed: 2 additions & 2 deletions
Large diffs are not rendered by default.
Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
1-
| Parameter | Description | Required |
2-
| ------------------------------------- | ------------------------------------------------------------------------------------------------------------------ | -------- |
3-
| `OCEAN__PORT__CLIENT_ID` | Your port client id ||
4-
| `OCEAN__PORT__CLIENT_SECRET` | Your port client secret ||
5-
| `OCEAN__PORT__BASE_URL` | Your Port API URL - `https://api.getport.io` for EU, `https://api.us.getport.io` for US ||
6-
| `OCEAN__SECRET__AZURE_CLIENT_ID` | Your Azure client ID ||
7-
| `OCEAN__SECRET__AZURE_CLIENT_SECRET` | Your Azure client secret ||
8-
| `OCEAN__SECRET__AZURE_TENANT_ID` | Your Azure tenant ID ||
9-
| `OCEAN__INITIALIZE_PORT_RESOURCES` | Default true, When set to false the integration will not create default blueprints and the port App config Mapping ||
10-
| `OCEAN__SEND_RAW_DATA_EXAMPLES` | Enable sending raw data examples from the third party API to port for testing and managing the integration mapping. Default is true ||
11-
| `OCEAN__INTEGRATION__IDENTIFIER` | Change the identifier to describe your integration, if not set will use the default one ||
1+
| Parameter | Description | Required |
2+
| ------------------------------------- | ------------------------------------------------------------------------------------------------------------------- | -------- |
3+
| `OCEAN__PORT__CLIENT_ID` | Your port client id. ||
4+
| `OCEAN__PORT__CLIENT_SECRET` | Your port client secret. ||
5+
| `OCEAN__PORT__BASE_URL` | Your Port API URL - `https://api.getport.io` for EU, `https://api.us.getport.io` for US. ||
6+
| `OCEAN__SECRET__AZURE_CLIENT_ID` | Your Azure client ID. ||
7+
| `OCEAN__SECRET__AZURE_CLIENT_SECRET` | Your Azure client secret. ||
8+
| `OCEAN__SECRET__AZURE_TENANT_ID` | Your Azure tenant ID. ||
9+
| `OCEAN__INITIALIZE_PORT_RESOURCES` | Default true, When set to false the integration will not create default blueprints and the port App config Mapping. ||
10+
| `OCEAN__SEND_RAW_DATA_EXAMPLES` | Enable sending raw data examples from the third party API to port for testing and managing the integration mapping. Default is true. ||
11+
| `OCEAN__INTEGRATION__IDENTIFIER` | Change the identifier to describe your integration, if not set will use the default one. ||

docs/build-your-software-catalog/sync-data-to-catalog/cloud-providers/azure/installation.md

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -325,6 +325,65 @@ kubectl apply -f azure-integration.yaml
325325

326326
</TabItem>
327327

328+
<TabItem value="gitlab" label="GitLab">
329+
330+
Make sure to [configure the following GitLab variables](https://docs.gitlab.com/ee/ci/variables/#for-a-project):
331+
332+
| Parameter | Description | Required |
333+
| --------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- | -------- |
334+
| `OCEAN__PORT__CLIENT_ID` | Your port client id. | ✅ |
335+
| `OCEAN__PORT__CLIENT_SECRET` | Your port client secret. | ✅ |
336+
| `OCEAN__PORT__BASE_URL` | Your Port API URL - `https://api.getport.io` for EU, `https://api.us.getport.io` for US. | ✅ |
337+
| `OCEAN__INTEGRATION__CONFIG__AZURE_CLIENT_ID` | The client ID of the Azure App Registration. | ✅ |
338+
| `OCEAN__INTEGRATION__CONFIG__AZURE_CLIENT_SECRET` | The client secret of the Azure App Registration. | ✅ |
339+
| `OCEAN__INTEGRATION__CONFIG__AZURE_TENANT_ID` | The tenant ID of the Azure App Registration. | ✅ |
340+
| `OCEAN__INITIALIZE_PORT_RESOURCES` | Default true, when set to false the integration will not create default blueprints and the port App config mapping. | ❌ |
341+
| `OCEAN__SEND_RAW_DATA_EXAMPLES` | Enable sending raw data examples from the third party API to port for testing and managing the integration mapping. Default is true. | ❌ |
342+
| `OCEAN__EVENT_LISTENER` | [The event listener object](https://ocean.getport.io/framework/features/event-listener/). | ❌ |
343+
344+
<br/>
345+
346+
Here is an example for `.gitlab-ci.yml` pipeline file:
347+
348+
```yaml showLineNumbers
349+
default:
350+
image: docker:24.0.5
351+
services:
352+
- docker:24.0.5-dind
353+
before_script:
354+
- docker info
355+
356+
variables:
357+
INTEGRATION_TYPE: azure
358+
VERSION: latest
359+
360+
stages:
361+
- ingest
362+
363+
ingest_data:
364+
stage: ingest
365+
variables:
366+
IMAGE_NAME: ghcr.io/port-labs/port-ocean-$INTEGRATION_TYPE:$VERSION
367+
script:
368+
- |
369+
docker run -i --rm --platform=linux/amd64 \
370+
-e OCEAN__PORT__CLIENT_ID=$PORT_CLIENT_ID \
371+
-e OCEAN__PORT__CLIENT_SECRET=$PORT_CLIENT_SECRET \
372+
-e OCEAN__PORT__BASE_URL="https://api.port.io" \
373+
-e OCEAN__INITIALIZE_PORT_RESOURCES=true \
374+
-e OCEAN__SEND_RAW_DATA_EXAMPLES=true \
375+
-e OCEAN__EVENT_LISTENER='{"type": "ONCE"}' \
376+
-e OCEAN__INTEGRATION__CONFIG__AZURE_CLIENT_ID="Enter value here" \
377+
-e OCEAN__INTEGRATION__CONFIG__AZURE_CLIENT_SECRET="Enter value here" \
378+
-e OCEAN__INTEGRATION__CONFIG__AZURE_TENANT_ID="Enter value here" \
379+
$IMAGE_NAME
380+
381+
rules: # Run only when changes are made to the main branch
382+
- if: '$CI_COMMIT_BRANCH == "main"'
383+
```
384+
385+
</TabItem>
386+
328387
</Tabs>
329388

330389
</TabItem>

docs/build-your-software-catalog/sync-data-to-catalog/git/gitlab-v2/GitLab-v2.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,17 @@ resources:
118118
119119
</details>
120120
121+
## Access control
121122
123+
The GitLab integration supports configurable access control to determine which resources are visible and accessible to the integration.
124+
125+
You can configure access control using the `visibility` configuration block in the integration mapping.
126+
127+
This allows you to filter resources based on GitLab access levels (Guest, Reporter, Developer, Maintainer, Owner). You can also disable access level filtering entirely to include all accessible resources.
128+
129+
:::tip Access control configuration
130+
For detailed configuration options, access level reference, and practical examples, see the [Advanced configuration](./advanced.md#access-control) section.
131+
:::
122132

123133
## Capabilities
124134

docs/build-your-software-catalog/sync-data-to-catalog/git/gitlab-v2/advanced.md

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,4 +59,67 @@ The `createMissingRelatedEntities` parameter enables automatic creation of place
5959

6060
</TabItem>
6161

62+
<TabItem value="accessControl" label="Access control">
63+
64+
The `visibility` configuration allows you to control which GitLab resources are accessible to the integration based on access levels.
65+
66+
<h3>Access levels</h3>
67+
68+
GitLab uses numeric access levels to define permissions:
69+
70+
| Level | Role | Description |
71+
|-------|------|-------------|
72+
| 10 | Guest | Read-only access to public resources |
73+
| 20 | Reporter | Can view and download code |
74+
| 30 | Developer | Can push code and manage issues |
75+
| 40 | Maintainer | Can manage project settings |
76+
| 50 | Owner | Full administrative access |
77+
78+
<h3>Parameters</h3>
79+
80+
- **`useMinAccessLevel`**: Boolean flag to enable/disable access level filtering
81+
- **Default value**: `true`
82+
- **Use case**: Set to `false` to include all accessible resources without filtering
83+
84+
- **`minAccessLevel`**: Integer specifying the minimal required access level
85+
- **Default value**: `30` (Developer)
86+
- **Use case**: Restrict integration to resources where the token has the specified access level or higher
87+
88+
<h3>Configuration examples</h3>
89+
90+
```yaml showLineNumbers
91+
# Only sync owned projects
92+
visibility:
93+
useMinAccessLevel: true
94+
minAccessLevel: 50
95+
resources:
96+
- kind: project
97+
selector:
98+
query: 'true'
99+
port:
100+
entity:
101+
mappings:
102+
identifier: .path_with_namespace | gsub(" "; "")
103+
title: .name
104+
blueprint: '"service"'
105+
```
106+
107+
```yaml showLineNumbers
108+
# Include all accessible resources
109+
visibility:
110+
useMinAccessLevel: false
111+
resources:
112+
- kind: project
113+
selector:
114+
query: 'true'
115+
port:
116+
entity:
117+
mappings:
118+
identifier: .path_with_namespace | gsub(" "; "")
119+
title: .name
120+
blueprint: '"service"'
121+
```
122+
123+
</TabItem>
124+
62125
</Tabs>

0 commit comments

Comments
 (0)