Skip to content

KC-1352 Modernize pam project import --sample-data (no hardcoded credentials)#2213

Merged
sk-keeper merged 2 commits into
releasefrom
KC-1352-remove-hardcoded-demo-credentials-in-pam-project-import
Jul 16, 2026
Merged

KC-1352 Modernize pam project import --sample-data (no hardcoded credentials)#2213
sk-keeper merged 2 commits into
releasefrom
KC-1352-remove-hardcoded-demo-credentials-in-pam-project-import

Conversation

@idimov-keeper

Copy link
Copy Markdown
Contributor

Replaces the hard-coded --sample-data block in edit.py with a single
pam_import/playground.py module. All sample data is generated per run.

Changes

  • New playground.py: generates vault records, credentials, docker-compose.yaml
    and docker-seccomp.json for the discovery playground — no secrets in source.
  • Credentials generated once per run and shared between the vault records and the
    compose; comply with the enterprise password policy (random password meeting the
    policy's rules, matching the Web Vault) and use only shell/JSON/YAML-safe chars.
  • RSA-2048 SSH keypair generated at runtime (replaces the static PRIVATE_KEY).
  • Record creation switched to the typed record-add command (dot-notation fields),
    removing the legacy "Unknown field types" noise; expected policy/BreachWatch
    warnings suppressed only for the image-fixed OpenLDAP demo creds.
  • docker-compose.yaml: top-level name: from --name; Docker auto-assigns the
    network subnet (avoids pool overlaps); gateway uses keeper/gateway:latest,
    base64 GATEWAY_CONFIG, and debug logging.
  • PAM config network_id derived from the project name (matches the compose network).
  • --sample-data prints only two lines (compose path + seccomp URL) and exits;
    --output is ignored under -s, --name is honored.
  • Fixes: PostgreSQL connection database (postgresqlpostgres); rotation settings
    now persist (sync before configuring rotation); OpenLDAP demo users are rotatable
    and carry the distinguishedName kdnrm needs.
  • OpenLDAP directory added (tunnel + rotation). MongoDB uses the correct mongodb
    protocol but is commented out with an explanation — its KeeperDB connect needs
    gateway ConversationType support that isn't shipped yet.

@idimov-keeper
idimov-keeper requested a review from sk-keeper July 15, 2026 02:22
idimov-keeper and others added 2 commits July 16, 2026 17:20
Restore playground generator, credential cleanup in examples/tests, and
vendored keeper_dag import fixes that do not overlap with upstream.

Co-authored-by: Cursor <[email protected]>
Preserve upstream NSF gateway/sync paths; delegate --sample-data to playground.py and document generated credentials.

Co-authored-by: Cursor <[email protected]>
@idimov-keeper
idimov-keeper force-pushed the KC-1352-remove-hardcoded-demo-credentials-in-pam-project-import branch from 2d92cdb to 3b34d2f Compare July 16, 2026 22:29
@sk-keeper
sk-keeper merged commit a1621f6 into release Jul 16, 2026
3 of 6 checks passed
@sk-keeper
sk-keeper deleted the KC-1352-remove-hardcoded-demo-credentials-in-pam-project-import branch July 16, 2026 22:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants