Coder Social home page Coder Social logo

vault-plugin-secrets-gitlab's Introduction

Splunk OCSF Extension

The Splunk schema extension repository

vault-plugin-secrets-gitlab's People

Contributors

dependabot[bot] avatar lewiscowper avatar m0rosan avatar nickshine avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

vault-plugin-secrets-gitlab's Issues

run acceptance test in CI

it currently only runs unit test. we need to run acceptance test in CI

self-hosted gitlab and isolated vault instance in docker

CLI to work with CI_JOB_JWT

continuing from #16, instead of scripts, create CLIs to facilitate

  1. vault resource creation - roles and policies
  2. script in a job that authenticate with vault with CI_JOB_JWT then hit token endpoint to get credentials

documentation for group/project level secret mount installment

I've tested at instance level where an admin token is used. This allows to create project access token for any projects.

For SaaS or limited use, this secret mount should work for

  • group maintainer or higher access token for projects under a group
  • project maintainer or higher access token for a project

We'll need to test and document that situation where group maintainer token is used. it should be able to create project access token for projects under the group. it shouldn't be able to create project access token for a project outside of the group where the token configured in plugin doesn't have access to.

expires_at is required by gitlab ~16.3

Hi, I'm testing this plugin which would be very useful for an instance-scoped external CI pipeline. But when I tried the examples in the README this error appears:

vault write gitlab/token id=1 name=ci-token scopes=api,write_repository
Error writing data to gitlab/token: Error making API request.

URL: PUT https://<vault host>/v1/gitlab/token
Code: 400. Errors:

* Failed to create a token - POST https://<gitlab host>/api/v4/projects/1/access_tokens: 400 {error: expires_at is missing}

Apparently Gitlab is changing the policy wrt expires_at, and now it's being required.

https://gitlab.com/gitlab-org/terraform-provider-gitlab/-/issues/4133

Could you please include this in the requests?

Instruction with GitLab CI_JOB_JWT

creating instruction how to setup project with CI_JOB_JWT with secure manner

  1. setting up vault instance with gitlab
  2. vault resource and policy that only configured project can hit specific vault path. e.g. gitlab/roles/my-project-1-role and gitlab/token/my-project-1-role
  3. hit token endpoint from job script

revoke token

Implement revoke token functionality. Currently, generated tokens are either expired or manually revoked. No-longer-needed token should also be revoked programmatically.

AC:

generic path revoke which accepts below to revoke
{
"id": ,
"token_id": ,
}

we'll want a control that a only generated token can be revoked by the requested entity. plane /revoke endpoint may not be sufficient for it.

Lift API rate limit for SaaS Gitlab

For self-hosted GitLab, admin can lift API rate limit per origin of user.
For SaaS GitLab, there's a limit documented here. it's 2000 rpm for authenticated access. This shouldn't be a problem for even large usages. But in case this plugin user surpasses the rate limit, premium/ultimate customers should be able to request for the lift.

We need to document it

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.