PocketIDUser¶
PocketIDUser is the Schema for the pocketidusers API.
PocketIDUser.spec¶
PocketIDUserSpec defines the desired state of PocketIDUser.
Validation rules:
- userID is immutable
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
userID |
string | UserID is the optional user ID to use instead of one generated by Pocket-ID. Pocket-ID only accepts a lowercase UUID and the ID is immutable once the user is created. Pattern: ^[0-9a-f]\{8\}-[0-9a-f]\{4\}-[0-9a-f]\{4\}-[0-9a-f]\{4\}-[0-9a-f]\{12\}$ |
||
username |
object | Username of the user. Defaults to the metadata.name. Can be a plain value or reference a secret. | ||
firstName |
object | First name of the user. Defaults to the username. Can be a plain value or reference a secret. | ||
lastName |
object | Last name of the user. Can be a plain value or reference a secret. | ||
email |
object | Email of the user. Defaults to " |
||
displayName |
object | DisplayName of the user. Defaults to the first name followed by the last name, if set. Can be a plain value or reference a secret. | ||
instanceSelector |
LabelSelector | InstanceSelector selects the PocketIDInstance to reconcile against. If omitted, the controller expects exactly one instance in the cluster. |
||
userInfoSecretRef |
LocalObjectReference | UserInfoSecretRef references a single Secret containing sensitive user profile fields. Values from the secret are evaluated last, so spec.username will override the username key in this secret. Keys: username, firstName, lastName, email, displayName |
||
admin |
boolean | false |
Set this user as an admin. | |
disabled |
boolean | false |
Disabled indicates whether the user account is disabled. | |
locale |
string | Locale is the user's preferred locale (e.g., "en", "de", "fr"). | ||
apiKeys |
[]object | APIKeys is a list of API keys to create for this user. | ||
customClaims |
[]object | CustomClaims are additional claims to attach to this user. User claims take precedence over claims inherited from the user's groups. |
PocketIDUser.spec.username¶
StringValue represents a value that can be either a plain string or from a secret.
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
value |
string | Plain text value. | ||
valueFrom |
SecretKeySelector | Source for the value from a secret. |
PocketIDUser.spec.firstName¶
StringValue represents a value that can be either a plain string or from a secret.
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
value |
string | Plain text value. | ||
valueFrom |
SecretKeySelector | Source for the value from a secret. |
PocketIDUser.spec.lastName¶
StringValue represents a value that can be either a plain string or from a secret.
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
value |
string | Plain text value. | ||
valueFrom |
SecretKeySelector | Source for the value from a secret. |
PocketIDUser.spec.email¶
StringValue represents a value that can be either a plain string or from a secret.
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
value |
string | Plain text value. | ||
valueFrom |
SecretKeySelector | Source for the value from a secret. |
PocketIDUser.spec.displayName¶
StringValue represents a value that can be either a plain string or from a secret.
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
value |
string | Plain text value. | ||
valueFrom |
SecretKeySelector | Source for the value from a secret. |
PocketIDUser.spec.apiKeys[]¶
APIKeySpec defines the desired state of an API key.
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
name |
string | yes | Name of the API key (3-50 characters). MaxLength: 50 MinLength: 3 |
|
expiresAt |
string | ExpiresAt is the expiration time in RFC3339 format (e.g., "2030-01-01T00:00:00Z"). Defaults to 1 year in the future. |
||
description |
string | Created by pocket-id-operator |
Description of the API key. | |
secretRef |
SecretKeySelector | SecretRef references an existing Secret containing the API key token. If set, the operator will use this secret instead of creating a new one. |
PocketIDUser.spec.customClaims[]¶
CustomClaim defines a custom claim key/value pair for a user or user group.
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
key |
string | yes | Key is the claim key. | |
value |
string | yes | Value is the claim value. |
PocketIDUser.status¶
PocketIDUserStatus defines the observed state of PocketIDUser.
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
userID |
string | UserID is the ID assigned by Pocket-ID. | ||
userInfoSecretName |
string | UserInfoSecretName is the name of the Secret storing user profile fields. The operator writes to " |
||
isAdmin |
boolean | IsAdmin reflects whether the user is an admin in Pocket-ID. | ||
disabled |
boolean | Disabled reflects whether the user is disabled in Pocket-ID. | ||
locale |
string | Locale of the user from Pocket-ID. | ||
emailVerified |
boolean | EmailVerified reflects whether the user's email has been verified in Pocket-ID. | ||
oneTimeLoginToken |
string | OneTimeLoginToken is the one-time login token for a newly created user. | ||
oneTimeLoginURL |
string | OneTimeLoginURL is the login URL built from the one-time login token. | ||
oneTimeLoginExpiresAt |
string | OneTimeLoginExpiresAt is the RFC3339 timestamp when the login token expires. | ||
apiKeys |
[]object | APIKeys reflects the observed state of each API key. | ||
customClaims |
[]object | CustomClaims are the resolved custom claims on the user. | ||
conditions |
Condition array | Conditions represent the current state of the PocketIDUser resource. |
PocketIDUser.status.apiKeys[]¶
APIKeyStatus reflects the observed state of an API key from Pocket-ID.
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
name |
string | yes | Name of the API key (matches spec). | |
id |
string | ID assigned by Pocket-ID. | ||
createdAt |
string | CreatedAt timestamp from Pocket-ID. | ||
expiresAt |
string | ExpiresAt timestamp from Pocket-ID. | ||
lastUsedAt |
string | LastUsedAt timestamp from Pocket-ID. | ||
secretName |
string | SecretName where the API key token is stored. | ||
secretKey |
string | SecretKey within the secret containing the token. |
PocketIDUser.status.customClaims[]¶
CustomClaim defines a custom claim key/value pair for a user or user group.
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
key |
string | yes | Key is the claim key. | |
value |
string | yes | Value is the claim value. |