Skip to content

GitLab

  • Menu
Projects Groups Snippets
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
  • Sign in
  • A aurweb
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Locked Files
  • Issues 90
    • Issues 90
    • List
    • Boards
    • Service Desk
    • Milestones
    • Iterations
    • Requirements
  • Merge requests 6
    • Merge requests 6
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
    • Test Cases
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages & Registries
    • Packages & Registries
    • Package Registry
    • Container Registry
    • Infrastructure Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Code review
    • Insights
    • Issue
    • Repository
  • Wiki
    • Wiki
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • Arch Linux
  • aurweb
  • Issues
  • #227
Closed
Open
Created Jan 03, 2022 by Kevin Morris@kevrDeveloper2 of 2 tasks completed2/2 tasks

[Feature] Bare Metal Ansible Setup

  • I have summed up the feature in concise words in the Summary section.
  • I have completely described the feature in the Description section.

Summary

We should maintain a script that can be used to deploy the aurweb tree to a bare metal system. We're currently doing this through Docker, but, aur.archlinux.org does not use Docker nor should we require Docker for ease-of-use.

Description

Our process, roughly:

  • Pacman dependency installation (this may want to be omitted when used through ansible).
  • Poetry project installation
  • Translation compilation
  • Setup AUR git repository if it does not yet exist
    • Also, setup a hooks/update wrapper which calls aurweb-git-update via poetry run.
  • Update config.defaults
    • We should require that the deploy target has a valid $AUR_CONFIG, which should probably be defaulted to /etc/aurweb/config.
  • Configure sshd, update aurweb-git-auth wrapper
  • Restart sshd.service
  • Restart redis.service
  • Restart mariadb.service and create user 'aur'@'localhost' with the right DB if it doesn't exist.
  • Create aurweb.service which launches aurweb asgi via aurweb.spawn or gunicorn.
    • See docker/scripts/run-fastapi.sh
  • Produce nginx config to be used with deployment
    • Restart nginx.service

The aur.archlinux.org ansible playbook is located at https://gitlab.archlinux.org/archlinux/infrastructure/-/blob/master/playbooks/aur.archlinux.org.yml and we should produce merge requests to update it as needed.

Edited Jan 12, 2022 by Kevin Morris
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
Time tracking