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
ansgarz 4601f7eb24 0.9.8-SNAPSHOT 2 years ago
.idea-configs refactor: *.k3s -> server 2 years ago
.run add prov installation for desktop 2 years ago
doc defined verbs for provs domain 2 years ago
gradle/wrapper v0.8.33-SNAPSHOT - upd deps, fix fatJar Main class 3 years ago
src refactor gopass, change gopass config to latest format, omit configureGopass if config already in place 2 years ago
.gitignore minor fixes 2 years ago
.gitlab-ci.yml release commits should not be snapshoot published 2 years ago
Dockerfile add Dockerfile 3 years ago
LICENSE update README.md 3 years ago
README.md alling doc name 2 years ago
WorkplaceConfigExample.yaml [skip ci] add WorkplaceConfigExample.yaml 3 years ago
build.gradle 0.9.8-SNAPSHOT 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
install-provs.sh [skip ci] add install script 3 years ago
settings.gradle correct maven name to provs 3 years ago

README.md

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