2022-02-25 16:03:55 +00:00
|
|
|
# provs
|
|
|
|
[![pipeline status](https://gitlab.com/domaindrivenarchitecture/provs/badges/master/pipeline.svg)](https://gitlab.com/domaindrivenarchitecture/provs/-/commits/master)
|
2021-11-25 09:36:05 +00:00
|
|
|
|
2022-02-25 16:03:55 +00:00
|
|
|
[<img src="https://domaindrivenarchitecture.org/img/delta-chat.svg" width=20 alt="DeltaChat"> chat over e-mail](mailto:buero@meissa-gmbh.de?subject=community-chat) | [<img src="https://meissa-gmbh.de/img/community/Mastodon_Logotype.svg" width=20 alt="team@social.meissa-gmbh.de"> team@social.meissa-gmbh.de](https://social.meissa-gmbh.de/@team) | [Website & Blog](https://domaindrivenarchitecture.org)
|
2021-11-25 09:36:05 +00:00
|
|
|
|
2022-02-25 16:03:55 +00:00
|
|
|
## Purpose
|
2021-11-25 09:36:05 +00:00
|
|
|
|
2022-02-26 20:20:07 +00:00
|
|
|
provs provides cli-based tooling for provisioning desktop // server
|
|
|
|
* provs-desktop minimal - provides a minimal setup (e.g. swappiness / randomutils) e.g. for setup on a VirtualBox
|
|
|
|
* provs-desktop office - provides enhancements like zim / gopass / fakturama
|
2022-02-25 16:03:55 +00:00
|
|
|
* provs-desktop ide - provides development environments for java / kotlin / python / clojure / terraform
|
2022-02-26 20:20:07 +00:00
|
|
|
* provs-server k3s - provides a production ready & k3s setup with dualstack option
|
2021-11-25 09:36:05 +00:00
|
|
|
|
2022-02-25 16:03:55 +00:00
|
|
|
In general provs 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
|
2021-02-11 17:03:13 +00:00
|
|
|
|
2022-02-25 16:03:55 +00:00
|
|
|
## Status
|
2021-02-11 17:03:13 +00:00
|
|
|
|
2022-02-26 20:20:07 +00:00
|
|
|
under development - we are working hard on setting up our environments using provs.
|
2021-02-11 17:03:13 +00:00
|
|
|
|
2022-02-25 16:03:55 +00:00
|
|
|
## Try out
|
2021-11-25 09:36:05 +00:00
|
|
|
### 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
|
2021-11-25 09:36:05 +00:00
|
|
|
|
2022-02-25 16:03:55 +00:00
|
|
|
### provs-desktop
|
2021-11-25 09:36:05 +00:00
|
|
|
|
2022-02-25 13:35:39 +00:00
|
|
|
`provs-desktop.jar <type> <target> [<options>]`
|
2021-11-25 09:36:05 +00:00
|
|
|
|
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)
|
2021-11-25 09:36:05 +00:00
|
|
|
|
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
|
2022-02-25 14:05:26 +00:00
|
|
|
* if password is omitted but option `-p` is provided, then the password will be prompted interactively
|
2021-11-25 09:36:05 +00:00
|
|
|
|
2022-02-25 13:35:39 +00:00
|
|
|
**options**
|
|
|
|
* `-p` for interactive password question
|
2021-11-25 09:36:05 +00:00
|
|
|
|
2022-02-25 13:35:39 +00:00
|
|
|
### Examples
|
|
|
|
#### Provision a basic desktop workplace locally
|
2021-11-25 09:36:05 +00:00
|
|
|
|
2022-02-25 16:06:02 +00:00
|
|
|
```bash
|
|
|
|
provs-desktop.jar basic local`
|
|
|
|
```
|
2021-11-25 09:36:05 +00:00
|
|
|
|
2022-02-25 13:35:39 +00:00
|
|
|
#### Provision an office desktop workplace remotely
|
|
|
|
|
2022-02-25 16:06:02 +00:00
|
|
|
```bash
|
|
|
|
provs-desktop.jar office myuser@myhost.com -p`
|
|
|
|
```
|
2022-02-25 13:35:39 +00:00
|
|
|
|
|
|
|
You'll be prompted for the password of the remote user due to option `-p`.
|
2021-11-25 09:36:05 +00:00
|
|
|
|
2022-01-18 18:42:39 +00:00
|
|
|
### Provision k3s
|
2021-12-04 11:41:38 +00:00
|
|
|
|
|
|
|
```bash
|
2022-02-25 13:35:39 +00:00
|
|
|
provs-server.jar k3s myuser@myhost.com
|
2021-12-04 11:41:38 +00:00
|
|
|
```
|