SPIKE: Repo-sync transition plan
as part of this epic https://repo1.dso.mil/groups/big-bang/-/epics/340 need to come up with a solution to provide a more reliable method of syncing between repo1 and github.
some options could be:
* gitlab mirrors for all projects
* bigbang-bot integration with webhooks
* need to also consider keeping existing repo-sync tool and repairing it.
UPDATE:
# The following repos are the context of this new repo sync
- bigbang, 2872
- istio, 3550
- istiooperator, 3549
- jaeger, 4985
- kiali, 4984
- clusterAuditor, 2905
- gatekeeper, 1870
- kyverno, 11089
- kyvernopolicies, 11640
- kyvernoreporter, 11952
- elasticsearch-kibana, 3554
- eckoperator, 3551
- fluentbit, 3552
- promtail, 8649
- loki, 7444
- neuvector, 11866
- tempo, 7445
- monitoring, 1814
- twistlock, 2314
- argocd, 2326
- authservice, 3472
- minioOperator, 4359
- minio, 2489
- gitlab, 2312
- gitlabRunner, 2325
- nexusRepositoryManager, 4906
- sonarqube, 2317
- haproxy, 3874
- anchore, 2315
- mattermostOperator, 4588
- mattermost, 2313
- velero, 3632
- keycloak, 2324
- vault, 7074
- metricsServer, 11947
- jira, 2316
- confluence, 2318
- fortify, 2512
- harbor, 3964
- redis, 4986
- podinfo, 4885
- vpa, 12989
- thanos, 11915
- wrapper, 12682
- gluon, 6751
- landscape, 12293
- iconDecorator, 8812
- keycloakPlugin, 12194
- grafana, 13432
# Gitlab
## for every repo above push ```main``` branch to github
- will need to setup keys for github repo
- setup gitlab mirror push rule for just the ```main``` branch
## for bigbang product repo push ```main``` and all ```protected``` branches to github
- this is already setup and working
- might want to audit keys used here
## for bigbang product repo, push all tags to github
- this is already automatically setup, and tags move along with ```protected``` branches
## if comment on ```community contribution``` issue, push comment to github
- need to setup gitlab webhook on all repos to watch for these comments.
- once triggered, ```repo-sync``` pipeline kicks off to send update to github
# Github
## if opened issue in github, push to gitlab and label it with community contribution
- setup webhook to send to ```repo-sync``` so it can create the MR in the neccessary repo
## if comment on on issue push to gitlab
- setup webhook to send to ```repo-sync``` so it can update the correct MR in the neccessary repo
# issues to create
- Proof of concept issue
- audit existing bigbang product mirror keys
- create ```repo-sync``` webhook that will be used to kickoff pipelines from github
- create ```repo-sync``` pipeline to push comment to github community contribution issue
- create ```repo-sync``` pipeline to pull in new github issue
- label with ```community contribution```
- link to github issue
- create ```repo-sync``` pipeline to update ```community contribution```issue
- one issue for each repo to get mirror and webhooks set up
issue