No description
Find a file
2022-01-21 13:03:48 +01:00
.idea-configs refactor: *.k3s -> server 2022-01-18 20:10:18 +01:00
docs v0.8.32 simplify cli 2021-12-27 21:17:19 +01:00
gradle/wrapper v0.8.33-SNAPSHOT - upd deps, fix fatJar Main class 2021-12-27 22:18:55 +01:00
src [skip ci] cleanup tests 2022-01-21 13:03:48 +01:00
.gitignore Introduce DDD & add terraform installation 2021-09-07 17:59:03 +02:00
.gitlab-ci.yml v0.8.28 fix ci for release 2021-12-04 11:25:16 +01:00
build.gradle [skip ci] v0.8.37-SNAPSHOT 2022-01-17 21:29:29 +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 refactor: core -> framework.core 2022-01-18 19:42:39 +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