Skip to content

PocketIDAPI

PocketIDAPI is the Schema for the pocketidapis API

PocketIDAPI.spec

PocketIDAPISpec defines the desired state of PocketIDAPI

Validation rules:

  • resource is immutable
  • permission key is reserved by Pocket ID
Field Type Required Default Description
instanceSelector LabelSelector InstanceSelector selects the PocketIDInstance to reconcile against.
If omitted, the controller expects exactly one instance in the cluster.
name string Name of the API to create in Pocket ID. If omitted, defaults to metadata.name of the API resource.
MaxLength: 255
MinLength: 2
resource string yes Resource is the audience identifier for tokens issued against this API typically a URI). It is the permanent identifier used to adopt an existing API and is immutable once set.
MaxLength: 255
MinLength: 1
permissions []object Permissions are the scoped permissions offered by this API.
MaxItems: 100
cimdAccess boolean CIMDAccess grants every client registered through an OAuth Client ID Metadata Document access to this API.
See the documentation for a more in-depth breakdown of the configuration https://pocket-id-operator.pages.dev/guides/pocketidapi/#granting-metadata-document-clients

PocketIDAPI.spec.permissions[]

↩ PocketIDAPI.spec

APIPermission defines a single scoped permission offered by an API.

Field Type Required Default Description
key string yes Key is the permission identifier requested as a token scope, e.g. "read:orders".
It must be a valid RFC 6749 scope token: printable ASCII with no space, double quote, or backslash. Reserved OIDC scope/claim names are rejected.
MaxLength: 255
MinLength: 1
Pattern: ^[\x21\x23-\x5B\x5D-\x7E]+$
name string yes Name is a human-friendly label for the permission.
MaxLength: 255
MinLength: 1
description string Description optionally explains what the permission grants.
MaxLength: 500
cimdAccess boolean CIMDAccess lets clients registered through a Client ID Metadata Document request this permission.

PocketIDAPI.status

PocketIDAPIStatus defines the observed state of PocketIDAPI.

Field Type Required Default Description
apiID string APIID is the ID assigned by Pocket-ID.
name string Name is the resolved name from Pocket-ID.
resource string Resource is the resolved audience identifier from Pocket-ID.
createdAt string CreatedAt is the creation timestamp from Pocket-ID.
cimdAccess boolean CIMDAccess reports whether CIMD clients may reach this API.
permissions []object Permissions are the permissions resolved from Pocket-ID, including their IDs.
This is the lookup table PocketIDOIDCClients use to resolve permission keys.
conditions Condition array Conditions represent the current state of the PocketIDAPI resource.

PocketIDAPI.status.permissions[]

↩ PocketIDAPI.status

ObservedAPIPermission is a permission resolved from Pocket-ID, including its ID.

Field Type Required Default Description
id string yes ID is the Pocket-ID identifier for the permission.
key string yes Key is the permission identifier requested as a token scope.
name string Name is the human-friendly label from Pocket-ID.
cimdAccess boolean CIMDAccess reports whether CIMD clients may request this permission.