summaryrefslogtreecommitdiffhomepage
path: root/tools/unitctl (follow)
AgeCommit message (Collapse)AuthorFilesLines
2024-09-17tools/unitctl: change reload to restartAva Hahn3-4/+4
Signed-off-by: Ava Hahn <a.hahn@f5.com> Signed-off-by: Andrew Clayton <a.clayton@nginx.com>
2024-09-17tools/unitctl: adjust readme for socket addressesGabor Javorszky2-2/+3
CONTROL_SOCKET_ADDRESS is singular, adds note that the flag can be specified multiple times, and adjusts code to print CONTROL_SOCKET_ADDRESS as singular. Signed-off-by: Gabor Javorszky <g.javorszky@f5.com> Signed-off-by: Andrew Clayton <a.clayton@nginx.com>
2024-09-17tools/unitctl: add export subcommand to readmeGabor Javorszky1-0/+1
Signed-off-by: Gabor Javorszky <g.javorszky@f5.com> Signed-off-by: Andrew Clayton <a.clayton@nginx.com>
2024-09-17tools/unitctl: rename UNIT -> UnitGabor Javorszky8-15/+15
The correct capitalisation of the name of the software is Unit, not all caps. Signed-off-by: Gabor Javorszky <g.javorszky@f5.com> [ A bunch more s/UNIT/Unit/ - Andrew ] Signed-off-by: Andrew Clayton <a.clayton@nginx.com>
2024-09-16tools/unitctl: rename app -> apps, fix readmeGabor Javorszky3-4/+5
Signed-off-by: Gabor Javorszky <g.javorszky@f5.com>
2024-09-16tools/unitctl: whitespace fixesGabor Javorszky1-5/+17
Signed-off-by: Gabor Javorszky <g.javorszky@f5.com>
2024-09-16unitctl: Don't track unit-openapi/.openapi-generator/Andrew Clayton3-156/+1
The two files under unit-openapi/.openapi-generator/, FILES and VERSIONS are auto-generated. Signed-off-by: Andrew Clayton <a.clayton@nginx.com>
2024-08-01tools/unitctl: make application directory configurableAva Hahn4-12/+23
* default behavior is now a read write application mount * use can specify a flag (-r) to mount app dir as read only Signed-off-by: Ava Hahn <a.hahn@f5.com>
2024-08-01tools/unitctl: reword freeform message for outputGabor Javorszky1-6/+6
2024-08-01tools/unitctl: make json-pretty default output fmtGabor Javorszky1-2/+2
2024-08-01tools/unitctl: remove (default) from option textGabor Javorszky1-6/+6
2024-07-29tools/unitctl: update readmeAva Hahn1-6/+8
Signed-off-by: Ava Hahn <a.hahn@f5.com>
2024-07-29tools/unitctl: update readmeAva Hahn1-10/+84
Signed-off-by: Ava Hahn <a.hahn@f5.com>
2024-07-29build(deps): bump openssl from 0.10.64 to 0.10.66 in /tools/unitctldependabot[bot]1-4/+4
Bumps [openssl](https://github.com/sfackler/rust-openssl) from 0.10.64 to 0.10.66. - [Release notes](https://github.com/sfackler/rust-openssl/releases) - [Commits](https://github.com/sfackler/rust-openssl/compare/openssl-v0.10.64...openssl-v0.10.66) --- updated-dependencies: - dependency-name: openssl dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com>
2024-07-08tools/unitctl: Enable Multi Socket SupportAva Hahn12-202/+282
This commit refactors the CLI code to accept multiple instances of the control socket flag. All subcommands except for edit and save now support being run against multiple specified instances of unitd. * control_socket_addresses CLI field is now a vector * centralize error related logic into the error module * wait_for_socket now returns a vector of sockets. all sockets in vector are waited upon and validated * extraneous code is removed * applications, execute, import, listeners, and status commands all run against N control sockets now * edit and save commands return error when run against a single control socket Signed-off-by: Ava Hahn <a.hahn@f5.com>
2024-06-19tools/unitctl: unitctl exportAva Hahn7-22/+130
* new subcommand for "export" in CLI * new cmd submodule for exporting config tarballs * logic to also output to stdout * README additions * limitations documented Signed-off-by: Ava Hahn <a.hahn@f5.com>
2024-06-18tools/unitctl: implement application subcommandAva Hahn14-136/+251
* application subcommand UI schema * application subcommand handler * additions to unit-client-rs to expose application API * elaborate on OpenAPI error handling * adds wasm and wasi app schemas to OpenAPI Schema * updates tools/unitctl OpenAPI library * many linter fixes * README.md updates Signed-off-by: Ava Hahn <a.hahn@f5.com>
2024-05-20tools/unitctl: Replace format! with .to_string()Gabor Javorszky1-1/+1
2024-05-20tools/unitctl: Replace matching image name to matching commandGabor Javorszky1-3/+4
Closes #1254 Matching to the `unitd` command is a far more reliable way to filtering docker instances that are running Unit.
2024-05-14ci: Add unit testing to unitctl CI workflowAva Hahn1-0/+1
* fix a few misspellings in unitctl CI workflow * add unit testing job * exclude unitd integration test from unit tests * add workflow dispatch trigger * add calls to get workflow dispatch version Signed-off-by: Ava Hahn <a.hahn@f5.com>
2024-05-09Add unitctl build and release CIDylan Arbour1-0/+1
Adds a GitHub Actions workflow that builds and releases unitctl binaries when a tag prefixed with `unitctl/` is pushed. Binaries are built on pull-requests that change any files within `tools/unitctl`, on `master` branch pushes and when `unitctl/` prefixed tags are pushed.
2024-05-08tools/unitctl: enable passing IP addresses to the 'instances new' commandAva Hahn7-81/+235
* use path seperator constant from rust std package * pass a ControlSocket into deploy_new_container instead of a string * parse and validate a ControlSocket from argument to instances new * conditionally mount control socket only if its a unix socket * use create_image in a way that actually pulls nonpresent images * possibly override container command if TCP socket passed in * handle more weird error cases * add a ton of validation cases in the CLI command handler * add a nice little progress bar :) Signed-off-by: Ava Hahn <a.hahn@f5.com>
2024-05-08tools/unitctl: clean up control socket implsAva Hahn1-87/+87
Signed-off-by: Ava Hahn <a.hahn@f5.com>
2024-05-08tools/unitctl: Update host_path() to account for OSX special behaviourAva Hahn2-9/+32
Signed-off-by: Ava Hahn <a.hahn@f5.com>
2024-05-08tools/unitctl: Improve quality of life on osxAva Hahn2-9/+23
* unit-client-rs Mac build fix * elaborate in Readme on build requirements with examples for Mac users. Signed-off-by: Ava Hahn <a.hahn@f5.com>
2024-05-08tools/unitctl: Readme fixesAva Hahn1-12/+12
* fix Unit spelling in Readme * remove trailiing whitespace Signed-off-by: Ava Hahn <a.hahn@f5.com>
2024-05-08tools/unitctl: temporarily ignore issues with autogenerated readmeAva Hahn1-0/+1
Suggested-by: Andrew Clayton <a.clayton@nginx.com> Signed-off-by: Ava Hahn <a.hahn@f5.com>
2024-05-08tools/unitctl: Add new functionality to README.md and fmt codeAva Hahn6-108/+140
Signed-off-by: Ava Hahn <a.hahn@f5.com>
2024-05-08tools/unitctl: Add Docker deployment functionalityAva Hahn3-10/+108
* add UnitdDockerError type * write complete procedure to deploy unit via docker * additional tweaks verifying it fails peacefully * print important information in client Signed-off-by: Ava Hahn <a.hahn@f5.com>
2024-05-08tools/unitctl: API Plumbing for docker deploymentsAva Hahn4-27/+91
* refactored "instance" command out of enum * plumbed through function stub from client library * error handling Signed-off-by: Ava Hahn <a.hahn@f5.com>
2024-05-08tools/unitctl: Initial Docker ProceduresAva Hahn17-185/+990
* move UnitdProcess serialization logic into UnitdProcess * filter out docker processes from process output on Linux * initial implementation of a UnitdContainer type * initial implementation of a docker container search for unitd * pull out custom openapi future executor and use same tokio runtime as docker client * refactor openapi client to not manage its own tokio runtime * process mount points per docker container * correctly output docker container info in relevant unitd instances * create UnitdProcess from UnitdContainer * UnitdProcess now owns UnitdContainer * get and parse container details from docker API * introduce procedure to rewrite file paths based on docker container mounts * test path rewrite facilities * apply path rewrite to unix socket Signed-off-by: Ava Hahn <a.hahn@f5.com>
2024-04-30tools: Add unitctl CLIAva Hahn54-0/+7212
* Pull in entire unit-rust-sdk project * not included: CLA, COC, License * not included: duplicate openapi spec * not included: CI workflows * not included: changelog tooling * not included: commitsar tooling * not included: OpenAPI Web UI feature * update links in unitctl manpage * remove IDE configuration from .gitignore * rename Containerfile.debian to Dockerfile * simplify call to uname * keep Readmes and Makefiles to 80 character lines * outline specifically how to build unitctl for any desired target, and where to then find the binary for use * remove a section on the vision of the CLI which was superfluous given the state of completeness of the code and its use in unit * remove out of date feature proposals from readme * makefile: do not run when Rustup is not present * bump mio version to latest * generate openapi client library on demand * generate-openapi only runs when not present * generate-openapi now a dependency of binary build targets * deleted autogenerated code * reverted readme and Cargo document to autogenerated state * add additional build requirement to Readme Co-developed-by: Elijah Zupancic <e.zupancic@f5.com> Signed-off-by: Elijah Zupancic <e.zupancic@f5.com> Signed-off-by: Ava Hahn <a.hahn@f5.com> Reviewed-by: Andrew Clayton <a.clayton@nginx.com> # non rust stuff [ tools/cli => tools/unitctl and subject tweak - Andrew ] Signed-off-by: Andrew Clayton <a.clayton@nginx.com>