go-ansible/cmd/ansible/cmd.go

47 lines
1.3 KiB
Go
Raw Permalink Normal View History

package ansiblecmd
import (
"dappco.re/go/core"
)
// Register registers the `ansible` command and its `ansible/test` subcommand.
//
// Example:
//
// var app core.Core
// Register(&app)
func Register(c *core.Core) {
c.Command("ansible", core.Command{
Description: "Run Ansible playbooks natively (no Python required)",
Action: runPlaybookCommand,
Flags: core.NewOptions(
core.Option{Key: "inventory", Value: ""},
2026-04-02 00:27:36 +00:00
core.Option{Key: "i", Value: ""},
core.Option{Key: "limit", Value: ""},
2026-04-02 00:27:36 +00:00
core.Option{Key: "l", Value: ""},
core.Option{Key: "tags", Value: ""},
2026-04-02 00:27:36 +00:00
core.Option{Key: "t", Value: ""},
core.Option{Key: "skip-tags", Value: ""},
core.Option{Key: "extra-vars", Value: ""},
2026-04-02 00:27:36 +00:00
core.Option{Key: "e", Value: ""},
core.Option{Key: "verbose", Value: 0},
2026-04-02 00:27:36 +00:00
core.Option{Key: "v", Value: false},
core.Option{Key: "check", Value: false},
2026-04-01 20:22:39 +00:00
core.Option{Key: "diff", Value: false},
),
})
c.Command("ansible/test", core.Command{
Description: "Test SSH connectivity to a host",
Action: runSSHTestCommand,
Flags: core.NewOptions(
core.Option{Key: "user", Value: "root"},
2026-04-02 00:27:36 +00:00
core.Option{Key: "u", Value: "root"},
core.Option{Key: "password", Value: ""},
core.Option{Key: "key", Value: ""},
2026-04-01 23:24:17 +00:00
core.Option{Key: "i", Value: ""},
core.Option{Key: "port", Value: 22},
),
})
}