Replies: 1 comment
|
Thanks for this Rick! I reviewed the parent issue as well as model's review. Here's my understanding for the issues. Completed work:
In Progress:
To be picked up:
Out of scope:
#266 #267 Model has suggested imperative support for identity providers and auth settings. The current APIs don't support labels. Thus, we can only implement GET support for now. I am unsure on how useful would that be. |
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Date: 2026-04-03
This report uses
Organizationas the product grouping term. The Konnect API and older issue text still useIdentityin endpoint names.Executive Summary
sdk-konnect-goalready exposes almost the full organization API surface. The main gap iskongctlimplementation and resource design, not SDK availability.kongctl's declarative ownership model cleanly because teams support labels.kongctlintroduces a selector pattern for existing users, most likely byemailorid. Users themselves should remain imperative-only.Scope
This is a first-pass assessment of epic #257 Feat: Organization support and its 10 sub-issues.
Sources used:
./.tmp/konnect-organization.jsongithub.com/Kong/sdk-konnect-go v0.25.0kongctlimplementation and testsKey local evidence:
teams:docs/declarative-resource-reference.mdteams:internal/declarative/resources/organization.goResourceSetisorganization_team:internal/declarative/resources/types.gointernal/declarative/resources/organization_team.gointernal/declarative/planner/organization_team_planner.gointernal/declarative/executor/organization_team_adapter.goget/list:internal/cmd/root/products/konnect/organization/systemaccount/systemaccount.gointernal/cmd/root/products/konnect/organization/team/team.gotest/e2e/scenarios/org/system-accounts/scenario.yamlCross-Cutting Findings
POST /invites,GET/PUT /identity-provider/team-mappings,GET/PATCH /identity-provider/team-group-mappings, andGET/PATCH /organizations/impersonation. None of these are covered by the 10 sub-issues.kongctluser onboarding support.Issue-by-Issue Assessment
#258 System account resource support
CLOSEDInitial Beta Release: 0.4.0GET/POST /system-accounts,GET/PATCH/DELETE /system-accounts/{accountId}kongctlsupport: read-only imperativeget/listinternal/cmd/root/products/konnect/organization/systemaccount/systemaccount.gointernal/cmd/root/products/konnect/organization/systemaccount/getSystemAccount.gointernal/konnect/helpers/system_accounts.gotest/e2e/scenarios/org/system-accounts/scenario.yamlkongctlcannot safely namespace or identify ownership of a top-level declarative system-account resource.1.0.0unless the API adds labels orkongctladopts a new non-label ownership model.#259 System account access token resource support
OPENGET/POST /system-accounts/{accountId}/access-tokens,GET/PATCH/DELETE /system-accounts/{accountId}/access-tokens/{tokenId}kongctlsupport: none1.0.0. If product wants declarative behavior later, it likely needs a separate design for secret output and rotation rather than normal state convergence.#260 Team resource support
CLOSEDInitial Beta Release: 0.4.0GET/POST /teams,GET/PATCH/DELETE /teams/{teamId}kongctlsupport: imperativeget/list, team adoption, and declarative CRUD with tests and docsinternal/cmd/root/products/konnect/organization/team/team.gointernal/cmd/root/products/konnect/organization/team/getTeam.gointernal/cmd/root/products/konnect/adopt/organization/team/team.gointernal/declarative/resources/organization_team.gointernal/declarative/planner/organization_team_planner.gointernal/declarative/executor/organization_team_adapter.gotest/e2e/scenarios/org/teamsdocs/declarative-resource-reference.md#261 Team Role resource support
OPENGET/POST /teams/{teamId}/assigned-roles,DELETE /teams/{teamId}/assigned-roles/{roleId}kongctlsupport: none for organization teamsteam + role_name + entity_type_name + entity_id + entity_region. Existingportal_team_rolesupport is a useful implementation pattern.1.0.0milestone. It is a natural next step after team resource support.#262 User role resource support
OPENGET /users,GET /users/{userId},GET/POST /users/{userId}/assigned-roles,DELETE /users/{userId}/assigned-roles/{roleId}kongctlsupport: noneemailorid.GET /userssupports exact email filtering, which is enough for lookups.1.0.0if the team accepts an external user selector pattern. Otherwise, ship imperative support first and defer declarative support.#263 Team membership resource support
OPENGET/POST /teams/{teamId}/users,DELETE /teams/{teamId}/users/{userId},GET /users/{userId}/teamskongctlsupport: noneemailorid. The main operational caveat is that invitations and registration happen outside declarative management, so apply must fail clearly if a referenced user does not exist yet.1.0.0. This is one of the cleaner user-related declarative additions.#264 System account role resource support
OPENGET/POST /system-accounts/{accountId}/assigned-roles,DELETE /system-accounts/{accountId}/assigned-roles/{roleId}kongctlsupport: nonenameorid. This is viable, but it depends on a design decision that does not exist in the codebase yet.1.0.0. Declarative support can follow if Kong wants selectors for unmanaged system accounts.#265 System account team membership resource support
OPENGET/POST /teams/{teamId}/system-accounts,DELETE /teams/{teamId}/system-accounts/{accountId},GET /system-accounts/{accountId}/teamskongctlsupport: nonenameorid, this feature becomes straightforward.1.0.0. Defer declarative support until the selector pattern exists.#266 Identity provider resource support
OPENGET/POST /identity-providers,GET/PATCH/DELETE /identity-providers/{id}kongctlsupport: none1.0.0. Revisit declarative support only after either the API adds labels orkongctladopts an explicit organization-singleton ownership model.#267 Auth settings resource support
OPENGET/PATCH /authentication-settingskongctlsupport: noneorganization.auth_settingsblock should be feasible if it is treated as profile-scoped, non-deletable, and not namespaced.1.0.0for both imperative and declarative support.Recommended GA Scope
Recommended to target in
kongctl GA Release: 1.0.0:Recommended as imperative-only for
1.0.0:Recommended out of scope for declarative
1.0.0:Suggested Follow-Up Work Items
emailorid, system accounts bynameorid.All reactions