Skip to content

withlazers/rustcloak-operator

Repository files navigation

rustcloak-operator

This is yet another operator for Keycloak. The novelty of this one is that it covers the whole Keycloak API and therefore allows to manage keycloak instances completely as Kubernetes resources.

Currently rustcloak does not support subgroups.

rustcloak supports a legacy mode where it can be used as a drop-in replacement for the keycloak-realm-operator.

Architecture

TODO:

Endpoints

Table of implemented endpoints:

  • AuthenticationFlowRepresentation

    • /admin/realms/{realm}/authentication/flows/{id}
  • AuthenticatorConfigRepresentation

    • /admin/realms/{realm}/authentication/config/{id}
  • ClientRepresentation

    • /admin/realms/{realm}/clients/{client-uuid}
  • ClientScopeRepresentation

    • /admin/realms/{realm}/client-scopes/{client-scope-id}
    • /admin/realms/{realm}/client-templates/{client-scope-id}
  • ComponentRepresentation

    • /admin/realms/{realm}/components/{id}
  • GroupRepresentation

    • /admin/realms/{realm}/groups/{group-id}
  • IdentityProviderMapperRepresentation

    • /admin/realms/{realm}/identity-provider/instances/{alias}/mappers/{id}
  • IdentityProviderRepresentation

    • /admin/realms/{realm}/identity-provider/instances/{alias}
  • OrganizationRepresentation

    • /admin/realms/{realm}/organizations/{id}
  • ProtocolMapperRepresentation

    • /admin/realms/{realm}/client-scopes/{client-scope-id}/protocol-mappers/models/{id}
    • /admin/realms/{realm}/client-templates/{client-scope-id}/protocol-mappers/models/{id}
    • /admin/realms/{realm}/clients/{client-uuid}/protocol-mappers/models/{id}
  • RealmRepresentation

    • /admin/realms/{realm}
  • RequiredActionProviderRepresentation

    • /admin/realms/{realm}/authentication/required-actions/{alias}
  • ResourceRepresentation

    • /admin/realms/{realm}/clients/{client-uuid}/authz/resource-server/resource/{resource-id}
  • RoleRepresentation

    • /admin/realms/{realm}/clients/{client-uuid}/roles/{role-name}
    • /admin/realms/{realm}/roles/{role-name}
  • ScopeRepresentation

    • /admin/realms/{realm}/clients/{client-uuid}/authz/resource-server/scope/{scope-id}
  • UserRepresentation

    • /admin/realms/{realm}/users/{user-id}