Skip to content

Commit d632aa7

Browse files
authored
Merge branch 'main' into task_t3ex6y/update_pr_description_to_match_standards_guide
2 parents c208353 + 0d88135 commit d632aa7

File tree

79 files changed

+2444
-1239
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

79 files changed

+2444
-1239
lines changed

docs/actions-and-automations/setup-backend/webhook/port-execution-agent/usage.md

Lines changed: 157 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,7 @@ sidebar_position: 2
44

55
# Usage
66

7-
When using the execution agent, in the `url` field you need to provide a URL to a service (for example, a REST API) that will accept the invocation event.
8-
9-
- The service can be a private service running inside your private network;
10-
- Or, it can be a public accessible service from the public internet (**note** in this scenario, the execution agent needs corresponding outbound network rules that will allow it to contact the public service).
11-
12-
:::note
13-
**IMPORTANT**: To make use of the **Port execution agent**, you need to configure:
7+
To make use of the **Port execution agent**, you need to configure:
148

159
<!-- TODO: add back the URLs here for changelog destination -->
1610

@@ -22,37 +16,177 @@ For example:
2216
```json showLineNumbers
2317
{ "type": "WEBHOOK", "agent": true, "url": "URL_TO_API_INSIDE_YOUR_NETWORK" }
2418
```
25-
:::
2619

27-
Well Done! **Port Agent** is now running in your environment and will trigger any webhook that you've configured (for self-service actions, or changes in the software catalog).
20+
When using the execution agent, in the `url` field you need to provide a URL to a service (for example, a REST API) that will accept the invocation event.
2821

29-
When a new invocation is detected, the agent will pull it from your Kafka topic and forward it to the internal API in your private network.
22+
- The service can be a private service running inside your private network;
23+
- Or, it can be a public accessible service from the public internet (**note** in this scenario, the execution agent needs corresponding outbound network rules that will allow it to contact the public service).
24+
25+
Once configured, the Port Agent will run in your environment and trigger webhooks for self-service actions or software catalog changes.
26+
27+
When a new invocation is detected, the agent pulls it from your Kafka topic and forwards it to the internal API in your private network.
3028

3129
![Port Execution Agent Logs](/img/self-service-actions/port-execution-agent/portAgentLogs.png)
3230

31+
:::info Advanced configuration
32+
For a complete list of all available configuration parameters and their descriptions, see the [Port Agent Helm chart README](https://github.com/port-labs/helm-charts/tree/main/charts/port-agent).
33+
:::
3334

34-
## Advanced configuration
35-
Some environments require special configuration when working with the Port agent. This includes working with self-signed certificates and/or proxies.
35+
## Self-signed certificate configuration
3636

37-
Port's agent uses Python's [requests](https://requests.readthedocs.io/en/latest/) library. This allows passing advanced configuration using environment variables.
37+
For self-hosted 3rd-party applications with self-signed certificates, the agent can be configured to trust custom CA certificates. The `selfSignedCertificate` parameters control this behavior.
3838

39-
To add an environment variable using the agent's Helm chart, either:
39+
### Option 1: Provide certificate in Helm values
4040

41-
1. Using Helm's `--set` flag:
42-
```sh showLineNumbers
43-
helm upgrade --install <MY_INSTALLATION_NAME> port-labs/port-ocean \
41+
Use this option to provide the certificate content directly in your Helm values file or via the `--set-file` flag.
42+
43+
**How to use:**
44+
1. Set `selfSignedCertificate.enabled` to `true`
45+
2. Provide the certificate content in `selfSignedCertificate.certificate`
46+
3. Keep `selfSignedCertificate.secret.useExistingSecret` as `false` (default)
47+
48+
**Method A: Inline certificate in values.yaml**
49+
50+
Configure in your `values.yaml`:
51+
```yaml
52+
selfSignedCertificate:
53+
enabled: true
54+
certificate: |
55+
-----BEGIN CERTIFICATE-----
56+
<YOUR_CERTIFICATE_CONTENT>
57+
-----END CERTIFICATE-----
58+
secret:
59+
name: ""
60+
key: crt
61+
useExistingSecret: false
62+
```
63+
64+
Install with:
65+
```bash
66+
helm install my-port-agent port-labs/port-agent \
67+
--create-namespace --namespace port-agent \
68+
-f values.yaml
69+
```
70+
71+
**Method B: Reference certificate file using `--set-file`**
72+
73+
Configure in your `custom_values.yaml`:
74+
```yaml
75+
selfSignedCertificate:
76+
enabled: true
77+
certificate: ""
78+
secret:
79+
name: ""
80+
key: crt
81+
useExistingSecret: false
82+
```
83+
84+
Install with:
85+
```bash
86+
helm install my-port-agent port-labs/port-agent \
87+
--create-namespace --namespace port-agent \
88+
-f custom_values.yaml \
89+
--set selfSignedCertificate.enabled=true \
90+
--set-file selfSignedCertificate.certificate=/PATH/TO/CERTIFICATE.crt
91+
```
92+
93+
### Option 2: Use existing Kubernetes secret
94+
95+
Use this option to reference a pre-existing Kubernetes secret that you manage separately. The secret must contain the certificate data.
96+
97+
**How to use:**
98+
1. Set `selfSignedCertificate.enabled` to `true`
99+
2. Set `selfSignedCertificate.secret.useExistingSecret` to `true`
100+
3. Specify the secret name in `selfSignedCertificate.secret.name`
101+
4. Specify the key within the secret in `selfSignedCertificate.secret.key` (defaults to `crt`)
102+
5. Leave `selfSignedCertificate.certificate` empty
103+
104+
**Complete configuration:**
105+
```yaml
106+
selfSignedCertificate:
107+
enabled: true
108+
certificate: ""
109+
secret:
110+
name: my-ca-cert
111+
key: ca.crt
112+
useExistingSecret: true
113+
```
114+
115+
### Automatic configuration
116+
117+
When `selfSignedCertificate.enabled` is set to `true`, the Helm chart automatically:
118+
- Mounts the certificate to `/usr/local/share/ca-certificates/cert.crt`
119+
- Sets `SSL_CERT_FILE` and `REQUESTS_CA_BUNDLE` environment variables to point to the certificate
120+
121+
### Multiple certificates
122+
123+
For environments requiring multiple custom certificates, use the `extraVolumes` and `extraVolumeMounts` parameters alongside the built-in `selfSignedCertificate` feature. One certificate must be provided via `selfSignedCertificate`, and additional certificates can be mounted as extra volumes.
124+
125+
**Configuration:**
126+
```yaml
127+
selfSignedCertificate:
128+
enabled: true
129+
secret:
130+
name: primary-cert
131+
key: ca.crt
132+
useExistingSecret: true
133+
134+
extraVolumes:
135+
- name: additional-certs
136+
secret:
137+
secretName: secondary-certs
138+
extraVolumeMounts:
139+
- name: additional-certs
140+
mountPath: /usr/local/share/ca-certificates/cert2.crt
141+
subPath: cert2.crt
142+
readOnly: true
143+
```
144+
145+
:::info Certificate requirements
146+
- Each certificate must be provided in PEM format as a separate file
147+
- Certificates must be mounted to `/usr/local/share/ca-certificates/` with a `.crt` file extension
148+
:::
149+
150+
## Overriding configurations
151+
152+
When installing the Port Agent, you can override default values in the `helm upgrade` command:
153+
154+
By using the `--set` flag, you can override specific agent configuration parameters during agent installation/upgrade:
155+
156+
```bash showLineNumbers
157+
helm upgrade --install my-port-agent port-labs/port-agent \
158+
--create-namespace --namespace port-agent \
159+
--set env.normal.PORT_ORG_ID="YOUR_ORG_ID" \
160+
--set env.normal.KAFKA_CONSUMER_GROUP_ID="YOUR_CONSUMER_GROUP_ID" \
161+
--set env.secret.PORT_CLIENT_ID="YOUR_CLIENT_ID" \
162+
--set env.secret.PORT_CLIENT_SECRET="YOUR_CLIENT_SECRET" \
163+
--set secret.useExistingSecret=false \
164+
--set replicaCount=2 \
165+
--set resources.limits.memory="512Mi"
166+
```
167+
168+
## Extra environment variables
169+
170+
To pass extra environment variables to the agent's runtime, you can use the `env.normal` section for non-sensitive variables.
171+
172+
Using Helm's `--set` flag:
173+
```bash showLineNumbers
174+
helm upgrade --install my-port-agent port-labs/port-agent \
44175
# Standard installation flags
45176
# ...
46-
--set env.normal.VAR_NAME=VAR_VALUE
177+
--set env.normal.HTTP_PROXY=http://my-proxy.com:1111 \
178+
--set env.normal.HTTPS_PROXY=http://my-proxy.com:2222
47179
```
48180

49-
2. The Helm `values.yaml` file:
181+
Using the `values.yaml` file:
50182
```yaml showLineNumbers
51183
# The rest of the configuration
52184
# ...
53185
env:
54186
normal:
55-
VAR_NAME: VAR_VALUE
187+
HTTP_PROXY: "http://my-proxy.com:1111"
188+
HTTPS_PROXY: "http://my-proxy.com:2222"
189+
NO_PROXY: "127.0.0.1,localhost"
56190
```
57191

58192
### Proxy configuration
@@ -69,51 +203,17 @@ ALL_PROXY=http://my-proxy.com:3333
69203

70204
#### `NO_PROXY`
71205

72-
`NO_PROXY` allows blacklisting certain addresses from being handled through a proxy. This variable accepts a comma-seperated list of hostnames or urls.
206+
`NO_PROXY` allows blacklisting certain addresses from being handled through a proxy. This variable accepts a comma-separated list of hostnames or URLs.
73207

74208
For example:
75209
```sh showLineNumbers
76210
NO_PROXY=http://127.0.0.1,google.com
77211
```
78212

79-
For more information take a look at the Requests [proxy configuration documentation](https://requests.readthedocs.io/en/latest/user/advanced/#proxies).
80-
81-
### SSL Environment Configuration
82-
83-
### Certificate Configuration
84-
85-
#### Self-signed certificate
86-
87-
Use the following Helm values:
88-
- Set `selfSignedCertificate.enabled` to `true`.
89-
- Put your PEM-encoded CA content in `selfSignedCertificate.certificate`.
90-
91-
The certificate should be mounted to `/usr/local/share/ca-certificates/`.
92-
93-
`REQUESTS_CA_BUNDLE` is an environment variable used to specify a custom Certificate Authority (CA) bundle for verifying SSL/TLS certificates in HTTPS requests.
94-
95-
Set `REQUESTS_CA_BUNDLE` to the file path of your CA bundle, which should contain one or more CA certificates in PEM format.
96-
97-
For example:
98-
```sh
99-
REQUESTS_CA_BUNDLE=/path/to/cacert.pem
100-
```
101-
102-
This configuration directs the `requests` library to use the specified CA bundle for SSL/TLS certificate verification, overriding default system settings. It's useful for trusting self-signed certificates or certificates from a private CA.
103-
104-
#### Multiple certificates
105-
106-
Use the following Helm values:
107-
- Keep your certificate via `selfSignedCertificate` as above.
108-
- Add other certificates by supplying files via `extraVolumes` and mounting them with `extraVolumeMounts` into the container at `/usr/local/share/ca-certificates/<your-cert-name>.crt`.
109-
110-
:::info Certificate file requirements
111-
- Each certificate must be provided in a separate PEM file. Files containing multiple certificates are not supported.
112-
- Certificates must be mounted to `/usr/local/share/ca-certificates/` with a `.crt` file extension.
113-
:::
213+
For more information, see the Requests [proxy configuration documentation](https://requests.readthedocs.io/en/latest/user/advanced/#proxies).
114214

115215
## Next Steps
116216

117217
Follow one of the guides below:
118218

119-
- [GitLab Pipeline Trigger](/actions-and-automations/setup-backend/gitlab-pipeline/gitlab-pipeline.md) - Create an action that triggers GitLab Pipeline execution.
219+
- [GitLab Pipeline Trigger](/actions-and-automations/setup-backend/gitlab-pipeline/gitlab-pipeline.md) - Create an action that triggers GitLab Pipeline execution.

docs/api-reference/approve-an-action-run.api.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ description: "This route allows you to approve or decline a request to execute a
55
sidebar_label: "Approve an action run"
66
hide_title: true
77
hide_table_of_contents: true
8-
api: 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
8+
api: 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
99
sidebar_class_name: "patch api-method"
1010
info_path: api-reference/port-api
1111
custom_edit_url: null

0 commit comments

Comments
 (0)