No description
Find a file
2022-06-14 19:41:09 +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 update doc 2022-04-19 19:37:25 +02:00
gradle/wrapper v0.8.33-SNAPSHOT - upd deps, fix fatJar Main class 2021-12-27 22:18:55 +01:00
src replace DesktopType by extendable class 2022-06-14 19:22:39 +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 release-0.11.9 2022-06-14 19:41:09 +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
WorkplaceConfigExample.yaml add modules to desktop cli 2022-02-22 22:36:48 +01: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