Pagure Dist Git Interactions With Toddlers
Toddlers are used to run various small tasks in Fedora Infrastructure. Keeping things synced and automating various tasks that were done manually in the past. As that it has plenty of interactions with Dist Git.
Possible Interactions
The following are a set of documented interactions possible between Pagure Dist Git and Toddlers.
Git module
Some of the toddlers are doing cloning and various interactions with git, all of those interactions are in git module
Pagure module
This module contains method interacting with pagure or dist-git
Few methods are specific only for dist-git:
set_monitoring_status
is_project_orphaned
assign_maintainer_to_project
clean_retired_packages toddler
/_dg/orphan
API endpoint called inorphan_package
method/_dg/bzoverrides
API endpoint called inorphan_package
method/<namespace>/<name>/git/modifyacls
API endpoint called inremove_access
method/<namespace>/<name>/watchers/update
API endpoint called inremove_access
method
distgit_bugzilla_sync toddler
/extras/pagure_poc.json
called in_get_pagure_projects
/extras/pagure_bz.json
called in_get_pagure_projects
flag_ci_pr toddler
/api/0/<namespace>/<repo>/c/<commit_hash>/flag
called inprocess
method
flag_commit_build toddler
/api/0/<namespace>/<repo>/c/<commit_hash>/flag
called inprocess
method
packagers_without_bugzilla toddler
/extras/pagure_bz.json
called inget_user_and_groups_dist_git
method
pdc_retired_packages toddler
/<namespace>/<repo>/raw/<branch>/f/dead.package
called in_is_retired_in_dist_git
method
pdc_unretire_packages toddler
/<namespace>/<package_name>.git
called inprocess_ticket
methodgit clone
called inprocess_ticket
toddler
Changes proposed
In order to switch out Pagure Dist Git for an alternative that provides a relatively compatible API pattern, the following changes must be made in the places mentioned below.
Necessary
The configuration needs to be changed for dist-git to point to new URL
The new dist-git solution needs to provide the API calls needed by toddlers
Unnecessary
Split pagure module to dist-git and pagure module. This change will help us differentiate between those two in the future