- 필수 기능
- 시작하기
- Glossary
- 표준 속성
- Guides
- Agent
- 통합
- 개방형텔레메트리
- 개발자
- Administrator's Guide
- API
- Datadog Mobile App
- CoScreen
- Cloudcraft
- 앱 내
- 서비스 관리
- 인프라스트럭처
- 애플리케이션 성능
- APM
- Continuous Profiler
- 스팬 시각화
- 데이터 스트림 모니터링
- 데이터 작업 모니터링
- 디지털 경험
- 소프트웨어 제공
- 보안
- AI Observability
- 로그 관리
- 관리
Private Actions are in Preview. Use this form to request access today.
Request AccessPrivate actions allow your Datadog workflows and apps to interact with services hosted on your private network without exposing your services to the public internet. To use private actions, you must use Docker to install a private action runner on a host in your network, then pair the runner with a Datadog Connection.
For more information about how private actions work, see the full overview page.
The following integrations support private actions:
The private action runner requires a Linux host that is able to reach any internal services you want to call from an action or app.
To use App Builder with private actions, you must be able to point a hostname to the private action runner’s container. This hostname must be resolvable by your App users. App Builder calls the hostname using HTTPS, so you must bring your own SSL termination.
In addition, the host must have the following:
From the Private Action Runner page in Workflow Automation or App Builder, click New Private Action Runner. The installation steps differ depending on whether you want to install the runner for App Builder, Workflow Automation, or both App Builder and Workflow Automation.
Both App Builder and Workflow Automation
./config
. You can also use this directory to store any credentials required by the runner’s connection.Click Docker.
Run the provided docker run
command on your host, replacing ./config
with the path to the directory you created for the runner configuration.
You can safely ignore the error DATADOG TRACER DIAGNOSTIC - Agent Error: connect ECONNREFUSED
.
Click Docker Compose.
Create a docker-compose.yaml
file and add the provided YAML, or add the runner
stanza to an existing Docker Compose file. For information on creating a Docker Compose file, see the official Compose documentation.
Replace ./config
with the path to the directory you created for the runner configuration.
Run docker compose up -d
.
You can safely ignore the error DATADOG TRACER DIAGNOSTIC - Agent Error: connect ECONNREFUSED
.
kubectl
on your machine by running kubectl version
and verifying that there is output, then check the box on the Private Action Runner page.helm
on your machine by running helm version
and verifying that there is output, then check the box on the Private Action Runner page.values.yaml
file.kubectl get pods -w
and verify that the status of the Private Action Runner pod becomes Ready
.App Builder
./config
. You can also use this directory to store any credentials required by the runner’s connection.Click Docker.
Run the provided docker run
command on your host, replacing ./config
with the path to the directory you created for the runner configuration.
You can safely ignore the error DATADOG TRACER DIAGNOSTIC - Agent Error: connect ECONNREFUSED
.
Click Docker Compose.
Create a docker-compose.yaml
file and add the provided YAML, or add the runner
stanza to an existing Docker Compose file. For information on creating a Docker Compose file, see the official Compose docs.
Replace ./config
with the path to the directory you created for the runner configuration.
Run docker compose up -d
.
You can safely ignore the error: DATADOG TRACER DIAGNOSTIC - Agent Error: connect ECONNREFUSED
.
kubectl
on your machine by running kubectl version
and verifying that there is output, then check the box on the Private Action Runner page.helm
on your machine by running helm version
and verifying that there is output, then check the box on the Private Action Runner page.values.yaml
file.kubectl get pods -w
and verify that the status of the Private Action Runner pod becomes Ready
.Workflow Automation
./config
. You can also use this directory to store any credentials required by the runner’s connection.Click Docker.
Run the provided docker run
command on your host, replacing ./config
with the path to the directory you created for the runner configuration.
You can safely ignore the error DATADOG TRACER DIAGNOSTIC - Agent Error: connect ECONNREFUSED
.
Click Docker Compose.
Create a docker-compose.yaml
file and add the provided YAML, or add the runner
stanza to an existing Docker Compose file. For information on creating a Docker Compose file, see the official Compose docs.
Replace ./config
with the path to the directory you created for the runner configuration.
Run docker compose up -d
.
You can safely ignore the error DATADOG TRACER DIAGNOSTIC - Agent Error: connect ECONNREFUSED
.
kubectl
on your machine by running kubectl version
and verifying that there is output, then check the box on the Private Action Runner page.helm
on your machine by running helm version
and verifying that there is output, then check the box on the Private Action Runner page.values.yaml
file.kubectl get pods -w
and verify that the status of the Private Action Runner pod becomes Ready
.When you see the Ready to use status, you can create a new connection for the runner or see it on the Private Action Runners page:
See Connect a runner for more information on pairing your runner with a connection.
Before you can use an action runner, you must pair it with one or more connections.
To pair a runner to a connection:
To use a private action in your Workflow Automation workflow or App Builder app:
Workflow Automation
App Builder
From the Private Action Runner page in Workflow Automation or App Builder, you can view all of your private runners together with the workflows or apps that use each runner. To edit the connection for a runner, click View Details. Click the trash can icon to delete a runner.
To edit the allowlist for a Private Action Runner:
actionsAllowlist
section of the config.yaml
file in your runner’s environment and add or remove the relevant permissions.Available permissions
"com.datadoghq.ansible.invokePlaybook"
"com.datadoghq.http.request"
"com.datadoghq.jenkins.buildJenkinsJob" "com.datadoghq.jenkins.deleteJenkinsJob" "com.datadoghq.jenkins.getJobStatus"
"com.datadoghq.kubernetes.apps.createControllerRevision" "com.datadoghq.kubernetes.apps.createDaemonSet" "com.datadoghq.kubernetes.apps.createDeployment" "com.datadoghq.kubernetes.apps.createReplicaSet" "com.datadoghq.kubernetes.apps.createStatefulSet" "com.datadoghq.kubernetes.apps.deleteControllerRevision" "com.datadoghq.kubernetes.apps.deleteDaemonSet" "com.datadoghq.kubernetes.apps.deleteDeployment" "com.datadoghq.kubernetes.apps.deleteMultipleControllerRevisions" "com.datadoghq.kubernetes.apps.deleteMultipleDaemonSets" "com.datadoghq.kubernetes.apps.deleteMultipleDeployments" "com.datadoghq.kubernetes.apps.deleteMultipleReplicaSets" "com.datadoghq.kubernetes.apps.deleteMultipleStatefulSets" "com.datadoghq.kubernetes.apps.deleteReplicaSet" "com.datadoghq.kubernetes.apps.deleteStatefulSet" "com.datadoghq.kubernetes.apps.getControllerRevision" "com.datadoghq.kubernetes.apps.getDaemonSet" "com.datadoghq.kubernetes.apps.getDeployment" "com.datadoghq.kubernetes.apps.getReplicaSet" "com.datadoghq.kubernetes.apps.getStatefulSet" "com.datadoghq.kubernetes.apps.listControllerRevision" "com.datadoghq.kubernetes.apps.listDaemonSet" "com.datadoghq.kubernetes.apps.listDeployment" "com.datadoghq.kubernetes.apps.listReplicaSet" "com.datadoghq.kubernetes.apps.listStatefulSet" "com.datadoghq.kubernetes.apps.patchControllerRevision" "com.datadoghq.kubernetes.apps.patchDaemonSet" "com.datadoghq.kubernetes.apps.patchDeployment" "com.datadoghq.kubernetes.apps.patchReplicaSet" "com.datadoghq.kubernetes.apps.patchStatefulSet" "com.datadoghq.kubernetes.apps.restartDeployment" "com.datadoghq.kubernetes.apps.updateControllerRevision" "com.datadoghq.kubernetes.apps.updateDaemonSet" "com.datadoghq.kubernetes.apps.updateDeployment" "com.datadoghq.kubernetes.apps.updateReplicaSet" "com.datadoghq.kubernetes.apps.updateStatefulSet"
"com.datadoghq.kubernetes.core.createConfigMap" "com.datadoghq.kubernetes.core.createEndpoints" "com.datadoghq.kubernetes.core.createEvent" "com.datadoghq.kubernetes.core.createLimitRange" "com.datadoghq.kubernetes.core.createNamespace" "com.datadoghq.kubernetes.core.createNode" "com.datadoghq.kubernetes.core.createPersistentVolume" "com.datadoghq.kubernetes.core.createPersistentVolumeClaim" "com.datadoghq.kubernetes.core.createPod" "com.datadoghq.kubernetes.core.createPodTemplate" "com.datadoghq.kubernetes.core.createReplicationController" "com.datadoghq.kubernetes.core.createResourceQuota" "com.datadoghq.kubernetes.core.createService" "com.datadoghq.kubernetes.core.createServiceAccount" "com.datadoghq.kubernetes.core.deleteConfigMap" "com.datadoghq.kubernetes.core.deleteEndpoints" "com.datadoghq.kubernetes.core.deleteEvent" "com.datadoghq.kubernetes.core.deleteLimitRange" "com.datadoghq.kubernetes.core.deleteMultipleConfigMaps" "com.datadoghq.kubernetes.core.deleteMultipleEndpoints" "com.datadoghq.kubernetes.core.deleteMultipleEvents" "com.datadoghq.kubernetes.core.deleteMultipleLimitRanges" "com.datadoghq.kubernetes.core.deleteMultipleNodes" "com.datadoghq.kubernetes.core.deleteMultiplePersistentVolumeClaims" "com.datadoghq.kubernetes.core.deleteMultiplePersistentVolumes" "com.datadoghq.kubernetes.core.deleteMultiplePodTemplates" "com.datadoghq.kubernetes.core.deleteMultiplePods" "com.datadoghq.kubernetes.core.deleteMultipleReplicationControllers" "com.datadoghq.kubernetes.core.deleteMultipleResourceQuotas" "com.datadoghq.kubernetes.core.deleteMultipleServiceAccounts" "com.datadoghq.kubernetes.core.deleteNamespace" "com.datadoghq.kubernetes.core.deleteNode" "com.datadoghq.kubernetes.core.deletePersistentVolume" "com.datadoghq.kubernetes.core.deletePersistentVolumeClaim" "com.datadoghq.kubernetes.core.deletePod" "com.datadoghq.kubernetes.core.deletePodTemplate" "com.datadoghq.kubernetes.core.deleteReplicationController" "com.datadoghq.kubernetes.core.deleteResourceQuota" "com.datadoghq.kubernetes.core.deleteService" "com.datadoghq.kubernetes.core.deleteServiceAccount" "com.datadoghq.kubernetes.core.getConfigMap" "com.datadoghq.kubernetes.core.getEndpoints" "com.datadoghq.kubernetes.core.getEvent" "com.datadoghq.kubernetes.core.getLimitRange" "com.datadoghq.kubernetes.core.getNamespace" "com.datadoghq.kubernetes.core.getNode" "com.datadoghq.kubernetes.core.getPersistentVolume" "com.datadoghq.kubernetes.core.getPersistentVolumeClaim" "com.datadoghq.kubernetes.core.getPod" "com.datadoghq.kubernetes.core.getPodTemplate" "com.datadoghq.kubernetes.core.getReplicationController" "com.datadoghq.kubernetes.core.getResourceQuota" "com.datadoghq.kubernetes.core.getService" "com.datadoghq.kubernetes.core.getServiceAccount" "com.datadoghq.kubernetes.core.listConfigMap" "com.datadoghq.kubernetes.core.listEndpoints" "com.datadoghq.kubernetes.core.listEvent" "com.datadoghq.kubernetes.core.listLimitRange" "com.datadoghq.kubernetes.core.listNamespace" "com.datadoghq.kubernetes.core.listNode" "com.datadoghq.kubernetes.core.listPersistentVolume" "com.datadoghq.kubernetes.core.listPersistentVolumeClaim" "com.datadoghq.kubernetes.core.listPod" "com.datadoghq.kubernetes.core.listPodTemplate" "com.datadoghq.kubernetes.core.listReplicationController" "com.datadoghq.kubernetes.core.listResourceQuota" "com.datadoghq.kubernetes.core.listService" "com.datadoghq.kubernetes.core.listServiceAccount" "com.datadoghq.kubernetes.core.patchConfigMap" "com.datadoghq.kubernetes.core.patchEndpoints" "com.datadoghq.kubernetes.core.patchEvent" "com.datadoghq.kubernetes.core.patchLimitRange" "com.datadoghq.kubernetes.core.patchNamespace" "com.datadoghq.kubernetes.core.patchNode" "com.datadoghq.kubernetes.core.patchPersistentVolume" "com.datadoghq.kubernetes.core.patchPersistentVolumeClaim" "com.datadoghq.kubernetes.core.patchPod" "com.datadoghq.kubernetes.core.patchPodTemplate" "com.datadoghq.kubernetes.core.patchReplicationController" "com.datadoghq.kubernetes.core.patchResourceQuota" "com.datadoghq.kubernetes.core.patchService" "com.datadoghq.kubernetes.core.patchServiceAccount" "com.datadoghq.kubernetes.core.updateConfigMap" "com.datadoghq.kubernetes.core.updateEndpoints" "com.datadoghq.kubernetes.core.updateEvent" "com.datadoghq.kubernetes.core.updateLimitRange" "com.datadoghq.kubernetes.core.updateNamespace" "com.datadoghq.kubernetes.core.updateNode" "com.datadoghq.kubernetes.core.updatePersistentVolume" "com.datadoghq.kubernetes.core.updatePersistentVolumeClaim" "com.datadoghq.kubernetes.core.updatePod" "com.datadoghq.kubernetes.core.updatePodTemplate" "com.datadoghq.kubernetes.core.updateReplicationController" "com.datadoghq.kubernetes.core.updateResourceQuota" "com.datadoghq.kubernetes.core.updateService" "com.datadoghq.kubernetes.core.updateServiceAccount"
"com.datadoghq.postgresql.select"
"com.datadoghq.temporal.getWorkflowResult" "com.datadoghq.temporal.listWorkflows" "com.datadoghq.temporal.runWorkflow"