You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
130 lines
5.0 KiB
130 lines
5.0 KiB
#cloud-config
|
|
mounts:
|
|
- [ "UUID=4a5c5cb4-3599-447a-90d5-6add42861de5", "/media/ephemeral/nextcloud", "ext4", "defaults,noatime,nofail", "0", "2"]
|
|
# - [ "UUID=5f3802ae-f42c-4df7-8aca-9e50e1e12be7", "/media/ephemeral/gogs", "ext4", "defaults,noatime,nofail", "0", "2"]
|
|
|
|
package_update: true
|
|
package_upgrade: true
|
|
package_reboot_if_required: true
|
|
packages:
|
|
- software-properties-common
|
|
- curl
|
|
- htop
|
|
- docker-compose
|
|
- prometheus-node-exporter
|
|
|
|
users:
|
|
- name: sapian
|
|
- passwd: $6$eCW4Ypue$XkpcNkvem1O3KD9eyM7V9jp/p5T0BdWv9vYcgqeV3MD2qXEbHdTWyNa1zB42cwsmsRyNSNAhFxZAaQyBsSnic/
|
|
|
|
chpasswd:
|
|
list: |
|
|
root:sap64adm
|
|
sapian:sap64adm
|
|
expire: False
|
|
|
|
ssh_authorized_keys:
|
|
- ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAyumXwdCn27ELM56o1aHOUwybRcX3Rk76ny3TOMzjiCjapntTaPtcPZ9/84g5tjZmDlUNitRZF0XV76xJ2JJ0PU4Mx7nka6nnvmywFTAIx/PFLQtj4iQH/7osOEy6lKaYKJT9bFEhZ0llb6JtF+kPTZ7NV7EKvXx/U6pXVM8h7KShx1H/8GJroR8Uc5IdWApSwslG19DOjMZMyhe+PfWQw+SG1MC32OcuH43fuUdNRIDL6tTaFkGH2upX9ALO75CQ/8NDRoSCne0MnDHKFipi86AU0Dr2GmCC4rRx6L9J4tAejViKIjVsLy/aHnHknVgipu1ajCfhTpRjqh3/fWUEow== sebastian.rojo@sapian.com.co
|
|
- ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCeAesfotBI9sbnKBsaycSJ2y0ln7OSGxtdEvN+BISLJPWbjLRqrv69ftlUotW5NABxqXn9mYT3RT031C/pdr/OAqyGnMkkb5/pzmOrKdW3vT7hcAAQQtzrA2LdxJdBUKMIE51XafQbQGKwZtKl9kxcX3QQkyvwDGyYhvi3RYcy5FfUFbifyQojB8o0gLro7pEfR660GE5rUvjUdqSc0V3vPTb7hsUI0x8AvCCOpZ6VVI9uKWxGlncO5B6Vjjefq9FKXxied0Dj5psyjZ9A6WfhFhoyU0NLbYfeQpVog7jV63fiUxXNnp7fcOudHnbScaol4H61EUldnf+d8QgP985/ oscar.garcia@sapian.com.co
|
|
- ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDAoXMJ6MSm2pW8IDMoJBNj56FymgGYOFBvKOibSK/GOU4WPQheK8jurq047bR4/2TocIZKK58mtpXthNxiOkK/bQtSc0bDfHl5RCnfHSrMkKaWIP6Io6GDtcrW3l6MXL0QWqt7hV+4RC+WRTruEhqm4rvgydTUkelKeiyJnULZzoXkK2hkaYtFYPzdT7UDKy6qnlfHTwkIo+RmXuRBQvWU72we8AJSPFcVO8E7CFL/opSWuRQZcRsVh8EAx5GPtxPT+oM8y4c2Ka/h8MOg7jKP3kbb6DmzZxXAhqwyLLuDZuX+fUpxqOnwFDVVN0RMdagfHZvj1IvR/hd36GUGXapr andres.restrepo@sapian.com.co
|
|
|
|
swap:
|
|
filename: /swap.img
|
|
size: "auto" # or size in bytes
|
|
maxsize: 1G
|
|
|
|
write_files:
|
|
- path: /etc/systemd/network/dummy0.netdev
|
|
content: |
|
|
[NetDev]
|
|
Name=dummy0
|
|
Kind=dummy
|
|
- path: /etc/systemd/network/dummy0.network
|
|
content: |
|
|
[Match]
|
|
Name=dummy0
|
|
|
|
[Network]
|
|
Address=169.254.1.1/32
|
|
- path: /etc/docker/daemon.json
|
|
content: |
|
|
{
|
|
"bip": "10.25.31.1/24",
|
|
"mtu": 1436,
|
|
"dns": ["172.16.253.3","172.16.253.10"],
|
|
"log-driver": "json-file",
|
|
"log-opts": {"max-size": "10m", "max-file": "3"}
|
|
}
|
|
- path: /etc/consul.d/config.json
|
|
content: |
|
|
{
|
|
"leave_on_terminate": true,
|
|
"client_addr": "169.254.1.1",
|
|
"encrypt": "o0q3AEMf+qjV0xwhXdKLbg==",
|
|
"datacenter": "dc_sapian_house",
|
|
"enable_script_checks": true,
|
|
"retry_join": ["consul.sapian.com.co"]
|
|
}
|
|
- path: /etc/consul.d/cadvisor.json
|
|
content: |
|
|
{
|
|
"service": {
|
|
"id": "cadvisor",
|
|
"name": "cadvisor",
|
|
"tags": [
|
|
"node-exporter",
|
|
"cadvisor"
|
|
],
|
|
"port": 9104,
|
|
"checks": [
|
|
{
|
|
"interval" :"360s",
|
|
"timeout" : "5s",
|
|
"id": "cadvisor",
|
|
"name": "cadvisor and Exporter HTTP 9104",
|
|
"http": "http://localhost:9104/metrics"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
- path: /etc/consul.d/node_exporter.json
|
|
content: |
|
|
{
|
|
"service": {
|
|
"id": "node-exporter",
|
|
"name": "node-exporter",
|
|
"tags": [
|
|
"node-exporter"
|
|
],
|
|
"port": 9100,
|
|
"checks": [
|
|
{
|
|
"interval" :"360s",
|
|
"timeout" : "5s",
|
|
"id": "node exporter",
|
|
"name": "Node Exporter HTTP 9100",
|
|
"http": "http://localhost:9100/metrics"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
|
|
runcmd:
|
|
- mkdir -p /media/ephemeral/phabricator
|
|
- curl -fsSL https://get.docker.com/ | sh
|
|
- curl -fsSL https://get.docker.com/gpg | sudo apt-key add -
|
|
- [ systemctl, daemon-reload ]
|
|
- [ systemctl, enable, docker.service ]
|
|
- [ systemctl, start, --no-block, docker.service ]
|
|
- export DATA_LOCAL_IPV4=$(curl http://169.254.169.254/latest/meta-data/local-ipv4);
|
|
- docker run --name cadvisor --volume=/:/rootfs:ro --volume=/var/run:/var/run:ro --volume=/sys:/sys:ro --volume=/var/lib/docker/:/var/lib/docker:ro --volume=/dev/disk/:/dev/disk:ro --publish=9104:8080 --detach=true google/cadvisor:latest
|
|
- docker run -d --name consul-agent --restart=always --net=host -v /etc/consul.d/:/etc/consul.d/ consul agent -config-dir=/etc/consul.d -node=$(hostname -f) -bind=${DATA_LOCAL_IPV4}
|
|
- curl -L https://github.com/docker/compose/releases/download/1.23.2/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose
|
|
- chmod +x /usr/local/bin/docker-compose
|
|
- mkdir -p /var/lib/docker/composer/
|
|
- docker network create nginx-proxy
|
|
- docker-compose -f /media/ephemeral/nextcloud/docker-compose.yml up -d
|
|
|
|
|
|
final_message: "The system is finally up, after $UPTIME seconds"
|