Skip to content

Add declarative stack ACL tool (v0.6.0)#24

Merged
drernie merged 9 commits intomainfrom
060-stack-acl
Apr 10, 2026
Merged

Add declarative stack ACL tool (v0.6.0)#24
drernie merged 9 commits intomainfrom
060-stack-acl

Conversation

@drernie
Copy link
Copy Markdown
Member

@drernie drernie commented Apr 9, 2026

Summary

  • Add quiltx stack acl <config.yml> — declarative reconciliation of Quilt buckets, managed policies, managed roles, and SSO mappings from a single YAML file
  • quiltx stack acl (no args) dumps the current server ACL state for inspection
  • --dry-run to preview changes, --verbose for detailed diff output, --yes to skip confirmation
  • Progress output during apply; SSO create-vs-update detection; default role in SSO config
  • auto_login decorator for automatic session refresh on auth failure
  • Public Python API: AclConfig, AclDiff, CurrentState, compute_diff, apply_acl, etc. exported from quiltx
  • New dependency: pyyaml; bumped quilt3>=7.3.0 for admin policies API
  • Version bumped to 0.6.0

Files changed

  • quiltx/acl.py — core ACL parsing, diffing, and apply logic (new)
  • quiltx/tools/stack/acl.py — CLI subcommand (new)
  • quiltx/__init__.py — export ACL public API
  • quiltx/config.pyauto_login, normalize_catalog_url
  • tests/test_acl.py — comprehensive ACL unit tests (new)
  • tests/test_init.py — init export tests (new)
  • spec/060-stack-acl/ — plan and demo YAML

Test plan

  • ./poe test passes
  • ./poe lint-check passes
  • Manual: quiltx stack acl shows current state
  • Manual: quiltx stack acl demo.yml --dry-run --verbose previews changes
  • Manual: quiltx stack acl demo.yml --yes applies changes

🤖 Generated with Claude Code

drernie and others added 6 commits April 9, 2026 14:58
Adds the design spec for `quiltx stack acl`, a new command to
declaratively reconcile a Quilt stack's access control (buckets,
policies, roles, SSO) from a YAML file.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…te vs update

- Fix SSO diff to show `+ sso config` (create) vs `~ sso config` (update)
- Add progress output during apply so users see what's happening
- Add --dry-run flag to preview changes without applying
- Add --verbose flag to show policy permissions, role assignments, and SSO config details
- Add auto_login decorator and normalize_catalog_url helper to config

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Running `quiltx stack acl` without a config file now dumps the current
server ACL state: buckets, policies with permissions, roles with default
marker, and a human-friendly SSO mapping summary. Also fixes permission
display to use level names instead of repr.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@drernie drernie changed the title Add declarative stack ACL tool Add declarative stack ACL tool (v0.6.0) Apr 10, 2026
drernie and others added 2 commits April 9, 2026 23:25
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@drernie drernie merged commit 5827ad0 into main Apr 10, 2026
1 check passed
@drernie drernie deleted the 060-stack-acl branch April 10, 2026 06:35
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.

1 participant