defenseunicorns / maru-runner

The Unicorn Task Runner
Apache License 2.0
8 stars 0 forks source link

Add `internal` task property to denote non-callable/non-listable #26

Open rjferguson21 opened 3 months ago

rjferguson21 commented 3 months ago

Is your feature request related to a problem? Please describe

With the addition of callable child tasks, every included task is accessible from the parent. This creates a lot of noise for users trying to discover which tasks are intended to be consumed directly.

Describe the solution you'd like

An additional task property (internal) which is a bool and denotes whether or not the ask could be called from the CLI, and would also control if a task was listed with maru run --list

Describe alternatives you've considered

We could potentially do nothing and maybe that would be ok for most people. Go-Task only shows tasks with --list if the task has a description which is an interesting option.

Additional context

Existing situation over in uds-core

(⎈|k3d-uds:default) uds-core (main) ✗ maru run --list
Name                      | Description
dev-setup                 |
dev-deploy                |
setup-cluster             |
registry-login            |
create-single-package     |
create-standard-package   |
deploy-single-package     |
test-single-package       |
test-single-package-istio |
test-uds-core             |
test-uds-core-upgrade     |
lint-check                |
lint-fix                  |

(⎈|k3d-uds:default) uds-core (main) ✗ maru run --list-all
Name                          | Description
dev-setup                     |
dev-deploy                    |
setup-cluster                 |
registry-login                |
create-single-package         |
create-standard-package       |
deploy-single-package         |
test-single-package           |
test-single-package-istio     |
test-uds-core                 |
test-uds-core-upgrade         |
lint-check                    |
lint-fix                      |
create:standard-package       | Create the UDS Core Zarf Package
create:k3d-standard-bundle    | Create the K3d-UDS Core Bundle
create:istio-package          | Create the UDS Core (Istio Only) Zarf Package
create:k3d-istio-bundle       | Create the K3d-UDS Core (Istio Only) Bundle
create:single-package         | Create a single Zarf Package, must set UDS_PKG environment variable
create:pepr-build             | Build the UDS Core Pepr Module
setup:create-k3d-cluster      |
setup:k3d-test-cluster        |
deploy:k3d-standard-bundle    |
deploy:k3d-istio-bundle       |
deploy:single-package         |
deploy:latest-package-release |
deploy:standard-package       |
test:single-package           | Build and test a single package, must set UDS_PKG environment variable
test:validate-packages        | Validated all packages
test:uds-core                 | Build and test UDS Core
test:uds-core-upgrade         | Test an upgrade from the latest released UDS Core package to current branch
lint:fix                      | Fix formatting issues in the repo
lint:check                    | Run linting checks
common-setup:k3d-test-cluster |
common-setup:registry-login   |