provs/README.md

72 lines
2 KiB
Markdown
Raw Normal View History

# Provs framework
Provs is a framework for automating tasks for provisioning reasons and other purposes.
It combines
* being able to use the power of shell commands
* a clear and detailed result summary of the built-in execution handling (incl. failure handling and reporting)
* the convenience and robustness of a modern programming language
### Write once, run everywhere
Tasks can be run
* locally
* remotely
* in a local docker container
* in a remote container
Additionally, it is possible to define a custom processor if needed.
2021-02-11 17:03:13 +00:00
## Usage
### Prerequisites
* A **Java Virtual machine** (JVM) is required.
2022-02-25 13:35:39 +00:00
* Install `jarwrapper` (e.g. `sudo apt install jarwrapper`)
* Download the latest `provs-desktop.jar` from: https://gitlab.com/domaindrivenarchitecture/provs/-/releases
* Make the jar-file executable by `chmod +x provs-desktop.jar`
* For server functionality (e.g. k3s) download the latest `provs-server.jar` from: https://gitlab.com/domaindrivenarchitecture/provs/-/releases
2022-02-25 13:35:39 +00:00
### Usage format
2022-02-25 13:35:39 +00:00
`provs-desktop.jar <type> <target> [<options>]`
2022-02-25 13:35:39 +00:00
**type** can be:
* basic - install some basic packages)
* office - install office software (LibreOffice), E-Mail (Thunderbird), etc
* ide - same as office with additionally ide-software (VSCode, IntelliJ, etc)
2022-02-25 13:35:39 +00:00
**target** can be:
* `local`
* `user123:mypassword@myhost.com` - general format is: <user[:password]@host> -
* if password is omitted, then ssh-keys will be used for authentication
* if password is omitted but option `-p` is provided, then the password will be prompted interactively
2022-02-25 13:35:39 +00:00
**options**
* `-p` for interactive password question
2022-02-25 13:35:39 +00:00
#### Show usage options
2022-02-25 13:35:39 +00:00
`provs-desktop.jar -h`
2022-02-25 13:35:39 +00:00
### Examples
2022-02-25 13:35:39 +00:00
#### Provision a basic desktop workplace locally
2022-02-25 13:35:39 +00:00
`provs-desktop.jar basic local`
2022-02-25 13:35:39 +00:00
#### Provision an office desktop workplace remotely
`provs-desktop.jar office myuser@myhost.com -p`
You'll be prompted for the password of the remote user due to option `-p`.
2022-01-18 18:42:39 +00:00
### Provision k3s
```bash
2022-02-25 13:35:39 +00:00
provs-server.jar k3s myuser@myhost.com
```