No description
Find a file
2022-02-04 11:06:12 +01:00
.idea-configs refactor: *.k3s -> server 2022-01-18 20:10:18 +01:00
.run add prov installation for desktop 2022-02-03 21:11:36 +01:00
doc arch 2022-02-03 21:11:01 +01:00
gradle/wrapper v0.8.33-SNAPSHOT - upd deps, fix fatJar Main class 2021-12-27 22:18:55 +01:00
src fixed server resource path 2022-02-04 11:06:12 +01:00
.gitignore minor fixes 2022-02-02 18:21:45 +01:00
.gitlab-ci.yml release commits should not be snapshoot published 2022-02-01 18:54:21 +01:00
build.gradle rafactoring for provs-desktop 2022-02-03 09:06:03 +01: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
install-provs.sh [skip ci] add install script 2021-12-10 13:24:15 +01:00
LICENSE update README.md 2021-02-11 18:03:13 +01:00
README.md alling doc name 2022-02-01 09:33:23 +01:00
settings.gradle correct maven name to provs 2021-08-07 19:14:12 +02:00
WorkplaceConfigExample.yaml [skip ci] add WorkplaceConfigExample.yaml 2021-12-30 21:59:09 +01:00

Provs framework

Provs is a framework for automating tasks for provisioning reasons and other purposes.

It 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

Write once, run everywhere

Tasks can be run

  • locally
  • remotely
  • in a local docker container
  • in a remote container

Additionally, it is possible to define a custom processor if needed.

Usage

Prerequisites

Show usage options

java -jar provs.jar -h

Provision a desktop workplace locally

Ensure a config file is in place (default config file name is "WorkplaceConfig.yaml") with at least the workplace type specified, e.g. type: MINIMAL

Possible types are currently: MINIMAL, OFFICE or IDE.

Run:

java -jar provs.jar -l

Provision a desktop workplace remotely

java -jar provs.jar -i -r <ip> -u <remote_username>

You'll be prompted for the password of the remote user.

Provision k3s

java -jar provs-server.jar -i -r <ip or hostname> -u <remote_username>
# Example:
java -jar provs-server.jar -i -r 192.168.56.141 -u testuser

You'll be prompted for the password of the remote user.

For developers

Build the jar-file yourself

  • Clone this repo
  • Build the fatjar file by ./gradlew fatJarLatest
  • In folder build/libs you'll find the file provs.jar

The fatjar is a Java jar-file incl. all required dependencies.

Sequence diagram

Find below an example of a sequence diagram when provisioning a workplace:

img.png