dalibo / dalibo/ldap2pg

Implement pre/post hook queries [was: support setting/updating password for static roles]

Open
#565 15 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

feature
Dominant language
Go
Stars
236
Forks
34
PR merge metrics
No merged PRs in 30d

Description

ldap2pg allows creating static roles defined in the yaml config. While its main use is to create "group" roles (with NOLOGIN), it'd be really conveniant to be able to define password for roles with the LOGIN option, eg

rules:
  - roles:
      - comment: Parent role for all ldap2pg managed roles
        name: managed_roles
      - comment: Role for device-services
        name: device-services
        options: LOGIN
        password: SuperS3cr3tp@ssw0rd
        parents:
          - managed_roles

(or maybe a way to read it from env vars)

With that, ldap2pg could be a complete declarative role manager for postgres. It could even go one step further and be able to create databases too but hey, one RFE at a time ;-)

My use case is to simplify application initial setup in a container orchestrator (Nomad, but would be the same elswhere)

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No file, test, or entry point is named in the issue. Start by tracing static role creation and the requested pre/post hook query behavior in the repository. Done means the supported configuration and query behavior are defined, implemented, and covered by tests.

Written by the indexing model from the issue text.

Assessment

Tech stack
go, postgresql
Domain
databases, security
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.