FormalResource
Registers an in-cluster service as a Formal resource.Spec
TLS Configuration
FormalListener
Creates a listener on an existing Formal connector with routing rules.Spec
Rules
Each rule routes traffic to one or more resources:
When using
resource rules, the operator resolves the resourceRef to the Formal resource ID automatically.
The connector itself is not managed by the operator. Create the connector via
Terraform or the web
console, then reference its ID in
FormalListener resources.
FormalNativeUser
Creates a native user on a Formal resource, with credentials sourced from a Kubernetes Secret.Spec
The operator watches referenced Secrets. When a Secret is updated, the
operator automatically propagates the new credentials to Formal.
Supported Types
basic
Username and password credentials, sourced from a Kubernetes Secret.
iam
Cloud IAM authentication.
kubernetes
Kubernetes authentication via kubeconfig.
ssh_key
SSH key authentication, with the private key sourced from a Kubernetes Secret.
snowflake_key
Snowflake key-pair authentication, with the private key sourced from a Kubernetes Secret.
http_basic
HTTP Basic authentication, with credentials sourced from a Kubernetes Secret.
http_bearer
HTTP Bearer token authentication, with the token sourced from a Kubernetes Secret.
http_api_key
HTTP API key authentication, with the value sourced from a Kubernetes Secret.
Identity Links
identityLinks binds Formal identities to the native user. Each entry is resolved by name against the Formal control plane:
Resolution rules per
type:
group: matched againstGroup.nameuser: matched againstUser.db_usernameresource_hostname: matched againstResourceHostname.namewithin the parent resource
identityLinks on reconcile are removed, so the spec is the source of truth.