| DevOps Hacking with Clojure | Website & Blog
This crate is part of dda-pallet.
dda-pallet is compatible to the following versions
This crate provisions over ssh or local a smeagol wiki to a plain ubuntu system. One shoot provisioning is supported but also continuous configuration application is possible.
Part of the installation is:
curl -L -o dda-smeagol-standalone.jar https://github.com/DomainDrivenArchitecture/dda-smeagol-crate/releases/download/0.1.0/dda-smeagol-standalone.jar
)smeagol.edn
(Domain-Schema for your smeagol server) and target.edn
(Schema for target systems 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.java -jar dda-smeagol-standalone.jar --targets targets.edn smeagol.edn
If you want to install smeagol on your localhost you don't need a target config.
java -jar dda-smeagol-standalone.jar smeagol.edn
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 installeduser.edn
: describes which software/packages will be installedYou can download examples of these configuration files from https://github.com/DomainDrivenArchitecture/dda-smeagol-crate/blob/master/targets.edn and https://github.com/DomainDrivenArchitecture/dda-smeagol-crate/blob/master/smeagol.edn respectively.
Example content of the file, targets.edn
:
{:existing [{:node-name "target1" ; semantic name (keep the default or use a name that suits you)
:node-ip "192.168.56.104"}] ; the ip4 address of the machine to be provisioned
{:node-name "target2" ; semantic name (keep the default or use a name that suits you)
:node-ip "192.168.56.105"}] ; the ip4 address of the machine to be provisioned
:provisioning-user {:login "initial" ; user on the target machine, must have sudo rights
:password {:plain "secure1234"}}} ; password can be ommited, if a ssh key is authorized
Example content of the file, smeagol.edn
:
{:user {:name :smeagol
:passwd {:plain "xxx"} ; smeagol user pwd on os level
:ssh
{:ssh-authorized-keys [{:plain "ssh-rsa AAAA..LL comment"}] ; ssh authorized keys
:ssh-key {:public-key {:plain "ssh-rsa AAAA..LL comment"} ; ssh-key for git sync
:private-key {:plain "SOME_PRIVATE_SSH_KEY"}}}}
:git-credential
{:host "github.com" ; credentials for content repo
:protocol :ssh
:user-name {:plain "smeagol"}}
:git-content-repo ; the content repo spec
{:host "github.com" ; e.g. for github. Gitlab or gitblit will also work.
:orga-path "DomainDrivenArchitecture"
:repo-name "dda"
:protocol :ssh
:server-type :github}
:server-fqdn "a.server.name" ; the httpd server name
:smeagol-users
{:admin {:admin true, ; smeagol users
:email "admin@localhost",
:password "admin" {:plain "admin"}}}}
In case of problems you may want to have a look at the log-file:
less logs/pallet.log
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 © 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