Ctrl K
ComunidadGuías…

specs/042-ssh-run.md

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
# Spec: SSH Run Action

## Status

Partially implemented.

Conformance covers action configuration without an SSH server. Authentication,
remote shell behavior, and cancellation belong in executor unit and integration
tests.

## Scope

This spec defines the configuration boundary for `ssh.run`.
It does not define SSH protocol behavior, host-key management, SFTP transfers,
or the lifetime of remote processes after disconnection.

## Goal

Workflow authors can validate an SSH command before connecting to its host.

## Behavior

`ssh.run` accepts connection fields under `with` and requires `with.command`.
The command follows [Spec 014: Step Run Command](014-step-run-command.md).
`dagu validate` accepts a configured SSH action without contacting the host or
requiring its private key to exist locally.
DAG-level `ssh` supplies connection defaults for `ssh.run`. Its string fields
resolve Dagu-owned references as defined by
[Spec 003: Value Resolution](003-value-resolution.md).

## Errors

Omitting `with.command` fails validation with a diagnostic naming that field.

## Examples

```yaml
steps:
  - action: ssh.run
    with:
      host: example.invalid
      user: deploy
      key: ~/.ssh/id_ed25519
      command: echo hello
```