Compare commits
3 Commits
3f0c8a865d
...
053db8793b
Author | SHA1 | Date | |
---|---|---|---|
053db8793b | |||
24fcbc957a | |||
9675fbacef |
@ -6,7 +6,6 @@
|
|||||||
tags:
|
tags:
|
||||||
- setup
|
- setup
|
||||||
- nomad
|
- nomad
|
||||||
- proxy
|
|
||||||
- volumes
|
- volumes
|
||||||
ansible.builtin.include_role:
|
ansible.builtin.include_role:
|
||||||
name: local-server-head
|
name: local-server-head
|
||||||
|
7
ansible/proxy.yaml
Normal file
7
ansible/proxy.yaml
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
---
|
||||||
|
- hosts: nigel.local
|
||||||
|
remote_user: nigel
|
||||||
|
tasks:
|
||||||
|
- name: Apply reverse proxy role
|
||||||
|
ansible.builtin.include_role:
|
||||||
|
name: proxy
|
18
ansible/roles/local-server-head/files/nomad.hcl
Normal file
18
ansible/roles/local-server-head/files/nomad.hcl
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
data_dir = "/opt/nomad/data"
|
||||||
|
bind_addr = "0.0.0.0"
|
||||||
|
|
||||||
|
server {
|
||||||
|
enabled = true
|
||||||
|
bootstrap_expect = 1
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
client {
|
||||||
|
enabled = true
|
||||||
|
servers = ["127.0.0.1"]
|
||||||
|
}
|
||||||
|
|
||||||
|
host_volume "registry" {
|
||||||
|
path = "/opt/volumes/registry"
|
||||||
|
read_only = false
|
||||||
|
}
|
@ -23,14 +23,6 @@
|
|||||||
become: true
|
become: true
|
||||||
tags:
|
tags:
|
||||||
- nomad
|
- nomad
|
||||||
- name: Setup the reverse proxy outside of nomad
|
|
||||||
tags: proxy
|
|
||||||
ansible.builtin.include_tasks:
|
|
||||||
file: reverse_proxy.yaml
|
|
||||||
apply:
|
|
||||||
become: true
|
|
||||||
tags:
|
|
||||||
- proxy
|
|
||||||
- name: Setup data directory for the nomad host volumes
|
- name: Setup data directory for the nomad host volumes
|
||||||
tags: volumes
|
tags: volumes
|
||||||
ansible.builtin.include_tasks:
|
ansible.builtin.include_tasks:
|
||||||
|
@ -1,31 +0,0 @@
|
|||||||
- name: Keep /etc/hosts up to date
|
|
||||||
ansible.builtin.copy:
|
|
||||||
dest: /etc/hosts
|
|
||||||
src: host-file
|
|
||||||
mode: "0644"
|
|
||||||
- name: Ensure nginx is setup as latest
|
|
||||||
ansible.builtin.apt:
|
|
||||||
name: nginx
|
|
||||||
- name: Copy the nomad.conf to available configurations
|
|
||||||
ansible.builtin.copy:
|
|
||||||
src: "{{ item }}"
|
|
||||||
dest: "/etc/nginx/sites-available/{{ item }}"
|
|
||||||
mode: "0644"
|
|
||||||
loop:
|
|
||||||
- nomad.conf
|
|
||||||
- sanity.conf
|
|
||||||
- ncr.conf
|
|
||||||
- name: Link the nomad.conf to sites-enabled
|
|
||||||
ansible.builtin.file:
|
|
||||||
path: "/etc/nginx/sites-enabled/{{ item }}"
|
|
||||||
state: link
|
|
||||||
src: "/etc/nginx/sites-available/{{ item }}"
|
|
||||||
mode: "0644"
|
|
||||||
loop:
|
|
||||||
- nomad.conf
|
|
||||||
- sanity.conf
|
|
||||||
- ncr.conf
|
|
||||||
- name: Restart nginx
|
|
||||||
ansible.builtin.systemd_service:
|
|
||||||
name: nginx
|
|
||||||
state: restarted
|
|
32
ansible/roles/proxy/tasks/main.yaml
Normal file
32
ansible/roles/proxy/tasks/main.yaml
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
- name: Reverse proxy role configuration
|
||||||
|
become: true
|
||||||
|
vars:
|
||||||
|
nginx_configs:
|
||||||
|
- nomad.conf
|
||||||
|
- ncr.conf
|
||||||
|
block:
|
||||||
|
- name: Ensure /etc/hosts are up to date
|
||||||
|
ansible.builtin.copy:
|
||||||
|
dest: /etc/hosts
|
||||||
|
src: host-file
|
||||||
|
mode: "0644"
|
||||||
|
- name: Ensure nginx is setup as latest
|
||||||
|
ansible.builtin.apt:
|
||||||
|
name: nginx
|
||||||
|
- name: Copy the nomad.conf to available configurations
|
||||||
|
ansible.builtin.copy:
|
||||||
|
src: "{{ item }}"
|
||||||
|
dest: "/etc/nginx/sites-available/{{ item }}"
|
||||||
|
mode: "0644"
|
||||||
|
loop: "{{ nginx_configs }}"
|
||||||
|
- name: Link the nomad.conf to sites-enabled
|
||||||
|
ansible.builtin.file:
|
||||||
|
path: "/etc/nginx/sites-enabled/{{ item }}"
|
||||||
|
state: link
|
||||||
|
src: "/etc/nginx/sites-available/{{ item }}"
|
||||||
|
mode: "0644"
|
||||||
|
loop: "{{ nginx_configs }}"
|
||||||
|
- name: Restart nginx
|
||||||
|
ansible.builtin.systemd_service:
|
||||||
|
name: nginx
|
||||||
|
state: restarted
|
46
infra/nigel-nomad/registry.hcl
Normal file
46
infra/nigel-nomad/registry.hcl
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
# Nigel's Container Registry
|
||||||
|
job "ncr" {
|
||||||
|
type = "service"
|
||||||
|
|
||||||
|
group "ncr" {
|
||||||
|
count = 1
|
||||||
|
network {
|
||||||
|
port "docker" {
|
||||||
|
static = 5000
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
service {
|
||||||
|
name = "ncr"
|
||||||
|
port = "docker"
|
||||||
|
provider = "nomad"
|
||||||
|
}
|
||||||
|
|
||||||
|
volume "container_images" {
|
||||||
|
type = "host"
|
||||||
|
read_only = false
|
||||||
|
source = "registry"
|
||||||
|
}
|
||||||
|
|
||||||
|
restart {
|
||||||
|
attempts = 10
|
||||||
|
interval = "5m"
|
||||||
|
delay = "30s"
|
||||||
|
mode = "delay"
|
||||||
|
}
|
||||||
|
|
||||||
|
task "ncr" {
|
||||||
|
driver = "docker"
|
||||||
|
|
||||||
|
volume_mount {
|
||||||
|
volume = "container_images"
|
||||||
|
destination = "/registry/data"
|
||||||
|
read_only = false
|
||||||
|
}
|
||||||
|
config {
|
||||||
|
image = "registry:latest"
|
||||||
|
ports = [ "docker" ]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user