| DevOps Hacking with Clojure | Website & Blog
Compatibility
Features
Usage Summary
Detailed How-to
Configuration
Targets config example
Git config example
Reference-Targets
Reference-Domain-API
Reference-Infra-API
License
dda-pallet is compatible to the following versions
This crate can clone & manage git repositories in name of defined users on target systems. Features are:
curl -L -o dda-git-crate.jar https://github.com/DomainDrivenArchitecture/dda-git-crate/releases/download/2.1.0/dda-git-crate-2.1.0-standalone.jar
).git.edn
(Domain-Schema for your desktop) and target.edn
(Schema for Targets to be provisioned) according to the reference and our example configurations. Please create them in the same folder where you've saved the jar-file. For more information about these files refer to the corresponding information below.java -jar dda-git-crate.jar --targets targets.edn git.edn
You can find a more detailed howto here: https://domaindrivenarchitecture.org/posts/2017-07-28-compose-crates/
The configuration consists of two files defining both WHERE to install the software and WHAT to install.
targets.edn
: describes on which target system(s) the software will be installedgit.edn
: describes which repositories will be installedYou can download examples of these configuration files from
example-targets.edn and
example-serverspec.edn respectively.
Example content of file 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 file git.edn
:
{:initial
{:user-email "initial@some-domain.org"
:repo {:books
[{:host "github.com"
:orga-path "DomainDrivenArchitecture"
:repo-name "ddaArchitecture"
:protocol :https
:server-type :github}]
:dda-pallet
[{:host "github.com"
:orga-path "DomainDrivenArchitecture"
:repo-name "dda-serverspec-crate"
:protocol :https
:server-type :github}
:synced-repo {:password-store
[{:host "github.com"
:orga-path "DomainDrivenArchitecture"
:repo-name "password-store-for-teams"
:protocol :https
:server-type :github}]}}}
If you want to clone your repositories with https from a private git server, you need to add your credentials to your git.edn
file. You also need to add a :port, if it differs from 22 or 443. For example:
{:initial
{:user-email "initial@some-domain.org"
:credential [{:user-name {:plain "initial"}
:password {:plain "githubpassword"}
:host "gitserver.de"
:port 123
:protocol :https}]}}
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.
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 Licensed under the Apache License, Version 2.0 (the "License") Pls. find licenses of our subcomponents here
Can you improve this documentation?Edit on GitHub
cljdoc is a website building & hosting documentation for Clojure/Script libraries
× close