Skip to main content

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. 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 against Group.name
  • user: matched against User.db_username
  • resource_hostname: matched against ResourceHostname.name within the parent resource
Links not present in identityLinks on reconcile are removed, so the spec is the source of truth.