Skip to content

Discussion on adding custom resources types to manage tokens, users, groups, projects #395

@tuxmea

Description

@tuxmea

I am considering adding custom types and providers to manage gitlab internal configs.

What is the best way to interact from a custom type/provider with gitlab?

At the moment I see two ways:

  1. executing gitlab-rails runner
  2. communicate with api

gitlab-rails command

The gitlab-rails command can be run as root user. No further authentication required.
This allows to check existing and add new tokens, users, groups, projects.

But: the command is very slow.

api

Communication with api needs a token.
root token can be managed using gitlab-rails only.
other user tokens can be managed using the root token.

all other resource types will need an autorequire on the gitlab_token type.

But: where to store the root api token itself so it can be used by all other resource types?
In puppet cache dir?
or is it possible to pass a variable from one provider to another one without again running the gitlab-rails command?

Metadata

Metadata

Assignees

Labels

enhancementNew feature or requestneeds-feedbackFurther information is requested

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions