Skip to content

API Reference

Riptides exposes a declarative, Kubernetes-style API built on Custom Resource Definitions (CRDs). You manage workload identities, credential sources, credential bindings, and service definitions as standard Kubernetes resources using kubectl or any Kubernetes-compatible tooling.

Riptides organizes its resources into three API groups:

API GroupDescription
core.riptides.ioPrimary resources for workload identity, credentials, and service definitions.
auth.riptides.ioAuthentication primitives such as join tokens, and verifiers.
crypto.riptides.ioCryptographic material management (certificates, keys). These resources are system-managed and not typically user-facing.

All resources are currently served at version v1alpha1.

ResourceAPI GroupKindDescription
WorkloadIdentitycore.riptides.ioWorkloadIdentityDefines a cryptographic identity for a workload, including its SPIFFE ID, selectors, TLS policy, and allowed communication peers.
CredentialSourcecore.riptides.ioCredentialSourceDefines where and how credentials are obtained — from Kubernetes secrets, cloud IAM (AWS, GCP, Azure), HashiCorp Vault, JWT minting, OAuth2, or OCI.
CredentialBindingcore.riptides.ioCredentialBindingBinds a CredentialSource to a workload and defines how credentials are delivered (on-the-wire injection or sysfs files).
Servicecore.riptides.ioServiceDefines a network service (internal or external) that workloads connect to, used for egress policy matching.
Daemoncore.riptides.ioDaemonRepresents a Riptides daemon running on a node.
DaemonGroupcore.riptides.ioDaemonGroupGroups daemons for scoping workload identity assignments.
JoinTokenauth.riptides.ioJoinTokenBootstrap token used by daemons to join the control plane.
Verifierauth.riptides.ioVerifierDefines how identity claims are verified.
IdentityProvidercore.riptides.ioIdentityProviderConfigures an external identity provider for OIDC federation.
OIDCClientcore.riptides.ioOIDCClientRegisters an OIDC client for token exchange.

Note: Resources in the crypto.riptides.io group are managed automatically by the Riptides control plane and do not require direct user interaction under normal operation.

All Riptides CRDs are namespaced. By convention, resources are created in the riptides-system namespace.

The WorkloadCredential resource is deprecated. Use CredentialBinding instead to bind credentials to workloads.