Skip to content
Snippets Groups Projects
Commit 5c44069b authored by juga's avatar juga
Browse files

service/anon_ticket: Improve documentation

parent 00000401
No related branches found
No related tags found
1 merge request!44service/anon_ticket: Try to clarify ticketlobby
...@@ -6,12 +6,6 @@ The project is developed in-house and hosted on GitLab at ...@@ -6,12 +6,6 @@ The project is developed in-house and hosted on GitLab at
[[_TOC_]] [[_TOC_]]
<!-- note: this template was designed based on multiple sources: -->
<!-- https://diataxis.fr/ -->
<!-- http://opsreportcard.com/section/9-->
<!-- http://opsreportcard.com/section/11 -->
<!-- comments like this one should be removed on instantiation -->
# Tutorial # Tutorial
<!-- simple, brainless step-by-step instructions requiring little or --> <!-- simple, brainless step-by-step instructions requiring little or -->
...@@ -29,19 +23,13 @@ The project is developed in-house and hosted on GitLab at ...@@ -29,19 +23,13 @@ The project is developed in-house and hosted on GitLab at
## Disaster recovery ## Disaster recovery
<!-- what to do if all goes to hell. e.g. restore from backups? --> If the PostgreSQL database isn't lost, see the
<!-- rebuild from scratch? not necessarily those procedures (e.g. see --> [installation procedure](#installation).
<!-- "Installation" below but some pointers. -->
# Reference
<!-- this section is a more in-depth review of how this service works, --> If having to install from scratch, see also
<!-- how it's setup. day-to-day operation should be covered in --> [anon_ticket Quickstart](https://gitlab.torproject.org/tpo/tpa/anon_ticket#11-quickstart)
<!-- tutorial or how-to, this is more in-depth -->
<!-- a good guide to "audit" an existing project's design: --> # Reference
<!-- https://bluesock.org/~willkg/blog/dev/auditing_projects.html -->
<!-- the following sections are partially based on that -->
## Installation ## Installation
...@@ -57,22 +45,24 @@ activated. ...@@ -57,22 +45,24 @@ activated.
## Upgrades ## Upgrades
<!-- how upgrades are performed. preferably automated through Debian --> $ source .env/bin/activate # To activate the python virtual environment
<!-- packages, otherwise document how upgrades are performed. see also --> $ cd anon_ticket
<!-- the Testing section below --> $ git fetch origin main
$ git merge origin/main
$ python manage.py migrate # To apply new migrations
$ python manage.py collectstatic # To generate new `static` files
$ systemctl --user reload/restart ticketlobby.service
## SLA ## SLA
<!-- this describes an acceptable level of service for this service --> There is no SLA established for this service.
## Design and architecture ## Design and architecture
<!-- how this is built --> `anon_ticket` is a [Django](https://www.djangoproject.com/) application and
<!-- should reuse and expand on the "proposed solution" discussed in --> project. Frontend is served by gunicorn and ngnix as proxy and nginx for
<!-- a previous RFC or the Discussion section below. it's a --> `static` files. It uses TPA's [postgresql](howto/postgresql) for storage and
<!-- "as-built" documented, whereas the "Proposed solution" is an --> [Gitlab](howto/gitlab) API to create users, issues and notes on issues.
<!-- "architectural" document, which the final result might differ -->
<!-- from, sometimes significantly -->
## Services ## Services
...@@ -85,24 +75,28 @@ Persistent data is stored in a PostgreSQL database. ...@@ -85,24 +75,28 @@ Persistent data is stored in a PostgreSQL database.
## Queues ## Queues
<!-- email queues, job queues, schedulers --> None.
## Interfaces ## Interfaces
<!-- e.g. web APIs, commandline clients, etc --> This service uses the [Gitlab REST API](https://docs.gitlab.com/ee/api/rest/).
The application can be managed via its Web interface or via
[Django cli](https://docs.djangoproject.com/en/3.1/ref/django-admin/)
## Authentication ## Authentication
<!-- SSH? LDAP? standalone? --> standalone plus [Gitlab API tokens](https://docs.gitlab.com/ee/user/group/settings/group_access_tokens.html),
see [tpo/tpa/team#41510](https://gitlab.torproject.org/tpo/tpa/team/-/issues/41510).
## Implementation ## Implementation
<!-- programming languages, frameworks, versions, license --> <!-- programming languages, frameworks, versions, license -->
Python, Django >= 3.1 licensed under BSD 3-Clause "New" or "Revised" license.
## Related services ## Related services
<!-- dependent services (e.g. authenticates against LDAP, or requires --> [Gitlab](howto/gitlab), [PosgreSQL](howto/postgresql), nginx
<!-- git pushes) -->
## Issues ## Issues
...@@ -110,34 +104,50 @@ This project has its own issue tracker at https://gitlab.torproject.org/tpo/tpa/ ...@@ -110,34 +104,50 @@ This project has its own issue tracker at https://gitlab.torproject.org/tpo/tpa/
## Maintainer ## Maintainer
<!-- document who deployed and operates this service, the team and --> Service deployed by @lavamind, @juga and @ahf.
<!-- ideally the person inside that team -->
## Users ## Users
<!-- who the main users are, how they use the service. possibly reuse --> Any user that wish to report/comment an issue in https://gitlab.torproject.org,
<!-- the Personas section in the RFC, if available. --> without having an account.
## Upstream ## Upstream
<!-- who the upstreams are, if they are still active, --> Upstream are volunteers and some TPI persons, see
<!-- collaborative, how do we keep up to date, support channels, see --> [Contributor analytics](https://gitlab.torproject.org/tpo/tpa/anon_ticket/-/graphs/master?ref_type=heads)
<!-- also the "Issues" section above -->
Upstream is not very active.
To report Issues, see [Issues](#issues).
## Monitoring and metrics ## Monitoring and metrics
<!-- describe how this service is monitored, how security issues and --> No known monitoring nor metrics.
<!-- upgrades are tracked, see also "Upgrades" above. -->
To keep up to date, see [Upgrades](#upgrades).
## Tests ## Tests
<!-- how the service can be tested, for example after major changes --> The service has to be tested manually, going to
<!-- like IP address changes or upgrades. describe CI, test suites, linting --> https://anonticket.torproject.org and check that you can:
- `create identifier`
- `login with identifier`
- `See a list of all projects`
- `Search for an issue`
- `Create an issue`
- Create a `note` on an existing issue
- `See My Landing Page`
- `request gitlab account`
To test the code, see
[anon_ticket Tests](https://gitlab.torproject.org/tpo/tpa/anon_ticket/-/tree/master?ref_type=heads#50-tests)
## Logs ## Logs
<!-- where are the logs? how long are they kept? any PII? --> Logs are sent to journal. Gunicorn access and error logs are also saved at
<!-- what about performance metrics? same questions --> `$HOME/log` without IP (proxy's one) nor User-Agent.
## Backups ## Backups
...@@ -146,19 +156,17 @@ This project has its own issue tracker at https://gitlab.torproject.org/tpo/tpa/ ...@@ -146,19 +156,17 @@ This project has its own issue tracker at https://gitlab.torproject.org/tpo/tpa/
## Other documentation ## Other documentation
<!-- references to upstream documentation, if relevant --> [anon_ticket README](https://gitlab.torproject.org/tpo/tpa/anon_ticket/-/blob/2fa7b0aaf5b143032f92b3df61b13ebe66d2101b/readme.MD)
# Discussion # Discussion
<!-- the "discussion" section is where you put any longer conversation --> This service was initially deployed by @ahf at https://anonticket.onionize.space/
<!-- about the project that you will not need in a casual --> and has been migrated here, see
<!-- review. history of the project, why it was done the way it was --> [tpo/tpa/team#40577](https://gitlab.torproject.org/tpo/tpa/team/-/issues/40577).
<!-- (as opposed to how), alternatives, and other proposals are -->
<!-- relevant here. -->
<!-- this at least partly overlaps with the TPA-RFC process (see --> In the long term, this service will deprecate https://gitlab.onionize.space/
<!-- policy.md), but in general should defer to proposals when --> service, deployed by @ahf, from the [Gitlab Lobby](https://gitlab.torproject.org/tpo/tpa/gitlab-lobby) code, because its functionality has already been integrated in
<!-- available --> `anon_ticket`.
## Overview ## Overview
...@@ -193,6 +201,10 @@ This project has its own issue tracker at https://gitlab.torproject.org/tpo/tpa/ ...@@ -193,6 +201,10 @@ This project has its own issue tracker at https://gitlab.torproject.org/tpo/tpa/
--> -->
Nothing urgent.
Next steps: [anon_ticket Issues](https://gitlab.torproject.org/tpo/tpa/anon_ticket/-/issues/?sort=created_date&state=opened&first_page_size=100)
## Proposed Solution ## Proposed Solution
<!-- Link to RFC --> <!-- Link to RFC -->
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment