summaryrefslogtreecommitdiff
path: root/clusters/mason.morph.in
diff options
context:
space:
mode:
authorSam Thursfield <sam.thursfield@codethink.co.uk>2016-04-11 17:57:57 +0100
committerSam Thursfield <sam.thursfield@codethink.co.uk>2016-04-15 18:58:27 +0100
commit25041b86249fe763fd4171e2ab1aca535b3eb14f (patch)
treeacaa7a5268ff1aa796d1ca1a519cc0ddc4ac3d5c /clusters/mason.morph.in
parent467bb8299ddc051855acb2093fd371e3423a0515 (diff)
downloaddefinitions-25041b86249fe763fd4171e2ab1aca535b3eb14f.tar.gz
Add a simple templating system to Baserock definitionssam/easy-templating
This is currently independent of the actual definitions format. The 'configure' tool generates actual .morph files from .morph.in files, and build tools then operate on these generated .morph files.t This is largely untested and no doubt broken!
Diffstat (limited to 'clusters/mason.morph.in')
-rw-r--r--clusters/mason.morph.in56
1 files changed, 56 insertions, 0 deletions
diff --git a/clusters/mason.morph.in b/clusters/mason.morph.in
new file mode 100644
index 00000000..376cf337
--- /dev/null
+++ b/clusters/mason.morph.in
@@ -0,0 +1,56 @@
+name: example-mason-cluster
+kind: cluster
+description: |
+ This is a template cluster morphology that can be adapted to set up a
+ Mason. Masons are composed of a trove and a distbuild system.
+
+ It is suggested that you use mason/mason-generator.sh to adapt this
+ template to suit your needs. It also handles the generation of
+ keys to let the systems communicate.
+systems:
+- morph: systems/trove-system-x86_64.morph
+ deploy:
+ red-box-v1-trove:
+ type: extensions/kvm
+ location: kvm+ssh://vm-user@vm-host/red-box-v1-trove/vm-path/red-box-v1-trove.img
+ AUTOSTART: true
+ DISK_SIZE: 20G
+ HOSTNAME: red-box-v1-trove
+ LORRY_SSH_KEY: ssh_keys/lorry.key
+ MASON_SSH_PUBKEY: ssh_keys/mason.key.pub
+ RAM_SIZE: 8G
+ TROVE_ADMIN_EMAIL: adminuser@example.com
+ TROVE_ADMIN_NAME: Nobody
+ TROVE_ADMIN_SSH_PUBKEY: ssh_keys/id_rsa.pub
+ TROVE_ADMIN_USER: adminuser
+ TROVE_COMPANY: Company name goes here
+ TROVE_HOST: red-box-v1
+ TROVE_ID: red-box-v1-trove
+ UPSTREAM_TROVE: upstream-trove
+ VCPUS: 2
+ VERSION_LABEL: 45
+ WORKER_SSH_PUBKEY: ssh_keys/worker.key.pub
+- morph: systems/build-system-x86_64.morph
+ deploy-defaults:
+ ARTIFACT_CACHE_SERVER: red-box-v1-trove.example.com
+ CONTROLLERHOST: red-box-v1-controller.example.com
+ DISTBUILD_CONTROLLER: false
+ DISTBUILD_WORKER: true
+ INSTALL_FILES: install-files/distbuild/manifest
+ RAM_SIZE: 8G
+ TROVE_HOST: upstream-trove
+ TROVE_ID: upstream-trove
+ VCPUS: 2
+ WORKER_SSH_KEY: ssh_keys/worker.key
+ deploy:
+ red-box-v1-controller:
+ type: extensions/kvm
+ location: kvm+ssh://vm-user@vm-host/red-box-v1-controller/vm-path/red-box-v1-controller.img
+ DISK_SIZE: 60G
+ DISTBUILD_CONTROLLER: true
+ HOSTNAME: red-box-v1-controller
+ MASON_CLUSTER_MORPHOLOGY: clusters/ci.morph
+ MASON_DEFINITIONS_REF: master
+ MASON_DISTBUILD_ARCH: x86_64
+ MASON_TEST_HOST: vm-user@vm-host:/vm-path/
+ WORKERS: red-box-v1-controller