No description
Find a 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.
2022-08-17 14:05:17 +02:00
.idea-configs refactor: *.k3s -> server 2022-01-18 20:10:18 +01:00
.run rename IntelliJ test tasks 2022-06-10 12:53:01 +02:00
doc Arch-Workshop 2022-07-08 16:15:10 +02:00
gradle/wrapper v0.8.33-SNAPSHOT - upd deps, fix fatJar Main class 2021-12-27 22:18:55 +01:00
src Prepare for improve of input validation 2022-08-17 14:05:17 +02:00
.gitignore add syspec 2022-03-25 15:21:11 +01:00
.gitlab-ci.yml release-0.9.18 - add pipeline artifacts for syspec 2022-03-26 12:07:16 +01:00
build.gradle [skip ci] refactor installNextcloudClient in own file 2022-07-20 19:42:16 +02:00
desktop-config-example.yaml release-0.11.10 - rename workplace to desktop 2022-06-16 22:57:08 +02:00
Dockerfile add Dockerfile 2021-02-25 20:11:00 +01:00
gradle.properties run container tests in ci 2021-02-25 19:57:06 +01:00
gradlew initial commit 2021-02-10 20:24:43 +01:00
gradlew.bat initial commit 2021-02-10 20:24:43 +01:00
LICENSE update README.md 2021-02-11 18:03:13 +01:00
README.md add alias k=kubectl to k3s 2022-05-29 18:10:24 +02:00
settings.gradle correct maven name to provs 2021-08-07 19:14:12 +02:00
° Update Annotations 2022-07-22 09:56:09 +02:00

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