1
1
Fork 0
mirror of https://gitlab.archlinux.org/archlinux/infrastructure.git synced 2024-06-08 04:26:05 +02:00
Commit Graph

157 Commits

Author SHA1 Message Date
Evangelos Foutras 9338663fce
Replace runner2 with runner3 (with the same specs)
Equinix's AMS1 DC is being shut down so we need to recreate this box.

For Geo variety, this one is created in Frankfurt instead of Amsterdam.

Ref #495
2023-02-11 17:28:19 +02:00
Evangelos Foutras 6a55c9009f
Replace repro1 with repro3 (same CPU, 32G->64G RAM)
Equinix's AMS1 DC is being shut down so we need to recreate this box.

Ref #495
2023-02-11 16:48:58 +02:00
Kristian Klausen 24e73359c6
Decommission patchwork.archlinux.org and replace it with a static copy[1]
As announced on the mailing list[2] pacman has been migrated to gitlab
and there is no real use for patchwork left, so it can be
decommissioned. A static copy[1] is kept around for the time being to
avoid link rot.

[1] https://gitlab.archlinux.org/archlinux/patchwork-archive
[2] https://lists.archlinux.org/archives/list/arch-dev-public@lists.archlinux.org/message/7B6R5HVEC67U7B2VQ3SKUVXU4RDCRRMM/

Fix #487
2023-01-08 22:10:49 +01:00
Evangelos Foutras de5552e0bc
hosts: get rid of dedicated_servers group
This has become outdated (missing new dedicated servers) and its usage
can be replicated by checking if ansible_virtualization_role == "host".

For Ansible ad hoc commands, '!hcloud' can be used to the same effect.
2022-10-23 20:49:28 +03:00
Evangelos Foutras ef266a95a2
hosts: remove superseded reproduciblebuilds group
Repro machines are now placed in the rebuilderd_workers group.
2022-10-23 20:49:28 +03:00
Evangelos Foutras 3198135748
hosts: remove purposeless nginx group
This group is unused and contains fewer than half of our web servers.
2022-10-23 20:49:28 +03:00
Evangelos Foutras efddbd8777
hosts: add lists.archlinux.org to [postgresql_servers] 2022-10-23 20:49:27 +03:00
Evangelos Foutras f626cbac5b
hosts: alphabetically sort servers in each group 2022-10-23 20:49:27 +03:00
Kristian Klausen 893a95f329
Kill the mailman2 server and put the mailman3 server in its place
With the final lists migrated to mailman3[1], the mailman2 server can
finally be killed.

When the mailman3 server was initially setup[2], it was done on a
separate server because the mailman and mailman3 packages conflicted,
and the traffic was routed over wireguard (HTTP, LMTP and SMTP).

Instead of installing mailman3 on the original lists.al.org server and
transferring the data, it was easier just to install the missing pieces
(basically Postfix and adjusting the Nginx configuration) on the ml3
server and move the IPs (to keep the IP mail reputation).

So basically the following was done:
- The IPs for the original lists.al.org was moved to the mailman3.al.org
  server
- The mailman2 datadir was transferred to mailman3.al.org server, so we
  can keep the pipermail links alive, and import missing mails if needed
- The original lists.al.org server was decommissioned
- The mailman3.al.org server was renamed to lists.al.org
- The missing pieces was added to the mailman3 role (basically Postfix +
  Nginx adjustments)
- The mailman role was deleted and the mailman3 role renamed to mailman

[1] 75ac7d09 ("mailman: Fourth and final batch of mailman3 migrated lists")
[2] 9294828f ("Setup mailman3 server")

Fix #59
2022-09-28 21:04:41 +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
Kristian Klausen 06e0252720
gitlab_runner: Add VM based executor (libvirt-executor)
For some workloads running in a container is too restrictive, ex:
arch-boxes (loop device, filesystem mount, pacstrap) and archiso
(pacstrap). Currently they both run a TCG accelerated QEMU VM, which is
very slow and painful to work with. We should provide a better option to
our users!

This adds a hardware accelerated VM for this kinds of workloads, which
is way faster and you can do whatever you like (mostly)!

Fix #283
2022-07-29 20:18:34 +02:00
Evangelos Foutras 93e76c8123
Exclude asia from the inventory temporarily
We took it out of Geo duties two months ago, but it's still offline and
it gets annoying having to exclude it from all Ansible executions we do.
2022-07-26 15:29:26 +03:00
Evangelos Foutras 83f0066a14
Replace references to Packet.net with Equinix Metal
Also tweak the documentation on rebuilderd workers and add runner1.
2022-07-10 12:42:15 +03:00
Evangelos Foutras b6675db5e6
Add new mirrors in Seoul and Sydney 2022-07-10 12:42:15 +03: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
Kristian Klausen 9294828f15
Setup mailman3 server
We want to migrate to mailman3 as mailman2 is basically unmaintained and
requires Python 2 which is EOL.

Because the mailman and mailman3 packages conflict and we don't want to
perform a big bang migration, mailman3 must be deployed on a separate
server. mailman-web (mailman3's web interface) hasn't been packaged yet,
so for now we are using my homebrewed PKGBUILD[1].

[1] https://gist.github.com/klausenbusk/5982063f95c503754a51ed2fefb8915e

Ref #59
2022-05-14 22:51:59 +02:00
Evangelos Foutras 62f93478dc
Replace dynamic hcloud inventory with host entries
We make almost no use of the dynamic properties of the hcloud inventory,
so we can simplify this by declaring all cloud servers in the main hosts
inventory.

The main benefit of this change is that temporary and experimental cloud
servers are not automatically included in the Ansible playbooks. In such
cases it is usually incorrect to deploy changes to these unknown servers.

A smaller side benefit is that Ansible will now use hostnames to connect
to cloud servers, whereas the dynamic inventory provided IPv4 addresses.
This results in more meaningful ~/.ssh/known_hosts entries.
2022-05-12 20:32:58 +03:00
Evangelos Foutras 248e57b3c5
Remove [node_exporters]/[wireguard] from inventory
All servers are part of these groups which makes them redundant.
2022-05-12 19:40:49 +03:00
Evangelos Foutras 8f563bb43b
Add {matrix,md}.archlinux.org to [postgresql_servers]
Also alphabetically sort the servers in this group.
2022-04-20 22:43:51 +03: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
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 211533b3ba
Add build.archlinux.org to [hetzner]
Indirect way to get "configure_network: true".
2022-03-11 19:36:01 +02:00
Evangelos Foutras dc0f4655df
Remove our two borg hosts from the inventory
These are managed services and Ansible doesn't run on them. It got
boring writing 'all,!rsync_net,!hetzner_storageboxes' in playbooks
and ad-hoc commands, so remove these borg hosts from our inventory.
2022-02-26 11:08:30 +02:00
Kevin Morris 521446dc7e update playbooks/aur{,-dev}.archlinux.org.yml
Signed-off-by: Kevin Morris <kevr@0cost.org>
2022-02-09 22:13:21 +01:00
Kristian Klausen 9a7483832c Provision debuginfod server 2022-02-04 21:13:19 +00:00
Kristian Klausen 3c773eca57
Add gluebuddy to the node_exporters group
Fixes: d88c0b95 ("Initialize gluebuddy host")
2022-01-30 14:25:38 +01:00
Kristian Klausen 91f9df6960
Add missing wireguard for gluebuddy
Fixes: d88c0b95 ("Initialize gluebuddy host")
2022-01-30 14:25:35 +01:00
Jelle van der Waa d88c0b953e
Initialize gluebuddy host 2022-01-21 10:30:05 +01:00
Jelle van der Waa bf5a165303
Add smart monitoring using a textcollector
Collects the smart data using smartctl and outputs them in the
textcollector dir. This expects smartd to be configured to regularly
self tests on a regular interval to detect if a disk is broken.
2022-01-04 21:25:41 +01:00
Jelle van der Waa 69bb5a94d2
Remove aur-dev from mysql/memcached
We sadly run all that stuff in docker now.
2021-12-04 11:22:49 +01:00
Evangelos Foutras 69994e900a
Complete rsync.net account migration
New username; separate and longer account manager + storage passwords.

Also, have to use --remote-path=borg1 when interacting with rsync.net.
2021-11-06 19:50:31 +02:00
Kristian Klausen 664deb67ab WireGuard all hosts
This is meant as a internal authenticated and encrypted network which we
can use for internal services, we don't want to expose to the internet
or when encryption is desired but not easily implementable.
2021-07-06 20:58:15 +00:00
Kristian Klausen 107488ddec Add WireGuard role
This is initial to be used for communicating between
{lists,mailman3}.archlinux.org as mailman{2,3} can't run on the same
server.
2021-07-06 20:58:15 +00:00
Kristian Klausen 79f7d59910 Goodbye luna
https://lists.archlinux.org/pipermail/arch-dev-public/2021-July/030471.html

Fix #86
2021-07-04 12:46:01 +00:00
Kristian Klausen 06d4826aac Make the lists.al.org VPS the new lists server
Fix #356
2021-06-30 09:30:31 +00:00
Kristian Klausen 41c5a5e26c Add initial playbook for lists.archlinux.org
nginx, certbot, postfix and mailman are still missing and the DNS is
still pointing to luna.
2021-06-30 09:30:31 +00:00
Evangelos Foutras 9dac036f6b
Add accounts.archlinux.org to node_exporters in hosts 2021-06-27 01:09:12 +03:00
Sven-Hendrik Haase d2b110d250 Add dashboards.archlinux.org for public Grafana dashboards
Co-authored-by: Kristian Klausen <kristian@klausen.dk>
2021-05-13 23:28:01 +02:00
Jakub Klinkovský f8a5918b6e
Put man.archlinux.org into node_exporters group
I think this is all that is missing to actually start monitoring
man.archlinux.org.
2021-03-24 09:16:35 +01:00
Jelle van der Waa 3124cfd933
Add hedgedoc as new service
This adds a collaborative markdown editor as newly offered service which
is available via login for all Arch Linux Staff with an option to allow
anonymous edits by users (not default). Users are managed via keycloak
and require the Staff role to be allowed in, non staff keycloak users
currently will receive an internal server error due to an upstream
issue.
2021-02-01 21:59:30 +01:00
Sven-Hendrik Haase 44f497e52b
Remove dragon (fixes #267) 2021-01-31 13:54:14 +01:00
Sven-Hendrik Haase 83cbb36866
Add build.archlinux.org 2021-01-26 18:06:09 +01:00
Jelle van der Waa c62adf42dc
Make Kape archive servers, arch mirrors as well.
Closes: #231
2021-01-26 16:56:41 +01:00
Sven-Hendrik Haase 8327ffd974
Deploy man.archlinux.org 2021-01-11 14:55:29 +01:00
Jelle van der Waa 8b0950a30a
Remove openpgpkey.archlinux.org leftovers 2021-01-10 21:05:12 +01:00
Jelle van der Waa 2a90e21561
Monitor all KApe Boxes 2021-01-03 14:01:11 +01:00
Giancarlo Razzolini feb638b796
hosts: Apollo decommission
Remove apollo from hosts.
2020-12-29 07:11:35 -03:00
Frederik Schwan 06d5360ec7 add redirect server to handle redirects for deprecated domains 2020-12-26 23:35:32 +00:00
Giancarlo Razzolini 4dd7611e4e
hosts: Add security.archlinux.org and create a host_vars for it
Added security.archlinux.org to the relevant groups on hosts and created a host_vars
so we can run the all-hosts-basic.
2020-12-25 14:40:42 -03:00
Frederik Schwan 02e9fb0343
add aur-dev to borg backups to let the aur-dev role run properly 2020-12-25 17:04:29 +01:00