Skip to content
Navigation
TPA Wiki
Processes
Search
Search
Gitlab
About
Need help?
User documentation
System documentation
Archive
TPA Wiki
Gitlab
About
About
Introduction
Policies
Policies
ADR-100: Replace the TPA-RFC template with ADR Nygard
ADR-101: process
ADR-101: communications
ADR-103: Replace MinIO with GarageHQ
ADR-104: GitLab issue tracking
ADR-105: Standardise support cipher suites and protocols
ADR-106: Move all of Jenkins to Hetzner and retire dragon.tails.net
ADR-107: Move services hosted on lizard.tails.net to a rented machine at Hetzner
ADR-108: GitLab GitLab cookie and JavaScript enforcement
ADR-109: Status page hosting
ADR-0110: Migration and retirement of lizard.tails.net and iguana.tails.net
ADR-111: Maintenance windows
ADR-112: Replace TPA wiki with static site
ADR-N: TITLE
TPA-RFC-1: RFC process
TPA-RFC-10: Jenkins retirement
TPA-RFC-11: SVN retirement
TPA-RFC-12: Triage, office hours formalization
TPA-RFC-13: Use OKRs for the 2022 roadmap
TPA-RFC-14: GitLab artifacts expiry change
TPA-RFC-15: email services
TPA-RFC-16: Replacing lektor-i18n-plugin
Tpa rfc 17 disaster recovery
TPA-RFC-18: Security Policy
TPA-RFC-19: GitLab Labels usage
TPA-RFC-2: support
TPA-RFC-20: bullseye upgrade schedule
TPA-RFC-21: Uninstall SVN
TPA-RFC-22: Rename TPA IRC channel and Matrix bridge
TPA-RFC-23: Retire ipv6only.torproject.net
TPA-RFC-24: Extend merge permissions for web projects
TPA-RFC-25: BTCpay replacement
TPA-RFC-26: LimeSurvey upgrade
TPA-RFC-27: Python 2 end of life
TPA-RFC-28: alphabetical triage star of the week
Tpa rfc 29 lektor scss plugin
TPA-RFC-3: tools
TPA-RFC-30: Changing how lego plugins are used
TPA-RFC-31: Outsource email services
TPA-RFC-32: Nextcloud root-level shared folders migration
TPA-RFC-33: Monitoring
TPA-RFC-34: End of TPA office hours
TPA-RFC-35: GitLab email address changes
TPA-RFC-36: Retirement of Gitolite and GitWeb
TPA-RFC-37: Lektor replacement
TPA-RFC-38: Setting Up a Wiki Service
TPA-RFC-39: Nextcloud user account policy
Deadline
TPA-RFC-40: Cymru migration budget pre-approval
TPA-RFC-41: Schleuder retirement
TPA-RFC-42: 2023 TPA Roadmap
TPA-RFC-43: Cymru migration plan
TPA-RFC-44: Email emergency recovery, phase A
TPA-RFC-45: email architecture
TPA-RFC-46: GitLab 2FA
TPA-RFC-47: Email account retirement
TPA-RFC-48: Enable new GitLab Web IDE
TPA-RFC-5: GitLab migration
TPA-RFC-50: private GitLab pages
TPA-RFC-51: Improve l10n review ci workflow
TPA-RFC-52: Cymru migration coming, ~1h expected on some machines
TPA-RFC-53: Everyone gets a security key!
TPA-RFC-54: build-x86-05 and build-x86-06 retirement
TPA-RFC-55: Swap file policy
TPA-RFC-56: large file storage
TPA-RFC-57: Debian bookworm upgrade schedule
TPA-RFC-58: Podman CI runner deployment, help needed
TPA-RFC-59: SSH jump host aliases
TPA-RFC-6: Naming Convention
TPA-RFC-60: GitLab 2-factor authentication enforcement
TPA-RFC-61: 2024 roadmap
TPA-RFC-62: TPA password manager
TPA-RFC-63: buy a new backup storage server (5k$ + 100$/mth)
TPA-RFC-64: Puppet TLS certificates
TPA-RFC-65: PostgreSQL backups
TPA-RFC-66: Migrate to Gitlab Ultimate Edition
TPA-RFC-67: Retire mini-nag
TPA-RFC-68: Idle canary servers
TPA-RFC-69: switch to HTTP basic auth on CiviCRM server
TPA-RFC-7: root access
TPA-RFC-77: Move Tails Sysadmins issue trackers to Tor's GitLab
TPA-RFC-71: Emergency email deployments, phase B
TPA-RFC-72: Migrate donate-01 to gnt-dal cluster
TPA-RFC-73: Tails infra merge roadmap
TPA-RFC-74: GitLab CI retention policy
TPA-RFC-75: new office hours
TPA-RFC-76: Puppet merge request workflow
Tails and TPA Puppet codebase merge
TPA-RFC-78: Dangerzone retirement
TPA-RFC-79: General merge request workflows
TPA-RFC-8: GitLab CI libvirt exception
TPA-RFC-80: Debian 13 ("trixie") upgrade schedule
TPA-RFC-81: Gitlab access
TPA-RFC-82: Merge Tails and Tor support policies
TPA-RFC-83: Mail log retention
TPA-RFC-84: MinIO backups and scaling
TPA-RFC-85: invite-only internal IRC channels
TPA-RFC-86: Identity and Access Management
TPA-RFC-87: container image lifecycle
Tpa rfc 88 dns registrars
TPA-RFC-80: GitLab confidential notifications encryption
TPA-RFC-9: "proposed" status and small process changes
TPA-RFC-90: Enforcing signed commits for Puppet
TPA-RFC-91: Incident response
TPA-RFC-92: Emergency BBB hosting provider change
TPA-RFC-93: Gitaly migration to improve GitLab performance
TPA-RFC-94: Security liaison role rotation
TPA-RFC-95: retire the tor-team mailing list
Meetings
Meetings
2019 03 04
2019 04 08
2019 05 06
2019 06 03
2019 07 01
2019 09 09
2019 10 07
2019 11 04
2019 11 25
2020 01 13
2020 02 03
2020 03 09
2020 04 14
2020 05 11
2020 06 10
2020 07 01
2020 11 18
2020 12 02
2021 01 19
2021 01 26
2021 02 02
2021 03 02
2021 04 07
2021 05 03
2021 06 02
2021 06 14
2021 09 07
2021 10 07
2021 11 01
2021 12 06
2022 01 11
2022 01 24
2022 02 14
2022 03 14
2022 04 04
2022 05 09
2022 06 06
2022 06 21
2022 07 24
2022 08 29
2022 10 03
2022 11 07
2022 12 06
2023 02 06
2023 03 13
2023 05 08
2023 06 05
2023 10 02
2023 12 11
2024 01 22
2024 06 10
2024 09 09
2024 10 15
2024 11 11
2024 11 18
2024 12 02
2025 Q1 Roadmap meeting
2025 02 10
2025 03 10
2025 04 07
2025 05 05
2025 05 12
2025 06 16
2025 07 07
2025 09 08
2025 10 06
2025 October in-person TPA meetup
2025-11-10
2025 11 17
2025 12 15
2026 01 12
2026 03 10
2026 08 03
2026 09 14
2026 10 05
2026 11 09
Template
Providers
Providers
Autistici / Inventati
Coloclue
Hive
PUSCII
Quintex
Need help?
User documentation
User documentation
git, shell, ldap, etc. accounts
sys admin and service admin tasks
Bits and pieces of Tor Project infrastructure information
When using extra.tpo
Hardware requirements
Lektor website development environment on macOS
Naming scheme
How to report email problems
Running non-root services
learning how to do an ssh jump host on tpo
How make website changes
System documentation
System documentation
How tos
How tos
Apu
HTTP load testing
Build and upload Debian packages
Create a new user
Cumin
Drbd
Fabric
Git
Incident and emergency response: what to do in case of fire
Creating a tunnel with HE.net
Reference
Keyboard
Lektor
LVM cheat sheet
New machine cymru
New machine hetzner cloud
How to install a new bare metal server at Hetzner
New machine mandos
New machine ovh cloud
New machine
How to get a new Tor System Administrator (with web developer duties) on board
Nftables
Openpgp
Raid
Reboots
How to
Rename a user
Decommissioning a host
Retire a user
Dealing with time
Upgrades
How to take a leave from TPA
YubiKey documentation
Service listing
Service listing
Btcpayserver
Anon ticket
Backup and restore procedures
Blog
Cache
Cdn
Ci
Conference
Crm
Dangerzone
Debian archive
Dns
Documentation
Donate
Email
Forum
Ganeti
Gitlab
Gitolite
Grafana
How-to
Irc
Jenkins
Kvm
Ldap
Lists
Logging
Welcome to the Matrix: Your Tor real-time chat onboarding guide
Nagios
Nextcloud
Object storage
Onion
Openstack
Password manager
Postgresql
Prometheus
Puppet
Rt
Schleuder
Static component
Static shim
Status
Styleguide
Support
Survey
Svn
Template
Tls
Tor weather
Trac
Vault
Web Key Directory
Archive
Archive
Tails
Tails
Howtos
Howtos
Decommission
Growing a VM's system disk
Installing a VM
Installing a Jenkins isoworker
Install new systems
Install a new Icinga 2 node
RM Q&A for Sysadmins
SPAM training guide
a n00b's guide to tails infra
Processes
Processes
Improve the infrastructure behind Tails
Onboarding
Services
Services
Backups
Dns
GitLab Runners
GitLab for Tails sysadmins
Automated ISO/IMG builds and tests on Jenkins
Mirror pool
Tails time-based APT snapshots
Vpn
Mod_security on weblate
Website builds and deployments
Website redundancy
Systems
Systems
Usage policy for skink.tails.net
Hardware
How tos
Processes
Tails Sysadmins role description
Scripts
Services managed by Tails Sysadmins
Systems
Roadmap
Roadmap
2020
2021
2022
2023
2025
Tails merge
Markdown test page
Archive
Tails
Processes
¶
contribute
onboarding
Back to top