Documentation
¶
Overview ¶
Package export provides functionality to export Keycloak resources to Kubernetes CRD manifests.
Index ¶
- Constants
- type ExportedResource
- type Exporter
- type ExporterOptions
- type Filter
- func (f *Filter) ShouldIncludeType(resourceType string) bool
- func (f *Filter) ShouldSkipClient(clientID string) bool
- func (f *Filter) ShouldSkipClientScope(name string) bool
- func (f *Filter) ShouldSkipComponent(name, providerType string) bool
- func (f *Filter) ShouldSkipProtocolMapper(name string) bool
- func (f *Filter) ShouldSkipRole(name string, isClientRole bool) bool
- func (f *Filter) ShouldSkipUser(username string) bool
- type Transformer
- func (t *Transformer) TransformClient(raw json.RawMessage, clientID string) (ExportedResource, error)
- func (t *Transformer) TransformClientScope(raw json.RawMessage) (ExportedResource, error)
- func (t *Transformer) TransformComponent(raw json.RawMessage) (ExportedResource, error)
- func (t *Transformer) TransformGroup(raw json.RawMessage, parentGroupName string) (ExportedResource, error)
- func (t *Transformer) TransformIdentityProvider(raw json.RawMessage) (ExportedResource, error)
- func (t *Transformer) TransformOrganization(raw json.RawMessage) (ExportedResource, error)
- func (t *Transformer) TransformProtocolMapper(raw json.RawMessage, clientID, scopeName string) (ExportedResource, error)
- func (t *Transformer) TransformRealm(raw json.RawMessage, realmName string) (ExportedResource, error)
- func (t *Transformer) TransformRole(raw json.RawMessage, clientID, clientUUID string) (ExportedResource, error)
- func (t *Transformer) TransformRoleMapping(subjectType, subjectName, roleName, clientID, clientUUID string) (ExportedResource, error)
- func (t *Transformer) TransformUser(raw json.RawMessage) (ExportedResource, error)
- type TransformerOptions
- type Writer
- type WriterOptions
Constants ¶
const ( ResourceTypeRealm = "realm" ResourceTypeClients = "clients" ResourceTypeClientScopes = "client-scopes" ResourceTypeUsers = "users" ResourceTypeGroups = "groups" ResourceTypeRoles = "roles" ResourceTypeRoleMappings = "role-mappings" ResourceTypeIdentityProviders = "identity-providers" ResourceTypeComponents = "components" ResourceTypeProtocolMappers = "protocol-mappers" ResourceTypeOrganizations = "organizations" )
Resource type constants
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ExportedResource ¶
ExportedResource represents an exported Keycloak resource
type Exporter ¶
type Exporter struct {
// contains filtered or unexported fields
}
Exporter exports Keycloak resources to CRD manifests
func NewExporter ¶
NewExporter creates a new exporter
type ExporterOptions ¶
type ExporterOptions struct {
// Realm to export
Realm string
// Target namespace for generated manifests
TargetNamespace string
// Instance reference for generated manifests
InstanceRef string
// Realm reference for generated manifests (defaults to realm name)
RealmRef string
// Include only these resource types (empty means all)
Include []string
// Exclude these resource types
Exclude []string
// Skip Keycloak built-in resources
SkipDefaults bool
}
ExporterOptions configures the export behavior
type Filter ¶
type Filter struct {
// contains filtered or unexported fields
}
Filter determines which resources to include/exclude
func (*Filter) ShouldIncludeType ¶
ShouldIncludeType checks if a resource type should be included
func (*Filter) ShouldSkipClient ¶
ShouldSkipClient checks if a client should be skipped
func (*Filter) ShouldSkipClientScope ¶
ShouldSkipClientScope checks if a client scope should be skipped
func (*Filter) ShouldSkipComponent ¶
ShouldSkipComponent checks if a component should be skipped
func (*Filter) ShouldSkipProtocolMapper ¶
ShouldSkipProtocolMapper checks if a protocol mapper should be skipped
func (*Filter) ShouldSkipRole ¶
ShouldSkipRole checks if a role should be skipped
func (*Filter) ShouldSkipUser ¶
ShouldSkipUser checks if a user should be skipped
type Transformer ¶
type Transformer struct {
// contains filtered or unexported fields
}
Transformer transforms Keycloak JSON to CRD structs
func NewTransformer ¶
func NewTransformer(opts TransformerOptions) *Transformer
NewTransformer creates a new transformer
func (*Transformer) TransformClient ¶
func (t *Transformer) TransformClient(raw json.RawMessage, clientID string) (ExportedResource, error)
TransformClient transforms a client JSON to KeycloakClient
func (*Transformer) TransformClientScope ¶
func (t *Transformer) TransformClientScope(raw json.RawMessage) (ExportedResource, error)
TransformClientScope transforms a client scope JSON to KeycloakClientScope
func (*Transformer) TransformComponent ¶
func (t *Transformer) TransformComponent(raw json.RawMessage) (ExportedResource, error)
TransformComponent transforms a component JSON to KeycloakComponent
func (*Transformer) TransformGroup ¶
func (t *Transformer) TransformGroup(raw json.RawMessage, parentGroupName string) (ExportedResource, error)
TransformGroup transforms a group JSON to KeycloakGroup
func (*Transformer) TransformIdentityProvider ¶
func (t *Transformer) TransformIdentityProvider(raw json.RawMessage) (ExportedResource, error)
TransformIdentityProvider transforms an identity provider JSON to KeycloakIdentityProvider
func (*Transformer) TransformOrganization ¶
func (t *Transformer) TransformOrganization(raw json.RawMessage) (ExportedResource, error)
TransformOrganization transforms an organization JSON to KeycloakOrganization
func (*Transformer) TransformProtocolMapper ¶
func (t *Transformer) TransformProtocolMapper(raw json.RawMessage, clientID, scopeName string) (ExportedResource, error)
TransformProtocolMapper transforms a protocol mapper JSON to KeycloakProtocolMapper
func (*Transformer) TransformRealm ¶
func (t *Transformer) TransformRealm(raw json.RawMessage, realmName string) (ExportedResource, error)
TransformRealm transforms a realm JSON to KeycloakRealm
func (*Transformer) TransformRole ¶
func (t *Transformer) TransformRole(raw json.RawMessage, clientID, clientUUID string) (ExportedResource, error)
TransformRole transforms a role JSON to KeycloakRole
func (*Transformer) TransformRoleMapping ¶
func (t *Transformer) TransformRoleMapping(subjectType, subjectName, roleName, clientID, clientUUID string) (ExportedResource, error)
TransformRoleMapping creates a KeycloakRoleMapping
func (*Transformer) TransformUser ¶
func (t *Transformer) TransformUser(raw json.RawMessage) (ExportedResource, error)
TransformUser transforms a user JSON to KeycloakUser
type TransformerOptions ¶
TransformerOptions configures the transformer
type Writer ¶
type Writer struct {
// contains filtered or unexported fields
}
Writer writes exported resources to output
func (*Writer) Write ¶
func (w *Writer) Write(resources []ExportedResource) error
Write writes resources to the configured output
type WriterOptions ¶
WriterOptions configures the writer