You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
Go to file
erik 6e2d669af5 Prepare for improve of input validation
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.
2 years ago
.idea-configs refactor: *.k3s -> server 2 years ago
.run rename IntelliJ test tasks 2 years ago
doc Arch-Workshop 2 years ago
gradle/wrapper v0.8.33-SNAPSHOT - upd deps, fix fatJar Main class 3 years ago
src Prepare for improve of input validation 2 years ago
.gitignore add syspec 2 years ago
.gitlab-ci.yml release-0.9.18 - add pipeline artifacts for syspec 2 years ago
Dockerfile add Dockerfile 3 years ago
LICENSE update README.md 3 years ago
README.md add alias k=kubectl to k3s 2 years ago
build.gradle [skip ci] refactor installNextcloudClient in own file 2 years ago
desktop-config-example.yaml release-0.11.10 - rename workplace to desktop 2 years ago
gradle.properties run container tests in ci 3 years ago
gradlew initial commit 3 years ago
gradlew.bat initial commit 3 years ago
settings.gradle correct maven name to provs 3 years ago
° Update Annotations 2 years ago

README.md

provs

pipeline status

DeltaChat chat over e-mail | team@social.meissa-gmbh.de 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

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