Skip to content

Instantly share code, notes, and snippets.

View geofffranks's full-sized avatar

Geoff Franks geofffranks

  • Nowhere in particular
View GitHub Profile
@geofffranks
geofffranks / spruce.json
Created January 27, 2018 13:20
a bit o' spruce, from http://play.spruce.cf
{"flavor":"1.14.0","prune":["meta"],"env":["HOME=/home/user"],"cherry_pick":[],"yaml":[{"filename":"file1.yml","contents":"---\nspruce-1-14:\n days: 3\n hours: (( calc \"3 * 24\" ))\n minutes: (( calc \"3 * 24 * 60\" ))\n \nhopeful:\n days: 3\n hours_expr: (( concat hopeful.days \" * 24\" ))\n hours: (( calc hopeful.hours_expr ))\n minutes_expr: (( concat hopeful.days \" * 24 * 60\" ))\n minutes: (( calc minutes_expr ))\n \nideal:\n days: 3\n hours: (( calc ideal.days * 24 ))\n minutes: (( calc ideal.hours * 60 ))\n\nacceptable:\n days: 3\n # note the lack of a space before the '*' operator\n hours: (( calc acceptable.days \"* 24\" ))\n minute: (( calc acceptable.hours \"* 60\" ))\n"}],"skip_eval":false,"fallback_append":false,"go_patch":false,"debug":false,"trace":false}
@geofffranks
geofffranks / spruce.json
Created January 27, 2018 14:28
a bit o' spruce, from http://play.spruce.cf
{"flavor":"1.11.0","prune":["meta"],"env":["HOME=/home/user"],"cherry_pick":[],"yaml":[{"filename":"file1.yml","contents":"meta:\n target_mem: 144\njobs:\n- name: big_ones\n instances: (( calc \"floor(meta.target_mem / 32)\" ))\n- name: small_ones\n instances: (( calc \"floor((meta.target_mem - jobs.big_ones.instances * 32) / 16)\" ))\n\n\n\n"}],"skip_eval":false,"fallback_append":false,"go_patch":false,"debug":false,"trace":false}
@geofffranks
geofffranks / spruce.json
Created January 29, 2018 15:43
a bit o' spruce, from http://play.spruce.cf
{"flavor":"1.15.3","prune":["meta"],"env":["HOME=/home/user"],"cherry_pick":[],"yaml":[{"filename":"file1.yml","contents":"director_uuid: (( grab secrets.bosh.bosh_ops_uuid )) \nname: cf-rabbit\n\nreleases:\n- name: cf-rabbitmq\n version: latest\n\njobs:\n- name: rmq\n templates:\n - {name: rabbitmq-server, release: cf-rabbitmq}\n instances: 1\n resource_pool: services-small\n persistent_disk: 20000\n networks:\n - name: services1\n static_ips:\n - 192.168.30.206\n\n- name: rmq-broker\n templates:\n - {name: rabbitmq-broker, release: cf-rabbitmq}\n instances: 1\n resource_pool: services-small\n networks:\n - name: services1\n static_ips:\n - 192.168.30.207\n\n- name: haproxy\n templates:\n - {name: rabbitmq-haproxy, release: cf-rabbitmq}\n instances: 1\n resource_pool: services-small\n networks:\n - name: services1\n static_ips:\n - 192.168.30.208\n\n- name: broker-registrar\n templates:\n - {name: broker-registrar, release: cf-rabbitmq}\n instances: 1\n lifecycle: er
@geofffranks
geofffranks / spruce.json
Created January 29, 2018 15:43
a bit o' spruce, from http://play.spruce.cf
{"flavor":"1.15.3","prune":["meta"],"env":["HOME=/home/user"],"cherry_pick":[],"yaml":[{"filename":"file1.yml","contents":"director_uuid: (( grab secrets.bosh.bosh_ops_uuid )) \nname: cf-rabbit\n\nreleases:\n- name: cf-rabbitmq\n version: latest\n\njobs:\n- name: rmq\n templates:\n - {name: rabbitmq-server, release: cf-rabbitmq}\n instances: 1\n resource_pool: services-small\n persistent_disk: 20000\n networks:\n - name: services1\n static_ips:\n - 192.168.30.206\n\n- name: rmq-broker\n templates:\n - {name: rabbitmq-broker, release: cf-rabbitmq}\n instances: 1\n resource_pool: services-small\n networks:\n - name: services1\n static_ips:\n - 192.168.30.207\n\n- name: haproxy\n templates:\n - {name: rabbitmq-haproxy, release: cf-rabbitmq}\n instances: 1\n resource_pool: services-small\n networks:\n - name: services1\n static_ips:\n - 192.168.30.208\n\n- name: broker-registrar\n templates:\n - {name: broker-registrar, release: cf-rabbitmq}\n instances: 1\n lifecycle: er
@geofffranks
geofffranks / spruce.json
Created January 29, 2018 15:43
a bit o' spruce, from http://play.spruce.cf
{"flavor":"1.15.3","prune":["meta"],"env":["HOME=/home/user"],"cherry_pick":[],"yaml":[{"filename":"file1.yml","contents":"director_uuid: (( grab secrets.bosh.bosh_ops_uuid )) \nname: cf-rabbit\n\nreleases:\n- name: cf-rabbitmq\n version: latest\n\njobs:\n- name: rmq\n templates:\n - {name: rabbitmq-server, release: cf-rabbitmq}\n instances: 1\n resource_pool: services-small\n persistent_disk: 20000\n networks:\n - name: services1\n static_ips:\n - 192.168.30.206\n\n- name: rmq-broker\n templates:\n - {name: rabbitmq-broker, release: cf-rabbitmq}\n instances: 1\n resource_pool: services-small\n networks:\n - name: services1\n static_ips:\n - 192.168.30.207\n\n- name: haproxy\n templates:\n - {name: rabbitmq-haproxy, release: cf-rabbitmq}\n instances: 1\n resource_pool: services-small\n networks:\n - name: services1\n static_ips:\n - 192.168.30.208\n\n- name: broker-registrar\n templates:\n - {name: broker-registrar, release: cf-rabbitmq}\n instances: 1\n lifecycle: er
@geofffranks
geofffranks / spruce.json
Created January 29, 2018 15:43
a bit o' spruce, from http://play.spruce.cf
{"flavor":"1.15.3","prune":["meta"],"env":["HOME=/home/user"],"cherry_pick":[],"yaml":[{"filename":"file1.yml","contents":"director_uuid: (( grab secrets.bosh.bosh_ops_uuid )) \nname: cf-rabbit\n\nreleases:\n- name: cf-rabbitmq\n version: latest\n\njobs:\n- name: rmq\n templates:\n - {name: rabbitmq-server, release: cf-rabbitmq}\n instances: 1\n resource_pool: services-small\n persistent_disk: 20000\n networks:\n - name: services1\n static_ips:\n - 192.168.30.206\n\n- name: rmq-broker\n templates:\n - {name: rabbitmq-broker, release: cf-rabbitmq}\n instances: 1\n resource_pool: services-small\n networks:\n - name: services1\n static_ips:\n - 192.168.30.207\n\n- name: haproxy\n templates:\n - {name: rabbitmq-haproxy, release: cf-rabbitmq}\n instances: 1\n resource_pool: services-small\n networks:\n - name: services1\n static_ips:\n - 192.168.30.208\n\n- name: broker-registrar\n templates:\n - {name: broker-registrar, release: cf-rabbitmq}\n instances: 1\n lifecycle: er
@geofffranks
geofffranks / spruce.json
Created January 30, 2018 10:23
a bit o' spruce, from http://play.spruce.cf
{"flavor":"1.16.0","prune":["meta"],"env":["HOME=/home/user"],"cherry_pick":[],"yaml":[{"filename":"file1.yml","contents":"groups:\n- (( merge ))\n- name: (( grab meta.git.branch ))\n jobs: \n - (( prepend ))\n - (( grab meta.build.job ))\n resources:\n - (( prepend ))\n - git-pipeline\n - maven-build\n"},{"filename":"file2.yml","contents":"---\ngroups:\n- (( merge ))\n- name: ((grab meta.git.branch))\n resources:\n - (( prepend ))\n - osb-bosh-java\n jobs:\n - (( prepend ))\n - testflight\n"}],"skip_eval":false,"fallback_append":false,"go_patch":false,"debug":false,"trace":false}
@geofffranks
geofffranks / spruce.json
Created February 1, 2018 16:56
a bit o' spruce, from http://play.spruce.cf
{"flavor":"1.16.0","prune":["meta"],"env":["HOME=/home/user"],"cherry_pick":[],"yaml":[{"filename":"file1.yml","contents":"properties:\n base_domain: (( param \"What domain will be used for this environment?\" ))\n system_domain: (( concat \"system.\" properties.base_domain ))\n app_domains:\n - (( grab properties.base_domain ))\n\n\n\n"}],"skip_eval":false,"fallback_append":false,"go_patch":false,"debug":false,"trace":false}
@geofffranks
geofffranks / spruce.json
Created February 2, 2018 09:38
a bit o' spruce, from http://play.spruce.cf
{"flavor":"1.16.0","prune":["meta"],"env":["HOME=/home/user"],"cherry_pick":[],"yaml":[{"filename":"mjolnir.yml","contents":"--- # mjolnir.yml\nmeta:\n env: prod\n\nclusters:\n- name: mjolnir\n servers:\n - 10.0.1.1\n - 10.0.1.2\n env: (( grab meta.env ))\n instances: 2\n\n"},{"filename":"file2.yml","contents":"--- # hammer\nclusters:\n- name: hammer\n env: (( grab meta.env ))\n servers:\n - 10.1.1.1\n - 10.1.1.2\n - 10.1.1.3\n instances: 3\n\n"},{"filename":"file3.yml","contents":"--- # final\nsite_list:\n- (( concat \"mjolnir-\" clusters.mjolnir.env ))\n- (( concat \"hammer-\" clusters.hammer.env ))\n\nsites: (( join \",\" site_list ))\n\nfootprint: (( calc \"(clusters.mjolnir.instances + clusters.hammer.instances) * 2048\" ))\n\n"}],"skip_eval":true,"fallback_append":true,"go_patch":true,"debug":true,"trace":true}
@geofffranks
geofffranks / spruce.json
Created February 5, 2018 12:45
a bit o' spruce, from http://play.spruce.cf
{"flavor":"1.11.0","prune":["meta"],"env":["HOME=/home/user"],"cherry_pick":[],"yaml":[{"filename":"first.yml","contents":"--- # first.yml\nsome_data: this will be overwritten later\na_random_map:\n key1: some data\nheres_an_array:\n- first element\n\n\n\n"},{"filename":"second.yml","contents":"--- # second.yml\nsome_data: 42dfgfg\na_random_map:\n key2: adding more data\nheres_an_array:\n- (( prepend ))\n- zeroth element\nmore_data: 84dfdf\n\n\n\n"}],"skip_eval":false,"fallback_append":false,"go_patch":false,"debug":false,"trace":false}