Skip to content

nhi: emit APP_REGISTRATION on JumpCloud apps (NHI Phase-1 K3)#29

Merged
pquerna merged 2 commits into
mainfrom
nhi/emit-credential-type
Jun 1, 2026
Merged

nhi: emit APP_REGISTRATION on JumpCloud apps (NHI Phase-1 K3)#29
pquerna merged 2 commits into
mainfrom
nhi/emit-credential-type

Conversation

@c1-squire-dev
Copy link
Copy Markdown
Contributor

@c1-squire-dev c1-squire-dev Bot commented May 31, 2026

What

Emit the NHI Phase-1 K3 spine value on JumpCloud app resources: each application now carries a NonHumanIdentityTrait with NHI_TYPE_APP_REGISTRATION and axis-2 detail jumpcloud.application.

JumpCloud applications are SSO application connectors (SAML/OIDC) that hold their own SSO configuration and credentials — i.e. they are non-human identities of the app-registration type, matching the NHI RFC v6 §6 row 11 classification (app TRAIT_APP → APP_REGISTRATION, Class A / classification-add).

Scope (per NHI RFC v6 §6, JumpCloud row)

  • K3 (this PR)appAPP_REGISTRATION. Class A: the connector already syncs the app resource type; this PR just emits the new spine value on data already in hand.
  • K1 — not applicable: JumpCloud syncs no secret/key/credential resource type, so there is nothing already-synced to annotate.
  • K2 — JumpCloud has no service-account resource type (syncers are user/group/app/role only, pkg/connector/connector.go:79-85). This is Class B (under-syncing → would need a new syncer) and is intentionally out of scope for this Phase-1 classification-add PR.

The synthetic "JumpCloud Administration" app (adminAppID) is a grant-container pseudo-resource, not a real SSO application registration / NHI, so it is deliberately left unclassified.

SDK bump

Bumps baton-sdk to v0.11.0 for the resource.WithNHIType helper and the NonHumanIdentityTrait / NhiType enum. Interim self-bump per NHI RFC D-345; will rebase onto the fleet-wide SDK bump.

Testing

  • go build ./... — passes
  • go test ./... — passes
  • golangci-lint run ./pkg/connector/... — 0 issues

🛰️ Built with pqprime.

@c1-squire-dev c1-squire-dev Bot requested a review from a team May 31, 2026 15:37
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 31, 2026

Connector PR Review: nhi: emit APP_REGISTRATION on JumpCloud apps (NHI Phase-1 K3)

Blocking Issues: 0 | Suggestions: 0 | Threads Resolved: 0
Review mode: full
View review run

Review Summary

This PR adds a NonHumanIdentityTrait annotation with NHI_TYPE_APP_REGISTRATION to JumpCloud application resources and updates CI to install the baton CLI from baton-sdk releases (since conductorone/baton is archived). The NHI trait usage is correct — SetNhiType and SetNhiDetail exist in the vendored SDK v0.11.1, the trait is properly appended to the existing annotations, and the synthetic admin app is intentionally left unclassified. The CI install script correctly detects OS/arch and fails fast on errors. No issues found.

Security Issues

None found.

Correctness Issues

None found.

Suggestions

None.

Copy link
Copy Markdown
Contributor

@github-actions github-actions Bot left a comment

Choose a reason for hiding this comment

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

No blocking issues found.

@c1-squire-dev c1-squire-dev Bot force-pushed the nhi/emit-credential-type branch from c3a9eb6 to 836b788 Compare May 31, 2026 16:55
Copy link
Copy Markdown
Contributor

@github-actions github-actions Bot left a comment

Choose a reason for hiding this comment

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

No blocking issues found.

Copy link
Copy Markdown
Contributor

@github-actions github-actions Bot left a comment

Choose a reason for hiding this comment

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

No blocking issues found.

pquerna and others added 2 commits June 1, 2026 04:14
JumpCloud applications are SSO application connectors that hold their own
SSO config/credentials, so they are non-human identities of the
app-registration type. Emit NonHumanIdentityTrait with
NHI_TYPE_APP_REGISTRATION and detail "jumpcloud.application" on each app
resource.

Bumps baton-sdk to v0.11.0 for the WithNHIType helper / NonHumanIdentityTrait
(interim self-bump per NHI RFC D-345; rebases after the fleet SDK bump).

Co-authored-by: c1-squire-dev[bot] <c1-squire-dev[bot]@users.noreply.github.com>
…archived (v0.4.5) and can't resolve NonHumanIdentityTrait

Co-authored-by: c1-squire-dev[bot] <c1-squire-dev[bot]@users.noreply.github.com>
@c1-squire-dev c1-squire-dev Bot force-pushed the nhi/emit-credential-type branch from 0817333 to 508e50e Compare June 1, 2026 04:16
Copy link
Copy Markdown
Contributor

@github-actions github-actions Bot left a comment

Choose a reason for hiding this comment

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

No blocking issues found.

@pquerna pquerna merged commit 9d08482 into main Jun 1, 2026
8 of 9 checks passed
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