1
1
mirror of https://gitlab.archlinux.org/archlinux/infrastructure.git synced 2024-09-20 10:41:47 +02:00
Commit Graph

191 Commits

Author SHA1 Message Date
Evangelos Foutras
19ee76d74c
geo_dns: support geo domains with subset of hosts
Useful if we wanted to create a Geo-based archive consisting of machines
in the archive_mirrors group (though this will likely not happen because
it'd break archlinux-repro due to the ~4 hour sync delay).
2022-08-21 04:44:46 +03:00
Kristian Klausen
2c4a2c3789
tf-stage1: Remove not working aur4 subdomain
aur4 was apparently some kind of "new aur" hosted on luna, which is long
gone.

Fixes: 79f7d599 ("Goodbye luna")
2022-08-11 20:23:50 +02:00
Kristian Klausen
aec13ec3ab
Provision server for repos-git POC
anthraxx wants some infra for a repos-git POC, so let's give it to him!

The server has been configured with the common and firewalld role, but
is unmanaged.
2022-08-11 20:18:35 +02:00
Evangelos Foutras
eb2d54bbce
Re-enable asia.mirror.pkgbuild.com for Geo duties
Its disks were migrated to a new server (prompted by an unsolvable issue
with the previous box's network interface; might have been a mobo issue).
2022-08-01 15:53:22 +03:00
Evangelos Foutras
8e6ee780f8
tf-stage1: update hcloud provider to 1.34.3
Brings support for managing Primary IPs.
2022-07-18 13:01:39 +03:00
Evangelos Foutras
034acc666a
tf-stage1: add state.archlinux.org to machines
There's a bit of a chicken and egg situation here but it's preferable to
manage the server's attributes the same way as all of the cloud servers.
2022-07-18 12:51:02 +03:00
Evangelos Foutras
1050ebc2d8
tf-stage1: sort machine entries by hostname 2022-07-18 12:24:13 +03:00
Evangelos Foutras
434753d853
Update GitLab verification code for archlinux.page 2022-07-18 09:54:09 +03:00
Evangelos Foutras
b6675db5e6
Add new mirrors in Seoul and Sydney 2022-07-10 12:42:15 +03:00
Kristian Klausen
cebfe91ed1
Add GitLab Pages for "Monthly Reports"
Ref: https://gitlab.archlinux.org/archlinux/monthly-reports/-/merge_requests/1
2022-07-03 13:21:47 +02:00
Kristian Klausen
6559224bc8
Add GitLab Pages for "repod"
Ref: https://gitlab.archlinux.org/archlinux/repod/-/merge_requests/65
2022-07-03 13:21:44 +02:00
Kristian Klausen
6159b411a1
Add new domain for project documentation (archlinux.page)
We want non-DevOps to be able to deploy project documentation (ex:
repod) with GitLab Pages and a separate domain was considered the only
sensible solution due to security issues[1].

[1] https://github.blog/2013-04-09-yummy-cookies-across-domains/
2022-07-03 13:21:40 +02:00
Evangelos Foutras
563b8de274
Sort geo mirrors in hosts and take asia off for now
asia.mirror.pkgbuild.com has been offline for 12 days so far while we
wait for a NIC replacement. Should have taken it out of DNS NS duties
earlier but better late than never.
2022-05-29 23:42:26 +03:00
Evangelos Foutras
c0909e9b0b
Rescale mailman3 from cx11 to cx21
It needs the extra RAM.
2022-05-29 23:41:52 +03:00
Kristian Klausen
a9d48ad8ed
mta_sts: Use CRLF line terminators per the RFC[1]
[1] https://datatracker.ietf.org/doc/html/rfc8461#section-3.2
2022-05-16 22:46:01 +02:00
Kristian Klausen
eac26bfc98
Bump MTA STS id to invalid cache
Fixes: 0b87cbfd ("mta_sts: Switch to enforce mode and bump max_age to 30 days")
2022-05-16 22:45:58 +02:00
Evangelos Foutras
733a2133b5
geo_dns: add option to set NS TTL for geo domains
Ansible side of commit 5007c1a85e ("tf-stage1: allow setting the NS
TTL of geo domains"); both values need to match so our geo nameservers
report the same TTL as that returned by the parent zone's nameservers.
2022-05-16 15:46:43 +03:00
Evangelos Foutras
5007c1a85e
tf-stage1: allow setting the NS TTL of geo domains
When adding a new geo domain or doing other testing, we would want to
use a low TTL to allow for making quick changes to the configuration.
2022-05-16 14:20:55 +03:00
Evangelos Foutras
afb582b108
geomirror: extract acme dns challenge into new role
- add the new role to redirect.archlinux.org
- release mirror.pkgbuild.com of all DNS duties
2022-05-14 14:22:32 +03:00
Evangelos Foutras
7944981197
tf-stage1: use template for geo domains NS records 2022-05-14 14:20:43 +03:00
Kristian Klausen
37fb120aa8
Provision server for buildbot POC
Foxboron wants some infra for a buildbot POC, so let's give it to him!

The server has been configured with the common and firewalld role.
2022-05-12 22:27:00 +02:00
Evangelos Foutras
fd411020ce
tf-stage1: update hcloud provider to 1.33.2 2022-05-09 22:18:36 +03:00
Evangelos Foutras
b4d60ae2f6
Move highly sensitive secrets to new "super" vault
The idea bebind this is to be able to give vault access to new DevOps
members without giving away more important credentials like Hetzner's.
2022-05-07 17:45:19 +03:00
Evangelos Foutras
6878066d91
geomirror: bump TTL to 86400 for NS records
In an effort to stay consistent with the TTL used for the archlinux.org
and pkgbuild.com NS records, as well as slightly improve lookup latency.
2022-04-29 20:38:15 +03:00
Evangelos Foutras
60fb4494fa
tf-stage1: version bump of terraform providers
New hcloud adds protection fields to servers, volumes and floating IPs.
2022-04-23 03:28:28 +03:00
Evangelos Foutras
17024ba287
Remove gitlab volume
/srv/gitlab has been moved to local (NVMe SSD) storage; hopefully it
won't grow too large and thus require transferring back to a volume.
2022-04-19 11:44:12 +03:00
Kristian Klausen
aa359082aa
Avoid single point-of-failure for our GeoIP domain
We don't want mirror.pkgbuild.com's DNS server to be a
single-point-of-failure, so this commit adds multiple authoritative DNS
servers for the zone. The extra DNS servers are run on the geomirror
servers.

The _acme-challenge zone, used for obtaining certificates, is run solely
on mirror.pkgbuild.com's DNS server, to avoid syncing DNS records
between the servers (KISS).
2022-04-15 19:43:33 +02:00
Kristian Klausen
9f65f99c6b
Add GeoIP domain for our sponsored mirros
We had a GeoIP mirror in the past based on nginx and its GeoIP module,
but it didn't perform very well, due to the high latency (asking a
central server for the package and then redirected to the closest
mirror).

One of the reasons for offering this service, is so we can relieve
mirror.pkgbuild.com which is burning a ton of traffic (50TB/month),
likely due to it being the default mirror in our Docker image. Another
reason is so we can offer a link to our arch-boxes images in libosinfo
(used by gnome-boxes, virt-install and virt-manager), with good enough
performance for most users.

This time we take a different approach and use a DNS based solution,
which means the latency penalty is only paid once (the first DNS
request). The downside is that the mirrors must have a valid certificate
for the same domain name, which makes using third-party mirrors a
challenge. So for now, we are just using the sponsored mirorrs
controlled by the DevOps team.

Fix #101
2022-04-13 03:10:09 +02:00
Evangelos Foutras
8838470cf5
Shrink debuginfod volume from 100G to 25G
This hasn't seen much growth in the past two months and is chilling
around 13G. We can easily bump it once we have more debug packages.
2022-04-11 20:42:46 +03:00
Kristian Klausen
af5d4b845e
Decommission aur-dev
With the PHP->Python port done[1][2], there isn't much need for aur-dev
anynmore. Most things can also be tested locally and aur-dev haven't got
any love since the port (ex: allowing the aurweb maintainers to deploy
without asking DevOps).

[1] https://lists.archlinux.org/pipermail/aur-general/2022-February/036786.html
[2] https://gitlab.archlinux.org/archlinux/infrastructure/-/merge_requests/525
2022-04-11 14:55:53 +02:00
Evangelos Foutras
e680dc3b75
tf-stage1: bump TTL to 86400 for NS records
The default TTL of 3600 seems a bit short for these.
2022-03-14 08:12:33 +02:00
Evangelos Foutras
2d1e9b57c0
tf-stage1: standardize on TTL 3600 for DNS records
Almost all of our DNS records have a TTL of 86400 (24 hours) with a few
using a TTL of 600 (some MX and TXT records). The former is too long to
be flexible when a need for fast change(s) arises, and the latter don't
benefit from the low TTL. Standardize on a TTL of 3600 (1 hour) for all
our records.
2022-03-13 20:18:06 +02:00
Evangelos Foutras
551c6735bf
tf-stage1/templates: default keep_disk to true
Gives the option to downgrade a server in the future, similar to the
default on Hetzner's Cloud Console ("CPU and RAM only").
2022-03-05 15:25:21 +02:00
Evangelos Foutras
33cb9134dd
Resize gitlab volume from 250G to 200G
250 is not a nice round number, whereas 200 is.
2022-03-05 09:35:00 +02:00
Evangelos Foutras
e3d555851c Revert "Add GitLab Pages for btw[1]"
This reverts commit c8d1a39af2
2022-02-26 15:41:56 +00:00
Kristian Klausen
c8d1a39af2
Add GitLab Pages for btw[1]
[1] https://gitlab.archlinux.org/archlinux/btw
2022-02-23 17:13:55 +01:00
Evangelos Foutras
87815d037c
Rescale gitlab from cx51 to cpx41
Better bang for buck; unfortunately it doesn't seem any faster.
2022-02-06 23:43:30 +02:00
Evangelos Foutras
e407f83e3a
Resize gitlab volume to 250G 2022-02-06 23:13:20 +02:00
Kristian Klausen
9a7483832c Provision debuginfod server 2022-02-04 21:13:19 +00:00
Jelle van der Waa
d88c0b953e
Initialize gluebuddy host 2022-01-21 10:30:05 +01:00
Jan Alexander Steffens (heftig)
c0771b57ff
Remove _matrix._tcp.archlinux.org SRV record
The `https://archlinux.org/.well-known/matrix/server` response is used
over the SRV record in all cases. We haven't been listening on 8448
since e9e4c11444 (June 2019).
2021-12-10 18:23:23 +01:00
Sven-Hendrik Haase
d0de4aa30a
Resize aur-dev as it was apparently too small before 2021-12-05 02:02:17 +01:00
Evangelos Foutras
1872310ace
Create Hetzner cloud servers in Falkenstein (Germany)
Sven considers this location to have higher capacity and reliability.
2021-11-20 23:30:11 +02:00
Evangelos Foutras
508905fd56
Create Hetzner cloud servers in Nuremberg (Germany)
Follow-up to [1]; while most of our cloud servers are in Helsinki, the
latency from most of Europe is lower when accessing servers in Germany.

Pinging from multiple locations using ping.pe, the latency to Nuremberg
from most locations appears to be 10-20ms lower (compared to Helsinki).

[1] https://gitlab.archlinux.org/archlinux/infrastructure/-/merge_requests/500
2021-11-20 17:12:47 +02:00
Kristian Klausen
baf46f370a Create Hetzner cloud servers in Helsinki (Finland)
With Hetzner now having a datacenter in the US[1], we don't want to
accidentally create a server in the US, so let's always create them in
Helsinki where most of our cloud servers are.

[1] https://www.hetzner.com/news/11-21-usa-cloud/
2021-11-05 14:30:40 +00:00
Kristian Klausen
1e52140929
Increase the volume size (150->200GiB) for monitoring.al.org
With Loki needing roughly 108GiB[1] and Prometheus at least[2]
116GiB[3], 200GiB sounds like a good starting point.

[1] increase(loki_ingester_chunk_stored_bytes_total[1w]) / 7 * 90
[2] https://www.robustperception.io/how-much-disk-space-do-prometheus-blocks-use
[3] (rate(prometheus_tsdb_compaction_chunk_size_bytes_sum[1w]) /
    rate(prometheus_tsdb_compaction_chunk_samples_sum[1w])) *
    increase(prometheus_tsdb_head_samples_appended_total[1w]) / 7 * 365
2021-10-08 17:47:52 +02:00
Kristian Klausen
d7d4ecbce1
Add GitLab Pages for "Service Agreements"
Ref: https://gitlab.archlinux.org/archlinux/service-agreements/-/merge_requests/16
2021-08-22 13:13:36 +02:00
Jelle van der Waa
9f54f8e07b
Add reproducible-notes for hosting packages.json
This subdomain hosts gitlab CI produced and updated notes for
unreproducible packages.
2021-07-31 15:46:35 +02:00
Evangelos Foutras
5ece8b98c2
Scale up lists to CPX11
Archiving arch-commits mails maxes out the single vCPU of CX11 and
results in High CPU Prometheus alert. If we decide not to maintain
mail archive for arch-commits, then we can likely scale back down.
2021-07-24 14:13:26 +03:00
Kristian Klausen
3ba230b17c Replace runner1 with a new bigger box
CPU: Intel Xeon E5-2620 -> E-2288G
Disk: 2x~1TB -> 2x~500GB
2021-07-21 00:40:59 +02:00