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[]¶
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[]¶
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. |