erik
6e2d669af5
We now check application and config files before starting provisioning process. We also check serverType and target validity before starting. This happens in unified manner in the main function. |
||
---|---|---|
.idea-configs | ||
.run | ||
doc | ||
gradle/wrapper | ||
src | ||
.gitignore | ||
.gitlab-ci.yml | ||
build.gradle | ||
desktop-config-example.yaml | ||
Dockerfile | ||
gradle.properties | ||
gradlew | ||
gradlew.bat | ||
LICENSE | ||
README.md | ||
settings.gradle | ||
° |
provs
chat over e-mail | team@social.meissa-gmbh.de | Website & Blog
Purpose
provs provides cli-based tooling for provisioning desktop or server resp. perform system checks.
- 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
- provs-desktop ide - provides development environments for java / kotlin / python / clojure / terraform
- provs-server k3s - provides a production ready & k3s setup with dualstack option
- provs-syspec - verifies a system according to the provided system spec config file
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
Status
under development - we are working hard on setting up our environments using provs.
Try out
Prerequisites
- A Java Virtual machine (JVM) is required.
- 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
provs-desktop
provs-desktop.jar <type> <target> [<options>]
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)
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
options
-p
for interactive password question
Provision a desktop
provs-desktop.jar basic local
# or an office desktop remote:
provs-desktop.jar office myuser@myhost.com -p
In the last case you'll be prompted for the password of the remote user due to option -p
.
Provision k3s
provs-server.jar k3s local
# or remote:
provs-server.jar k3s myuser@myhost.com # using ssh-authentication - alternatively use option -p for password authentication
For the remote server please configure a config file (default file name: server-config.yaml)
fqdn: "myhostname.com"
node:
ipv4: "192.168.56.123" # ip address
echo: true # for demo reasons only - deploys an echo app
To add a grafana agent to your k3s installation add the following to the config:
grafana:
user: "myusername" # username for the grafana data source
password:
source: "PLAIN" # PLAIN, GOPASS or PROMPT
parameter: "mypassword" # the password or api key for the grafana data source user
cluster: "mycluster" # a cluster name of your choice
To provision the grafana agent only to an existing k8s system, ensure that the config (as above) is available and execute:
provs-server.jar k3s myuser@myhost.com -o grafana
Performing a system check
The default config-file for the system check is syspec-config.yaml
, you can specify a different file with option -c <config-file>
.
provs-syspec.jar local
# or remote:
provs-syspec.jar myuser@myhost.com
Get help
To get help you can make use of the -h
option:
provs-desktop.jar -h
provs-server.jar -h
provs-syspec.jar -h
Or to get help for subcommands e.g.
provs-desktop.jar ide -h
provs-server.jar k3s -h