git ssb

1+

dinoworm 🐛 / butt-as-a-service



Commit 8192b526b3113379f8313148ee2bd69543f4d7bd

or hub not hubs

Michael Williams committed on 12/25/2017, 9:52:45 AM
Parent: 94540f5f28111d29aefd6f03c4aecbcceb764733

Files changed

README.mdchanged
salt/state/hub.slschanged
salt/state/pub.slsdeleted
README.mdView
@@ -9,8 +9,10 @@
99 most people seem happy to pay $5 / month.
1010
1111 if we prove a successful value flow, we can scale the ecosystem of Scuttlebutt bot providers, in order to support the ecosystem of Scuttlebutt organizers.
1212
13 +hubs > pubs > rugs
14 +
1315 ## job stories
1416
1517 - when i want to start a bot,
1618 - if i haven't been here before: i can register, setup a monthly payment, and name my first bot
salt/state/hub.slsView
@@ -1,0 +1,84 @@
1 +ahdinosaur/ssb-pub:
2 + docker_image.present
3 +
4 +ahdinosaur/healer:
5 + docker_image.present
6 +
7 +healer:
8 + docker_container.running:
9 + - image: ahdinosaur/healer
10 + - require:
11 + - docker_image: ahdinosaur/healer
12 +
13 +{% set seeds = salt['grains.get']('hub.seeds', []) %}
14 +{% set pubs = salt['grains.get']('hub.pubs', []) %}
15 +
16 +{% for pub in pubs %}
17 +
18 +{% set name = pub.name %}
19 +{% set port = pub.port or 8008 %}
20 +
21 +{% set secret = pub.secret %}
22 +{% set curve = secret.curve %}
23 +{% set public = secret.public %}
24 +{% set private = secret.private %}
25 +
26 +{{ name }}/:
27 + file.directory:
28 + - name: /root/bots/{{ name }}/
29 + - mode: 755
30 + - user: debian
31 + - group: debian
32 + - recurse:
33 + - user
34 + - group
35 +
36 +{{ name }}/secret:
37 + file.managed:
38 + - name: /root/bots/{{ name }}/secret
39 + - dataset:
40 + curve: {{ curve }}
41 + public: {{ public }}.{{ curve }}
42 + private: {{ private }}.{{ curve }}
43 + id: @{{ public }}.{{ curve }}
44 + - mode: 0400
45 + - user: debian
46 + - group: debian
47 + - formatter: json
48 + - merge_if_exists: True
49 + - require:
50 + - file: {{ name }}/
51 +
52 +{{ name }}/config:
53 + file.serialize:
54 + - name: /root/bots/{{ name }}/config
55 + - dataset:
56 + seeds:
57 + - net:{{ name }}:{{ port }}~shs:{{ public }}
58 + {% for seed in seeds %}
59 + - {{ seed }}
60 + {% endfor %}
61 + - formatter: json
62 + - mode: 644
63 + - user: debian
64 + - group: debian
65 + - merge_if_exists: True
66 + - require:
67 + - file: {{ name }}/
68 +
69 +{{ name }}:
70 + docker_container.running:
71 + - image: ahdinosaur/ssb-pub
72 + - env:
73 + - ssb_host: {{ name }}
74 + - binds:
75 + - /root/bots/{{ name }}:/home/node/.ssb/
76 + - ports:
77 + - 8008
78 + - restart_policy: unless-stopped
79 + - require:
80 + - docker_image: ahdinosaur/ssb-pub
81 + - file: {{ name }}/secret
82 + - file: {{ name }}/config
83 +
84 +{% endfor %}
salt/state/pub.slsView
@@ -1,83 +1,0 @@
1-ahdinosaur/ssb-pub:
2- docker_image.present
3-
4-ahdinosaur/healer:
5- docker_image.present
6-
7-healer:
8- docker_container.running:
9- - image: ahdinosaur/healer
10- - require:
11- - docker_image: ahdinosaur/healer
12-
13-{% set seeds = salt['grains.get']('pub.seeds', []) %}
14-{% set pubs = salt['grains.get']('pub.list', []) %}
15-{% for pub in pubs %}
16-
17-{% set name = pub.name %}
18-{% set port = pub.port or 8008 %}
19-
20-{% set secret = pub.secret %}
21-{% set curve = secret.curve %}
22-{% set public = secret.public %}
23-{% set private = secret.private %}
24-
25-{{ name }}/:
26- file.directory:
27- - name: /root/bots/{{ name }}/
28- - mode: 755
29- - user: debian
30- - group: debian
31- - recurse:
32- - user
33- - group
34-
35-{{ name }}/secret:
36- file.managed:
37- - name: /root/bots/{{ name }}/secret
38- - dataset:
39- curve: {{ curve }}
40- public: {{ public }}.{{ curve }}
41- private: {{ private }}.{{ curve }}
42- id: @{{ public }}.{{ curve }}
43- - mode: 0400
44- - user: debian
45- - group: debian
46- - formatter: json
47- - merge_if_exists: True
48- - require:
49- - file: {{ name }}/
50-
51-{{ name }}/config:
52- file.serialize:
53- - name: /root/bots/{{ name }}/config
54- - dataset:
55- seeds:
56- - net:{{ name }}:{{ port }}~shs:{{ public }}
57- {% for seed in seeds %}
58- - {{ seed }}
59- {% endfor %}
60- - formatter: json
61- - mode: 644
62- - user: debian
63- - group: debian
64- - merge_if_exists: True
65- - require:
66- - file: {{ name }}/
67-
68-{{ name }}:
69- docker_container.running:
70- - image: ahdinosaur/ssb-pub
71- - env:
72- - ssb_host: {{ name }}
73- - binds:
74- - /root/bots/{{ name }}:/home/node/.ssb/
75- - ports:
76- - 8008
77- - restart_policy: unless-stopped
78- - require:
79- - docker_image: ahdinosaur/ssb-pub
80- - file: {{ name }}/secret
81- - file: {{ name }}/config
82-
83-{% endfor %}

Built with git-ssb-web