summaryrefslogtreecommitdiff
path: root/roles
diff options
context:
space:
mode:
authorDmitry Ilvokhin <d@ilvokhin.com>2026-01-02 16:55:48 +0000
committerDmitry Ilvokhin <d@ilvokhin.com>2026-01-02 16:56:05 +0000
commit6bc9c8ff43796a702b7abf8fc5baa68f5e85ee5d (patch)
treee02fe663430392ce95321f50ac3fb5540a2ebb12 /roles
parent0b35f0b32b202311967d45b0b1b5e1488625d510 (diff)
downloadinfra-6bc9c8ff43796a702b7abf8fc5baa68f5e85ee5d.tar.gz
infra-6bc9c8ff43796a702b7abf8fc5baa68f5e85ee5d.tar.bz2
infra-6bc9c8ff43796a702b7abf8fc5baa68f5e85ee5d.zip
Role to serve packages.ilvokhin.com
Diffstat (limited to 'roles')
-rw-r--r--roles/packages/files/packages.ilvokhin.com33
-rw-r--r--roles/packages/meta/main.yml8
-rw-r--r--roles/packages/tasks/main.yml38
3 files changed, 79 insertions, 0 deletions
diff --git a/roles/packages/files/packages.ilvokhin.com b/roles/packages/files/packages.ilvokhin.com
new file mode 100644
index 0000000..cbe8dfb
--- /dev/null
+++ b/roles/packages/files/packages.ilvokhin.com
@@ -0,0 +1,33 @@
+server {
+ server_name packages.ilvokhin.com www.packages.ilvokhin.com;
+
+ root /srv/http/packages.ilvokhin.com;
+ autoindex on;
+
+ location / {
+ try_files $uri $uri/ = 404;
+ }
+
+ listen [::]:443 ssl;
+ listen 443 ssl;
+
+ ssl_certificate /etc/letsencrypt/live/packages.ilvokhin.com/fullchain.pem;
+ ssl_certificate_key /etc/letsencrypt/live/packages.ilvokhin.com/privkey.pem;
+}
+
+server {
+ if ($host = www.packages.ilvokhin.com) {
+ return 301 https://$host$request_uri;
+ }
+
+ if ($host = packages.ilvokhin.com) {
+ return 301 https://$host$request_uri;
+ }
+
+ server_name packages.ilvokhin.com www.packages.ilvokhin.com;
+
+ listen 80;
+ listen [::]:80;
+
+ return 404;
+}
diff --git a/roles/packages/meta/main.yml b/roles/packages/meta/main.yml
new file mode 100644
index 0000000..4d336ba
--- /dev/null
+++ b/roles/packages/meta/main.yml
@@ -0,0 +1,8 @@
+dependencies:
+ - role: certificate
+ vars:
+ domains:
+ - packages.ilvokhin.com
+ - www.packages.ilvokhin.com
+ - role: nginx
+ - role: rsync
diff --git a/roles/packages/tasks/main.yml b/roles/packages/tasks/main.yml
new file mode 100644
index 0000000..12d87db
--- /dev/null
+++ b/roles/packages/tasks/main.yml
@@ -0,0 +1,38 @@
+- name: Create /srv/http/packages.ilvokhin.com directory
+ ansible.builtin.file:
+ path: /srv/http/packages.ilvokhin.com
+ state: directory
+ owner: http
+ group: http
+ mode: u+rw,g+rw,o+r
+
+- name: Create arch sub-directories
+ ansible.builtin.file:
+ path: /srv/http/packages.ilvokhin.com/{{ item }}
+ state: directory
+ owner: http
+ group: http
+ mode: u+rw,g+rw,o+r
+ loop:
+ - x86_64
+
+- name: Configure nginx for packages.ilvokhin.com
+ ansible.builtin.copy:
+ src: files/packages.ilvokhin.com
+ dest: /etc/nginx/sites-available
+ owner: root
+ group: root
+ mode: u+rw,g+r,o+r
+ notify:
+ - Reload nginx
+
+- name: Enable packages.ilvokhin.com site
+ ansible.builtin.file:
+ src: /etc/nginx/sites-available/packages.ilvokhin.com
+ dest: /etc/nginx/sites-enabled/packages.ilvokhin.com
+ owner: root
+ group: root
+ mode: u+rw,g+r,o+r
+ state: link
+ notify:
+ - Reload nginx