You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: best_practices.md
+2-10Lines changed: 2 additions & 10 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,14 +1,6 @@
1
-
# Contributing to Port's documentation
1
+
# Port documentation style guide
2
2
3
-
Here you can find resources and guidelines on how to contribute to Port's documentation and how to correctly write and fix documentation content.
4
-
5
-
## How to contribute
6
-
7
-
The best way to suggest edits for an existing page is by using the "Edit this page" button at the bottom of most docs, this button will take you to the GitHub interface to make and propose changes.
8
-
9
-
If you want to add a new documentation page, please fork the repository and after adding the new docs, create a PR which will be reviewed by our team.
10
-
11
-
Contributions are very welcome. If you need help planning your contribution, feel free to ask us by opening an issue in this repository or by writing in our [community Slack](https://join.slack.com/t/getport/shared_invite/zt-1v5z1z1v-3~1Q1Q1).
3
+
This document details guidelines for contributing to Port's documentation, and demonstrates how to correctly write and review documentation content.
Copy file name to clipboardExpand all lines: docs/actions-and-automations/actions-and-automations.md
+2-3Lines changed: 2 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,10 +5,9 @@ import PortTooltip from "/src/components/tooltip/tooltip.jsx"
5
5
One of Port's core offerings is the ability to automate and simplify the processes and routines of your developers.
6
6
This is done using two powerful tools:
7
7
8
-
## 1. Self-service actions
8
+
## 1. Actions
9
9
10
-
Create a wide range of personalized, controlled actions that developers can use to scaffold a service, provision a cloud resource, or any other logic that serves your organization.
11
-
Self-service actions drive developer productivity by providing a consistent and repeatable way to perform common tasks, all with guardrails like manual approvals or consumption policies to comply with organizational standards.
10
+
Actions are executable pieces of logic that developers or AI agents can run. You can create a wide range of personalized, controlled actions to scaffold a service, provision a cloud resource, or any other logic that serves your organization. Actions drive developer productivity by providing a consistent and repeatable way to perform common tasks, all with guardrails like manual approvals or consumption policies to comply with organizational standards.
12
11
13
12
:::tip Live demo
14
13
For real-world examples of self-service actions, check out our [live demo](https://showcase.port.io/self-serve).
Copy file name to clipboardExpand all lines: docs/actions-and-automations/create-self-service-experiences/create-self-service-experiences.md
+5-3Lines changed: 5 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -14,7 +14,9 @@ import ExecuteActionLocations from '/docs/actions-and-automations/create-self-se
14
14
</center>
15
15
<br/>
16
16
17
-
Drive developer productivity by allowing developers to use self-service actions like scaffolding a service or provisioning a cloud resource. Developer self-service drives consistency and repeatability and ensures that their routines are intuitive and clear, all with guardrails like manual approvals or consumption policies to comply with organizational standards.
17
+
Actions are executable pieces of logic that either developers or AI agents can run. They drive developer productivity by enabling them to use actions like scaffolding a service or provisioning a cloud resource.
18
+
19
+
Actions drive consistency and repeatability and ensure that routines are intuitive and clear, all with guardrails like manual approvals or consumption policies to comply with organizational standards.
18
20
19
21
Port's action model is designed to be flexible and can be used to cover a wide range of use-cases:
20
22
@@ -24,7 +26,7 @@ Port's action model is designed to be flexible and can be used to cover a wide r
24
26
4.**Stateful** - every invoked action affects the software catalog by adding/modifying/deleting one or more entities.
25
27
5.**Secure by design** - does not require keys to sensitive infrastructure by using an event-based model. All actions are audited and can include guardrails like manual approval and TTL.
26
28
27
-
## 💡 Common self-service actions
29
+
## Common self-service actions
28
30
29
31
-[**Scaffold** a new service](https://docs.port.io/guides/all/scaffold-a-new-service/).
30
32
-[**Create** a cloud resource](https://docs.port.io/guides/all/create-cloud-resource-using-iac).
@@ -37,7 +39,7 @@ In our [live demo](https://showcase.port.io/self-serve), you can see examples fo
37
39
38
40
## How does it work?
39
41
40
-
1. A user **executes an action** from Port's UI interface.
42
+
1. A user or AI agent **executes an action** from Port's UI interface or through API calls.
41
43
2. A pre-defined **payload** containing any desired metadata about the action and its inputs is **sent** to your infrastructure.
42
44
3. A **job is triggered** and the user gets a **continuous indication** about its progress.
43
45
4. Once the action is running, you can use Port's API to **update Port on its status** and provide information such as **logs and links to the resulting handlers**.
Copy file name to clipboardExpand all lines: docs/actions-and-automations/create-self-service-experiences/set-self-service-actions-rbac/set-self-service-actions-rbac.md
+52Lines changed: 52 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -114,6 +114,58 @@ Add the `requiredApproval` field to your action:
114
114
</TabItem>
115
115
</Tabs>
116
116
117
+
## Configure visibility for action runs
118
+
119
+
When creating or editing a self-service action, you can also control who can **view its runs**, using the relevant toggle in the `Permissions` tab.
120
+
121
+
122
+
-**When enabled (default):** All organization members can view the action’s runs.
123
+
-**When disabled:**
124
+
-**Admins** can view all runs.
125
+
-**Approvers** can view runs they are assigned to approve.
126
+
-**Members** can only view their own runs.
127
+
128
+
This ensures that sensitive operational data remains accessible only to authorized users, while maintaining flexibility and transparency where needed.
Copy file name to clipboardExpand all lines: docs/actions-and-automations/reflect-action-progress/reflect-action-progress.md
+5Lines changed: 5 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -37,6 +37,11 @@ In addition to the methods mentioned above, `admins` can find action runs using
37
37
- Go the [entity page](/customize-pages-dashboards-and-plugins/page/entity-page.md) of your desired entity, then select the `Runs` tab.
38
38
This page will display all action runs that have been executed for the selected Entity.
39
39
40
+
## Who can view action runs
41
+
42
+
Run visibility is controlled by the action’s permissions. See [Configure visibility for action runs](/actions-and-automations/create-self-service-experiences/set-self-service-actions-rbac/#configure-visibility-for-action-runs) for details.
43
+
44
+
40
45
## Fetch an action run
41
46
42
47
Once an `actionRun` is created, it will have a unique `runId`. Using this id, you can interact with the action run using Port's API.
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:
14
8
15
9
<!-- TODO: add back the URLs here for changelog destination -->
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.
28
21
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.
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
+
:::
33
34
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
36
36
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.
38
38
39
-
To add an environment variable using the agent's Helm chart, either:
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.
`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.
73
207
74
208
For example:
75
209
```sh showLineNumbers
76
210
NO_PROXY=http://127.0.0.1,google.com
77
211
```
78
212
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).
114
214
115
215
## Next Steps
116
216
117
217
Follow one of the guides below:
118
218
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.
0 commit comments