Skip to content

Add sailpoint-app-setup command - #2246

Open
amangalampalli-ks wants to merge 2 commits into
add/sailpoint-app-setup-commandfrom
add/sailpoint-app-setup-command-int
Open

Add sailpoint-app-setup command#2246
amangalampalli-ks wants to merge 2 commits into
add/sailpoint-app-setup-commandfrom
add/sailpoint-app-setup-command-int

Conversation

@amangalampalli-ks

Copy link
Copy Markdown
Contributor

Summary

Adds SailPoint Service Mode setup and runtime support so SailPoint can invite users and apply entitlements safely through Commander, including deferred apply until users become Active and SCIM coexistence guards.

Changes

  • Added sailpoint-app-setup to create a dedicated SailPoint config record and regenerate Commander-only compose with COMMANDER_RECORD + SAILPOINT_RECORD
  • Queued role/team/share entitlements for invited users and applied them via a background poller after activation
  • Enforced a SailPoint command allowlist and blocked SCIM-managed identity changes while still allowing folder/record shares
  • Added unit coverage for parsing, allowlist sanitize, pending merge, SCIM detection, and record UID resolution

@amangalampalli-ks amangalampalli-ks self-assigned this Jul 28, 2026
@amangalampalli-ks
amangalampalli-ks marked this pull request as ready for review July 28, 2026 10:05
@amangalampalli-ks amangalampalli-ks changed the title Add/sailpoint app setup command int Add sailpoint-app-setup command Jul 28, 2026
kind = (folder.get('kind') or 'classic').lower()
email_q = cls._shell_quote(email)
uid_q = cls._shell_quote(uid)
if kind == 'nsf':

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

it will not impact case sensitivity I believe
kind == 'nsf':

flags.append('--write')
if record.get('can_share'):
flags.append('--share')
flag_str = (' ' + ' '.join(flags)) if flags else ''

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

what is the purpose of + here?
what if it is like
flag_str = f" {' '.join(flags)}" if flags else ""

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