diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..9df75fe --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,12 @@ +name: ci + +on: + push: + branches: [main] + pull_request: + +jobs: + ci: + uses: vista-cloud-dev/.github/.github/workflows/go-ci.yml@main + arch: + uses: vista-cloud-dev/.github/.github/workflows/arch-waterline.yml@main diff --git a/dist/v-registry.json b/dist/v-registry.json index 9ed9457..6041bf2 100644 --- a/dist/v-registry.json +++ b/dist/v-registry.json @@ -163,6 +163,117 @@ "help": "Path to the kids/\u003cpkg\u003e.build.json build spec." } ] + }, + { + "path": [ + "install" + ], + "help": "Install a built .KID on a live engine over the driver (non-interactive KIDS load+install).", + "flags": [ + { + "name": "engine", + "type": "enum", + "enum": [ + "ydb", + "iris" + ], + "required": true, + "help": "Engine to reach: ydb or iris." + }, + { + "name": "transport", + "type": "enum", + "enum": [ + "local", + "docker", + "remote" + ], + "default": "remote", + "help": "Driver transport: local | docker | remote." + } + ], + "args": [ + { + "name": "kid-file", + "type": "string", + "required": true, + "help": "Path to the built .KID transport file to install on the live engine." + } + ] + }, + { + "path": [ + "verify" + ], + "help": "Verify a .KID's install on a live engine (#9.7 status + per-routine presence).", + "flags": [ + { + "name": "engine", + "type": "enum", + "enum": [ + "ydb", + "iris" + ], + "required": true, + "help": "Engine to reach: ydb or iris." + }, + { + "name": "transport", + "type": "enum", + "enum": [ + "local", + "docker", + "remote" + ], + "default": "remote", + "help": "Driver transport: local | docker | remote." + } + ], + "args": [ + { + "name": "kid-file", + "type": "string", + "required": true, + "help": "Path to the .KID whose install to verify (its name + routines)." + } + ] + }, + { + "path": [ + "uninstall" + ], + "help": "Uninstall a .KID from a live engine (routine-only back-out: routines + #9.7/#9.6).", + "flags": [ + { + "name": "engine", + "type": "enum", + "enum": [ + "ydb", + "iris" + ], + "required": true, + "help": "Engine to reach: ydb or iris." + }, + { + "name": "transport", + "type": "enum", + "enum": [ + "local", + "docker", + "remote" + ], + "default": "remote", + "help": "Driver transport: local | docker | remote." + } + ], + "args": [ + { + "name": "kid-file", + "type": "string", + "required": true, + "help": "Path to the .KID whose install to reverse (routine-only back-out)." + } + ] } ] } diff --git a/go.mod b/go.mod index 3bb34d1..9486076 100644 --- a/go.mod +++ b/go.mod @@ -4,7 +4,7 @@ go 1.26.3 require ( github.com/alecthomas/kong v1.15.0 - github.com/vista-cloud-dev/v-pkg v0.0.0-00010101000000-000000000000 + github.com/vista-cloud-dev/v-pkg v0.1.0 github.com/willabides/kongplete v0.4.0 ) @@ -24,9 +24,8 @@ require ( github.com/posener/complete v1.2.3 // indirect github.com/rivo/uniseg v0.4.7 // indirect github.com/riywo/loginshell v0.0.0-20200815045211-7d26008be1ab // indirect + github.com/vista-cloud-dev/m-driver-sdk v0.3.0 // indirect github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e // indirect golang.org/x/sys v0.44.0 // indirect golang.org/x/term v0.43.0 // indirect ) - -replace github.com/vista-cloud-dev/v-pkg => ../v-pkg diff --git a/go.sum b/go.sum index 84ce838..87081ec 100644 --- a/go.sum +++ b/go.sum @@ -52,6 +52,10 @@ github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+ github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= +github.com/vista-cloud-dev/m-driver-sdk v0.3.0 h1:RudBmVTutjVPur0mF9sFxv7tBpCa2L78DD5GZuB8KGI= +github.com/vista-cloud-dev/m-driver-sdk v0.3.0/go.mod h1:0Qkz38Qhgyr5nYQeqgthkMHt4zVJMN3j79Kfr+THtpw= +github.com/vista-cloud-dev/v-pkg v0.1.0 h1:ygeKrr8sz7bu4P7d58+gnxSdme+uhvgttgJZaNf13nY= +github.com/vista-cloud-dev/v-pkg v0.1.0/go.mod h1:nd0cXSKEYDqas2nZzRdTF6DzpQap+nylIdzBE7xntkg= github.com/willabides/kongplete v0.4.0 h1:eivXxkp5ud5+4+NVN9e4goxC5mSh3n1RHov+gsblM2g= github.com/willabides/kongplete v0.4.0/go.mod h1:0P0jtWD9aTsqPSUAl4de35DLghrr57XcayPyvqSi2X8= github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e h1:JVG44RsyaB9T2KIHavMF/ppJZNG9ZpyihvCd0w101no= diff --git a/repo.meta.json b/repo.meta.json new file mode 100644 index 0000000..a73f88c --- /dev/null +++ b/repo.meta.json @@ -0,0 +1,12 @@ +{ + "id": "tool:v-cli", + "repo": "https://github.com/vista-cloud-dev/v-cli", + "role": "The `v` CLI umbrella — VistA developer tooling (v pkg/db/config/…) aggregated under one binary", + "language": ["go"], + "layer": "v", + "license": "AGPL-3.0", + "exposes": { + "registry": "dist/v-registry.json" + }, + "verification_commands": ["go test ./...", "./dist/m arch check ."] +}