Documentation
¶
Index ¶
- Constants
- func IsAPIClientError(err error) bool
- func IsResponseValidationError(err error) bool
- func NewAPIClientNotConfiguredError(clientType string) error
- func NewResponseValidationError(operation, expectedType string) error
- func PaginateAll[T any](ctx context.Context, lister PaginatedLister[T]) ([]T, error)
- func PaginateAllFiltered[T any](ctx context.Context, lister FilteredPaginatedLister[T], filter func(T) bool) ([]T, error)
- func ValidateAPIClient(client any, clientType string) error
- func ValidateResponse[T any](response *T, operation string) error
- func WrapAPIError(err error, operation string, opts *ErrorWrapperOptions) error
- type API
- type APIClientError
- type APIDocument
- type APIImplementation
- type APIPublication
- type APIVersion
- type ApplicationAuthStrategy
- type Cache
- type CachedAPI
- type CachedAPIDocument
- type CachedPortal
- type CachedPortalPage
- type Client
- func (c *Client) AssignPortalTeamRole(ctx context.Context, portalID string, teamID string, ...) (string, error)
- func (c *Client) CreateAPI(ctx context.Context, api kkComps.CreateAPIRequest, namespace string) (*kkComps.APIResponseSchema, error)
- func (c *Client) CreateAPIDocument(ctx context.Context, apiID string, document kkComps.CreateAPIDocumentRequest) (*kkComps.APIDocumentResponse, error)
- func (c *Client) CreateAPIImplementation(ctx context.Context, apiID string, implementation kkComps.APIImplementation) (*kkComps.APIImplementationResponse, error)
- func (c *Client) CreateAPIPublication(ctx context.Context, apiID string, portalID string, ...) (*kkComps.APIPublicationResponse, error)
- func (c *Client) CreateAPIVersion(ctx context.Context, apiID string, version kkComps.CreateAPIVersionRequest) (*kkComps.APIVersionResponse, error)
- func (c *Client) CreateApplicationAuthStrategy(ctx context.Context, authStrategy kkComps.CreateAppAuthStrategyRequest, ...) (*kkOps.CreateAppAuthStrategyResponse, error)
- func (c *Client) CreateControlPlane(ctx context.Context, controlPlane kkComps.CreateControlPlaneRequest, ...) (*kkComps.ControlPlane, error)
- func (c *Client) CreatePortal(ctx context.Context, portal kkComps.CreatePortal, namespace string) (*kkComps.PortalResponse, error)
- func (c *Client) CreatePortalCustomDomain(ctx context.Context, portalID string, ...) error
- func (c *Client) CreatePortalEmailConfig(ctx context.Context, portalID string, body kkComps.PostPortalEmailConfig) (string, error)
- func (c *Client) CreatePortalPage(ctx context.Context, portalID string, req kkComps.CreatePortalPageRequest) (string, error)
- func (c *Client) CreatePortalSnippet(ctx context.Context, portalID string, req kkComps.CreatePortalSnippetRequest) (string, error)
- func (c *Client) CreatePortalTeam(ctx context.Context, portalID string, req kkComps.PortalCreateTeamRequest, ...) (string, error)
- func (c *Client) DeleteAPI(ctx context.Context, id string) error
- func (c *Client) DeleteAPIDocument(ctx context.Context, apiID, documentID string) error
- func (c *Client) DeleteAPIImplementation(ctx context.Context, apiID, implementationID string) error
- func (c *Client) DeleteAPIPublication(ctx context.Context, apiID, portalID string) error
- func (c *Client) DeleteAPIVersion(ctx context.Context, apiID string, versionID string) error
- func (c *Client) DeleteApplicationAuthStrategy(ctx context.Context, id string) error
- func (c *Client) DeleteControlPlane(ctx context.Context, id string) error
- func (c *Client) DeletePortal(ctx context.Context, id string, force bool) error
- func (c *Client) DeletePortalCustomDomain(ctx context.Context, portalID string) error
- func (c *Client) DeletePortalEmailConfig(ctx context.Context, portalID string) error
- func (c *Client) DeletePortalEmailTemplate(ctx context.Context, portalID string, name kkComps.EmailTemplateName) error
- func (c *Client) DeletePortalPage(ctx context.Context, portalID string, pageID string) error
- func (c *Client) DeletePortalSnippet(ctx context.Context, portalID string, snippetID string) error
- func (c *Client) DeletePortalTeam(ctx context.Context, portalID string, teamID string) error
- func (c *Client) FetchAPIVersion(ctx context.Context, apiID, versionID string) (*APIVersion, error)
- func (c *Client) GetAPIByFilter(ctx context.Context, filter string) (*API, error)
- func (c *Client) GetAPIByID(ctx context.Context, id string) (*API, error)
- func (c *Client) GetAPIByName(ctx context.Context, name string) (*API, error)
- func (c *Client) GetAPIByRef(ctx context.Context, ref string) (*API, error)
- func (c *Client) GetAPIDocument(ctx context.Context, apiID, documentID string) (*APIDocument, error)
- func (c *Client) GetAuthStrategyByFilter(ctx context.Context, filter string) (*ApplicationAuthStrategy, error)
- func (c *Client) GetAuthStrategyByName(ctx context.Context, name string) (*ApplicationAuthStrategy, error)
- func (c *Client) GetControlPlaneByFilter(ctx context.Context, filter string) (*ControlPlane, error)
- func (c *Client) GetControlPlaneByID(ctx context.Context, id string) (*ControlPlane, error)
- func (c *Client) GetControlPlaneByName(ctx context.Context, name string) (*ControlPlane, error)
- func (c *Client) GetPortalAssetFavicon(ctx context.Context, portalID string) (string, error)
- func (c *Client) GetPortalAssetLogo(ctx context.Context, portalID string) (string, error)
- func (c *Client) GetPortalAuthSettings(ctx context.Context, portalID string) (*kkComps.PortalAuthenticationSettingsResponse, error)
- func (c *Client) GetPortalByFilter(ctx context.Context, filter string) (*Portal, error)
- func (c *Client) GetPortalByName(ctx context.Context, name string) (*Portal, error)
- func (c *Client) GetPortalCustomDomain(ctx context.Context, portalID string) (*PortalCustomDomain, error)
- func (c *Client) GetPortalCustomEmailTemplate(ctx context.Context, portalID string, name kkComps.EmailTemplateName) (*PortalEmailTemplate, error)
- func (c *Client) GetPortalCustomization(ctx context.Context, portalID string) (*kkComps.PortalCustomization, error)
- func (c *Client) GetPortalEmailConfig(ctx context.Context, portalID string) (*kkComps.PortalEmailConfig, error)
- func (c *Client) GetPortalPage(ctx context.Context, portalID string, pageID string) (*PortalPage, error)
- func (c *Client) GetPortalSnippet(ctx context.Context, portalID string, snippetID string) (*PortalSnippet, error)
- func (c *Client) ListAPIDocuments(ctx context.Context, apiID string) ([]APIDocument, error)
- func (c *Client) ListAPIImplementations(ctx context.Context, apiID string) ([]APIImplementation, error)
- func (c *Client) ListAPIPublications(ctx context.Context, apiID string) ([]APIPublication, error)
- func (c *Client) ListAPIVersions(ctx context.Context, apiID string) ([]APIVersion, error)
- func (c *Client) ListAllAPIs(ctx context.Context) ([]API, error)
- func (c *Client) ListAllControlPlanes(ctx context.Context) ([]ControlPlane, error)
- func (c *Client) ListAllPortals(ctx context.Context) ([]Portal, error)
- func (c *Client) ListControlPlaneGroupMemberships(ctx context.Context, groupID string) ([]string, error)
- func (c *Client) ListGatewayServices(ctx context.Context, controlPlaneID string) ([]GatewayService, error)
- func (c *Client) ListManagedAPIs(ctx context.Context, namespaces []string) ([]API, error)
- func (c *Client) ListManagedAuthStrategies(ctx context.Context, namespaces []string) ([]ApplicationAuthStrategy, error)
- func (c *Client) ListManagedControlPlanes(ctx context.Context, namespaces []string) ([]ControlPlane, error)
- func (c *Client) ListManagedPortalPages(ctx context.Context, portalID string) ([]PortalPage, error)
- func (c *Client) ListManagedPortals(ctx context.Context, namespaces []string) ([]Portal, error)
- func (c *Client) ListPortalCustomEmailTemplates(ctx context.Context, portalID string) ([]PortalEmailTemplate, error)
- func (c *Client) ListPortalSnippets(ctx context.Context, portalID string) ([]PortalSnippet, error)
- func (c *Client) ListPortalTeamRoles(ctx context.Context, portalID string, teamID string) ([]PortalTeamRole, error)
- func (c *Client) ListPortalTeams(ctx context.Context, portalID string) ([]PortalTeam, error)
- func (c *Client) RemovePortalTeamRole(ctx context.Context, portalID string, teamID string, roleID string) error
- func (c *Client) ReplacePortalAssetFavicon(ctx context.Context, portalID, dataURL string) error
- func (c *Client) ReplacePortalAssetLogo(ctx context.Context, portalID, dataURL string) error
- func (c *Client) UpdateAPI(ctx context.Context, id string, api kkComps.UpdateAPIRequest, _ string) (*kkComps.APIResponseSchema, error)
- func (c *Client) UpdateAPIDocument(ctx context.Context, apiID, documentID string, document kkComps.APIDocument) (*kkComps.APIDocumentResponse, error)
- func (c *Client) UpdateAPIVersion(ctx context.Context, apiID, versionID string, version kkComps.APIVersion) (*kkComps.APIVersionResponse, error)
- func (c *Client) UpdateApplicationAuthStrategy(ctx context.Context, id string, ...) (*kkOps.UpdateAppAuthStrategyResponse, error)
- func (c *Client) UpdateControlPlane(ctx context.Context, id string, controlPlane kkComps.UpdateControlPlaneRequest, ...) (*kkComps.ControlPlane, error)
- func (c *Client) UpdatePortal(ctx context.Context, id string, portal kkComps.UpdatePortal, _ string) (*kkComps.PortalResponse, error)
- func (c *Client) UpdatePortalAuthSettings(ctx context.Context, portalID string, ...) error
- func (c *Client) UpdatePortalCustomDomain(ctx context.Context, portalID string, ...) error
- func (c *Client) UpdatePortalCustomization(ctx context.Context, portalID string, ...) error
- func (c *Client) UpdatePortalEmailConfig(ctx context.Context, portalID string, body *kkComps.PatchPortalEmailConfig) (string, error)
- func (c *Client) UpdatePortalEmailTemplate(ctx context.Context, portalID string, name kkComps.EmailTemplateName, ...) (string, error)
- func (c *Client) UpdatePortalPage(ctx context.Context, portalID string, pageID string, ...) error
- func (c *Client) UpdatePortalSnippet(ctx context.Context, portalID string, snippetID string, ...) error
- func (c *Client) UpdatePortalTeam(ctx context.Context, portalID string, teamID string, ...) error
- func (c *Client) UpsertControlPlaneGroupMemberships(ctx context.Context, groupID string, memberIDs []string) error
- type ClientConfig
- type ControlPlane
- type ErrorWrapperOptions
- type FilteredPaginatedLister
- type GatewayService
- type PageMeta
- type PaginatedLister
- type Portal
- type PortalCustomDomain
- type PortalCustomization
- type PortalEmailTemplate
- type PortalEmailTemplateContent
- type PortalPage
- type PortalSnippet
- type PortalTeam
- type PortalTeamRole
- type ResponseValidationError
Constants ¶
const ( ErrMsgPortalAPINotConfigured = "Portal API client not configured" ErrMsgAPIAPINotConfigured = "API client not configured" ErrMsgAuthStrategyAPINotConfigured = "app auth API client not configured" ErrMsgAPIVersionAPINotConfigured = "API version client not configured" ErrMsgAPIPublicationAPINotConfigured = "API publication client not configured" ErrMsgAPIImplementationAPINotConfigured = "API implementation client not configured" ErrMsgAPIDocumentAPINotConfigured = "API document client not configured" ErrMsgPortalPageAPINotConfigured = "portal page API not configured" ErrMsgPortalSnippetAPINotConfigured = "portal snippet API not configured" ErrMsgPortalCustomizationAPINotConfigured = "portal customization API not configured" ErrMsgPortalCustomDomainAPINotConfigured = "portal custom domain API not configured" ErrMsgPortalEmailsAPINotConfigured = "portal emails API not configured" )
Standard error messages for common scenarios
Variables ¶
This section is empty.
Functions ¶
func IsAPIClientError ¶
IsAPIClientError checks if an error is an API client not configured error
func IsResponseValidationError ¶
IsResponseValidationError checks if an error is a response validation error
func NewAPIClientNotConfiguredError ¶
NewAPIClientNotConfiguredError creates a standard "client not configured" error
func NewResponseValidationError ¶
NewResponseValidationError creates a standard response validation error
func PaginateAll ¶
func PaginateAll[T any](ctx context.Context, lister PaginatedLister[T]) ([]T, error)
PaginateAll fetches all pages from a paginated API endpoint
func PaginateAllFiltered ¶
func PaginateAllFiltered[T any]( ctx context.Context, lister FilteredPaginatedLister[T], filter func(T) bool, ) ([]T, error)
PaginateAllFiltered fetches all pages from a paginated API endpoint with filtering
func ValidateAPIClient ¶
ValidateAPIClient checks if an API client interface is configured (not nil)
func ValidateResponse ¶
ValidateResponse checks if a response pointer contains non-nil data
func WrapAPIError ¶
func WrapAPIError(err error, operation string, opts *ErrorWrapperOptions) error
WrapAPIError wraps an API error with consistent formatting and optional enhancement
Types ¶
type API ¶
type API struct {
kkComps.APIResponseSchema
NormalizedLabels map[string]string // Non-pointer labels
}
API represents a normalized API for internal use
type APIClientError ¶
type APIClientError struct {
ClientType string
}
APIClientError represents an error when an API client is not configured
func (*APIClientError) Error ¶
func (e *APIClientError) Error() string
type APIDocument ¶
type APIDocument struct {
ID string
Content string
Title string
Slug string
Status string
ParentDocumentID string
}
APIDocument represents an API document for internal use
type APIImplementation ¶
type APIImplementation struct {
ID string
ImplementationURL string
Service *struct {
ID string
ControlPlaneID string
}
}
APIImplementation represents an API implementation for internal use
type APIPublication ¶
type APIPublication struct {
ID string
PortalID string
AuthStrategyIDs []string
AutoApproveRegistrations bool
Visibility string
}
APIPublication represents an API publication for internal use
type APIVersion ¶
type APIVersion struct {
ID string
Version string
PublishStatus string
Deprecated bool
SunsetDate string
Spec string // API version spec content for content comparison
}
APIVersion represents an API version for internal use
type ApplicationAuthStrategy ¶
type ApplicationAuthStrategy struct {
ID string
Name string
DisplayName string
StrategyType string
Configs map[string]any
NormalizedLabels map[string]string // Non-pointer labels
}
ApplicationAuthStrategy represents a normalized auth strategy for internal use
type Cache ¶
type Cache struct {
// Top-level resources
Portals map[string]*CachedPortal // portalID -> portal with children
APIs map[string]*CachedAPI // apiID -> api with children
ApplicationAuthStrategies map[string]*ApplicationAuthStrategy // strategyID -> strategy
}
Cache represents cached Konnect state with hierarchical structure
type CachedAPI ¶
type CachedAPI struct {
API
// Child resources
Versions map[string]*APIVersion // versionID -> version
Publications map[string]*APIPublication // portalID -> publication (one per portal)
Implementations map[string]*APIImplementation // implementationID -> implementation
Documents map[string]*CachedAPIDocument // documentID -> document (with nested children)
}
CachedAPI represents an API with all its child resources
type CachedAPIDocument ¶
type CachedAPIDocument struct {
APIDocument
// Child documents indexed by ID
Children map[string]*CachedAPIDocument // documentID -> child document
}
CachedAPIDocument represents a document with its children
type CachedPortal ¶
type CachedPortal struct {
Portal
// Child resources
Pages map[string]*CachedPortalPage // pageID -> page (with nested children)
Customization *PortalCustomization // singleton
CustomDomain *PortalCustomDomain // singleton
Snippets map[string]*PortalSnippet // snippetID -> snippet
Teams map[string]*PortalTeam // teamID -> team
TeamRoles map[string]*PortalTeamRole // roleAssignmentID -> role
}
CachedPortal represents a portal with all its child resources
func (*CachedPortal) FindPageBySlugPath ¶
func (p *CachedPortal) FindPageBySlugPath(slugPath string) *CachedPortalPage
FindPageBySlugPath finds a page by its full slug path
func (*CachedPortal) GetPortalPage ¶
func (p *CachedPortal) GetPortalPage(pageID string) *CachedPortalPage
GetPortalPage finds a page anywhere in the portal hierarchy
type CachedPortalPage ¶
type CachedPortalPage struct {
PortalPage
// Child pages indexed by ID
Children map[string]*CachedPortalPage // pageID -> child page
}
CachedPortalPage represents a page with its children
func (*CachedPortalPage) GetDescendant ¶
func (p *CachedPortalPage) GetDescendant(pageID string) *CachedPortalPage
GetDescendant finds a descendant page by ID
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
Client wraps Konnect SDK for state management
func NewClient ¶
func NewClient(config ClientConfig) *Client
NewClient creates a new state client with the provided configuration
func (*Client) AssignPortalTeamRole ¶ added in v0.3.4
func (c *Client) AssignPortalTeamRole( ctx context.Context, portalID string, teamID string, req kkComps.PortalAssignRoleRequest, namespace string, ) (string, error)
AssignPortalTeamRole assigns a role to a portal team
func (*Client) CreateAPI ¶
func (c *Client) CreateAPI( ctx context.Context, api kkComps.CreateAPIRequest, namespace string, ) (*kkComps.APIResponseSchema, error)
CreateAPI creates a new API with management labels
func (*Client) CreateAPIDocument ¶
func (c *Client) CreateAPIDocument( ctx context.Context, apiID string, document kkComps.CreateAPIDocumentRequest, ) (*kkComps.APIDocumentResponse, error)
CreateAPIDocument creates a new API document
func (*Client) CreateAPIImplementation ¶
func (c *Client) CreateAPIImplementation( ctx context.Context, apiID string, implementation kkComps.APIImplementation, ) (*kkComps.APIImplementationResponse, error)
CreateAPIImplementation creates a new API implementation
func (*Client) CreateAPIPublication ¶
func (c *Client) CreateAPIPublication( ctx context.Context, apiID string, portalID string, publication kkComps.APIPublication, ) (*kkComps.APIPublicationResponse, error)
CreateAPIPublication creates a new API publication
func (*Client) CreateAPIVersion ¶
func (c *Client) CreateAPIVersion( ctx context.Context, apiID string, version kkComps.CreateAPIVersionRequest, ) (*kkComps.APIVersionResponse, error)
CreateAPIVersion creates a new API version
func (*Client) CreateApplicationAuthStrategy ¶
func (c *Client) CreateApplicationAuthStrategy( ctx context.Context, authStrategy kkComps.CreateAppAuthStrategyRequest, _ string, ) (*kkOps.CreateAppAuthStrategyResponse, error)
CreateApplicationAuthStrategy creates a new application auth strategy with management labels
func (*Client) CreateControlPlane ¶ added in v0.1.6
func (c *Client) CreateControlPlane( ctx context.Context, controlPlane kkComps.CreateControlPlaneRequest, namespace string, ) (*kkComps.ControlPlane, error)
CreateControlPlane creates a new control plane with management labels
func (*Client) CreatePortal ¶
func (c *Client) CreatePortal( ctx context.Context, portal kkComps.CreatePortal, namespace string, ) (*kkComps.PortalResponse, error)
CreatePortal creates a new portal with management labels
func (*Client) CreatePortalCustomDomain ¶
func (c *Client) CreatePortalCustomDomain( ctx context.Context, portalID string, req kkComps.CreatePortalCustomDomainRequest, ) error
CreatePortalCustomDomain creates a custom domain for a portal
func (*Client) CreatePortalEmailConfig ¶ added in v0.3.5
func (c *Client) CreatePortalEmailConfig( ctx context.Context, portalID string, body kkComps.PostPortalEmailConfig, ) (string, error)
CreatePortalEmailConfig creates a new email configuration for a portal.
func (*Client) CreatePortalPage ¶
func (c *Client) CreatePortalPage( ctx context.Context, portalID string, req kkComps.CreatePortalPageRequest, ) (string, error)
CreatePortalPage creates a new page in a portal
func (*Client) CreatePortalSnippet ¶
func (c *Client) CreatePortalSnippet( ctx context.Context, portalID string, req kkComps.CreatePortalSnippetRequest, ) (string, error)
CreatePortalSnippet creates a new snippet in a portal
func (*Client) CreatePortalTeam ¶ added in v0.3.3
func (c *Client) CreatePortalTeam( ctx context.Context, portalID string, req kkComps.PortalCreateTeamRequest, namespace string, ) (string, error)
CreatePortalTeam creates a new portal team
func (*Client) DeleteAPIDocument ¶
DeleteAPIDocument deletes an API document
func (*Client) DeleteAPIImplementation ¶
DeleteAPIImplementation deletes an API implementation
func (*Client) DeleteAPIPublication ¶
DeleteAPIPublication deletes an API publication
func (*Client) DeleteAPIVersion ¶
DeleteAPIVersion deletes an API version
func (*Client) DeleteApplicationAuthStrategy ¶
DeleteApplicationAuthStrategy deletes an auth strategy by ID
func (*Client) DeleteControlPlane ¶ added in v0.1.6
DeleteControlPlane deletes a control plane by ID
func (*Client) DeletePortal ¶
DeletePortal deletes a portal by ID
func (*Client) DeletePortalCustomDomain ¶
DeletePortalCustomDomain deletes a portal custom domain
func (*Client) DeletePortalEmailConfig ¶ added in v0.3.5
DeletePortalEmailConfig deletes the email configuration for a portal.
func (*Client) DeletePortalEmailTemplate ¶ added in v0.3.5
func (c *Client) DeletePortalEmailTemplate( ctx context.Context, portalID string, name kkComps.EmailTemplateName, ) error
DeletePortalEmailTemplate deletes a customized email template.
func (*Client) DeletePortalPage ¶
DeletePortalPage deletes a page from a portal
func (*Client) DeletePortalSnippet ¶
DeletePortalSnippet deletes a snippet from a portal
func (*Client) DeletePortalTeam ¶ added in v0.3.3
DeletePortalTeam deletes a portal team
func (*Client) FetchAPIVersion ¶ added in v0.1.4
FetchAPIVersion retrieves a single API version with full content
func (*Client) GetAPIByFilter ¶
GetAPIByFilter finds a managed API using a filter expression
func (*Client) GetAPIByID ¶
GetAPIByID finds an API by ID (for fallback during protection changes)
func (*Client) GetAPIByName ¶
GetAPIByName finds a managed API by name
func (*Client) GetAPIByRef ¶
GetAPIByRef finds a managed API by declarative ref (stored in labels) TODO: This will be replaced by filtered lookup in Phase 2
func (*Client) GetAPIDocument ¶
func (c *Client) GetAPIDocument(ctx context.Context, apiID, documentID string) (*APIDocument, error)
GetAPIDocument retrieves a single API document with full content
func (*Client) GetAuthStrategyByFilter ¶
func (c *Client) GetAuthStrategyByFilter(ctx context.Context, filter string) (*ApplicationAuthStrategy, error)
GetAuthStrategyByFilter finds a managed auth strategy using a filter expression
func (*Client) GetAuthStrategyByName ¶
func (c *Client) GetAuthStrategyByName(ctx context.Context, name string) (*ApplicationAuthStrategy, error)
GetAuthStrategyByName finds a managed auth strategy by name
func (*Client) GetControlPlaneByFilter ¶ added in v0.1.6
GetControlPlaneByFilter finds a managed control plane using a filter expression
func (*Client) GetControlPlaneByID ¶ added in v0.1.6
GetControlPlaneByID finds a control plane by ID (used for fallback during protection changes)
func (*Client) GetControlPlaneByName ¶ added in v0.1.6
GetControlPlaneByName finds a managed control plane by name
func (*Client) GetPortalAssetFavicon ¶ added in v0.3.5
GetPortalAssetFavicon fetches the favicon for a portal as a data URL
func (*Client) GetPortalAssetLogo ¶ added in v0.3.5
GetPortalAssetLogo fetches the logo for a portal as a data URL
func (*Client) GetPortalAuthSettings ¶ added in v0.3.4
func (c *Client) GetPortalAuthSettings( ctx context.Context, portalID string, ) (*kkComps.PortalAuthenticationSettingsResponse, error)
GetPortalAuthSettings fetches current auth settings for a portal.
func (*Client) GetPortalByFilter ¶
GetPortalByFilter finds a managed portal using a filter expression
func (*Client) GetPortalByName ¶
GetPortalByName finds a managed portal by name
func (*Client) GetPortalCustomDomain ¶ added in v0.3.3
func (c *Client) GetPortalCustomDomain(ctx context.Context, portalID string) (*PortalCustomDomain, error)
GetPortalCustomDomain fetches the current custom domain for a portal.
func (*Client) GetPortalCustomEmailTemplate ¶ added in v0.3.5
func (c *Client) GetPortalCustomEmailTemplate( ctx context.Context, portalID string, name kkComps.EmailTemplateName, ) (*PortalEmailTemplate, error)
GetPortalCustomEmailTemplate fetches a single customized email template.
func (*Client) GetPortalCustomization ¶
func (c *Client) GetPortalCustomization( ctx context.Context, portalID string, ) (*kkComps.PortalCustomization, error)
GetPortalCustomization fetches the current customization for a portal
func (*Client) GetPortalEmailConfig ¶ added in v0.3.5
func (c *Client) GetPortalEmailConfig(ctx context.Context, portalID string) (*kkComps.PortalEmailConfig, error)
GetPortalEmailConfig fetches the current email configuration for a portal.
func (*Client) GetPortalPage ¶
func (c *Client) GetPortalPage(ctx context.Context, portalID string, pageID string) (*PortalPage, error)
GetPortalPage fetches a single portal page with full details including content
func (*Client) GetPortalSnippet ¶
func (c *Client) GetPortalSnippet(ctx context.Context, portalID string, snippetID string) (*PortalSnippet, error)
GetPortalSnippet fetches a single portal snippet with full details including content
func (*Client) ListAPIDocuments ¶
ListAPIDocuments returns all documents for an API
func (*Client) ListAPIImplementations ¶
func (c *Client) ListAPIImplementations(ctx context.Context, apiID string) ([]APIImplementation, error)
ListAPIImplementations returns all implementations for an API
func (*Client) ListAPIPublications ¶
ListAPIPublications returns all publications for an API
func (*Client) ListAPIVersions ¶
ListAPIVersions returns all versions for an API
func (*Client) ListAllAPIs ¶
ListAllAPIs returns all APIs without managed filtering (for fallback lookups)
func (*Client) ListAllControlPlanes ¶ added in v0.1.6
func (c *Client) ListAllControlPlanes(ctx context.Context) ([]ControlPlane, error)
ListAllControlPlanes returns all control planes, including non-managed ones
func (*Client) ListAllPortals ¶ added in v0.1.5
ListAllPortals returns all portals, including non-managed ones
func (*Client) ListControlPlaneGroupMemberships ¶ added in v0.3.0
func (c *Client) ListControlPlaneGroupMemberships(ctx context.Context, groupID string) ([]string, error)
ListControlPlaneGroupMemberships returns all child control plane IDs for a control plane group.
func (*Client) ListGatewayServices ¶ added in v0.2.0
func (c *Client) ListGatewayServices(ctx context.Context, controlPlaneID string) ([]GatewayService, error)
ListGatewayServices returns all gateway services for the provided control plane.
func (*Client) ListManagedAPIs ¶
ListManagedAPIs returns all KONGCTL-managed APIs in the specified namespaces If namespaces is empty, no resources are returned (breaking change from previous behavior) To get all managed resources across all namespaces, pass []string{"*"}
func (*Client) ListManagedAuthStrategies ¶
func (c *Client) ListManagedAuthStrategies( ctx context.Context, namespaces []string, ) ([]ApplicationAuthStrategy, error)
ListManagedAuthStrategies returns all KONGCTL-managed auth strategies in the specified namespaces If namespaces is empty, no resources are returned (breaking change from previous behavior) To get all managed resources across all namespaces, pass []string{"*"}
func (*Client) ListManagedControlPlanes ¶ added in v0.1.6
func (c *Client) ListManagedControlPlanes(ctx context.Context, namespaces []string) ([]ControlPlane, error)
ListManagedControlPlanes returns all KONGCTL-managed control planes in the specified namespaces If namespaces is empty, no resources are returned (breaking change from previous behavior) To get all managed resources across all namespaces, pass []string{"*"}
func (*Client) ListManagedPortalPages ¶
ListManagedPortalPages returns all KONGCTL-managed portal pages for a portal
func (*Client) ListManagedPortals ¶
ListManagedPortals returns all KONGCTL-managed portals in the specified namespaces If namespaces is empty, no resources are returned (breaking change from previous behavior) To get all managed resources across all namespaces, pass []string{"*"}
func (*Client) ListPortalCustomEmailTemplates ¶ added in v0.3.5
func (c *Client) ListPortalCustomEmailTemplates(ctx context.Context, portalID string) ([]PortalEmailTemplate, error)
ListPortalCustomEmailTemplates returns customized templates for a portal.
func (*Client) ListPortalSnippets ¶
ListPortalSnippets returns all snippets for a portal
func (*Client) ListPortalTeamRoles ¶ added in v0.3.4
func (c *Client) ListPortalTeamRoles(ctx context.Context, portalID string, teamID string) ([]PortalTeamRole, error)
ListPortalTeamRoles returns all assigned roles for a portal team
func (*Client) ListPortalTeams ¶ added in v0.3.3
ListPortalTeams returns all teams for a portal
func (*Client) RemovePortalTeamRole ¶ added in v0.3.4
func (c *Client) RemovePortalTeamRole(ctx context.Context, portalID string, teamID string, roleID string) error
RemovePortalTeamRole removes an assigned role from a portal team
func (*Client) ReplacePortalAssetFavicon ¶ added in v0.3.5
ReplacePortalAssetFavicon uploads a new favicon for a portal
func (*Client) ReplacePortalAssetLogo ¶ added in v0.3.5
ReplacePortalAssetLogo uploads a new logo for a portal
func (*Client) UpdateAPI ¶
func (c *Client) UpdateAPI( ctx context.Context, id string, api kkComps.UpdateAPIRequest, _ string, ) (*kkComps.APIResponseSchema, error)
UpdateAPI updates an existing API with new management labels
func (*Client) UpdateAPIDocument ¶
func (c *Client) UpdateAPIDocument( ctx context.Context, apiID, documentID string, document kkComps.APIDocument, ) (*kkComps.APIDocumentResponse, error)
UpdateAPIDocument updates an existing API document
func (*Client) UpdateAPIVersion ¶ added in v0.1.4
func (c *Client) UpdateAPIVersion( ctx context.Context, apiID, versionID string, version kkComps.APIVersion, ) (*kkComps.APIVersionResponse, error)
UpdateAPIVersion updates an existing API version
func (*Client) UpdateApplicationAuthStrategy ¶
func (c *Client) UpdateApplicationAuthStrategy( ctx context.Context, id string, authStrategy kkComps.UpdateAppAuthStrategyRequest, _ string, ) (*kkOps.UpdateAppAuthStrategyResponse, error)
UpdateApplicationAuthStrategy updates an existing auth strategy with new management labels
func (*Client) UpdateControlPlane ¶ added in v0.1.6
func (c *Client) UpdateControlPlane( ctx context.Context, id string, controlPlane kkComps.UpdateControlPlaneRequest, namespace string, ) (*kkComps.ControlPlane, error)
UpdateControlPlane updates an existing control plane
func (*Client) UpdatePortal ¶
func (c *Client) UpdatePortal( ctx context.Context, id string, portal kkComps.UpdatePortal, _ string, ) (*kkComps.PortalResponse, error)
UpdatePortal updates an existing portal with new management labels
func (*Client) UpdatePortalAuthSettings ¶ added in v0.3.4
func (c *Client) UpdatePortalAuthSettings( ctx context.Context, portalID string, settings kkComps.PortalAuthenticationSettingsUpdateRequest, ) error
UpdatePortalAuthSettings updates portal authentication settings.
func (*Client) UpdatePortalCustomDomain ¶
func (c *Client) UpdatePortalCustomDomain( ctx context.Context, portalID string, req kkComps.UpdatePortalCustomDomainRequest, ) error
UpdatePortalCustomDomain updates a portal custom domain
func (*Client) UpdatePortalCustomization ¶
func (c *Client) UpdatePortalCustomization( ctx context.Context, portalID string, customization kkComps.PortalCustomization, ) error
UpdatePortalCustomization updates portal customization settings
func (*Client) UpdatePortalEmailConfig ¶ added in v0.3.5
func (c *Client) UpdatePortalEmailConfig( ctx context.Context, portalID string, body *kkComps.PatchPortalEmailConfig, ) (string, error)
UpdatePortalEmailConfig updates the email configuration for a portal.
func (*Client) UpdatePortalEmailTemplate ¶ added in v0.3.5
func (c *Client) UpdatePortalEmailTemplate( ctx context.Context, portalID string, name kkComps.EmailTemplateName, payload kkComps.PatchCustomPortalEmailTemplatePayload, ) (string, error)
UpdatePortalEmailTemplate creates or updates a customized email template.
func (*Client) UpdatePortalPage ¶
func (c *Client) UpdatePortalPage( ctx context.Context, portalID string, pageID string, req kkComps.UpdatePortalPageRequest, ) error
UpdatePortalPage updates an existing page in a portal
func (*Client) UpdatePortalSnippet ¶
func (c *Client) UpdatePortalSnippet( ctx context.Context, portalID string, snippetID string, req kkComps.UpdatePortalSnippetRequest, ) error
UpdatePortalSnippet updates an existing snippet in a portal
type ClientConfig ¶
type ClientConfig struct {
// Core APIs
PortalAPI helpers.PortalAPI
APIAPI helpers.APIAPI
AppAuthAPI helpers.AppAuthStrategiesAPI
ControlPlaneAPI helpers.ControlPlaneAPI
GatewayServiceAPI helpers.GatewayServiceAPI
ControlPlaneGroupsAPI helpers.ControlPlaneGroupsAPI
// Portal child resource APIs
PortalPageAPI helpers.PortalPageAPI
PortalAuthSettingsAPI helpers.PortalAuthSettingsAPI
PortalCustomizationAPI helpers.PortalCustomizationAPI
PortalCustomDomainAPI helpers.PortalCustomDomainAPI
PortalSnippetAPI helpers.PortalSnippetAPI
PortalTeamAPI helpers.PortalTeamAPI
PortalTeamRolesAPI helpers.PortalTeamRolesAPI
PortalEmailsAPI helpers.PortalEmailsAPI
AssetsAPI helpers.AssetsAPI
// API child resource APIs
APIVersionAPI helpers.APIVersionAPI
APIPublicationAPI helpers.APIPublicationAPI
APIImplementationAPI helpers.APIImplementationAPI
APIDocumentAPI helpers.APIDocumentAPI
}
ClientConfig contains all the API interfaces needed by the state client
type ControlPlane ¶ added in v0.1.6
type ControlPlane struct {
kkComps.ControlPlane
NormalizedLabels map[string]string // Non-pointer labels
GroupMembers []string
}
ControlPlane represents a normalized control plane for internal use
type ErrorWrapperOptions ¶
type ErrorWrapperOptions struct {
ResourceType string
ResourceName string
Namespace string
StatusCode int
UseEnhanced bool // Whether to use enhanced error with context
}
ErrorWrapperOptions configures how API errors are wrapped
type FilteredPaginatedLister ¶
type FilteredPaginatedLister[T any] func( ctx context.Context, pageSize, pageNumber int64, filter func(T) bool, ) ([]T, *PageMeta, error)
FilteredPaginatedLister wraps a PaginatedLister with additional filtering logic
type GatewayService ¶ added in v0.2.0
type GatewayService struct {
ID string
Name string
ControlPlaneID string
Service kkComps.ServiceOutput
}
GatewayService represents a gateway service for internal use.
type PageMeta ¶
type PageMeta struct {
Total float64
}
PageMeta contains pagination metadata from API responses
type PaginatedLister ¶
type PaginatedLister[T any] func(ctx context.Context, pageSize, pageNumber int64) ([]T, *PageMeta, error)
PaginatedLister is a function type that can fetch a page of results
type Portal ¶
type Portal struct {
kkComps.ListPortalsResponsePortal
NormalizedLabels map[string]string // Non-pointer labels
}
Portal represents a normalized portal for internal use
type PortalCustomDomain ¶
type PortalCustomDomain struct {
ID string
PortalID string
Hostname string
Enabled bool
DomainVerificationMethod string
VerificationStatus string
ValidationErrors []string
SkipCACheck *bool
UploadedAt *time.Time
ExpiresAt *time.Time
CnameStatus string
CreatedAt time.Time
UpdatedAt time.Time
}
PortalCustomDomain represents portal custom domain (placeholder for missing type)
type PortalCustomization ¶
type PortalCustomization struct {
}
PortalCustomization represents portal customization (placeholder for missing type)
type PortalEmailTemplate ¶ added in v0.3.5
type PortalEmailTemplate struct {
ID string
Name string
Label string
Enabled bool
Content *PortalEmailTemplateContent
Variables []kkComps.EmailTemplateVariableName
}
PortalEmailTemplate represents a customized email template for a portal.
type PortalEmailTemplateContent ¶ added in v0.3.5
type PortalEmailTemplateContent struct {
Subject *string
Title *string
Body *string
ButtonLabel *string
}
PortalEmailTemplateContent captures the mutable email content fields.
type PortalPage ¶
type PortalPage struct {
ID string
Slug string
Title string
Content string // Will be empty from list, populated from fetch
Description string
Visibility string
Status string
ParentPageID string
NormalizedLabels map[string]string
}
PortalPage represents a portal page for internal use
type PortalSnippet ¶
type PortalSnippet struct {
ID string
Name string
Title string
Content string // Will be empty from list, populated from fetch
Description string
Visibility string
Status string
NormalizedLabels map[string]string
}
PortalSnippet represents portal snippet
type PortalTeam ¶ added in v0.3.3
PortalTeam represents a portal team (developer team)
type PortalTeamRole ¶ added in v0.3.4
type PortalTeamRole struct {
ID string
RoleName string
EntityID string
EntityTypeName string
EntityRegion string
TeamID string
PortalID string
}
PortalTeamRole represents an assigned role for a portal team
type ResponseValidationError ¶
ResponseValidationError represents an error when API response is missing expected data
func (*ResponseValidationError) Error ¶
func (e *ResponseValidationError) Error() string