Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • antiz/infrastructure
  • okabe/infrastructure
  • eworm/infrastructure
  • polyzen/infrastructure
  • pitastrudl/infrastructure
  • sjon/infrastructure
  • torxed/infrastructure
  • jinmiaoluo/infrastructure
  • moson/infrastructure
  • serebit/infrastructure
  • ivabus/infrastructure
  • lb-wilson/infrastructure
  • gromit/infrastructure
  • matt-1-2-3/infrastructure
  • jocke-l/infrastructure
  • alucryd/infrastructure
  • maximbaz/infrastructure
  • ainola/infrastructure
  • segaja/infrastructure
  • nl6720/infrastructure
  • peanutduck/infrastructure
  • aminvakil/infrastructure
  • xenrox/infrastructure
  • felixonmars/infrastructure
  • denisse/infrastructure
  • artafinde/infrastructure
  • jleclanche/infrastructure
  • kpcyrd/infrastructure
  • metalmatze/infrastructure
  • kevr/infrastructure
  • dvzrv/infrastructure
  • dhoppe/infrastructure
  • ekkelett/infrastructure
  • seblu/infrastructure
  • lahwaacz/infrastructure
  • klausenbusk/infrastructure
  • alerque/infrastructure
  • hashworks/infrastructure
  • foxboron/infrastructure
  • shibumi/infrastructure
  • lambdaclan/infrastructure
  • ffy00/infrastructure
  • freswa/infrastructure
  • archlinux/infrastructure
44 results
Show changes
Commits on Source (3)
--- ---
mirror_domain: mirror.pkgbuild.com mirror_domain: mirror.pkgbuild.com
mirror_debug_packages: false mirror_debug_packages: false
geomirror_acme_challenge: true
archweb_mirrorcheck_locations: [20, 21] archweb_mirrorcheck_locations: [20, 21]
filesystem: btrfs filesystem: btrfs
......
...@@ -15,4 +15,4 @@ ...@@ -15,4 +15,4 @@
- { role: promtail } - { role: promtail }
- { role: fail2ban } - { role: fail2ban }
- { role: wireguard } - { role: wireguard }
- { role: geomirror, when: inventory_hostname == "mirror.pkgbuild.com" } - { role: geomirror, when: "inventory_hostname == 'mirror.pkgbuild.com' or 'geo_mirrors' in group_names" }
---
geomirror_acme_challenge: false
...@@ -12,6 +12,7 @@ ...@@ -12,6 +12,7 @@
- name: create directory for sqlite3 dbs - name: create directory for sqlite3 dbs
file: path=/var/lib/powerdns state=directory owner=powerdns group=powerdns mode=0755 file: path=/var/lib/powerdns state=directory owner=powerdns group=powerdns mode=0755
when: geomirror_acme_challenge
- name: initialize sqlite3 database for _acme-challenge zone - name: initialize sqlite3 database for _acme-challenge zone
command: sqlite3 -init /usr/share/doc/powerdns/schema.sqlite3.sql /var/lib/powerdns/pdns.sqlite3 "" command: sqlite3 -init /usr/share/doc/powerdns/schema.sqlite3.sql /var/lib/powerdns/pdns.sqlite3 ""
...@@ -20,6 +21,7 @@ ...@@ -20,6 +21,7 @@
args: args:
creates: /var/lib/powerdns/pdns.sqlite3 creates: /var/lib/powerdns/pdns.sqlite3
register: init register: init
when: geomirror_acme_challenge
- name: create _acme-challenge zone - name: create _acme-challenge zone
command: "{{ item }}" command: "{{ item }}"
...@@ -33,6 +35,7 @@ ...@@ -33,6 +35,7 @@
- name: import TSIG key (for certbot) - name: import TSIG key (for certbot)
command: pdnsutil import-tsig-key {{ certbot_rfc2136_key }} {{ certbot_rfc2136_algorithm }} {{ certbot_rfc2136_secret }} command: pdnsutil import-tsig-key {{ certbot_rfc2136_key }} {{ certbot_rfc2136_algorithm }} {{ certbot_rfc2136_secret }}
changed_when: false changed_when: false
when: geomirror_acme_challenge
- name: open powerdns ipv4 port for monitoring.archlinux.org - name: open powerdns ipv4 port for monitoring.archlinux.org
ansible.posix.firewalld: zone=wireguard state=enabled permanent=true immediate=yes ansible.posix.firewalld: zone=wireguard state=enabled permanent=true immediate=yes
...@@ -40,5 +43,8 @@ ...@@ -40,5 +43,8 @@
tags: tags:
- firewall - firewall
- name: open firewall hole
ansible.posix.firewalld: service=dns permanent=true state=enabled immediate=yes
- name: start and enable powerdns - name: start and enable powerdns
systemd: name=pdns.service enabled=yes daemon_reload=yes state=started systemd: name=pdns.service enabled=yes daemon_reload=yes state=started
...@@ -7,11 +7,18 @@ domains: ...@@ -7,11 +7,18 @@ domains:
{{ geo_mirror_domain }}: {{ geo_mirror_domain }}:
- soa: mirror.pkgbuild.com. root.archlinux.org. 2022011501 3600 1800 604800 3600 - soa: mirror.pkgbuild.com. root.archlinux.org. 2022011501 3600 1800 604800 3600
- ns: mirror.pkgbuild.com - ns: mirror.pkgbuild.com
{% for host in groups['geo_mirrors'] %}
- ns: {{ host }}
{% endfor %}
{% for host in groups['geo_mirrors'] %} {% for host in groups['geo_mirrors'] %}
{{ host.split(".")[0] }}.{{ geo_mirror_domain }}: {{ host.split(".")[0] }}.{{ geo_mirror_domain }}:
- a: {{ hostvars[host]['ipv4_address'] }} - a: {{ hostvars[host]['ipv4_address'] }}
- aaaa: {{ hostvars[host]['ipv6_address'] }} - aaaa: {{ hostvars[host]['ipv6_address'] }}
{% endfor %} {% endfor %}
{% if not geomirror_acme_challenge %}
_acme-challenge.{{ geo_mirror_domain }}:
- ns: mirror.pkgbuild.com
{% endif %}
services: services:
{{ geo_mirror_domain }}: '%mp.geo.mirror.pkgbuild.com' {{ geo_mirror_domain }}: '%mp.geo.mirror.pkgbuild.com'
mapping_lookup_formats: ['%cn'] mapping_lookup_formats: ['%cn']
......
...@@ -4,9 +4,13 @@ local-address={{ ipv4_address }},{{ ipv6_address }} ...@@ -4,9 +4,13 @@ local-address={{ ipv4_address }},{{ ipv6_address }}
webserver=yes webserver=yes
webserver-address=0.0.0.0 webserver-address=0.0.0.0
webserver-allow-from=127.0.0.1,::1,{{ hostvars['monitoring.archlinux.org']['wireguard_address'] }} webserver-allow-from=127.0.0.1,::1,{{ hostvars['monitoring.archlinux.org']['wireguard_address'] }}
{% if geomirror_acme_challenge %}
launch=geoip,gsqlite3 launch=geoip,gsqlite3
geoip-database-files=/var/lib/GeoIP/GeoLite2-Country.mmdb
geoip-zones-file=/etc/powerdns/geo.yml
gsqlite3-database=/var/lib/powerdns/pdns.sqlite3 gsqlite3-database=/var/lib/powerdns/pdns.sqlite3
dnsupdate=yes dnsupdate=yes
lua-dnsupdate-policy-script=/etc/powerdns/dnsupdate-policy.lua lua-dnsupdate-policy-script=/etc/powerdns/dnsupdate-policy.lua
{% else %}
launch=geoip
{% endif %}
geoip-database-files=/var/lib/GeoIP/GeoLite2-Country.mmdb
geoip-zones-file=/etc/powerdns/geo.yml
...@@ -77,9 +77,13 @@ scrape_configs: ...@@ -77,9 +77,13 @@ scrape_configs:
- job_name: 'powerdns' - job_name: 'powerdns'
static_configs: static_configs:
- targets: ['{{ hostvars['mirror.pkgbuild.com']['wireguard_address'] }}:8081'] {% for host in groups['geo_mirrors'] + ['mirror.pkgbuild.com'] %}
- targets: ['{{ hostvars[host]['wireguard_address'] }}:8081']
labels: labels:
instance: "mirror.pkgbuild.com" instance: "{{ host }}"
{% endfor %}
- job_name: 'gitlab_runner_exporter' - job_name: 'gitlab_runner_exporter'
static_configs: static_configs:
......
...@@ -426,13 +426,34 @@ resource "hetznerdns_record" "pkgbuild_com_origin_txt" { ...@@ -426,13 +426,34 @@ resource "hetznerdns_record" "pkgbuild_com_origin_txt" {
type = "TXT" type = "TXT"
} }
resource "hetznerdns_record" "pkgbuild_com_geo_mirror_ns" { resource "hetznerdns_record" "pkgbuild_com_geo_mirror_ns1" {
zone_id = hetznerdns_zone.pkgbuild.id zone_id = hetznerdns_zone.pkgbuild.id
name = "geo.mirror" name = "geo.mirror"
value = "mirror.pkgbuild.com." value = "mirror.pkgbuild.com."
type = "NS" type = "NS"
} }
resource "hetznerdns_record" "pkgbuild_com_geo_mirror_n2" {
zone_id = hetznerdns_zone.pkgbuild.id
name = "geo.mirror"
value = "asia.mirror.pkgbuild.com."
type = "NS"
}
resource "hetznerdns_record" "pkgbuild_com_geo_mirror_ns3" {
zone_id = hetznerdns_zone.pkgbuild.id
name = "geo.mirror"
value = "america.mirror.pkgbuild.com."
type = "NS"
}
resource "hetznerdns_record" "pkgbuild_com_geo_mirror_ns4" {
zone_id = hetznerdns_zone.pkgbuild.id
name = "geo.mirror"
value = "europe.mirror.pkgbuild.com."
type = "NS"
}
resource "hetznerdns_record" "archlinux_org_origin_caa" { resource "hetznerdns_record" "archlinux_org_origin_caa" {
zone_id = hetznerdns_zone.archlinux.id zone_id = hetznerdns_zone.archlinux.id
name = "@" name = "@"
......