Summary
Add a reference documentation page for the APIKeyRequest custom resource definition (CRD).
Background
APIKeyRequest is the shadow resource created by the APIKeyReconciler in the API owner's namespace, mirroring the consumer's APIKey. It enables namespace-based RBAC: owners discover and review access requests in their own namespace without seeing consumer namespaces.
Currently there is no reference documentation for this resource. Users and integrators must read the source code to understand its schema and behavior.
Lifecycle / Ownership
- Created and deleted by the controller (owners do not create these manually)
- Deleted automatically when the originating
APIKey is deleted
- Owner interacts by creating an
APIKeyApproval referencing this resource
RBAC Notes
- Owners have
get/list/watch on APIKeyRequest in their namespace
- Owners do NOT have access to
APIKey in consumer namespaces (namespace isolation)
- API key secret values are never projected into
APIKeyRequest (only into APIKey status)
Example
apiVersion: devportal.kuadrant.io/v1alpha1
kind: APIKeyRequest
metadata:
name: my-api-key-request
namespace: owner-namespace # same namespace as the APIProduct
spec:
apiProductRef:
name: my-api-product
planTier: basic
useCase: "Internal integration for payment processing service"
requestedBy:
userId: "user-123"
email: "developer@example.com"
apiKeyRef:
name: my-api-key
namespace: consumer-namespace
status:
conditions:
- type: Pending
status: "True"
lastTransitionTime: "2026-06-12T10:00:00Z"
Related
Summary
Add a reference documentation page for the
APIKeyRequestcustom resource definition (CRD).Background
APIKeyRequestis the shadow resource created by theAPIKeyReconcilerin the API owner's namespace, mirroring the consumer'sAPIKey. It enables namespace-based RBAC: owners discover and review access requests in their own namespace without seeing consumer namespaces.Currently there is no reference documentation for this resource. Users and integrators must read the source code to understand its schema and behavior.
Lifecycle / Ownership
APIKeyis deletedAPIKeyApprovalreferencing this resourceRBAC Notes
get/list/watchonAPIKeyRequestin their namespaceAPIKeyin consumer namespaces (namespace isolation)APIKeyRequest(only intoAPIKeystatus)Example
Related
APIKeyCRD (api/v1alpha1/apikey_types.go)APIKeyApprovalCRD (api/v1alpha1/apikeyapproval_types.go)