Last active
August 29, 2015 14:22
-
-
Save colebrumley/7229da41c9f21aa08d13 to your computer and use it in GitHub Desktop.
user-data.weave.yml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#cloud-config | |
--- | |
coreos: | |
etcd: | |
discovery: https://discovery.etcd.io/559e1af13634ecbb80dfa0a0d04cff9a | |
addr: $public_ipv4:4001 | |
peer-addr: $public_ipv4:7001 | |
fleet: | |
public-ip: $public_ipv4 | |
units: | |
- name: etcd.service | |
command: start | |
- name: fleet.service | |
command: start | |
- name: docker-tcp.socket | |
command: start | |
enable: true | |
content: | | |
[Unit] | |
Description=Docker Socket for the API | |
[Socket] | |
ListenStream=2375 | |
Service=docker.service | |
BindIPv6Only=both | |
[Install] | |
WantedBy=sockets.target | |
- name: 10-weave.network | |
runtime: false | |
content: | | |
[Match] | |
Type=bridge | |
Name=weave* | |
[Network] | |
- name: install-weave.service | |
command: start | |
enable: true | |
content: | | |
[Unit] | |
After=network-online.target | |
After=docker.service | |
Description=Install Weave | |
Documentation=http://zettio.github.io/weave/ | |
Requires=network-online.target | |
Requires=docker.service | |
[Service] | |
Type=oneshot | |
RemainAfterExit=yes | |
ExecStartPre=/bin/mkdir -p /opt/bin/ | |
ExecStartPre=/usr/bin/curl \ | |
--silent \ | |
--location \ | |
https://github.com/weaveworks/weave/releases/download/latest_release/weave \ | |
--output /opt/bin/weave | |
ExecStartPre=/usr/bin/chmod +x /opt/bin/weave | |
ExecStartPre=/usr/bin/docker pull zettio/weave:latest | |
ExecStartPre=/usr/bin/docker pull zettio/weavetools:latest | |
ExecStartPre=/usr/bin/docker pull zettio/weavedns:latest | |
ExecStartPre=/usr/bin/docker pull weaveworks/weaveexec:latest | |
ExecStart=/bin/echo Weave Installed | |
- name: weave.service | |
command: start | |
enable: true | |
content: | | |
[Unit] | |
After=install-weave.service | |
Description=Weave Network | |
Documentation=http://zettio.github.io/weave/ | |
Requires=install-weave.service | |
[Service] | |
EnvironmentFile=/etc/weave.%H.env | |
ExecStartPre=/opt/bin/weave launch -iprange 10.99.0.0/16 $WEAVE_LAUNCH_ARGS | |
ExecStart=/usr/bin/docker logs -f weave | |
SuccessExitStatus=2 | |
ExecStop=/opt/bin/weave stop | |
- name: weave-dns.service | |
command: start | |
enable: true | |
content: | | |
[Unit] | |
After=weave.service | |
Description=Weave Network | |
Documentation=http://zettio.github.io/weave/ | |
Requires=install-weave.service | |
Requires=weave.service | |
[Service] | |
EnvironmentFile=/etc/weave.%H.env | |
ExecStartPre=/opt/bin/weave launch-dns 10.99.0.0/16 | |
ExecStart=/usr/bin/docker logs -f weavedns | |
SuccessExitStatus=2 | |
ExecStop=/opt/bin/weave stop-dns | |
- name: load-services.service | |
command: start | |
content: | | |
[Service] | |
Type=oneshot | |
ExecStart=/srv/load.sh | |
write_files: | |
- path: /etc/weave.core-01.env | |
permissions: 416 | |
owner: root | |
content: | | |
WEAVE_LAUNCH_ARGS="" | |
- path: /etc/weave.core-02.env | |
permissions: 416 | |
owner: root | |
content: | | |
WEAVE_LAUNCH_ARGS="172.17.8.101" | |
- path: /etc/weave.core-03.env | |
permissions: 416 | |
owner: root | |
content: WEAVE_LAUNCH_ARGS="172.17.8.101" | |
- path: /etc/fleet/influxdb.service | |
permissions: 416 | |
owner: root | |
content: | | |
[Unit] | |
Description=InfluxDB Service | |
[Service] | |
TimeoutStartSec=10m | |
Restart=always | |
ExecStartPre=-/usr/bin/docker kill influxdb | |
ExecStartPre=-/usr/bin/docker rm -f influxdb | |
ExecStartPre=/usr/bin/docker pull kubernetes/heapster_influxdb:v0.3 | |
ExecStartPre=/opt/bin/weave run --with-dns -p 8083:8083 -p 8086:8086 --name influxdb -h influxdb.weave.local kubernetes/heapster_influxdb:v0.3 | |
ExecStart=/usr/bin/docker logs -f influxdb | |
ExecStop=/usr/bin/docker stop -t 2 influxdb | |
[X-Fleet] | |
X-Conflicts=influxdb.service | |
- path: /etc/fleet/heapster.service | |
permissions: 416 | |
owner: root | |
content: | | |
[Unit] | |
Description=Heapster Service | |
[Service] | |
EnvironmentFile=/etc/environment | |
TimeoutStartSec=10m | |
Restart=always | |
ExecStartPre=-/usr/bin/docker kill heapster | |
ExecStartPre=-/usr/bin/docker rm -f heapster | |
ExecStartPre=/usr/bin/docker pull elcolio/heapster-docker | |
ExecStartPre=/bin/bash -c '/opt/bin/weave run --with-dns --name heapster elcolio/heapster-docker --source="cadvisor:coreos?cadvisorPort=4194&fleetEndpoint=http://${COREOS_PUBLIC_IPV4}:4001" --sink=influxdb:http://influxdb.weave.local:8086' | |
ExecStart=/usr/bin/docker logs -f heapster | |
ExecStop=/usr/bin/docker stop -t 2 heapster | |
[X-Fleet] | |
X-Conflicts=heapster.service | |
- path: /etc/fleet/cadvisor.service | |
permissions: 416 | |
owner: root | |
content: |- | |
[Unit] | |
Description=cAdvisor Service | |
After=docker.service | |
Requires=docker.service | |
[Service] | |
TimeoutStartSec=10m | |
Restart=always | |
ExecStartPre=-/usr/bin/docker kill cadvisor | |
ExecStartPre=-/usr/bin/docker rm -f cadvisor | |
ExecStartPre=/usr/bin/docker pull google/cadvisor | |
ExecStartPre=/opt/bin/weave run --with-dns -v /:/rootfs:ro -v /var/run:/var/run:rw -v /sys:/sys:ro -v /var/lib/docker/:/var/lib/docker:ro -p 4194:4194 --name cadvisor google/cadvisor:latest --logtostderr --port=4194 | |
ExecStart=/usr/bin/docker logs -f cadvisor | |
ExecStop=/usr/bin/docker stop -t 2 cadvisor | |
[X-Fleet] | |
Global=true | |
- path: /srv/load.sh | |
permissions: '0755' | |
content: |- | |
#!/bin/bash | |
if [[ $HOSTNAME -eq "core-01" ]]; then | |
for var in $(ls /etc/fleet); do | |
fleetctl load /etc/fleet/$var | |
done | |
fi |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment