| team@social.meissa-gmbh.de | Website & Blog
This crate works with:
This crate builds on top of the dda-managed-vm and therefore provides a development environment in addition to all the software packages and tools the dda-managed-vm installs.
This crate automatically installs software on a Linux system. The target can be a standalone system but in most cases we prefer virtual machines as they offer snapshots and easy relocation.
We separated our configuration conventions in a layer called "domain-layer". As conventions are simple data-transformation adjusting this domain layer to your own conventions will be very easy.
The dda-managed-ide installs the following packages in addition to the packages of the managed-vm:
This crate installs and configures software on your target system. You can provision pre-created virtual machines (see paragraph "Prepare vm" below), standalone systems or cloud instances.
There are two options to provision dda-managed-ide. You can provision remote over ssh or localy. In order to provision over ssh you need a running opennssh-server on your target. If you do not already have a running ssh service use the steps below to install it
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install openssh-server
If you want to provision by a local jar file you need a java runtime environment installed on your target system. If you do not already have java installed you can follow the steps below to install it:
sudo apt-get install openjdk-11-jre-headless
java -jar dda-managed-ide-standalone.jar.jar --targets example-targets.edn example-ide.edn
If you want to install the ide on your localhost you don't need a target config.
java -jar dda-managed-ide-standalone.jar.jar example-ide.edn
The configuration consists of two files defining both WHERE to install the software and WHAT to install.
You can download examples of these configuration files from example-targets.edn and example-ide.edn, respectively.
Example content of the file 'example-targets.edn':
{:existing [{:node-name "test-vm1" ; semantic name
:node-ip "35.157.19.218"}] ; the ip4 address of the machine to be provisioned
:provisioning-user
{:login "initial" ; account used to provision
:password {:plain "secure1234"}}} ; optional password, if no ssh key is authorized
Example content of the file, 'example-ide.edn':
{:target-type :virtualbox
:clojure {:lein-auth [{:repo "maven.my-repo.com"
:username {:plain "mvn-account"}
:password {:plain "mvn-password"}}]}
:java {}
:java-script {:nodejs-use "11.x"}
:bigdata {}
:devops {:aws {:simple {:id {:plain "ACCESS_KEY"}
:secret {:plain "SECRET_KEY"}}}}
:ide-platform #{:atom}
:user {:name "test-user"
:password {:plain "xxx"}
:email "test-user@mydomain.org"
:ssh {:ssh-public-key {:plain "rsa-ssh kfjri5r8irohgn...test.key comment"}
:ssh-private-key {:plain "123Test"}}
:gpg {:gpg-public-key
{:plain "-----BEGIN PGP ...."
:gpg-private-key
{:plain "-----BEGIN PGP ...."}
:gpg-passphrase {:plain "passphrase"}}}}
The ide config creates a new user with the provided credentials and installs the defined software and packages for the new user.
In case any problems occur you may want to have a look at the log-file: 'less logs/pallet.log'
Some details about the architecture: We provide two levels of API. Domain is a high-level API with built-in conventions. If these conventions do not fit your needs you can use our low-level infra API and realize your own conventions.
You can define provisioning targets using the targets-schema
You can use our conventions as a starting point: see domain reference
Or you can build your own conventions using our low level infra API. We will keep this API backward compatible whenever possible: see infra reference
Copyright © 2015, 2016, 2017, 2018 meissa GmbH Published under apache2.0 license
Can you improve this documentation? These fine people already did:
jem, Michael Jerger, M.Jerger, Lucca Hellriegel, scl, krj, Lukas Schondorff, Luccr1, lukas, Clemens Geibel & luccr1Edit on GitHub
cljdoc is a website building & hosting documentation for Clojure/Script libraries
× close