Apply config change
apply_config_changeApply project, service, or pipeline configuration changes through a safe-operation flow with human approval and audit trail.
Instructions
Apply a config upsert through the local agent safe-operation flow.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| kind | Yes | ||
| project | No | ||
| service | No | Service config. Set service.language (go, node, python) as the service implementation language; it is required for local managed runtime.type=language deployments. For remote deployments, deployments[].host_ids must contain canonical non-self Host.id values returned by list_hosts, not host name/display name. | |
| pipeline | No | Project pipeline config. Key fields: `variables` are pipeline-wide defaults (strings). `environments` is a map of env name -> { variables } that OVERRIDE defaults per environment (precedence: project < pipeline < pipeline.pipeline < environments[env] < run vars); the same pipeline serves multiple environments by overriding only the differing variables. `sync_mode` declares how build artifacts reach targets: "transfer" (agent uploads the packaged artifact) or "remote_cmd" (the target host runs a command such as git pull to fetch code itself); empty defaults to transfer. `roles` maps a role/run-group name to a host list (run groups); a role entry uses {from_service} to derive hosts from a service's deployment for the running env, or {hosts:[...]} for an explicit set. Only plugins that need to target a specific group (e.g. nginx upstream) reference roles; most deploy steps follow the env deployment targets automatically. Any host_ids, roles hosts, or task host_id values must use canonical non-self Host.id values returned by list_hosts, not host names. | |
| root_path | No | ||
| project_id | No | ||
| project_name | No | ||
| approval_token | No | ||
| debug_session_id | No |