Skip to content

python-discord/infra

Folders and files

NameName
Last commit message
Last commit date

Latest commit

b5d81cd · Feb 9, 2025
Jun 2, 2024
Sep 1, 2024
Feb 8, 2025
Oct 1, 2024
Aug 30, 2024
Feb 9, 2025
Aug 14, 2023
Aug 9, 2024
Aug 9, 2024
Aug 31, 2024
Aug 18, 2024
Jan 10, 2022
Aug 1, 2024
Feb 8, 2025
Feb 8, 2025
Jul 15, 2024
Jun 17, 2023

Repository files navigation

Infra

This repository contains the infrastructure configuration for Python Discord, the file structure is shown below, with well known files omitted for brevity:

.github/
└── workflows/                           # GitHub Actions Workflows for CI
ansible/
├── host_vars/                           # Host specific Ansible variables
├── inventory/                           # Ansible Inventory files
├── local_testing/                       # Vagrant configuration to test Ansible playbook locally using VMs
├── roles/                               # Directory containing all Ansible roles
├── .ansible-lint                        # Configuration for ansible lint
├── ansible.cfg                          # Ansible Configurartion file
└── playbook.yml                         # Root playbook pulling all roles together
dns/
├── zones/                               # Zone configuration for each supported DNS Zone
└── production.yaml                      # Configuration for OctoDNS planning and deployment
docs/
└── meeting_notes/                       # Minutes for previous devops meetings
kubernetes/
├── cluster-wide-secrets/                # Kubernetes secrets shared by multiple pods across namespaces
├── namespaces/                          # Kubernetes manifests, separated by namespace
└── scripts/                             # Scripts used to lint manifests in CI
.pre-commit-config.yaml                  # pre-commit configuration
server_bootstrap.sh                      # A bash script used to init our bare metal servers

Documentation

Infrastructure-related documentation ("the big picture"), can be found in docs/.

Many folders have a README.md file within them, which have more detailed explanations on what that folder, and the files within, is used for.

Linting

To lint everything with pre-commit locally, run the command

$ poetry run task lint

Any trivial errors (formatting, minor linting problems) will automatically be fixed.