Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add cli tool to create GitLab application and permissions #21

Open
tmcgilchrist opened this issue May 4, 2022 · 1 comment
Open

Add cli tool to create GitLab application and permissions #21

tmcgilchrist opened this issue May 4, 2022 · 1 comment
Assignees
Labels
enhancement New feature or request

Comments

@tmcgilchrist
Copy link
Contributor

tmcgilchrist commented May 4, 2022

Background

GitLab is missing the integrated concept of an GitHub Application that includes allowing access to a project/group, setup notifications of merge request/push events, and notifications of adding new projects to build. We would like a cli application that creates/maintains the correct set of web hooks and permissions.

Summary

  1. Create the necessary token / application and project web hooks for tezos-ci. Given an existing token with permissions to create or update setup everything required for a tezos-ci instance.
  2. Add signup process for adding new project to build and creating the right webhook callbacks, based off an existing access token with sufficient permissions.

The GitLab Application should have

The web hooks are setup per project, so for each project it needs:

  • Callback url to deliver web hooks to eg https://tezos.ci.dev/webhooks/gitlab
  • Webhook secret that is shared between GitLab and the tezos-ci services, we use this to validate the web hooks really came from GitLab. This needs to be added to system configuration in ansible/docker.
  • Add triggers for Push, Tag Push and Merge Request events
  • Enable SSL verification.

Outcome

A cli application to

  • setup a new tezos-ci installation in GitLab
  • add a new project with the correct permissions, web hooks and configuration.

The CLI should look something like:

tezos-setup create --token <token>
tezos-setup add --project-id <project_id> | --project_name tezos/tezos --token <token>
tezos-setup add --projects "tezos/tezos, tmcgilchrist/ocaml-gitlab" --token <token>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants