:title: Gitea

.. _gitea:

Gitea
#####

Gitea is running on opendev.org

At a Glance
===========

:Hosts:
  * https://opendev.org/
  * gitea*.opendev.org
:Ansible:
  * :git_file:`playbooks/roles/gitea`
  * :git_file:`playbooks/roles/haproxy`
:Configuration:
  * :git_file:`playbooks/group_vars/gitea-lb.yaml`
:Projects:
  * https://gitea.io/
:Bugs:
  * https://storyboard.openstack.org/#!/project/748
  * https://github.com/go-gitea/gitea/issues

Overview
========

The OpenDev Git repositories are hosted on a pool of servers.  They
are served via https using Gitea behind HAProxy which handles load
balancing across the nodes.

Backend Maintenance
===================

To temporarily remove a git backend from the HAProxy load balancer,
you can put it in "maintenance" mode.  This can be done interactively
on the HAProxy host.  Note that long-term changes to the topology
should be made via configuration management.  These commands must be
run as root.

To see the current status of all servers::

  echo "show stat" | socat /var/haproxy/run/stats stdio

To disable a server (eg, gitea08)::

  echo "disable server balance_git_http/gitea08.opendev.org" | socat /var/haproxy/run/stats stdio
  echo "disable server balance_git_https/gitea08.opendev.org" | socat /var/haproxy/run/stats stdio

To re-enable a server::

  echo "enable server balance_git_http/gitea08.opendev.org" | socat /var/haproxy/run/stats stdio
  echo "enable server balance_git_https/gitea08.opendev.org" | socat /var/haproxy/run/stats stdio

To run these commands and others interactively, issue the prompt
command to haproxy::

  socat readline /var/haproxy/run/stats
  prompt