From ef76922c30fcea443f32bdbd213c01320447e12e Mon Sep 17 00:00:00 2001 From: Ariel Yahav Date: Fri, 14 Aug 2026 12:14:43 +0100 Subject: [PATCH 1/8] fix(api): correct grammar in CRD doc comments MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The doc comments on the v1beta1 types are the source text for three generated surfaces: the CRD `description:` fields under config/crd/bases, the same fields in the Helm CRD chart, and the configuration reference in docs/. They also reach the public docs site, which copies that reference in as deploy/self-hosted/config/api-reference.mdx. A prose audit of the docs site traced 58 grammar and spelling defects back here. Because codegen fans each comment out across every module, a handful of lines in shared.go account for most of the occurrences: - shared.go:239 "Info can contain any additional like reconciliation errors" is missing its noun, and lands on all 20 module status blocks. - shared.go:33/:37/:38 and :272 ("Allow to enable…", "Version allow to override…") repeat 12, 12 and 10 times respectively. The rest are one-offs of the same few patterns: "allow to " for "enables/lets" (18 sites), "Actually," used for "currently" or "in practice" (3), "following its needs / following scopes / following the Key" for "as needed / according to" (3), subject-verb agreement ("Disabled indicate", "A disabled stack disable everything", "Auth represent", "no backup are performed"), "than" for "that" (3), and a French space before the colon (7). Two are outright typos rather than grammar: - authclient_types.go:46 read "Scopes allow to five some scope to the client" — five/give. - settings_types.go:145 read "elligible". Two more were wrong about the code rather than merely awkward: - authclient_types.go:43 documented PostLogoutRedirectUris as "RedirectUris", a copy-paste from the field above, so the generated CRD described the wrong field. - connectivity_types.go:32 carried "the module allowing to install…" copied from ledger_types.go, which is how this pattern keeps reaching new modules and why it is worth fixing at the source. Unclosed parentheses in stack_types.go:73 and resourcereference_types.go:45 are closed. Generated artifacts are regenerated in the same commit, so `just pre-commit` is a no-op: config/crd/bases (26 files), helm/crds/templates/crds (26), and the configuration reference. The diff there is entirely `description:` text — no type, required, properties, enum or default changed, and the settings catalog is unaffected because it does not read doc comments. Confidence: high — comments and generated text only, no behaviour. Scope-risk: low — zero schema change; CRD descriptions are not part of any API contract, and `kubectl explain` output improves. --- api/formance.com/v1beta1/auth_types.go | 14 +- api/formance.com/v1beta1/authclient_types.go | 18 +- api/formance.com/v1beta1/broker_types.go | 4 +- .../v1beta1/connectivity_types.go | 2 +- api/formance.com/v1beta1/database_types.go | 18 +- api/formance.com/v1beta1/gateway_types.go | 10 +- api/formance.com/v1beta1/groupversion_info.go | 4 +- api/formance.com/v1beta1/ledger_types.go | 2 +- .../v1beta1/resourcereference_types.go | 12 +- api/formance.com/v1beta1/settings_types.go | 26 +- api/formance.com/v1beta1/shared.go | 10 +- api/formance.com/v1beta1/stack_types.go | 16 +- api/formance.com/v1beta1/stargate_types.go | 2 +- .../crd/bases/formance.com_authclients.yaml | 27 +- config/crd/bases/formance.com_auths.yaml | 30 +-- config/crd/bases/formance.com_benthos.yaml | 9 +- .../bases/formance.com_benthosstreams.yaml | 3 +- .../bases/formance.com_brokerconsumers.yaml | 3 +- config/crd/bases/formance.com_brokers.yaml | 5 +- .../crd/bases/formance.com_brokertopics.yaml | 3 +- .../bases/formance.com_connectivities.yaml | 15 +- config/crd/bases/formance.com_databases.yaml | 21 +- .../bases/formance.com_gatewaygrpcapis.yaml | 3 +- .../bases/formance.com_gatewayhttpapis.yaml | 3 +- config/crd/bases/formance.com_gateways.yaml | 23 +- config/crd/bases/formance.com_ledgers.yaml | 15 +- config/crd/bases/formance.com_mcps.yaml | 13 +- .../bases/formance.com_orchestrations.yaml | 13 +- .../formance.com_otelexporterendpoints.yaml | 3 +- config/crd/bases/formance.com_payments.yaml | 13 +- .../bases/formance.com_reconciliations.yaml | 13 +- .../formance.com_resourcereferences.yaml | 31 +-- config/crd/bases/formance.com_searches.yaml | 13 +- config/crd/bases/formance.com_settings.yaml | 50 ++-- config/crd/bases/formance.com_stacks.yaml | 25 +- config/crd/bases/formance.com_stargates.yaml | 17 +- .../bases/formance.com_transactionplanes.yaml | 13 +- config/crd/bases/formance.com_wallets.yaml | 13 +- config/crd/bases/formance.com_webhooks.yaml | 13 +- .../02-Custom Resource Definitions.md | 246 +++++++++--------- ...cedefinition_authclients.formance.com.yaml | 27 +- ...resourcedefinition_auths.formance.com.yaml | 30 +-- ...sourcedefinition_benthos.formance.com.yaml | 9 +- ...efinition_benthosstreams.formance.com.yaml | 3 +- ...finition_brokerconsumers.formance.com.yaml | 3 +- ...sourcedefinition_brokers.formance.com.yaml | 5 +- ...edefinition_brokertopics.formance.com.yaml | 3 +- ...efinition_connectivities.formance.com.yaml | 15 +- ...urcedefinition_databases.formance.com.yaml | 21 +- ...finition_gatewaygrpcapis.formance.com.yaml | 3 +- ...finition_gatewayhttpapis.formance.com.yaml | 3 +- ...ourcedefinition_gateways.formance.com.yaml | 23 +- ...sourcedefinition_ledgers.formance.com.yaml | 15 +- ...mresourcedefinition_mcps.formance.com.yaml | 13 +- ...efinition_orchestrations.formance.com.yaml | 13 +- ...on_otelexporterendpoints.formance.com.yaml | 3 +- ...ourcedefinition_payments.formance.com.yaml | 13 +- ...finition_reconciliations.formance.com.yaml | 13 +- ...ition_resourcereferences.formance.com.yaml | 31 +-- ...ourcedefinition_searches.formance.com.yaml | 13 +- ...ourcedefinition_settings.formance.com.yaml | 50 ++-- ...esourcedefinition_stacks.formance.com.yaml | 25 +- ...urcedefinition_stargates.formance.com.yaml | 17 +- ...nition_transactionplanes.formance.com.yaml | 13 +- ...sourcedefinition_wallets.formance.com.yaml | 13 +- ...ourcedefinition_webhooks.formance.com.yaml | 13 +- 66 files changed, 604 insertions(+), 560 deletions(-) diff --git a/api/formance.com/v1beta1/auth_types.go b/api/formance.com/v1beta1/auth_types.go index 19140cfff..3883b8a91 100644 --- a/api/formance.com/v1beta1/auth_types.go +++ b/api/formance.com/v1beta1/auth_types.go @@ -40,16 +40,16 @@ type AuthSpec struct { // Contains information about a delegated authentication server to use to delegate authentication DelegatedOIDCServer *DelegatedOIDCServerConfiguration `json:"delegatedOIDCServer,omitempty"` //+optional - // Allow to override the default signing key used to sign JWT tokens. + // Overrides the default signing key used to sign JWT tokens. SigningKey string `json:"signingKey,omitempty"` //+optional - // Allow to override the default signing key used to sign JWT tokens using a k8s secret + // Overrides the default signing key used to sign JWT tokens, using a k8s secret SigningKeyFromSecret *v1.SecretKeySelector `json:"signingKeyFromSecret,omitempty"` //+optional - // Allow to enable scopes usage on authentication. + // Enables scope checking during authentication. // - // If not enabled, each service will check the authentication but will not restrict access following scopes. - // in this case, if authenticated, it is ok. + // If not enabled, each service will check the authentication but will not restrict access according to scopes. + // In that case, being authenticated is sufficient. // +kubebuilder:default:=false EnableScopes bool `json:"enableScopes"` } @@ -61,11 +61,11 @@ type AuthStatus struct { Clients []string `json:"clients"` } -// Auth represent the authentication module of a stack. +// Auth represents the authentication module of a stack. // // It is an OIDC compliant server. // -// Creating it for a stack automatically add authentication on all supported modules. +// Creating it for a stack automatically adds authentication to all supported modules. // // The auth service is basically a proxy to another OIDC compliant server. // +kubebuilder:object:root=true diff --git a/api/formance.com/v1beta1/authclient_types.go b/api/formance.com/v1beta1/authclient_types.go index 3b8a290b8..b22e0269c 100644 --- a/api/formance.com/v1beta1/authclient_types.go +++ b/api/formance.com/v1beta1/authclient_types.go @@ -28,26 +28,26 @@ type AuthClientSpec struct { // It must be used with oauth2 `client_id` parameter ID string `json:"id" yaml:"id"` // +optional - // Public indicate whether a client is confidential or not. - // Confidential clients are clients which the secret can be kept secret... - // As opposed to public clients which cannot have a secret (application single page for example) + // Public indicates whether a client is confidential. + // Confidential clients are clients whose secret can be kept secret. + // As opposed to public clients which cannot have a secret (a single-page application, for example) // +kubebuilder:default:=false Public bool `json:"public" yaml:"public"` // +optional // Description represents an optional description of the client Description string `json:"description,omitempty" yaml:"description,omitempty"` // +optional - // RedirectUris allow to list allowed redirect uris for the client + // RedirectUris lists the allowed redirect URIs for the client RedirectUris []string `json:"redirectUris,omitempty" yaml:"redirectUris"` // +optional - // RedirectUris allow to list allowed post logout redirect uris for the client + // PostLogoutRedirectUris lists the allowed post-logout redirect URIs for the client PostLogoutRedirectUris []string `json:"postLogoutRedirectUris,omitempty" yaml:"postLogoutRedirectUris"` // +optional - // Scopes allow to five some scope to the client + // Scopes grants scopes to the client Scopes []string `json:"scopes,omitempty" yaml:"scopes"` // +optional - // Secret allow to configure a secret for the client. - // It is not required as some client could use some oauth2 flows which does not requires a client secret + // Secret configures a secret for the client. + // It is not required, since some clients use oauth2 flows that do not require a client secret Secret string `json:"secret,omitempty"` // +optional @@ -86,7 +86,7 @@ type AuthClientStatus struct { //+kubebuilder:printcolumn:name="Ready",type=string,JSONPath=".status.ready",description="Is ready" //+kubebuilder:printcolumn:name="Info",type=string,JSONPath=".status.info",description="Info" -// AuthClient allow to create OAuth2/OIDC clients on the auth server (see [Auth](#auth)) +// AuthClient creates OAuth2/OIDC clients on the auth server (see [Auth](#auth)) type AuthClient struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` diff --git a/api/formance.com/v1beta1/broker_types.go b/api/formance.com/v1beta1/broker_types.go index 79ef4969b..27a812164 100644 --- a/api/formance.com/v1beta1/broker_types.go +++ b/api/formance.com/v1beta1/broker_types.go @@ -24,7 +24,7 @@ type BrokerSpec struct { StackDependency `json:",inline"` } -// Mode defined how streams are created on the broker (mainly nats) +// Mode defines how streams are created on the broker (mainly nats) type Mode string const ( @@ -39,7 +39,7 @@ type BrokerStatus struct { //+optional //+kubebuilder:validation:Enum:={OneStreamByService, OneStreamByStack} // Mode indicating the configuration of the nats streams - // Two modes are defined : + // Two modes are defined: // * ModeOneStreamByService: In this case, each service will have a dedicated stream created // * ModeOneStreamByStack: In this case, a stream will be created for the stack and each service will use a specific subject inside this stream Mode Mode `json:"mode"` diff --git a/api/formance.com/v1beta1/connectivity_types.go b/api/formance.com/v1beta1/connectivity_types.go index f57e7275b..d8eb1e68f 100644 --- a/api/formance.com/v1beta1/connectivity_types.go +++ b/api/formance.com/v1beta1/connectivity_types.go @@ -29,7 +29,7 @@ type ConnectivityStatus struct { Status `json:",inline"` } -// Connectivity is the module allowing to install a connectivity instance. +// Connectivity is the module that installs a connectivity instance. // // Connectivity ingests data from external sources (blockchains, payment // providers, ...) through a plugin system and writes double-entry diff --git a/api/formance.com/v1beta1/database_types.go b/api/formance.com/v1beta1/database_types.go index 4e7d67ab6..b85188374 100644 --- a/api/formance.com/v1beta1/database_types.go +++ b/api/formance.com/v1beta1/database_types.go @@ -23,7 +23,7 @@ import ( type DatabaseSpec struct { StackDependency `json:",inline"` // Service is a discriminator for the created database. - // Actually, it will be the module name (ledger, payments...). + // In practice, it is the module name (ledger, payments...). // Therefore, the created database will be named `` Service string `json:"service"` // +kubebuilder:default:=false @@ -38,32 +38,32 @@ type DatabaseStatus struct { // The generated database name Database string `json:"database,omitempty"` //+optional - // OutOfSync indicates than a settings changed the uri of the postgres server - // The Database object need to be removed to be recreated + // OutOfSync indicates that a setting changed the uri of the postgres server + // The Database object must be removed so that it can be recreated OutOfSync bool `json:"outOfSync,omitempty"` } -// Database represent a concrete database on a PostgreSQL server, it is created by modules requiring a database ([Ledger](#ledger) for example). +// Database represents a concrete database on a PostgreSQL server, it is created by modules requiring a database ([Ledger](#ledger) for example). // // It uses the settings `postgres..uri` which must have the following uri format: `postgresql://[@]@/` -// Additionally, the uri can define a query param `secret` indicating a k8s secret, than must be used to retrieve database credentials. +// Additionally, the uri can define a query param `secret` indicating a k8s secret that must be used to retrieve database credentials. // Credentials in the secret are expected to be URL-encoded by default. Set `secretCredentialsEncoding=raw` to let the operator encode them. // // On creation, the reconciler behind the Database object will create the database on the postgresql server using a k8s job. -// On Deletion, by default, the reconciler will let the database untouched. +// On Deletion, by default, the reconciler leaves the database untouched. // You can allow the reconciler to drop the database on the server by using the [Settings](#settings) `clear-database` with the value `true`. // If you use that setting, the reconciler will use another job to drop the database. -// Be careful, no backup are performed! +// Be careful: no backup is performed! // // Database resource honors `aws.service-account` setting, so, you can create databases on an AWS server if you need. // See [AWS accounts](#aws-account) // // Once a database is fully configured, it retains the postgres uri used. -// If the setting indicating the server uri changed, the Database object will set the field `.status.outOfSync` to true +// If the setting that specifies the server uri changes, the Database object will set the field `.status.outOfSync` to true // and will not change anything. // // Therefore, to switch to a new server, you must change the setting value, then drop the Database object. -// It will be recreated with correct uri. +// It will be recreated with the correct uri. // +kubebuilder:object:root=true // +kubebuilder:subresource:status // +kubebuilder:resource:scope=Cluster diff --git a/api/formance.com/v1beta1/gateway_types.go b/api/formance.com/v1beta1/gateway_types.go index 836fff3fb..f5f8ee842 100644 --- a/api/formance.com/v1beta1/gateway_types.go +++ b/api/formance.com/v1beta1/gateway_types.go @@ -28,15 +28,15 @@ type GatewayIngressTLS struct { // GatewayIngress represents the ingress configuration for the gateway. type GatewayIngress struct { // Indicates the hostname on which the stack will be served. - // Example : `formance.example.com` + // Example: `formance.example.com` //+required Host string `json:"host"` // Additional hosts for the ingress. Combined with Host. //+optional Hosts []string `json:"hosts,omitempty"` - // Indicate the scheme. + // Indicates the scheme. // - // Actually, It should be `https` unless you know what you are doing. + // It should be `https` unless you know what you are doing. // +kubebuilder:default:="https" Scheme string `json:"scheme"` @@ -46,7 +46,7 @@ type GatewayIngress struct { // Custom annotations to add on the ingress Annotations map[string]string `json:"annotations,omitempty"` - // Allow to customize the tls part of the ingress + // Customizes the tls part of the ingress //+optional TLS *GatewayIngressTLS `json:"tls,omitempty"` } @@ -77,7 +77,7 @@ type GatewaySpec struct { StackDependency `json:",inline"` ModuleProperties `json:",inline"` //+optional - // Allow to customize the generated ingress + // Customizes the generated ingress Ingress *GatewayIngress `json:"ingress,omitempty"` } diff --git a/api/formance.com/v1beta1/groupversion_info.go b/api/formance.com/v1beta1/groupversion_info.go index 0b91e4da5..a253de8c9 100644 --- a/api/formance.com/v1beta1/groupversion_info.go +++ b/api/formance.com/v1beta1/groupversion_info.go @@ -16,11 +16,11 @@ limitations under the License. // Package v1beta1 contains API Schema definitions for the formance v1beta1 API group. // -// It allow to configure a Formance stack. +// It lets you configure a Formance stack. // // A stack is composed of a [Stack](#stack) resource and some [modules](#modules). // -// Each module can create multiple resources following its needs. See [Other resources](#other-resources). +// Each module can create multiple resources as it needs. See [Other resources](#other-resources). // // Various parts of the stack can be configured either using the CRD properties or using some [Settings](#settings). // diff --git a/api/formance.com/v1beta1/ledger_types.go b/api/formance.com/v1beta1/ledger_types.go index 1d972a0c6..e63be4af7 100644 --- a/api/formance.com/v1beta1/ledger_types.go +++ b/api/formance.com/v1beta1/ledger_types.go @@ -33,7 +33,7 @@ type LedgerStatus struct { Status `json:",inline"` } -// Ledger is the module allowing to install a ledger instance. +// Ledger is the module that installs a ledger instance. // // The ledger is a stateful application that manages financial transactions // and maintains an immutable audit trail. diff --git a/api/formance.com/v1beta1/resourcereference_types.go b/api/formance.com/v1beta1/resourcereference_types.go index e1fda6ae0..b72811670 100644 --- a/api/formance.com/v1beta1/resourcereference_types.go +++ b/api/formance.com/v1beta1/resourcereference_types.go @@ -34,19 +34,19 @@ type ResourceReferenceStatus struct { Hash string `json:"hash,omitempty"` } -// ResourceReference is a special resources used to refer to externally created resources. +// ResourceReference is a special resource used to refer to externally created resources. // // It includes k8s service accounts and secrets. // -// Why? Because the operator create a namespace by stack, so, a stack does not have access to secrets and service +// Why? Because the operator creates one namespace per stack, so a stack does not have access to secrets and service // accounts created externally. // -// A ResourceReference is created by other resource who need to use a specific secret or service account. -// For example, if you want to use a secret for your database connection (see [Database](#database), you will +// A ResourceReference is created by another resource that needs a specific secret or service account. +// For example, if you want to use a secret for your database connection (see [Database](#database)), you will // create a setting indicating a secret name. You will need to create this secret yourself, and you will put this // secret inside the namespace you want (`default` maybe). // -// The Database reconciler will create a ResourceReference looking like that : +// The Database reconciler will create a ResourceReference that looks like this: // ``` // apiVersion: formance.com/v1beta1 // kind: ResourceReference @@ -75,7 +75,7 @@ type ResourceReferenceStatus struct { // ... // // ``` -// This reconciler behind this ResourceReference will search, in all namespaces, for a secret named "postgres". +// The reconciler behind this ResourceReference searches all namespaces for a secret named "postgres". // The secret must have a label `formance.com/stack` with the value matching either a specific stack or `any` to target any stack. // // Once the reconciler has found the secret, it will copy it inside the stack namespace, allowing the ResourceReconciler owner to use it. diff --git a/api/formance.com/v1beta1/settings_types.go b/api/formance.com/v1beta1/settings_types.go index 29999dafa..7453764e8 100644 --- a/api/formance.com/v1beta1/settings_types.go +++ b/api/formance.com/v1beta1/settings_types.go @@ -26,15 +26,15 @@ type SettingsSpec struct { Stacks []string `json:"stacks,omitempty"` // The setting Key. See the documentation of each module or [global settings](#global-settings) to discover them. Key string `json:"key"` - // The value. It must have a specific format following the Key. + // The value. Its required format depends on the Key. Value string `json:"value"` } // Settings represents a configurable piece of the stacks. // -// The purpose of this resource is to be able to configure some common settings between a set of stacks. +// The purpose of this resource is to configure settings shared across a set of stacks. // -// Example : +// Example: // ```yaml // apiVersion: formance.com/v1beta1 // kind: Settings @@ -51,13 +51,13 @@ type SettingsSpec struct { // // ``` // -// This example create a setting named `postgres-uri` targeting the stack named `stack0` and the service `ledger` (see the key `postgres.ledger.uri`). +// This example creates a setting named `postgres-uri` targeting the stack named `stack0` and the service `ledger` (see the key `postgres.ledger.uri`). // // Therefore, a [Database](#database) created for the stack `stack0` and the service named 'ledger' will use the uri `postgresql://postgresql.formance.svc.cluster.local:5432`. // -// Settings allow to use wildcards in keys and in stacks list. +// Settings supports wildcards in keys and in the stacks list. // -// For example, if you want to use the same database server for all the modules of a specific stack, you can write : +// For example, if you want to use the same database server for all the modules of a specific stack, you can write: // ```yaml // apiVersion: formance.com/v1beta1 // kind: Settings @@ -74,7 +74,7 @@ type SettingsSpec struct { // // ``` // -// Also, we could use that setting for all of our stacks using : +// Also, we could use that setting for all of our stacks using: // ```yaml // apiVersion: formance.com/v1beta1 // kind: Settings @@ -91,7 +91,7 @@ type SettingsSpec struct { // // ``` // -// Some settings are really global, while some are used by specific module. +// Some settings are truly global, while others are used by a specific module. // // Refer to the documentation of each module and resource to discover available Settings. // @@ -100,7 +100,7 @@ type SettingsSpec struct { // // A stack can use an AWS account for authentication. // -// It can be used to connect to any AWS service we could use. +// It can be used to connect to any AWS service. // // It includes RDS, OpenSearch and MSK. To do so, you can create the following setting: // ```yaml @@ -118,11 +118,11 @@ type SettingsSpec struct { // value: aws-access // // ``` -// This setting instruct the operator than there is somewhere on the cluster a service account named `aws-access`. +// This setting tells the operator that a service account named `aws-access` exists somewhere on the cluster. // // So, each time a service has the capability to use AWS, the operator will use this service account. // -// The service account could look like that : +// The service account could look like this: // ```yaml // apiVersion: v1 // kind: ServiceAccount @@ -135,14 +135,14 @@ type SettingsSpec struct { // name: aws-access // // ``` -// You can note two things : +// You can note two things: // 1. We have an annotation indicating the role arn used to connect to AWS. Refer to the AWS documentation to create this role // 2. We have a label `formance.com/stack=any` indicating we are targeting all stacks. // Refer to the documentation of [ResourceReference](#resourcereference) for further information. // // ###### JSON logging // -// You can use the setting `logging.json` with the value `true` to configure elligible service to log as json. +// You can use the setting `logging.json` with the value `true` to configure eligible services to log as json. // Example: // ```yaml // apiVersion: formance.com/v1beta1 diff --git a/api/formance.com/v1beta1/shared.go b/api/formance.com/v1beta1/shared.go index 3fbc75708..ba4aa8410 100644 --- a/api/formance.com/v1beta1/shared.go +++ b/api/formance.com/v1beta1/shared.go @@ -30,12 +30,12 @@ type VersionedEventPublisher interface { type DevProperties struct { // +optional - // Allow to enable debug mode on the module + // Enables debug mode on the module // +kubebuilder:default:=false Debug bool `json:"debug"` // +optional - // Allow to enable dev mode on the module - // Dev mode is used to allow some application to do custom setup in development mode (allow insecure certificates for example) + // Enables dev mode on the module + // Dev mode lets an application do custom setup in development mode (allowing insecure certificates, for example) // +kubebuilder:default:=false Dev bool `json:"dev"` } @@ -236,7 +236,7 @@ type Status struct { // Ready indicates if the resource is seen as completely reconciled Ready bool `json:"ready"` //+optional - // Info can contain any additional like reconciliation errors + // Info can contain any additional detail, such as reconciliation errors Info string `json:"info,omitempty"` //+optional Conditions Conditions `json:"conditions,omitempty"` @@ -269,7 +269,7 @@ type Module interface { type ModuleProperties struct { DevProperties `json:",inline"` //+optional - // Version allow to override global version defined at stack level for a specific module + // Version overrides, for a specific module, the global version defined at stack level Version string `json:"version,omitempty"` } diff --git a/api/formance.com/v1beta1/stack_types.go b/api/formance.com/v1beta1/stack_types.go index b73142d19..0aa930645 100644 --- a/api/formance.com/v1beta1/stack_types.go +++ b/api/formance.com/v1beta1/stack_types.go @@ -23,24 +23,24 @@ import ( type StackSpec struct { DevProperties `json:",inline"` // +optional - // Version allow to specify the version of the components + // Version specifies the version of the components // Must be a valid docker tag Version string `json:"version,omitempty"` // +optional - // VersionsFromFile allow to specify a formance.com/Versions object which contains individual versions + // VersionsFromFile references a formance.com/Versions object which contains individual versions // for each component. // Must reference a valid formance.com/Versions object VersionsFromFile string `json:"versionsFromFile"` // +optional // +kubebuilder:default:=false - // EnableAudit enable audit at the stack level. - // Actually, it enables audit on [Gateway](#gateway) + // EnableAudit enables auditing at the stack level. + // Currently, it enables auditing on [Gateway](#gateway) // deprecated EnableAudit bool `json:"enableAudit,omitempty"` // +optional // +kubebuilder:default:=false - // Disabled indicate the stack is disabled. - // A disabled stack disable everything + // Disabled indicates that the stack is disabled. + // A disabled stack disables everything // It just keeps the namespace and the [Database](#database) resources. Disabled bool `json:"disabled"` } @@ -68,9 +68,9 @@ type StackStatus struct { // // To do more, you need to create some [modules](#modules). // -// The Stack resource allow to specify the version of the stack. +// The Stack resource specifies the version of the stack. // -// It can be specified using either the field `.spec.version` or the `.spec.versionsFromFile` field (Refer to the documentation of [Versions](#versions) resource. +// It can be specified using either the field `.spec.version` or the `.spec.versionsFromFile` field (see the documentation for the [Versions](#versions) resource). // // The `version` field will have priority over `versionFromFile`. // diff --git a/api/formance.com/v1beta1/stargate_types.go b/api/formance.com/v1beta1/stargate_types.go index 600b81c59..31456c5fc 100644 --- a/api/formance.com/v1beta1/stargate_types.go +++ b/api/formance.com/v1beta1/stargate_types.go @@ -28,7 +28,7 @@ type StargateAuthSpec struct { type StargateTLSConfig struct { //+optional - // Disable TLS protocol -- use at your own risks, the transmission will be in clear. + // Disable TLS protocol -- use at your own risk; the transmission will be in cleartext. Disable bool `json:"disable,omitempty"` } diff --git a/config/crd/bases/formance.com_authclients.yaml b/config/crd/bases/formance.com_authclients.yaml index c519ac30e..69007bc99 100644 --- a/config/crd/bases/formance.com_authclients.yaml +++ b/config/crd/bases/formance.com_authclients.yaml @@ -30,8 +30,8 @@ spec: name: v1beta1 schema: openAPIV3Schema: - description: AuthClient allow to create OAuth2/OIDC clients on the auth server - (see [Auth](#auth)) + description: AuthClient creates OAuth2/OIDC clients on the auth server (see + [Auth](#auth)) properties: apiVersion: description: |- @@ -62,33 +62,33 @@ spec: It must be used with oauth2 `client_id` parameter type: string postLogoutRedirectUris: - description: RedirectUris allow to list allowed post logout redirect - uris for the client + description: PostLogoutRedirectUris lists the allowed post-logout + redirect URIs for the client items: type: string type: array public: default: false description: |- - Public indicate whether a client is confidential or not. - Confidential clients are clients which the secret can be kept secret... - As opposed to public clients which cannot have a secret (application single page for example) + Public indicates whether a client is confidential. + Confidential clients are clients whose secret can be kept secret. + As opposed to public clients which cannot have a secret (a single-page application, for example) type: boolean redirectUris: - description: RedirectUris allow to list allowed redirect uris for - the client + description: RedirectUris lists the allowed redirect URIs for the + client items: type: string type: array scopes: - description: Scopes allow to five some scope to the client + description: Scopes grants scopes to the client items: type: string type: array secret: description: |- - Secret allow to configure a secret for the client. - It is not required as some client could use some oauth2 flows which does not requires a client secret + Secret configures a secret for the client. + It is not required, since some clients use oauth2 flows that do not require a client secret type: string secretFromSecret: description: SecretKeySelector selects a key of a Secret. @@ -178,7 +178,8 @@ spec: hash: type: string info: - description: Info can contain any additional like reconciliation errors + description: Info can contain any additional detail, such as reconciliation + errors type: string ready: description: Ready indicates if the resource is seen as completely diff --git a/config/crd/bases/formance.com_auths.yaml b/config/crd/bases/formance.com_auths.yaml index 93360ca5f..e71188ffb 100644 --- a/config/crd/bases/formance.com_auths.yaml +++ b/config/crd/bases/formance.com_auths.yaml @@ -42,11 +42,11 @@ spec: schema: openAPIV3Schema: description: |- - Auth represent the authentication module of a stack. + Auth represents the authentication module of a stack. It is an OIDC compliant server. - Creating it for a stack automatically add authentication on all supported modules. + Creating it for a stack automatically adds authentication to all supported modules. The auth service is basically a proxy to another OIDC compliant server. properties: @@ -71,7 +71,7 @@ spec: properties: debug: default: false - description: Allow to enable debug mode on the module + description: Enables debug mode on the module type: boolean delegatedOIDCServer: description: Contains information about a delegated authentication @@ -115,24 +115,23 @@ spec: dev: default: false description: |- - Allow to enable dev mode on the module - Dev mode is used to allow some application to do custom setup in development mode (allow insecure certificates for example) + Enables dev mode on the module + Dev mode lets an application do custom setup in development mode (allowing insecure certificates, for example) type: boolean enableScopes: default: false description: |- - Allow to enable scopes usage on authentication. + Enables scope checking during authentication. - If not enabled, each service will check the authentication but will not restrict access following scopes. - in this case, if authenticated, it is ok. + If not enabled, each service will check the authentication but will not restrict access according to scopes. + In that case, being authenticated is sufficient. type: boolean signingKey: - description: Allow to override the default signing key used to sign - JWT tokens. + description: Overrides the default signing key used to sign JWT tokens. type: string signingKeyFromSecret: - description: Allow to override the default signing key used to sign - JWT tokens using a k8s secret + description: Overrides the default signing key used to sign JWT tokens, + using a k8s secret properties: key: description: The key of the secret to select from. Must be a @@ -158,8 +157,8 @@ spec: description: Stack indicates the stack on which the module is installed type: string version: - description: Version allow to override global version defined at stack - level for a specific module + description: Version overrides, for a specific module, the global + version defined at stack level type: string type: object status: @@ -224,7 +223,8 @@ spec: type: object type: array info: - description: Info can contain any additional like reconciliation errors + description: Info can contain any additional detail, such as reconciliation + errors type: string ready: description: Ready indicates if the resource is seen as completely diff --git a/config/crd/bases/formance.com_benthos.yaml b/config/crd/bases/formance.com_benthos.yaml index 179b36c9f..edf7c51a6 100644 --- a/config/crd/bases/formance.com_benthos.yaml +++ b/config/crd/bases/formance.com_benthos.yaml @@ -53,13 +53,13 @@ spec: properties: debug: default: false - description: Allow to enable debug mode on the module + description: Enables debug mode on the module type: boolean dev: default: false description: |- - Allow to enable dev mode on the module - Dev mode is used to allow some application to do custom setup in development mode (allow insecure certificates for example) + Enables dev mode on the module + Dev mode lets an application do custom setup in development mode (allowing insecure certificates, for example) type: boolean envFrom: items: @@ -1775,7 +1775,8 @@ spec: elasticSearchURI: type: string info: - description: Info can contain any additional like reconciliation errors + description: Info can contain any additional detail, such as reconciliation + errors type: string ready: description: Ready indicates if the resource is seen as completely diff --git a/config/crd/bases/formance.com_benthosstreams.yaml b/config/crd/bases/formance.com_benthosstreams.yaml index 08420d57e..c0a6a79f7 100644 --- a/config/crd/bases/formance.com_benthosstreams.yaml +++ b/config/crd/bases/formance.com_benthosstreams.yaml @@ -113,7 +113,8 @@ spec: configMapHash: type: string info: - description: Info can contain any additional like reconciliation errors + description: Info can contain any additional detail, such as reconciliation + errors type: string ready: description: Ready indicates if the resource is seen as completely diff --git a/config/crd/bases/formance.com_brokerconsumers.yaml b/config/crd/bases/formance.com_brokerconsumers.yaml index 2fcfb698a..5e8dcf4cb 100644 --- a/config/crd/bases/formance.com_brokerconsumers.yaml +++ b/config/crd/bases/formance.com_brokerconsumers.yaml @@ -126,7 +126,8 @@ spec: type: object type: array info: - description: Info can contain any additional like reconciliation errors + description: Info can contain any additional detail, such as reconciliation + errors type: string ready: description: Ready indicates if the resource is seen as completely diff --git a/config/crd/bases/formance.com_brokers.yaml b/config/crd/bases/formance.com_brokers.yaml index 0a4fb99ed..fa194d6a4 100644 --- a/config/crd/bases/formance.com_brokers.yaml +++ b/config/crd/bases/formance.com_brokers.yaml @@ -112,12 +112,13 @@ spec: type: object type: array info: - description: Info can contain any additional like reconciliation errors + description: Info can contain any additional detail, such as reconciliation + errors type: string mode: description: |- Mode indicating the configuration of the nats streams - Two modes are defined : + Two modes are defined: * ModeOneStreamByService: In this case, each service will have a dedicated stream created * ModeOneStreamByStack: In this case, a stream will be created for the stack and each service will use a specific subject inside this stream enum: diff --git a/config/crd/bases/formance.com_brokertopics.yaml b/config/crd/bases/formance.com_brokertopics.yaml index 40463c9f6..b155b9d30 100644 --- a/config/crd/bases/formance.com_brokertopics.yaml +++ b/config/crd/bases/formance.com_brokertopics.yaml @@ -116,7 +116,8 @@ spec: type: object type: array info: - description: Info can contain any additional like reconciliation errors + description: Info can contain any additional detail, such as reconciliation + errors type: string ready: description: Ready indicates if the resource is seen as completely diff --git a/config/crd/bases/formance.com_connectivities.yaml b/config/crd/bases/formance.com_connectivities.yaml index 69cff5913..a6ae73277 100644 --- a/config/crd/bases/formance.com_connectivities.yaml +++ b/config/crd/bases/formance.com_connectivities.yaml @@ -37,7 +37,7 @@ spec: schema: openAPIV3Schema: description: |- - Connectivity is the module allowing to install a connectivity instance. + Connectivity is the module that installs a connectivity instance. Connectivity ingests data from external sources (blockchains, payment providers, ...) through a plugin system and writes double-entry @@ -66,20 +66,20 @@ spec: properties: debug: default: false - description: Allow to enable debug mode on the module + description: Enables debug mode on the module type: boolean dev: default: false description: |- - Allow to enable dev mode on the module - Dev mode is used to allow some application to do custom setup in development mode (allow insecure certificates for example) + Enables dev mode on the module + Dev mode lets an application do custom setup in development mode (allowing insecure certificates, for example) type: boolean stack: description: Stack indicates the stack on which the module is installed type: string version: - description: Version allow to override global version defined at stack - level for a specific module + description: Version overrides, for a specific module, the global + version defined at stack level type: string type: object status: @@ -139,7 +139,8 @@ spec: type: object type: array info: - description: Info can contain any additional like reconciliation errors + description: Info can contain any additional detail, such as reconciliation + errors type: string ready: description: Ready indicates if the resource is seen as completely diff --git a/config/crd/bases/formance.com_databases.yaml b/config/crd/bases/formance.com_databases.yaml index b88fda06c..c1439cc9c 100644 --- a/config/crd/bases/formance.com_databases.yaml +++ b/config/crd/bases/formance.com_databases.yaml @@ -35,27 +35,27 @@ spec: schema: openAPIV3Schema: description: |- - Database represent a concrete database on a PostgreSQL server, it is created by modules requiring a database ([Ledger](#ledger) for example). + Database represents a concrete database on a PostgreSQL server, it is created by modules requiring a database ([Ledger](#ledger) for example). It uses the settings `postgres..uri` which must have the following uri format: `postgresql://[@]@/` - Additionally, the uri can define a query param `secret` indicating a k8s secret, than must be used to retrieve database credentials. + Additionally, the uri can define a query param `secret` indicating a k8s secret that must be used to retrieve database credentials. Credentials in the secret are expected to be URL-encoded by default. Set `secretCredentialsEncoding=raw` to let the operator encode them. On creation, the reconciler behind the Database object will create the database on the postgresql server using a k8s job. - On Deletion, by default, the reconciler will let the database untouched. + On Deletion, by default, the reconciler leaves the database untouched. You can allow the reconciler to drop the database on the server by using the [Settings](#settings) `clear-database` with the value `true`. If you use that setting, the reconciler will use another job to drop the database. - Be careful, no backup are performed! + Be careful: no backup is performed! Database resource honors `aws.service-account` setting, so, you can create databases on an AWS server if you need. See [AWS accounts](#aws-account) Once a database is fully configured, it retains the postgres uri used. - If the setting indicating the server uri changed, the Database object will set the field `.status.outOfSync` to true + If the setting that specifies the server uri changes, the Database object will set the field `.status.outOfSync` to true and will not change anything. Therefore, to switch to a new server, you must change the setting value, then drop the Database object. - It will be recreated with correct uri. + It will be recreated with the correct uri. properties: apiVersion: description: |- @@ -82,7 +82,7 @@ spec: service: description: |- Service is a discriminator for the created database. - Actually, it will be the module name (ledger, payments...). + In practice, it is the module name (ledger, payments...). Therefore, the created database will be named `` type: string stack: @@ -151,12 +151,13 @@ spec: description: The generated database name type: string info: - description: Info can contain any additional like reconciliation errors + description: Info can contain any additional detail, such as reconciliation + errors type: string outOfSync: description: |- - OutOfSync indicates than a settings changed the uri of the postgres server - The Database object need to be removed to be recreated + OutOfSync indicates that a setting changed the uri of the postgres server + The Database object must be removed so that it can be recreated type: boolean ready: description: Ready indicates if the resource is seen as completely diff --git a/config/crd/bases/formance.com_gatewaygrpcapis.yaml b/config/crd/bases/formance.com_gatewaygrpcapis.yaml index 80364812c..d581617e2 100644 --- a/config/crd/bases/formance.com_gatewaygrpcapis.yaml +++ b/config/crd/bases/formance.com_gatewaygrpcapis.yaml @@ -166,7 +166,8 @@ spec: type: object type: array info: - description: Info can contain any additional like reconciliation errors + description: Info can contain any additional detail, such as reconciliation + errors type: string ready: description: Ready indicates if the resource is seen as completely diff --git a/config/crd/bases/formance.com_gatewayhttpapis.yaml b/config/crd/bases/formance.com_gatewayhttpapis.yaml index e1da43301..7cc98082d 100644 --- a/config/crd/bases/formance.com_gatewayhttpapis.yaml +++ b/config/crd/bases/formance.com_gatewayhttpapis.yaml @@ -186,7 +186,8 @@ spec: type: object type: array info: - description: Info can contain any additional like reconciliation errors + description: Info can contain any additional detail, such as reconciliation + errors type: string ready: description: Ready indicates if the resource is seen as completely diff --git a/config/crd/bases/formance.com_gateways.yaml b/config/crd/bases/formance.com_gateways.yaml index 71265f185..ba0b0ad97 100644 --- a/config/crd/bases/formance.com_gateways.yaml +++ b/config/crd/bases/formance.com_gateways.yaml @@ -63,16 +63,16 @@ spec: properties: debug: default: false - description: Allow to enable debug mode on the module + description: Enables debug mode on the module type: boolean dev: default: false description: |- - Allow to enable dev mode on the module - Dev mode is used to allow some application to do custom setup in development mode (allow insecure certificates for example) + Enables dev mode on the module + Dev mode lets an application do custom setup in development mode (allowing insecure certificates, for example) type: boolean ingress: - description: Allow to customize the generated ingress + description: Customizes the generated ingress properties: annotations: additionalProperties: @@ -82,7 +82,7 @@ spec: host: description: |- Indicates the hostname on which the stack will be served. - Example : `formance.example.com` + Example: `formance.example.com` type: string hosts: description: Additional hosts for the ingress. Combined with Host. @@ -95,12 +95,12 @@ spec: scheme: default: https description: |- - Indicate the scheme. + Indicates the scheme. - Actually, It should be `https` unless you know what you are doing. + It should be `https` unless you know what you are doing. type: string tls: - description: Allow to customize the tls part of the ingress + description: Customizes the tls part of the ingress properties: secretName: description: Specify the secret name used for the tls configuration @@ -117,8 +117,8 @@ spec: description: Stack indicates the stack on which the module is installed type: string version: - description: Version allow to override global version defined at stack - level for a specific module + description: Version overrides, for a specific module, the global + version defined at stack level type: string type: object status: @@ -178,7 +178,8 @@ spec: type: object type: array info: - description: Info can contain any additional like reconciliation errors + description: Info can contain any additional detail, such as reconciliation + errors type: string ready: description: Ready indicates if the resource is seen as completely diff --git a/config/crd/bases/formance.com_ledgers.yaml b/config/crd/bases/formance.com_ledgers.yaml index d2c3cf95e..7206ce47f 100644 --- a/config/crd/bases/formance.com_ledgers.yaml +++ b/config/crd/bases/formance.com_ledgers.yaml @@ -37,7 +37,7 @@ spec: schema: openAPIV3Schema: description: |- - Ledger is the module allowing to install a ledger instance. + Ledger is the module that installs a ledger instance. The ledger is a stateful application that manages financial transactions and maintains an immutable audit trail. @@ -70,20 +70,20 @@ spec: type: object debug: default: false - description: Allow to enable debug mode on the module + description: Enables debug mode on the module type: boolean dev: default: false description: |- - Allow to enable dev mode on the module - Dev mode is used to allow some application to do custom setup in development mode (allow insecure certificates for example) + Enables dev mode on the module + Dev mode lets an application do custom setup in development mode (allowing insecure certificates, for example) type: boolean stack: description: Stack indicates the stack on which the module is installed type: string version: - description: Version allow to override global version defined at stack - level for a specific module + description: Version overrides, for a specific module, the global + version defined at stack level type: string type: object status: @@ -143,7 +143,8 @@ spec: type: object type: array info: - description: Info can contain any additional like reconciliation errors + description: Info can contain any additional detail, such as reconciliation + errors type: string ready: description: Ready indicates if the resource is seen as completely diff --git a/config/crd/bases/formance.com_mcps.yaml b/config/crd/bases/formance.com_mcps.yaml index 26b23e3cd..398be6e59 100644 --- a/config/crd/bases/formance.com_mcps.yaml +++ b/config/crd/bases/formance.com_mcps.yaml @@ -63,20 +63,20 @@ spec: properties: debug: default: false - description: Allow to enable debug mode on the module + description: Enables debug mode on the module type: boolean dev: default: false description: |- - Allow to enable dev mode on the module - Dev mode is used to allow some application to do custom setup in development mode (allow insecure certificates for example) + Enables dev mode on the module + Dev mode lets an application do custom setup in development mode (allowing insecure certificates, for example) type: boolean stack: description: Stack indicates the stack on which the module is installed type: string version: - description: Version allow to override global version defined at stack - level for a specific module + description: Version overrides, for a specific module, the global + version defined at stack level type: string type: object status: @@ -136,7 +136,8 @@ spec: type: object type: array info: - description: Info can contain any additional like reconciliation errors + description: Info can contain any additional detail, such as reconciliation + errors type: string ready: description: Ready indicates if the resource is seen as completely diff --git a/config/crd/bases/formance.com_orchestrations.yaml b/config/crd/bases/formance.com_orchestrations.yaml index 6c92989e5..f059f99ff 100644 --- a/config/crd/bases/formance.com_orchestrations.yaml +++ b/config/crd/bases/formance.com_orchestrations.yaml @@ -67,20 +67,20 @@ spec: type: object debug: default: false - description: Allow to enable debug mode on the module + description: Enables debug mode on the module type: boolean dev: default: false description: |- - Allow to enable dev mode on the module - Dev mode is used to allow some application to do custom setup in development mode (allow insecure certificates for example) + Enables dev mode on the module + Dev mode lets an application do custom setup in development mode (allowing insecure certificates, for example) type: boolean stack: description: Stack indicates the stack on which the module is installed type: string version: - description: Version allow to override global version defined at stack - level for a specific module + description: Version overrides, for a specific module, the global + version defined at stack level type: string type: object status: @@ -140,7 +140,8 @@ spec: type: object type: array info: - description: Info can contain any additional like reconciliation errors + description: Info can contain any additional detail, such as reconciliation + errors type: string ready: description: Ready indicates if the resource is seen as completely diff --git a/config/crd/bases/formance.com_otelexporterendpoints.yaml b/config/crd/bases/formance.com_otelexporterendpoints.yaml index 2cae94413..3c783668d 100644 --- a/config/crd/bases/formance.com_otelexporterendpoints.yaml +++ b/config/crd/bases/formance.com_otelexporterendpoints.yaml @@ -249,7 +249,8 @@ spec: type: object type: array info: - description: Info can contain any additional like reconciliation errors + description: Info can contain any additional detail, such as reconciliation + errors type: string ready: description: Ready indicates if the resource is seen as completely diff --git a/config/crd/bases/formance.com_payments.yaml b/config/crd/bases/formance.com_payments.yaml index 6dc457d84..f4c4fcfba 100644 --- a/config/crd/bases/formance.com_payments.yaml +++ b/config/crd/bases/formance.com_payments.yaml @@ -66,13 +66,13 @@ spec: type: object debug: default: false - description: Allow to enable debug mode on the module + description: Enables debug mode on the module type: boolean dev: default: false description: |- - Allow to enable dev mode on the module - Dev mode is used to allow some application to do custom setup in development mode (allow insecure certificates for example) + Enables dev mode on the module + Dev mode lets an application do custom setup in development mode (allowing insecure certificates, for example) type: boolean encryptionKey: type: string @@ -80,8 +80,8 @@ spec: description: Stack indicates the stack on which the module is installed type: string version: - description: Version allow to override global version defined at stack - level for a specific module + description: Version overrides, for a specific module, the global + version defined at stack level type: string type: object status: @@ -141,7 +141,8 @@ spec: type: object type: array info: - description: Info can contain any additional like reconciliation errors + description: Info can contain any additional detail, such as reconciliation + errors type: string ready: description: Ready indicates if the resource is seen as completely diff --git a/config/crd/bases/formance.com_reconciliations.yaml b/config/crd/bases/formance.com_reconciliations.yaml index 590dcc37f..1d5e35615 100644 --- a/config/crd/bases/formance.com_reconciliations.yaml +++ b/config/crd/bases/formance.com_reconciliations.yaml @@ -67,20 +67,20 @@ spec: type: object debug: default: false - description: Allow to enable debug mode on the module + description: Enables debug mode on the module type: boolean dev: default: false description: |- - Allow to enable dev mode on the module - Dev mode is used to allow some application to do custom setup in development mode (allow insecure certificates for example) + Enables dev mode on the module + Dev mode lets an application do custom setup in development mode (allowing insecure certificates, for example) type: boolean stack: description: Stack indicates the stack on which the module is installed type: string version: - description: Version allow to override global version defined at stack - level for a specific module + description: Version overrides, for a specific module, the global + version defined at stack level type: string type: object status: @@ -140,7 +140,8 @@ spec: type: object type: array info: - description: Info can contain any additional like reconciliation errors + description: Info can contain any additional detail, such as reconciliation + errors type: string ready: description: Ready indicates if the resource is seen as completely diff --git a/config/crd/bases/formance.com_resourcereferences.yaml b/config/crd/bases/formance.com_resourcereferences.yaml index 2b14d5ac9..8bec50396 100644 --- a/config/crd/bases/formance.com_resourcereferences.yaml +++ b/config/crd/bases/formance.com_resourcereferences.yaml @@ -26,22 +26,22 @@ spec: name: v1beta1 schema: openAPIV3Schema: - description: "ResourceReference is a special resources used to refer to externally + description: "ResourceReference is a special resource used to refer to externally created resources.\n\nIt includes k8s service accounts and secrets.\n\nWhy? - Because the operator create a namespace by stack, so, a stack does not have - access to secrets and service\naccounts created externally.\n\nA ResourceReference - is created by other resource who need to use a specific secret or service - account.\nFor example, if you want to use a secret for your database connection - (see [Database](#database), you will\ncreate a setting indicating a secret - name. You will need to create this secret yourself, and you will put this\nsecret - inside the namespace you want (`default` maybe).\n\nThe Database reconciler - will create a ResourceReference looking like that :\n```\napiVersion: formance.com/v1beta1\nkind: - ResourceReference\nmetadata:\n\n\tname: jqkuffjxcezj-qlii-auth-postgres\n\townerReferences:\n\t- - apiVersion: formance.com/v1beta1\n\t blockOwnerDeletion: true\n\t controller: - true\n\t kind: Database\n\t name: jqkuffjxcezj-qlii-auth\n\t uid: 2cc4b788-3ffb-4e3d-8a30-07ed3941c8d2\n\nspec:\n\n\tgvk:\n\t + Because the operator creates one namespace per stack, so a stack does not + have access to secrets and service\naccounts created externally.\n\nA ResourceReference + is created by another resource that needs a specific secret or service account.\nFor + example, if you want to use a secret for your database connection (see [Database](#database)), + you will\ncreate a setting indicating a secret name. You will need to create + this secret yourself, and you will put this\nsecret inside the namespace + you want (`default` maybe).\n\nThe Database reconciler will create a ResourceReference + that looks like this:\n```\napiVersion: formance.com/v1beta1\nkind: ResourceReference\nmetadata:\n\n\tname: + jqkuffjxcezj-qlii-auth-postgres\n\townerReferences:\n\t- apiVersion: formance.com/v1beta1\n\t + \ blockOwnerDeletion: true\n\t controller: true\n\t kind: Database\n\t + \ name: jqkuffjxcezj-qlii-auth\n\t uid: 2cc4b788-3ffb-4e3d-8a30-07ed3941c8d2\n\nspec:\n\n\tgvk:\n\t \ group: \"\"\n\t kind: Secret\n\t version: v1\n\tname: postgres\n\tstack: - jqkuffjxcezj-qlii\n\nstatus:\n\n\t...\n\n```\nThis reconciler behind this - ResourceReference will search, in all namespaces, for a secret named \"postgres\".\nThe + jqkuffjxcezj-qlii\n\nstatus:\n\n\t...\n\n```\nThe reconciler behind this + ResourceReference searches all namespaces for a secret named \"postgres\".\nThe secret must have a label `formance.com/stack` with the value matching either a specific stack or `any` to target any stack.\n\nOnce the reconciler has found the secret, it will copy it inside the stack namespace, allowing the @@ -150,7 +150,8 @@ spec: hash: type: string info: - description: Info can contain any additional like reconciliation errors + description: Info can contain any additional detail, such as reconciliation + errors type: string ready: description: Ready indicates if the resource is seen as completely diff --git a/config/crd/bases/formance.com_searches.yaml b/config/crd/bases/formance.com_searches.yaml index 770ae0899..053d58c25 100644 --- a/config/crd/bases/formance.com_searches.yaml +++ b/config/crd/bases/formance.com_searches.yaml @@ -67,20 +67,20 @@ spec: type: object debug: default: false - description: Allow to enable debug mode on the module + description: Enables debug mode on the module type: boolean dev: default: false description: |- - Allow to enable dev mode on the module - Dev mode is used to allow some application to do custom setup in development mode (allow insecure certificates for example) + Enables dev mode on the module + Dev mode lets an application do custom setup in development mode (allowing insecure certificates, for example) type: boolean stack: description: Stack indicates the stack on which the module is installed type: string version: - description: Version allow to override global version defined at stack - level for a specific module + description: Version overrides, for a specific module, the global + version defined at stack level type: string type: object status: @@ -142,7 +142,8 @@ spec: elasticSearchURI: type: string info: - description: Info can contain any additional like reconciliation errors + description: Info can contain any additional detail, such as reconciliation + errors type: string ready: description: Ready indicates if the resource is seen as completely diff --git a/config/crd/bases/formance.com_settings.yaml b/config/crd/bases/formance.com_settings.yaml index 063f14673..7a79df795 100644 --- a/config/crd/bases/formance.com_settings.yaml +++ b/config/crd/bases/formance.com_settings.yaml @@ -27,45 +27,44 @@ spec: schema: openAPIV3Schema: description: "Settings represents a configurable piece of the stacks.\n\nThe - purpose of this resource is to be able to configure some common settings - between a set of stacks.\n\nExample :\n```yaml\napiVersion: formance.com/v1beta1\nkind: - Settings\nmetadata:\n\n\tname: postgres-uri\n\nspec:\n\n\tkey: postgres.ledger.uri\n\tstacks:\n\t- - stack0\n\tvalue: postgresql://postgresql.formance.svc.cluster.local:5432\n\n```\n\nThis - example create a setting named `postgres-uri` targeting the stack named - `stack0` and the service `ledger` (see the key `postgres.ledger.uri`).\n\nTherefore, + purpose of this resource is to configure settings shared across a set of + stacks.\n\nExample:\n```yaml\napiVersion: formance.com/v1beta1\nkind: Settings\nmetadata:\n\n\tname: + postgres-uri\n\nspec:\n\n\tkey: postgres.ledger.uri\n\tstacks:\n\t- stack0\n\tvalue: + postgresql://postgresql.formance.svc.cluster.local:5432\n\n```\n\nThis example + creates a setting named `postgres-uri` targeting the stack named `stack0` + and the service `ledger` (see the key `postgres.ledger.uri`).\n\nTherefore, a [Database](#database) created for the stack `stack0` and the service named 'ledger' will use the uri `postgresql://postgresql.formance.svc.cluster.local:5432`.\n\nSettings - allow to use wildcards in keys and in stacks list.\n\nFor example, if you + supports wildcards in keys and in the stacks list.\n\nFor example, if you want to use the same database server for all the modules of a specific stack, - you can write :\n```yaml\napiVersion: formance.com/v1beta1\nkind: Settings\nmetadata:\n\n\tname: + you can write:\n```yaml\napiVersion: formance.com/v1beta1\nkind: Settings\nmetadata:\n\n\tname: postgres-uri\n\nspec:\n\n\tkey: postgres.*.uri # There, we use a wildcard to indicate we want to use that setting of all services of the stack `stack0`\n\tstacks:\n\t- stack0\n\tvalue: postgresql://postgresql.formance.svc.cluster.local:5432\n\n```\n\nAlso, - we could use that setting for all of our stacks using :\n```yaml\napiVersion: + we could use that setting for all of our stacks using:\n```yaml\napiVersion: formance.com/v1beta1\nkind: Settings\nmetadata:\n\n\tname: postgres-uri\n\nspec:\n\n\tkey: postgres.*.uri # There, we use a wildcard to indicate we want to use that setting for all services of all stacks\n\tstacks:\n\t- * # There we select all the stacks\n\tvalue: postgresql://postgresql.formance.svc.cluster.local:5432\n\n```\n\nSome - settings are really global, while some are used by specific module.\n\nRefer + settings are truly global, while others are used by a specific module.\n\nRefer to the documentation of each module and resource to discover available Settings.\n\n##### Global settings\n###### AWS account\n\nA stack can use an AWS account for - authentication.\n\nIt can be used to connect to any AWS service we could - use.\n\nIt includes RDS, OpenSearch and MSK. To do so, you can create the - following setting:\n```yaml\napiVersion: formance.com/v1beta1\nkind: Settings\nmetadata:\n\n\tname: - aws-service-account\n\nspec:\n\n\tkey: aws.service-account\n\tstacks:\n\t- - '*'\n\tvalue: aws-access\n\n```\nThis setting instruct the operator than - there is somewhere on the cluster a service account named `aws-access`.\n\nSo, - each time a service has the capability to use AWS, the operator will use - this service account.\n\nThe service account could look like that :\n```yaml\napiVersion: - v1\nkind: ServiceAccount\nmetadata:\n\n\tannotations:\n\t eks.amazonaws.com/role-arn: - arn:aws:iam::************:role/staging-eu-west-1-hosting-stack-access\n\tlabels:\n\t - \ formance.com/stack: any\n\tname: aws-access\n\n```\nYou can note two things - :\n 1. We have an annotation indicating the role arn used to connect to - AWS. Refer to the AWS documentation to create this role\n 2. We have a label + authentication.\n\nIt can be used to connect to any AWS service.\n\nIt includes + RDS, OpenSearch and MSK. To do so, you can create the following setting:\n```yaml\napiVersion: + formance.com/v1beta1\nkind: Settings\nmetadata:\n\n\tname: aws-service-account\n\nspec:\n\n\tkey: + aws.service-account\n\tstacks:\n\t- '*'\n\tvalue: aws-access\n\n```\nThis + setting tells the operator that a service account named `aws-access` exists + somewhere on the cluster.\n\nSo, each time a service has the capability + to use AWS, the operator will use this service account.\n\nThe service account + could look like this:\n```yaml\napiVersion: v1\nkind: ServiceAccount\nmetadata:\n\n\tannotations:\n\t + \ eks.amazonaws.com/role-arn: arn:aws:iam::************:role/staging-eu-west-1-hosting-stack-access\n\tlabels:\n\t + \ formance.com/stack: any\n\tname: aws-access\n\n```\nYou can note two things:\n + 1. We have an annotation indicating the role arn used to connect to AWS. + Refer to the AWS documentation to create this role\n 2. We have a label `formance.com/stack=any` indicating we are targeting all stacks.\n Refer to the documentation of [ResourceReference](#resourcereference) for further information.\n\n###### JSON logging\n\nYou can use the setting `logging.json` - with the value `true` to configure elligible service to log as json.\nExample:\n```yaml\napiVersion: + with the value `true` to configure eligible services to log as json.\nExample:\n```yaml\napiVersion: formance.com/v1beta1\nkind: Settings\nmetadata:\n\n\tname: json-logging\n\nspec:\n\n\tkey: logging.json\n\tstacks:\n\t- '*'\n\tvalue: \"true\"\n\n```\n\n###### Authentication scopes\n\nYou can enable scope verification for modules using the setting @@ -110,8 +109,7 @@ spec: type: string type: array value: - description: The value. It must have a specific format following the - Key. + description: The value. Its required format depends on the Key. type: string required: - key diff --git a/config/crd/bases/formance.com_stacks.yaml b/config/crd/bases/formance.com_stacks.yaml index b7f1a5ddc..7d76516e9 100644 --- a/config/crd/bases/formance.com_stacks.yaml +++ b/config/crd/bases/formance.com_stacks.yaml @@ -53,9 +53,9 @@ spec: To do more, you need to create some [modules](#modules). - The Stack resource allow to specify the version of the stack. + The Stack resource specifies the version of the stack. - It can be specified using either the field `.spec.version` or the `.spec.versionsFromFile` field (Refer to the documentation of [Versions](#versions) resource. + It can be specified using either the field `.spec.version` or the `.spec.versionsFromFile` field (see the documentation for the [Versions](#versions) resource). The `version` field will have priority over `versionFromFile`. @@ -82,36 +82,36 @@ spec: properties: debug: default: false - description: Allow to enable debug mode on the module + description: Enables debug mode on the module type: boolean dev: default: false description: |- - Allow to enable dev mode on the module - Dev mode is used to allow some application to do custom setup in development mode (allow insecure certificates for example) + Enables dev mode on the module + Dev mode lets an application do custom setup in development mode (allowing insecure certificates, for example) type: boolean disabled: default: false description: |- - Disabled indicate the stack is disabled. - A disabled stack disable everything + Disabled indicates that the stack is disabled. + A disabled stack disables everything It just keeps the namespace and the [Database](#database) resources. type: boolean enableAudit: default: false description: |- - EnableAudit enable audit at the stack level. - Actually, it enables audit on [Gateway](#gateway) + EnableAudit enables auditing at the stack level. + Currently, it enables auditing on [Gateway](#gateway) deprecated type: boolean version: description: |- - Version allow to specify the version of the components + Version specifies the version of the components Must be a valid docker tag type: string versionsFromFile: description: |- - VersionsFromFile allow to specify a formance.com/Versions object which contains individual versions + VersionsFromFile references a formance.com/Versions object which contains individual versions for each component. Must reference a valid formance.com/Versions object type: string @@ -173,7 +173,8 @@ spec: type: object type: array info: - description: Info can contain any additional like reconciliation errors + description: Info can contain any additional detail, such as reconciliation + errors type: string modules: description: Modules register detected modules diff --git a/config/crd/bases/formance.com_stargates.yaml b/config/crd/bases/formance.com_stargates.yaml index c8abf7f0c..79836d4ba 100644 --- a/config/crd/bases/formance.com_stargates.yaml +++ b/config/crd/bases/formance.com_stargates.yaml @@ -72,13 +72,13 @@ spec: type: object debug: default: false - description: Allow to enable debug mode on the module + description: Enables debug mode on the module type: boolean dev: default: false description: |- - Allow to enable dev mode on the module - Dev mode is used to allow some application to do custom setup in development mode (allow insecure certificates for example) + Enables dev mode on the module + Dev mode lets an application do custom setup in development mode (allowing insecure certificates, for example) type: boolean organizationID: type: string @@ -92,13 +92,13 @@ spec: tls: properties: disable: - description: Disable TLS protocol -- use at your own risks, the - transmission will be in clear. + description: Disable TLS protocol -- use at your own risk; the + transmission will be in cleartext. type: boolean type: object version: - description: Version allow to override global version defined at stack - level for a specific module + description: Version overrides, for a specific module, the global + version defined at stack level type: string required: - auth @@ -164,7 +164,8 @@ spec: type: object type: array info: - description: Info can contain any additional like reconciliation errors + description: Info can contain any additional detail, such as reconciliation + errors type: string ready: description: Ready indicates if the resource is seen as completely diff --git a/config/crd/bases/formance.com_transactionplanes.yaml b/config/crd/bases/formance.com_transactionplanes.yaml index 2ffa0043c..a719ff14b 100644 --- a/config/crd/bases/formance.com_transactionplanes.yaml +++ b/config/crd/bases/formance.com_transactionplanes.yaml @@ -66,20 +66,20 @@ spec: type: object debug: default: false - description: Allow to enable debug mode on the module + description: Enables debug mode on the module type: boolean dev: default: false description: |- - Allow to enable dev mode on the module - Dev mode is used to allow some application to do custom setup in development mode (allow insecure certificates for example) + Enables dev mode on the module + Dev mode lets an application do custom setup in development mode (allowing insecure certificates, for example) type: boolean stack: description: Stack indicates the stack on which the module is installed type: string version: - description: Version allow to override global version defined at stack - level for a specific module + description: Version overrides, for a specific module, the global + version defined at stack level type: string type: object status: @@ -139,7 +139,8 @@ spec: type: object type: array info: - description: Info can contain any additional like reconciliation errors + description: Info can contain any additional detail, such as reconciliation + errors type: string ready: description: Ready indicates if the resource is seen as completely diff --git a/config/crd/bases/formance.com_wallets.yaml b/config/crd/bases/formance.com_wallets.yaml index 29173e53e..0a2fb8b5c 100644 --- a/config/crd/bases/formance.com_wallets.yaml +++ b/config/crd/bases/formance.com_wallets.yaml @@ -67,20 +67,20 @@ spec: type: object debug: default: false - description: Allow to enable debug mode on the module + description: Enables debug mode on the module type: boolean dev: default: false description: |- - Allow to enable dev mode on the module - Dev mode is used to allow some application to do custom setup in development mode (allow insecure certificates for example) + Enables dev mode on the module + Dev mode lets an application do custom setup in development mode (allowing insecure certificates, for example) type: boolean stack: description: Stack indicates the stack on which the module is installed type: string version: - description: Version allow to override global version defined at stack - level for a specific module + description: Version overrides, for a specific module, the global + version defined at stack level type: string type: object status: @@ -141,7 +141,8 @@ spec: type: object type: array info: - description: Info can contain any additional like reconciliation errors + description: Info can contain any additional detail, such as reconciliation + errors type: string ready: description: Ready indicates if the resource is seen as completely diff --git a/config/crd/bases/formance.com_webhooks.yaml b/config/crd/bases/formance.com_webhooks.yaml index 6aa0fc9e9..917fc72b6 100644 --- a/config/crd/bases/formance.com_webhooks.yaml +++ b/config/crd/bases/formance.com_webhooks.yaml @@ -67,20 +67,20 @@ spec: type: object debug: default: false - description: Allow to enable debug mode on the module + description: Enables debug mode on the module type: boolean dev: default: false description: |- - Allow to enable dev mode on the module - Dev mode is used to allow some application to do custom setup in development mode (allow insecure certificates for example) + Enables dev mode on the module + Dev mode lets an application do custom setup in development mode (allowing insecure certificates, for example) type: boolean stack: description: Stack indicates the stack on which the module is installed type: string version: - description: Version allow to override global version defined at stack - level for a specific module + description: Version overrides, for a specific module, the global + version defined at stack level type: string type: object status: @@ -140,7 +140,8 @@ spec: type: object type: array info: - description: Info can contain any additional like reconciliation errors + description: Info can contain any additional detail, such as reconciliation + errors type: string ready: description: Ready indicates if the resource is seen as completely diff --git a/docs/09-Configuration reference/02-Custom Resource Definitions.md b/docs/09-Configuration reference/02-Custom Resource Definitions.md index 8e3f03ec3..63c412e0d 100644 --- a/docs/09-Configuration reference/02-Custom Resource Definitions.md +++ b/docs/09-Configuration reference/02-Custom Resource Definitions.md @@ -8,11 +8,11 @@ Package v1beta1 contains API Schema definitions for the formance v1beta1 API group. -It allow to configure a Formance stack. +It lets you configure a Formance stack. A stack is composed of a [Stack](#stack) resource and some [modules](#modules). -Each module can create multiple resources following its needs. See [Other resources](#other-resources). +Each module can create multiple resources as it needs. See [Other resources](#other-resources). Various parts of the stack can be configured either using the CRD properties or using some [Settings](#settings). @@ -59,9 +59,9 @@ creates a namespace if not already existing. To do more, you need to create some [modules](#modules). -The Stack resource allow to specify the version of the stack. +The Stack resource specifies the version of the stack. -It can be specified using either the field `.spec.version` or the `.spec.versionsFromFile` field (Refer to the documentation of [Versions](#versions) resource. +It can be specified using either the field `.spec.version` or the `.spec.versionsFromFile` field (see the documentation for the [Versions](#versions) resource). The `version` field will have priority over `versionFromFile`. @@ -113,12 +113,12 @@ If `versions` and `versionsFromFile` are not specified, modules will fail to rec | Field | Description | Default | Validation | | --- | --- | --- | --- | -| `debug` _boolean_ | Allow to enable debug mode on the module | false | | -| `dev` _boolean_ | Allow to enable dev mode on the module
Dev mode is used to allow some application to do custom setup in development mode (allow insecure certificates for example) | false | | -| `version` _string_ | Version allow to specify the version of the components
Must be a valid docker tag | | | -| `versionsFromFile` _string_ | VersionsFromFile allow to specify a formance.com/Versions object which contains individual versions
for each component.
Must reference a valid formance.com/Versions object | | | -| `enableAudit` _boolean_ | EnableAudit enable audit at the stack level.
Actually, it enables audit on [Gateway](#gateway)
deprecated | false | | -| `disabled` _boolean_ | Disabled indicate the stack is disabled.
A disabled stack disable everything
It just keeps the namespace and the [Database](#database) resources. | false | | +| `debug` _boolean_ | Enables debug mode on the module | false | | +| `dev` _boolean_ | Enables dev mode on the module
Dev mode lets an application do custom setup in development mode (allowing insecure certificates, for example) | false | | +| `version` _string_ | Version specifies the version of the components
Must be a valid docker tag | | | +| `versionsFromFile` _string_ | VersionsFromFile references a formance.com/Versions object which contains individual versions
for each component.
Must reference a valid formance.com/Versions object | | | +| `enableAudit` _boolean_ | EnableAudit enables auditing at the stack level.
Currently, it enables auditing on [Gateway](#gateway)
deprecated | false | | +| `disabled` _boolean_ | Disabled indicates that the stack is disabled.
A disabled stack disables everything
It just keeps the namespace and the [Database](#database) resources. | false | | @@ -147,7 +147,7 @@ If `versions` and `versionsFromFile` are not specified, modules will fail to rec | Field | Description | Default | Validation | | --- | --- | --- | --- | | `ready` _boolean_ | Ready indicates if the resource is seen as completely reconciled | | | -| `info` _string_ | Info can contain any additional like reconciliation errors | | | +| `info` _string_ | Info can contain any additional detail, such as reconciliation errors | | | | `modules` _string array_ | Modules register detected modules | | | @@ -157,9 +157,9 @@ If `versions` and `versionsFromFile` are not specified, modules will fail to rec Settings represents a configurable piece of the stacks. -The purpose of this resource is to be able to configure some common settings between a set of stacks. +The purpose of this resource is to configure settings shared across a set of stacks. -Example : +Example: ```yaml apiVersion: formance.com/v1beta1 kind: Settings @@ -176,13 +176,13 @@ spec: ``` -This example create a setting named `postgres-uri` targeting the stack named `stack0` and the service `ledger` (see the key `postgres.ledger.uri`). +This example creates a setting named `postgres-uri` targeting the stack named `stack0` and the service `ledger` (see the key `postgres.ledger.uri`). Therefore, a [Database](#database) created for the stack `stack0` and the service named 'ledger' will use the uri `postgresql://postgresql.formance.svc.cluster.local:5432`. -Settings allow to use wildcards in keys and in stacks list. +Settings supports wildcards in keys and in the stacks list. -For example, if you want to use the same database server for all the modules of a specific stack, you can write : +For example, if you want to use the same database server for all the modules of a specific stack, you can write: ```yaml apiVersion: formance.com/v1beta1 kind: Settings @@ -199,7 +199,7 @@ spec: ``` -Also, we could use that setting for all of our stacks using : +Also, we could use that setting for all of our stacks using: ```yaml apiVersion: formance.com/v1beta1 kind: Settings @@ -216,7 +216,7 @@ spec: ``` -Some settings are really global, while some are used by specific module. +Some settings are truly global, while others are used by a specific module. Refer to the documentation of each module and resource to discover available Settings. @@ -225,7 +225,7 @@ Refer to the documentation of each module and resource to discover available Set A stack can use an AWS account for authentication. -It can be used to connect to any AWS service we could use. +It can be used to connect to any AWS service. It includes RDS, OpenSearch and MSK. To do so, you can create the following setting: ```yaml @@ -243,11 +243,11 @@ spec: value: aws-access ``` -This setting instruct the operator than there is somewhere on the cluster a service account named `aws-access`. +This setting tells the operator that a service account named `aws-access` exists somewhere on the cluster. So, each time a service has the capability to use AWS, the operator will use this service account. -The service account could look like that : +The service account could look like this: ```yaml apiVersion: v1 kind: ServiceAccount @@ -260,14 +260,14 @@ metadata: name: aws-access ``` -You can note two things : +You can note two things: 1. We have an annotation indicating the role arn used to connect to AWS. Refer to the AWS documentation to create this role 2. We have a label `formance.com/stack=any` indicating we are targeting all stacks. Refer to the documentation of [ResourceReference](#resourcereference) for further information. ###### JSON logging -You can use the setting `logging.json` with the value `true` to configure elligible service to log as json. +You can use the setting `logging.json` with the value `true` to configure eligible services to log as json. Example: ```yaml apiVersion: formance.com/v1beta1 @@ -373,7 +373,7 @@ Note: The `auth.checkScopes` field in module specifications takes priority over | --- | --- | --- | --- | | `stacks` _string array_ | Stacks on which the setting is applied. Can contain `*` to indicate a wildcard. | | | | `key` _string_ | The setting Key. See the documentation of each module or [global settings](#global-settings) to discover them. | | | -| `value` _string_ | The value. It must have a specific format following the Key. | | | +| `value` _string_ | The value. Its required format depends on the Key. | | | @@ -384,11 +384,11 @@ Note: The `auth.checkScopes` field in module specifications takes priority over -Auth represent the authentication module of a stack. +Auth represents the authentication module of a stack. It is an OIDC compliant server. -Creating it for a stack automatically add authentication on all supported modules. +Creating it for a stack automatically adds authentication to all supported modules. The auth service is basically a proxy to another OIDC compliant server. @@ -438,14 +438,14 @@ The auth service is basically a proxy to another OIDC compliant server. | Field | Description | Default | Validation | | --- | --- | --- | --- | -| `debug` _boolean_ | Allow to enable debug mode on the module | false | | -| `dev` _boolean_ | Allow to enable dev mode on the module
Dev mode is used to allow some application to do custom setup in development mode (allow insecure certificates for example) | false | | -| `version` _string_ | Version allow to override global version defined at stack level for a specific module | | | +| `debug` _boolean_ | Enables debug mode on the module | false | | +| `dev` _boolean_ | Enables dev mode on the module
Dev mode lets an application do custom setup in development mode (allowing insecure certificates, for example) | false | | +| `version` _string_ | Version overrides, for a specific module, the global version defined at stack level | | | | `stack` _string_ | Stack indicates the stack on which the module is installed | | | | `delegatedOIDCServer` _[DelegatedOIDCServerConfiguration](#delegatedoidcserverconfiguration)_ | Contains information about a delegated authentication server to use to delegate authentication | | | -| `signingKey` _string_ | Allow to override the default signing key used to sign JWT tokens. | | | -| `signingKeyFromSecret` _[SecretKeySelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#secretkeyselector-v1-core)_ | Allow to override the default signing key used to sign JWT tokens using a k8s secret | | | -| `enableScopes` _boolean_ | Allow to enable scopes usage on authentication.
If not enabled, each service will check the authentication but will not restrict access following scopes.
in this case, if authenticated, it is ok. | false | | +| `signingKey` _string_ | Overrides the default signing key used to sign JWT tokens. | | | +| `signingKeyFromSecret` _[SecretKeySelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#secretkeyselector-v1-core)_ | Overrides the default signing key used to sign JWT tokens, using a k8s secret | | | +| `enableScopes` _boolean_ | Enables scope checking during authentication.
If not enabled, each service will check the authentication but will not restrict access according to scopes.
In that case, being authenticated is sufficient. | false | | ###### DelegatedOIDCServerConfiguration @@ -501,7 +501,7 @@ The auth service is basically a proxy to another OIDC compliant server. | Field | Description | Default | Validation | | --- | --- | --- | --- | | `ready` _boolean_ | Ready indicates if the resource is seen as completely reconciled | | | -| `info` _string_ | Info can contain any additional like reconciliation errors | | | +| `info` _string_ | Info can contain any additional detail, such as reconciliation errors | | | | `clients` _string array_ | Clients contains the list of clients created using [AuthClient](#authclient) | | | @@ -509,7 +509,7 @@ The auth service is basically a proxy to another OIDC compliant server. -Connectivity is the module allowing to install a connectivity instance. +Connectivity is the module that installs a connectivity instance. Connectivity ingests data from external sources (blockchains, payment providers, ...) through a plugin system and writes double-entry @@ -563,9 +563,9 @@ Ledger v3 gRPC endpoint. | Field | Description | Default | Validation | | --- | --- | --- | --- | -| `debug` _boolean_ | Allow to enable debug mode on the module | false | | -| `dev` _boolean_ | Allow to enable dev mode on the module
Dev mode is used to allow some application to do custom setup in development mode (allow insecure certificates for example) | false | | -| `version` _string_ | Version allow to override global version defined at stack level for a specific module | | | +| `debug` _boolean_ | Enables debug mode on the module | false | | +| `dev` _boolean_ | Enables dev mode on the module
Dev mode lets an application do custom setup in development mode (allowing insecure certificates, for example) | false | | +| `version` _string_ | Version overrides, for a specific module, the global version defined at stack level | | | | `stack` _string_ | Stack indicates the stack on which the module is installed | | | @@ -595,7 +595,7 @@ Ledger v3 gRPC endpoint. | Field | Description | Default | Validation | | --- | --- | --- | --- | | `ready` _boolean_ | Ready indicates if the resource is seen as completely reconciled | | | -| `info` _string_ | Info can contain any additional like reconciliation errors | | | +| `info` _string_ | Info can contain any additional detail, such as reconciliation errors | | | #### Gateway @@ -651,10 +651,10 @@ Gateway is the Schema for the gateways API | Field | Description | Default | Validation | | --- | --- | --- | --- | | `stack` _string_ | Stack indicates the stack on which the module is installed | | | -| `debug` _boolean_ | Allow to enable debug mode on the module | false | | -| `dev` _boolean_ | Allow to enable dev mode on the module
Dev mode is used to allow some application to do custom setup in development mode (allow insecure certificates for example) | false | | -| `version` _string_ | Version allow to override global version defined at stack level for a specific module | | | -| `ingress` _[GatewayIngress](#gatewayingress)_ | Allow to customize the generated ingress | | | +| `debug` _boolean_ | Enables debug mode on the module | false | | +| `dev` _boolean_ | Enables dev mode on the module
Dev mode lets an application do custom setup in development mode (allowing insecure certificates, for example) | false | | +| `version` _string_ | Version overrides, for a specific module, the global version defined at stack level | | | +| `ingress` _[GatewayIngress](#gatewayingress)_ | Customizes the generated ingress | | | ###### GatewayIngress @@ -678,12 +678,12 @@ GatewayIngress represents the ingress configuration for the gateway. | Field | Description | Default | Validation | | --- | --- | --- | --- | -| `host` _string_ | Indicates the hostname on which the stack will be served.
Example : `formance.example.com` | | | +| `host` _string_ | Indicates the hostname on which the stack will be served.
Example: `formance.example.com` | | | | `hosts` _string array_ | Additional hosts for the ingress. Combined with Host. | | | -| `scheme` _string_ | Indicate the scheme.
Actually, It should be `https` unless you know what you are doing. | https | | +| `scheme` _string_ | Indicates the scheme.
It should be `https` unless you know what you are doing. | https | | | `ingressClassName` _string_ | Ingress class to use | | | | `annotations` _object (keys:string, values:string)_ | Custom annotations to add on the ingress | | | -| `tls` _[GatewayIngressTLS](#gatewayingresstls)_ | Allow to customize the tls part of the ingress | | | +| `tls` _[GatewayIngressTLS](#gatewayingresstls)_ | Customizes the tls part of the ingress | | | ###### GatewayIngressTLS @@ -736,7 +736,7 @@ GatewayIngress represents the ingress configuration for the gateway. | Field | Description | Default | Validation | | --- | --- | --- | --- | | `ready` _boolean_ | Ready indicates if the resource is seen as completely reconciled | | | -| `info` _string_ | Info can contain any additional like reconciliation errors | | | +| `info` _string_ | Info can contain any additional detail, such as reconciliation errors | | | | `syncHTTPAPIs` _string array_ | Detected http apis. See [GatewayHTTPAPI](#gatewayhttpapi) | | | | `syncGRPCAPIs` _string array_ | Detected grpc apis. See [GatewayGRPCAPI](#gatewaygrpcapi) | | | @@ -745,7 +745,7 @@ GatewayIngress represents the ingress configuration for the gateway. -Ledger is the module allowing to install a ledger instance. +Ledger is the module that installs a ledger instance. The ledger is a stateful application that manages financial transactions and maintains an immutable audit trail. @@ -796,9 +796,9 @@ and maintains an immutable audit trail. | Field | Description | Default | Validation | | --- | --- | --- | --- | -| `debug` _boolean_ | Allow to enable debug mode on the module | false | | -| `dev` _boolean_ | Allow to enable dev mode on the module
Dev mode is used to allow some application to do custom setup in development mode (allow insecure certificates for example) | false | | -| `version` _string_ | Version allow to override global version defined at stack level for a specific module | | | +| `debug` _boolean_ | Enables debug mode on the module | false | | +| `dev` _boolean_ | Enables dev mode on the module
Dev mode lets an application do custom setup in development mode (allowing insecure certificates, for example) | false | | +| `version` _string_ | Version overrides, for a specific module, the global version defined at stack level | | | | `stack` _string_ | Stack indicates the stack on which the module is installed | | | @@ -828,7 +828,7 @@ and maintains an immutable audit trail. | Field | Description | Default | Validation | | --- | --- | --- | --- | | `ready` _boolean_ | Ready indicates if the resource is seen as completely reconciled | | | -| `info` _string_ | Info can contain any additional like reconciliation errors | | | +| `info` _string_ | Info can contain any additional detail, such as reconciliation errors | | | #### MCP @@ -886,9 +886,9 @@ backend services using the caller bearer token. | Field | Description | Default | Validation | | --- | --- | --- | --- | -| `debug` _boolean_ | Allow to enable debug mode on the module | false | | -| `dev` _boolean_ | Allow to enable dev mode on the module
Dev mode is used to allow some application to do custom setup in development mode (allow insecure certificates for example) | false | | -| `version` _string_ | Version allow to override global version defined at stack level for a specific module | | | +| `debug` _boolean_ | Enables debug mode on the module | false | | +| `dev` _boolean_ | Enables dev mode on the module
Dev mode lets an application do custom setup in development mode (allowing insecure certificates, for example) | false | | +| `version` _string_ | Version overrides, for a specific module, the global version defined at stack level | | | | `stack` _string_ | Stack indicates the stack on which the module is installed | | | @@ -918,7 +918,7 @@ backend services using the caller bearer token. | Field | Description | Default | Validation | | --- | --- | --- | --- | | `ready` _boolean_ | Ready indicates if the resource is seen as completely reconciled | | | -| `info` _string_ | Info can contain any additional like reconciliation errors | | | +| `info` _string_ | Info can contain any additional detail, such as reconciliation errors | | | #### Orchestration @@ -974,9 +974,9 @@ Orchestration is the Schema for the orchestrations API | Field | Description | Default | Validation | | --- | --- | --- | --- | | `stack` _string_ | Stack indicates the stack on which the module is installed | | | -| `debug` _boolean_ | Allow to enable debug mode on the module | false | | -| `dev` _boolean_ | Allow to enable dev mode on the module
Dev mode is used to allow some application to do custom setup in development mode (allow insecure certificates for example) | false | | -| `version` _string_ | Version allow to override global version defined at stack level for a specific module | | | +| `debug` _boolean_ | Enables debug mode on the module | false | | +| `dev` _boolean_ | Enables dev mode on the module
Dev mode lets an application do custom setup in development mode (allowing insecure certificates, for example) | false | | +| `version` _string_ | Version overrides, for a specific module, the global version defined at stack level | | | @@ -1005,7 +1005,7 @@ Orchestration is the Schema for the orchestrations API | Field | Description | Default | Validation | | --- | --- | --- | --- | | `ready` _boolean_ | Ready indicates if the resource is seen as completely reconciled | | | -| `info` _string_ | Info can contain any additional like reconciliation errors | | | +| `info` _string_ | Info can contain any additional detail, such as reconciliation errors | | | | `temporalURI` _string_ | | | Type: string
| @@ -1062,9 +1062,9 @@ Payments is the Schema for the payments API | Field | Description | Default | Validation | | --- | --- | --- | --- | | `stack` _string_ | Stack indicates the stack on which the module is installed | | | -| `debug` _boolean_ | Allow to enable debug mode on the module | false | | -| `dev` _boolean_ | Allow to enable dev mode on the module
Dev mode is used to allow some application to do custom setup in development mode (allow insecure certificates for example) | false | | -| `version` _string_ | Version allow to override global version defined at stack level for a specific module | | | +| `debug` _boolean_ | Enables debug mode on the module | false | | +| `dev` _boolean_ | Enables dev mode on the module
Dev mode lets an application do custom setup in development mode (allowing insecure certificates, for example) | false | | +| `version` _string_ | Version overrides, for a specific module, the global version defined at stack level | | | | `encryptionKey` _string_ | | | | @@ -1094,7 +1094,7 @@ Payments is the Schema for the payments API | Field | Description | Default | Validation | | --- | --- | --- | --- | | `ready` _boolean_ | Ready indicates if the resource is seen as completely reconciled | | | -| `info` _string_ | Info can contain any additional like reconciliation errors | | | +| `info` _string_ | Info can contain any additional detail, such as reconciliation errors | | | #### Reconciliation @@ -1150,9 +1150,9 @@ Reconciliation is the Schema for the reconciliations API | Field | Description | Default | Validation | | --- | --- | --- | --- | | `stack` _string_ | Stack indicates the stack on which the module is installed | | | -| `debug` _boolean_ | Allow to enable debug mode on the module | false | | -| `dev` _boolean_ | Allow to enable dev mode on the module
Dev mode is used to allow some application to do custom setup in development mode (allow insecure certificates for example) | false | | -| `version` _string_ | Version allow to override global version defined at stack level for a specific module | | | +| `debug` _boolean_ | Enables debug mode on the module | false | | +| `dev` _boolean_ | Enables dev mode on the module
Dev mode lets an application do custom setup in development mode (allowing insecure certificates, for example) | false | | +| `version` _string_ | Version overrides, for a specific module, the global version defined at stack level | | | @@ -1181,7 +1181,7 @@ Reconciliation is the Schema for the reconciliations API | Field | Description | Default | Validation | | --- | --- | --- | --- | | `ready` _boolean_ | Ready indicates if the resource is seen as completely reconciled | | | -| `info` _string_ | Info can contain any additional like reconciliation errors | | | +| `info` _string_ | Info can contain any additional detail, such as reconciliation errors | | | #### Search @@ -1237,9 +1237,9 @@ Search is the Schema for the searches API | Field | Description | Default | Validation | | --- | --- | --- | --- | | `stack` _string_ | Stack indicates the stack on which the module is installed | | | -| `debug` _boolean_ | Allow to enable debug mode on the module | false | | -| `dev` _boolean_ | Allow to enable dev mode on the module
Dev mode is used to allow some application to do custom setup in development mode (allow insecure certificates for example) | false | | -| `version` _string_ | Version allow to override global version defined at stack level for a specific module | | | +| `debug` _boolean_ | Enables debug mode on the module | false | | +| `dev` _boolean_ | Enables dev mode on the module
Dev mode lets an application do custom setup in development mode (allowing insecure certificates, for example) | false | | +| `version` _string_ | Version overrides, for a specific module, the global version defined at stack level | | | @@ -1268,7 +1268,7 @@ Search is the Schema for the searches API | Field | Description | Default | Validation | | --- | --- | --- | --- | | `ready` _boolean_ | Ready indicates if the resource is seen as completely reconciled | | | -| `info` _string_ | Info can contain any additional like reconciliation errors | | | +| `info` _string_ | Info can contain any additional detail, such as reconciliation errors | | | | `elasticSearchURI` _string_ | | | Type: string
| @@ -1324,9 +1324,9 @@ Stargate is the Schema for the stargates API | Field | Description | Default | Validation | | --- | --- | --- | --- | -| `debug` _boolean_ | Allow to enable debug mode on the module | false | | -| `dev` _boolean_ | Allow to enable dev mode on the module
Dev mode is used to allow some application to do custom setup in development mode (allow insecure certificates for example) | false | | -| `version` _string_ | Version allow to override global version defined at stack level for a specific module | | | +| `debug` _boolean_ | Enables debug mode on the module | false | | +| `dev` _boolean_ | Enables dev mode on the module
Dev mode lets an application do custom setup in development mode (allowing insecure certificates, for example) | false | | +| `version` _string_ | Version overrides, for a specific module, the global version defined at stack level | | | | `stack` _string_ | Stack indicates the stack on which the module is installed | | | | `serverURL` _string_ | | | | | `organizationID` _string_ | | | | @@ -1382,7 +1382,7 @@ Stargate is the Schema for the stargates API | Field | Description | Default | Validation | | --- | --- | --- | --- | -| `disable` _boolean_ | Disable TLS protocol -- use at your own risks, the transmission will be in clear. | | | +| `disable` _boolean_ | Disable TLS protocol -- use at your own risk; the transmission will be in cleartext. | | | @@ -1411,7 +1411,7 @@ StargateStatus defines the observed state of Stargate | Field | Description | Default | Validation | | --- | --- | --- | --- | | `ready` _boolean_ | Ready indicates if the resource is seen as completely reconciled | | | -| `info` _string_ | Info can contain any additional like reconciliation errors | | | +| `info` _string_ | Info can contain any additional detail, such as reconciliation errors | | | #### TransactionPlane @@ -1467,9 +1467,9 @@ TransactionPlane is the Schema for the transactionplanes API | Field | Description | Default | Validation | | --- | --- | --- | --- | | `stack` _string_ | Stack indicates the stack on which the module is installed | | | -| `debug` _boolean_ | Allow to enable debug mode on the module | false | | -| `dev` _boolean_ | Allow to enable dev mode on the module
Dev mode is used to allow some application to do custom setup in development mode (allow insecure certificates for example) | false | | -| `version` _string_ | Version allow to override global version defined at stack level for a specific module | | | +| `debug` _boolean_ | Enables debug mode on the module | false | | +| `dev` _boolean_ | Enables dev mode on the module
Dev mode lets an application do custom setup in development mode (allowing insecure certificates, for example) | false | | +| `version` _string_ | Version overrides, for a specific module, the global version defined at stack level | | | @@ -1498,7 +1498,7 @@ TransactionPlane is the Schema for the transactionplanes API | Field | Description | Default | Validation | | --- | --- | --- | --- | | `ready` _boolean_ | Ready indicates if the resource is seen as completely reconciled | | | -| `info` _string_ | Info can contain any additional like reconciliation errors | | | +| `info` _string_ | Info can contain any additional detail, such as reconciliation errors | | | #### Wallets @@ -1553,9 +1553,9 @@ Wallets is the Schema for the wallets API | Field | Description | Default | Validation | | --- | --- | --- | --- | -| `debug` _boolean_ | Allow to enable debug mode on the module | false | | -| `dev` _boolean_ | Allow to enable dev mode on the module
Dev mode is used to allow some application to do custom setup in development mode (allow insecure certificates for example) | false | | -| `version` _string_ | Version allow to override global version defined at stack level for a specific module | | | +| `debug` _boolean_ | Enables debug mode on the module | false | | +| `dev` _boolean_ | Enables dev mode on the module
Dev mode lets an application do custom setup in development mode (allowing insecure certificates, for example) | false | | +| `version` _string_ | Version overrides, for a specific module, the global version defined at stack level | | | | `stack` _string_ | Stack indicates the stack on which the module is installed | | | @@ -1585,7 +1585,7 @@ WalletsStatus defines the observed state of Wallets | Field | Description | Default | Validation | | --- | --- | --- | --- | | `ready` _boolean_ | Ready indicates if the resource is seen as completely reconciled | | | -| `info` _string_ | Info can contain any additional like reconciliation errors | | | +| `info` _string_ | Info can contain any additional detail, such as reconciliation errors | | | #### Webhooks @@ -1641,9 +1641,9 @@ Webhooks is the Schema for the webhooks API | Field | Description | Default | Validation | | --- | --- | --- | --- | | `stack` _string_ | Stack indicates the stack on which the module is installed | | | -| `debug` _boolean_ | Allow to enable debug mode on the module | false | | -| `dev` _boolean_ | Allow to enable dev mode on the module
Dev mode is used to allow some application to do custom setup in development mode (allow insecure certificates for example) | false | | -| `version` _string_ | Version allow to override global version defined at stack level for a specific module | | | +| `debug` _boolean_ | Enables debug mode on the module | false | | +| `dev` _boolean_ | Enables dev mode on the module
Dev mode lets an application do custom setup in development mode (allowing insecure certificates, for example) | false | | +| `version` _string_ | Version overrides, for a specific module, the global version defined at stack level | | | @@ -1672,7 +1672,7 @@ Webhooks is the Schema for the webhooks API | Field | Description | Default | Validation | | --- | --- | --- | --- | | `ready` _boolean_ | Ready indicates if the resource is seen as completely reconciled | | | -| `info` _string_ | Info can contain any additional like reconciliation errors | | | +| `info` _string_ | Info can contain any additional detail, such as reconciliation errors | | | ### Other resources @@ -1681,7 +1681,7 @@ Webhooks is the Schema for the webhooks API -AuthClient allow to create OAuth2/OIDC clients on the auth server (see [Auth](#auth)) +AuthClient creates OAuth2/OIDC clients on the auth server (see [Auth](#auth)) @@ -1731,12 +1731,12 @@ AuthClient allow to create OAuth2/OIDC clients on the auth server (see [Auth](#a | --- | --- | --- | --- | | `stack` _string_ | Stack indicates the stack on which the module is installed | | | | `id` _string_ | ID indicates the client id
It must be used with oauth2 `client_id` parameter | | | -| `public` _boolean_ | Public indicate whether a client is confidential or not.
Confidential clients are clients which the secret can be kept secret...
As opposed to public clients which cannot have a secret (application single page for example) | false | | +| `public` _boolean_ | Public indicates whether a client is confidential.
Confidential clients are clients whose secret can be kept secret.
As opposed to public clients which cannot have a secret (a single-page application, for example) | false | | | `description` _string_ | Description represents an optional description of the client | | | -| `redirectUris` _string array_ | RedirectUris allow to list allowed redirect uris for the client | | | -| `postLogoutRedirectUris` _string array_ | RedirectUris allow to list allowed post logout redirect uris for the client | | | -| `scopes` _string array_ | Scopes allow to five some scope to the client | | | -| `secret` _string_ | Secret allow to configure a secret for the client.
It is not required as some client could use some oauth2 flows which does not requires a client secret | | | +| `redirectUris` _string array_ | RedirectUris lists the allowed redirect URIs for the client | | | +| `postLogoutRedirectUris` _string array_ | PostLogoutRedirectUris lists the allowed post-logout redirect URIs for the client | | | +| `scopes` _string array_ | Scopes grants scopes to the client | | | +| `secret` _string_ | Secret configures a secret for the client.
It is not required, since some clients use oauth2 flows that do not require a client secret | | | | `secretFromSecret` _[SecretKeySelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#secretkeyselector-v1-core)_ | | | | @@ -1766,7 +1766,7 @@ AuthClient allow to create OAuth2/OIDC clients on the auth server (see [Auth](#a | Field | Description | Default | Validation | | --- | --- | --- | --- | | `ready` _boolean_ | Ready indicates if the resource is seen as completely reconciled | | | -| `info` _string_ | Info can contain any additional like reconciliation errors | | | +| `info` _string_ | Info can contain any additional detail, such as reconciliation errors | | | | `hash` _string_ | | | | @@ -1823,8 +1823,8 @@ Benthos is the Schema for the benthos API | Field | Description | Default | Validation | | --- | --- | --- | --- | | `stack` _string_ | Stack indicates the stack on which the module is installed | | | -| `debug` _boolean_ | Allow to enable debug mode on the module | false | | -| `dev` _boolean_ | Allow to enable dev mode on the module
Dev mode is used to allow some application to do custom setup in development mode (allow insecure certificates for example) | false | | +| `debug` _boolean_ | Enables debug mode on the module | false | | +| `dev` _boolean_ | Enables dev mode on the module
Dev mode lets an application do custom setup in development mode (allowing insecure certificates, for example) | false | | | `resourceRequirements` _[ResourceRequirements](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#resourcerequirements-v1-core)_ | | | | | `initContainers` _[Container](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#container-v1-core) array_ | | | | | `imagePullSecrets` _[LocalObjectReference](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#localobjectreference-v1-core) array_ | | | | @@ -1859,7 +1859,7 @@ Benthos is the Schema for the benthos API | Field | Description | Default | Validation | | --- | --- | --- | --- | | `ready` _boolean_ | Ready indicates if the resource is seen as completely reconciled | | | -| `info` _string_ | Info can contain any additional like reconciliation errors | | | +| `info` _string_ | Info can contain any additional detail, such as reconciliation errors | | | | `elasticSearchURI` _string_ | | | Type: string
| @@ -1946,7 +1946,7 @@ BenthosStream is the Schema for the benthosstreams API | Field | Description | Default | Validation | | --- | --- | --- | --- | | `ready` _boolean_ | Ready indicates if the resource is seen as completely reconciled | | | -| `info` _string_ | Info can contain any additional like reconciliation errors | | | +| `info` _string_ | Info can contain any additional detail, such as reconciliation errors | | | | `configMapHash` _string_ | | | | @@ -2031,16 +2031,16 @@ Broker is the Schema for the brokers API | Field | Description | Default | Validation | | --- | --- | --- | --- | | `ready` _boolean_ | Ready indicates if the resource is seen as completely reconciled | | | -| `info` _string_ | Info can contain any additional like reconciliation errors | | | +| `info` _string_ | Info can contain any additional detail, such as reconciliation errors | | | | `uri` _string_ | | | Type: string
| -| `mode` _[Mode](#mode)_ | Mode indicating the configuration of the nats streams
Two modes are defined :
* ModeOneStreamByService: In this case, each service will have a dedicated stream created
* ModeOneStreamByStack: In this case, a stream will be created for the stack and each service will use a specific subject inside this stream | | Enum: [OneStreamByService OneStreamByStack]
| +| `mode` _[Mode](#mode)_ | Mode indicating the configuration of the nats streams
Two modes are defined:
* ModeOneStreamByService: In this case, each service will have a dedicated stream created
* ModeOneStreamByStack: In this case, a stream will be created for the stack and each service will use a specific subject inside this stream | | Enum: [OneStreamByService OneStreamByStack]
| | `streams` _string array_ | Streams list streams created when Mode == ModeOneStreamByService | | | ###### Mode _Underlying type:_ _string_ -Mode defined how streams are created on the broker (mainly nats) +Mode defines how streams are created on the broker (mainly nats) @@ -2142,7 +2142,7 @@ BrokerConsumer is the Schema for the brokerconsumers API | Field | Description | Default | Validation | | --- | --- | --- | --- | | `ready` _boolean_ | Ready indicates if the resource is seen as completely reconciled | | | -| `info` _string_ | Info can contain any additional like reconciliation errors | | | +| `info` _string_ | Info can contain any additional detail, such as reconciliation errors | | | #### BrokerTopic @@ -2227,34 +2227,34 @@ BrokerTopic is the Schema for the brokertopics API | Field | Description | Default | Validation | | --- | --- | --- | --- | | `ready` _boolean_ | Ready indicates if the resource is seen as completely reconciled | | | -| `info` _string_ | Info can contain any additional like reconciliation errors | | | +| `info` _string_ | Info can contain any additional detail, such as reconciliation errors | | | #### Database -Database represent a concrete database on a PostgreSQL server, it is created by modules requiring a database ([Ledger](#ledger) for example). +Database represents a concrete database on a PostgreSQL server, it is created by modules requiring a database ([Ledger](#ledger) for example). It uses the settings `postgres..uri` which must have the following uri format: `postgresql://[@]@/` -Additionally, the uri can define a query param `secret` indicating a k8s secret, than must be used to retrieve database credentials. +Additionally, the uri can define a query param `secret` indicating a k8s secret that must be used to retrieve database credentials. Credentials in the secret are expected to be URL-encoded by default. Set `secretCredentialsEncoding=raw` to let the operator encode them. On creation, the reconciler behind the Database object will create the database on the postgresql server using a k8s job. -On Deletion, by default, the reconciler will let the database untouched. +On Deletion, by default, the reconciler leaves the database untouched. You can allow the reconciler to drop the database on the server by using the [Settings](#settings) `clear-database` with the value `true`. If you use that setting, the reconciler will use another job to drop the database. -Be careful, no backup are performed! +Be careful: no backup is performed! Database resource honors `aws.service-account` setting, so, you can create databases on an AWS server if you need. See [AWS accounts](#aws-account) Once a database is fully configured, it retains the postgres uri used. -If the setting indicating the server uri changed, the Database object will set the field `.status.outOfSync` to true +If the setting that specifies the server uri changes, the Database object will set the field `.status.outOfSync` to true and will not change anything. Therefore, to switch to a new server, you must change the setting value, then drop the Database object. -It will be recreated with correct uri. +It will be recreated with the correct uri. @@ -2303,7 +2303,7 @@ It will be recreated with correct uri. | Field | Description | Default | Validation | | --- | --- | --- | --- | | `stack` _string_ | Stack indicates the stack on which the module is installed | | | -| `service` _string_ | Service is a discriminator for the created database.
Actually, it will be the module name (ledger, payments...).
Therefore, the created database will be named `` | | | +| `service` _string_ | Service is a discriminator for the created database.
In practice, it is the module name (ledger, payments...).
Therefore, the created database will be named `` | | | | `debug` _boolean_ | | false | | @@ -2333,10 +2333,10 @@ It will be recreated with correct uri. | Field | Description | Default | Validation | | --- | --- | --- | --- | | `ready` _boolean_ | Ready indicates if the resource is seen as completely reconciled | | | -| `info` _string_ | Info can contain any additional like reconciliation errors | | | +| `info` _string_ | Info can contain any additional detail, such as reconciliation errors | | | | `uri` _string_ | | | Type: string
| | `database` _string_ | The generated database name | | | -| `outOfSync` _boolean_ | OutOfSync indicates than a settings changed the uri of the postgres server
The Database object need to be removed to be recreated | | | +| `outOfSync` _boolean_ | OutOfSync indicates that a setting changed the uri of the postgres server
The Database object must be removed so that it can be recreated | | | #### GatewayGRPCAPI @@ -2477,7 +2477,7 @@ GatewayBackendTLS configures TLS when Gateway connects to a backend. | Field | Description | Default | Validation | | --- | --- | --- | --- | | `ready` _boolean_ | Ready indicates if the resource is seen as completely reconciled | | | -| `info` _string_ | Info can contain any additional like reconciliation errors | | | +| `info` _string_ | Info can contain any additional detail, such as reconciliation errors | | | #### GatewayHTTPAPI @@ -2591,7 +2591,7 @@ GatewayHTTPAPI is the Schema for the HTTPAPIs API | Field | Description | Default | Validation | | --- | --- | --- | --- | | `ready` _boolean_ | Ready indicates if the resource is seen as completely reconciled | | | -| `info` _string_ | Info can contain any additional like reconciliation errors | | | +| `info` _string_ | Info can contain any additional detail, such as reconciliation errors | | | #### LedgerConfiguration @@ -2793,7 +2793,7 @@ OtelExporterEndpointStatus represents the observed state of an OtelExporterEndpo | Field | Description | Default | Validation | | --- | --- | --- | --- | | `ready` _boolean_ | Ready indicates if the resource is seen as completely reconciled | | | -| `info` _string_ | Info can contain any additional like reconciliation errors | | | +| `info` _string_ | Info can contain any additional detail, such as reconciliation errors | | | | `stacks` _string array_ | Stacks is a sorted list of stack names currently targeted by this endpoint.
Includes stacks with successful reconciliation and stacks with transient errors or pending cleanup.
Used by the finalizer to find previously matched stacks during deletion. | | | @@ -2801,19 +2801,19 @@ OtelExporterEndpointStatus represents the observed state of an OtelExporterEndpo -ResourceReference is a special resources used to refer to externally created resources. +ResourceReference is a special resource used to refer to externally created resources. It includes k8s service accounts and secrets. -Why? Because the operator create a namespace by stack, so, a stack does not have access to secrets and service +Why? Because the operator creates one namespace per stack, so a stack does not have access to secrets and service accounts created externally. -A ResourceReference is created by other resource who need to use a specific secret or service account. -For example, if you want to use a secret for your database connection (see [Database](#database), you will +A ResourceReference is created by another resource that needs a specific secret or service account. +For example, if you want to use a secret for your database connection (see [Database](#database)), you will create a setting indicating a secret name. You will need to create this secret yourself, and you will put this secret inside the namespace you want (`default` maybe). -The Database reconciler will create a ResourceReference looking like that : +The Database reconciler will create a ResourceReference that looks like this: ``` apiVersion: formance.com/v1beta1 kind: ResourceReference @@ -2842,7 +2842,7 @@ status: ... ``` -This reconciler behind this ResourceReference will search, in all namespaces, for a secret named "postgres". +The reconciler behind this ResourceReference searches all namespaces for a secret named "postgres". The secret must have a label `formance.com/stack` with the value matching either a specific stack or `any` to target any stack. Once the reconciler has found the secret, it will copy it inside the stack namespace, allowing the ResourceReconciler owner to use it. @@ -2924,7 +2924,7 @@ Once the reconciler has found the secret, it will copy it inside the stack names | Field | Description | Default | Validation | | --- | --- | --- | --- | | `ready` _boolean_ | Ready indicates if the resource is seen as completely reconciled | | | -| `info` _string_ | Info can contain any additional like reconciliation errors | | | +| `info` _string_ | Info can contain any additional detail, such as reconciliation errors | | | | `syncedResource` _string_ | | | | | `hash` _string_ | | | | diff --git a/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_authclients.formance.com.yaml b/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_authclients.formance.com.yaml index 98a465347..d28aa9923 100644 --- a/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_authclients.formance.com.yaml +++ b/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_authclients.formance.com.yaml @@ -33,8 +33,8 @@ spec: name: v1beta1 schema: openAPIV3Schema: - description: AuthClient allow to create OAuth2/OIDC clients on the auth server - (see [Auth](#auth)) + description: AuthClient creates OAuth2/OIDC clients on the auth server (see + [Auth](#auth)) properties: apiVersion: description: |- @@ -65,33 +65,33 @@ spec: It must be used with oauth2 `client_id` parameter type: string postLogoutRedirectUris: - description: RedirectUris allow to list allowed post logout redirect - uris for the client + description: PostLogoutRedirectUris lists the allowed post-logout + redirect URIs for the client items: type: string type: array public: default: false description: |- - Public indicate whether a client is confidential or not. - Confidential clients are clients which the secret can be kept secret... - As opposed to public clients which cannot have a secret (application single page for example) + Public indicates whether a client is confidential. + Confidential clients are clients whose secret can be kept secret. + As opposed to public clients which cannot have a secret (a single-page application, for example) type: boolean redirectUris: - description: RedirectUris allow to list allowed redirect uris for - the client + description: RedirectUris lists the allowed redirect URIs for the + client items: type: string type: array scopes: - description: Scopes allow to five some scope to the client + description: Scopes grants scopes to the client items: type: string type: array secret: description: |- - Secret allow to configure a secret for the client. - It is not required as some client could use some oauth2 flows which does not requires a client secret + Secret configures a secret for the client. + It is not required, since some clients use oauth2 flows that do not require a client secret type: string secretFromSecret: description: SecretKeySelector selects a key of a Secret. @@ -181,7 +181,8 @@ spec: hash: type: string info: - description: Info can contain any additional like reconciliation errors + description: Info can contain any additional detail, such as reconciliation + errors type: string ready: description: Ready indicates if the resource is seen as completely diff --git a/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_auths.formance.com.yaml b/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_auths.formance.com.yaml index 6b74d3f2f..8d2e4c7b6 100644 --- a/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_auths.formance.com.yaml +++ b/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_auths.formance.com.yaml @@ -45,11 +45,11 @@ spec: schema: openAPIV3Schema: description: |- - Auth represent the authentication module of a stack. + Auth represents the authentication module of a stack. It is an OIDC compliant server. - Creating it for a stack automatically add authentication on all supported modules. + Creating it for a stack automatically adds authentication to all supported modules. The auth service is basically a proxy to another OIDC compliant server. properties: @@ -74,7 +74,7 @@ spec: properties: debug: default: false - description: Allow to enable debug mode on the module + description: Enables debug mode on the module type: boolean delegatedOIDCServer: description: Contains information about a delegated authentication @@ -118,24 +118,23 @@ spec: dev: default: false description: |- - Allow to enable dev mode on the module - Dev mode is used to allow some application to do custom setup in development mode (allow insecure certificates for example) + Enables dev mode on the module + Dev mode lets an application do custom setup in development mode (allowing insecure certificates, for example) type: boolean enableScopes: default: false description: |- - Allow to enable scopes usage on authentication. + Enables scope checking during authentication. - If not enabled, each service will check the authentication but will not restrict access following scopes. - in this case, if authenticated, it is ok. + If not enabled, each service will check the authentication but will not restrict access according to scopes. + In that case, being authenticated is sufficient. type: boolean signingKey: - description: Allow to override the default signing key used to sign - JWT tokens. + description: Overrides the default signing key used to sign JWT tokens. type: string signingKeyFromSecret: - description: Allow to override the default signing key used to sign - JWT tokens using a k8s secret + description: Overrides the default signing key used to sign JWT tokens, + using a k8s secret properties: key: description: The key of the secret to select from. Must be a @@ -161,8 +160,8 @@ spec: description: Stack indicates the stack on which the module is installed type: string version: - description: Version allow to override global version defined at stack - level for a specific module + description: Version overrides, for a specific module, the global + version defined at stack level type: string type: object status: @@ -227,7 +226,8 @@ spec: type: object type: array info: - description: Info can contain any additional like reconciliation errors + description: Info can contain any additional detail, such as reconciliation + errors type: string ready: description: Ready indicates if the resource is seen as completely diff --git a/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_benthos.formance.com.yaml b/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_benthos.formance.com.yaml index 996e69adc..e03d54f87 100644 --- a/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_benthos.formance.com.yaml +++ b/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_benthos.formance.com.yaml @@ -56,13 +56,13 @@ spec: properties: debug: default: false - description: Allow to enable debug mode on the module + description: Enables debug mode on the module type: boolean dev: default: false description: |- - Allow to enable dev mode on the module - Dev mode is used to allow some application to do custom setup in development mode (allow insecure certificates for example) + Enables dev mode on the module + Dev mode lets an application do custom setup in development mode (allowing insecure certificates, for example) type: boolean envFrom: items: @@ -1778,7 +1778,8 @@ spec: elasticSearchURI: type: string info: - description: Info can contain any additional like reconciliation errors + description: Info can contain any additional detail, such as reconciliation + errors type: string ready: description: Ready indicates if the resource is seen as completely diff --git a/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_benthosstreams.formance.com.yaml b/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_benthosstreams.formance.com.yaml index 0398d9213..667facf02 100644 --- a/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_benthosstreams.formance.com.yaml +++ b/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_benthosstreams.formance.com.yaml @@ -116,7 +116,8 @@ spec: configMapHash: type: string info: - description: Info can contain any additional like reconciliation errors + description: Info can contain any additional detail, such as reconciliation + errors type: string ready: description: Ready indicates if the resource is seen as completely diff --git a/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_brokerconsumers.formance.com.yaml b/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_brokerconsumers.formance.com.yaml index 3bf95cb97..1220fc2dc 100644 --- a/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_brokerconsumers.formance.com.yaml +++ b/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_brokerconsumers.formance.com.yaml @@ -129,7 +129,8 @@ spec: type: object type: array info: - description: Info can contain any additional like reconciliation errors + description: Info can contain any additional detail, such as reconciliation + errors type: string ready: description: Ready indicates if the resource is seen as completely diff --git a/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_brokers.formance.com.yaml b/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_brokers.formance.com.yaml index edda5aa94..657c632eb 100644 --- a/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_brokers.formance.com.yaml +++ b/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_brokers.formance.com.yaml @@ -115,12 +115,13 @@ spec: type: object type: array info: - description: Info can contain any additional like reconciliation errors + description: Info can contain any additional detail, such as reconciliation + errors type: string mode: description: |- Mode indicating the configuration of the nats streams - Two modes are defined : + Two modes are defined: * ModeOneStreamByService: In this case, each service will have a dedicated stream created * ModeOneStreamByStack: In this case, a stream will be created for the stack and each service will use a specific subject inside this stream enum: diff --git a/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_brokertopics.formance.com.yaml b/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_brokertopics.formance.com.yaml index c6290ccae..b095672d2 100644 --- a/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_brokertopics.formance.com.yaml +++ b/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_brokertopics.formance.com.yaml @@ -119,7 +119,8 @@ spec: type: object type: array info: - description: Info can contain any additional like reconciliation errors + description: Info can contain any additional detail, such as reconciliation + errors type: string ready: description: Ready indicates if the resource is seen as completely diff --git a/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_connectivities.formance.com.yaml b/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_connectivities.formance.com.yaml index f71c7b760..8503cc724 100644 --- a/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_connectivities.formance.com.yaml +++ b/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_connectivities.formance.com.yaml @@ -40,7 +40,7 @@ spec: schema: openAPIV3Schema: description: |- - Connectivity is the module allowing to install a connectivity instance. + Connectivity is the module that installs a connectivity instance. Connectivity ingests data from external sources (blockchains, payment providers, ...) through a plugin system and writes double-entry @@ -69,20 +69,20 @@ spec: properties: debug: default: false - description: Allow to enable debug mode on the module + description: Enables debug mode on the module type: boolean dev: default: false description: |- - Allow to enable dev mode on the module - Dev mode is used to allow some application to do custom setup in development mode (allow insecure certificates for example) + Enables dev mode on the module + Dev mode lets an application do custom setup in development mode (allowing insecure certificates, for example) type: boolean stack: description: Stack indicates the stack on which the module is installed type: string version: - description: Version allow to override global version defined at stack - level for a specific module + description: Version overrides, for a specific module, the global + version defined at stack level type: string type: object status: @@ -142,7 +142,8 @@ spec: type: object type: array info: - description: Info can contain any additional like reconciliation errors + description: Info can contain any additional detail, such as reconciliation + errors type: string ready: description: Ready indicates if the resource is seen as completely diff --git a/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_databases.formance.com.yaml b/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_databases.formance.com.yaml index a44fda4e5..451a0e708 100644 --- a/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_databases.formance.com.yaml +++ b/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_databases.formance.com.yaml @@ -38,27 +38,27 @@ spec: schema: openAPIV3Schema: description: |- - Database represent a concrete database on a PostgreSQL server, it is created by modules requiring a database ([Ledger](#ledger) for example). + Database represents a concrete database on a PostgreSQL server, it is created by modules requiring a database ([Ledger](#ledger) for example). It uses the settings `postgres..uri` which must have the following uri format: `postgresql://[@]@/` - Additionally, the uri can define a query param `secret` indicating a k8s secret, than must be used to retrieve database credentials. + Additionally, the uri can define a query param `secret` indicating a k8s secret that must be used to retrieve database credentials. Credentials in the secret are expected to be URL-encoded by default. Set `secretCredentialsEncoding=raw` to let the operator encode them. On creation, the reconciler behind the Database object will create the database on the postgresql server using a k8s job. - On Deletion, by default, the reconciler will let the database untouched. + On Deletion, by default, the reconciler leaves the database untouched. You can allow the reconciler to drop the database on the server by using the [Settings](#settings) `clear-database` with the value `true`. If you use that setting, the reconciler will use another job to drop the database. - Be careful, no backup are performed! + Be careful: no backup is performed! Database resource honors `aws.service-account` setting, so, you can create databases on an AWS server if you need. See [AWS accounts](#aws-account) Once a database is fully configured, it retains the postgres uri used. - If the setting indicating the server uri changed, the Database object will set the field `.status.outOfSync` to true + If the setting that specifies the server uri changes, the Database object will set the field `.status.outOfSync` to true and will not change anything. Therefore, to switch to a new server, you must change the setting value, then drop the Database object. - It will be recreated with correct uri. + It will be recreated with the correct uri. properties: apiVersion: description: |- @@ -85,7 +85,7 @@ spec: service: description: |- Service is a discriminator for the created database. - Actually, it will be the module name (ledger, payments...). + In practice, it is the module name (ledger, payments...). Therefore, the created database will be named `` type: string stack: @@ -154,12 +154,13 @@ spec: description: The generated database name type: string info: - description: Info can contain any additional like reconciliation errors + description: Info can contain any additional detail, such as reconciliation + errors type: string outOfSync: description: |- - OutOfSync indicates than a settings changed the uri of the postgres server - The Database object need to be removed to be recreated + OutOfSync indicates that a setting changed the uri of the postgres server + The Database object must be removed so that it can be recreated type: boolean ready: description: Ready indicates if the resource is seen as completely diff --git a/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_gatewaygrpcapis.formance.com.yaml b/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_gatewaygrpcapis.formance.com.yaml index a0fe54d22..ccc78d98d 100644 --- a/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_gatewaygrpcapis.formance.com.yaml +++ b/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_gatewaygrpcapis.formance.com.yaml @@ -169,7 +169,8 @@ spec: type: object type: array info: - description: Info can contain any additional like reconciliation errors + description: Info can contain any additional detail, such as reconciliation + errors type: string ready: description: Ready indicates if the resource is seen as completely diff --git a/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_gatewayhttpapis.formance.com.yaml b/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_gatewayhttpapis.formance.com.yaml index 502476b78..80ce9feab 100644 --- a/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_gatewayhttpapis.formance.com.yaml +++ b/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_gatewayhttpapis.formance.com.yaml @@ -189,7 +189,8 @@ spec: type: object type: array info: - description: Info can contain any additional like reconciliation errors + description: Info can contain any additional detail, such as reconciliation + errors type: string ready: description: Ready indicates if the resource is seen as completely diff --git a/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_gateways.formance.com.yaml b/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_gateways.formance.com.yaml index 525405009..fa6987b2e 100644 --- a/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_gateways.formance.com.yaml +++ b/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_gateways.formance.com.yaml @@ -66,16 +66,16 @@ spec: properties: debug: default: false - description: Allow to enable debug mode on the module + description: Enables debug mode on the module type: boolean dev: default: false description: |- - Allow to enable dev mode on the module - Dev mode is used to allow some application to do custom setup in development mode (allow insecure certificates for example) + Enables dev mode on the module + Dev mode lets an application do custom setup in development mode (allowing insecure certificates, for example) type: boolean ingress: - description: Allow to customize the generated ingress + description: Customizes the generated ingress properties: annotations: additionalProperties: @@ -85,7 +85,7 @@ spec: host: description: |- Indicates the hostname on which the stack will be served. - Example : `formance.example.com` + Example: `formance.example.com` type: string hosts: description: Additional hosts for the ingress. Combined with Host. @@ -98,12 +98,12 @@ spec: scheme: default: https description: |- - Indicate the scheme. + Indicates the scheme. - Actually, It should be `https` unless you know what you are doing. + It should be `https` unless you know what you are doing. type: string tls: - description: Allow to customize the tls part of the ingress + description: Customizes the tls part of the ingress properties: secretName: description: Specify the secret name used for the tls configuration @@ -120,8 +120,8 @@ spec: description: Stack indicates the stack on which the module is installed type: string version: - description: Version allow to override global version defined at stack - level for a specific module + description: Version overrides, for a specific module, the global + version defined at stack level type: string type: object status: @@ -181,7 +181,8 @@ spec: type: object type: array info: - description: Info can contain any additional like reconciliation errors + description: Info can contain any additional detail, such as reconciliation + errors type: string ready: description: Ready indicates if the resource is seen as completely diff --git a/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_ledgers.formance.com.yaml b/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_ledgers.formance.com.yaml index 66cd05889..922884876 100644 --- a/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_ledgers.formance.com.yaml +++ b/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_ledgers.formance.com.yaml @@ -40,7 +40,7 @@ spec: schema: openAPIV3Schema: description: |- - Ledger is the module allowing to install a ledger instance. + Ledger is the module that installs a ledger instance. The ledger is a stateful application that manages financial transactions and maintains an immutable audit trail. @@ -73,20 +73,20 @@ spec: type: object debug: default: false - description: Allow to enable debug mode on the module + description: Enables debug mode on the module type: boolean dev: default: false description: |- - Allow to enable dev mode on the module - Dev mode is used to allow some application to do custom setup in development mode (allow insecure certificates for example) + Enables dev mode on the module + Dev mode lets an application do custom setup in development mode (allowing insecure certificates, for example) type: boolean stack: description: Stack indicates the stack on which the module is installed type: string version: - description: Version allow to override global version defined at stack - level for a specific module + description: Version overrides, for a specific module, the global + version defined at stack level type: string type: object status: @@ -146,7 +146,8 @@ spec: type: object type: array info: - description: Info can contain any additional like reconciliation errors + description: Info can contain any additional detail, such as reconciliation + errors type: string ready: description: Ready indicates if the resource is seen as completely diff --git a/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_mcps.formance.com.yaml b/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_mcps.formance.com.yaml index 4cc47d05f..fc0436dcd 100644 --- a/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_mcps.formance.com.yaml +++ b/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_mcps.formance.com.yaml @@ -66,20 +66,20 @@ spec: properties: debug: default: false - description: Allow to enable debug mode on the module + description: Enables debug mode on the module type: boolean dev: default: false description: |- - Allow to enable dev mode on the module - Dev mode is used to allow some application to do custom setup in development mode (allow insecure certificates for example) + Enables dev mode on the module + Dev mode lets an application do custom setup in development mode (allowing insecure certificates, for example) type: boolean stack: description: Stack indicates the stack on which the module is installed type: string version: - description: Version allow to override global version defined at stack - level for a specific module + description: Version overrides, for a specific module, the global + version defined at stack level type: string type: object status: @@ -139,7 +139,8 @@ spec: type: object type: array info: - description: Info can contain any additional like reconciliation errors + description: Info can contain any additional detail, such as reconciliation + errors type: string ready: description: Ready indicates if the resource is seen as completely diff --git a/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_orchestrations.formance.com.yaml b/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_orchestrations.formance.com.yaml index 590d1c406..c96bd87dc 100644 --- a/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_orchestrations.formance.com.yaml +++ b/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_orchestrations.formance.com.yaml @@ -70,20 +70,20 @@ spec: type: object debug: default: false - description: Allow to enable debug mode on the module + description: Enables debug mode on the module type: boolean dev: default: false description: |- - Allow to enable dev mode on the module - Dev mode is used to allow some application to do custom setup in development mode (allow insecure certificates for example) + Enables dev mode on the module + Dev mode lets an application do custom setup in development mode (allowing insecure certificates, for example) type: boolean stack: description: Stack indicates the stack on which the module is installed type: string version: - description: Version allow to override global version defined at stack - level for a specific module + description: Version overrides, for a specific module, the global + version defined at stack level type: string type: object status: @@ -143,7 +143,8 @@ spec: type: object type: array info: - description: Info can contain any additional like reconciliation errors + description: Info can contain any additional detail, such as reconciliation + errors type: string ready: description: Ready indicates if the resource is seen as completely diff --git a/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_otelexporterendpoints.formance.com.yaml b/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_otelexporterendpoints.formance.com.yaml index 280e2bed4..aba5312e5 100644 --- a/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_otelexporterendpoints.formance.com.yaml +++ b/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_otelexporterendpoints.formance.com.yaml @@ -252,7 +252,8 @@ spec: type: object type: array info: - description: Info can contain any additional like reconciliation errors + description: Info can contain any additional detail, such as reconciliation + errors type: string ready: description: Ready indicates if the resource is seen as completely diff --git a/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_payments.formance.com.yaml b/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_payments.formance.com.yaml index cde937b92..a1848e46b 100644 --- a/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_payments.formance.com.yaml +++ b/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_payments.formance.com.yaml @@ -69,13 +69,13 @@ spec: type: object debug: default: false - description: Allow to enable debug mode on the module + description: Enables debug mode on the module type: boolean dev: default: false description: |- - Allow to enable dev mode on the module - Dev mode is used to allow some application to do custom setup in development mode (allow insecure certificates for example) + Enables dev mode on the module + Dev mode lets an application do custom setup in development mode (allowing insecure certificates, for example) type: boolean encryptionKey: type: string @@ -83,8 +83,8 @@ spec: description: Stack indicates the stack on which the module is installed type: string version: - description: Version allow to override global version defined at stack - level for a specific module + description: Version overrides, for a specific module, the global + version defined at stack level type: string type: object status: @@ -144,7 +144,8 @@ spec: type: object type: array info: - description: Info can contain any additional like reconciliation errors + description: Info can contain any additional detail, such as reconciliation + errors type: string ready: description: Ready indicates if the resource is seen as completely diff --git a/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_reconciliations.formance.com.yaml b/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_reconciliations.formance.com.yaml index 69bcd631e..63a77be53 100644 --- a/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_reconciliations.formance.com.yaml +++ b/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_reconciliations.formance.com.yaml @@ -70,20 +70,20 @@ spec: type: object debug: default: false - description: Allow to enable debug mode on the module + description: Enables debug mode on the module type: boolean dev: default: false description: |- - Allow to enable dev mode on the module - Dev mode is used to allow some application to do custom setup in development mode (allow insecure certificates for example) + Enables dev mode on the module + Dev mode lets an application do custom setup in development mode (allowing insecure certificates, for example) type: boolean stack: description: Stack indicates the stack on which the module is installed type: string version: - description: Version allow to override global version defined at stack - level for a specific module + description: Version overrides, for a specific module, the global + version defined at stack level type: string type: object status: @@ -143,7 +143,8 @@ spec: type: object type: array info: - description: Info can contain any additional like reconciliation errors + description: Info can contain any additional detail, such as reconciliation + errors type: string ready: description: Ready indicates if the resource is seen as completely diff --git a/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_resourcereferences.formance.com.yaml b/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_resourcereferences.formance.com.yaml index aff4015e9..d5075dad5 100644 --- a/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_resourcereferences.formance.com.yaml +++ b/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_resourcereferences.formance.com.yaml @@ -29,22 +29,22 @@ spec: name: v1beta1 schema: openAPIV3Schema: - description: "ResourceReference is a special resources used to refer to externally + description: "ResourceReference is a special resource used to refer to externally created resources.\n\nIt includes k8s service accounts and secrets.\n\nWhy? - Because the operator create a namespace by stack, so, a stack does not have - access to secrets and service\naccounts created externally.\n\nA ResourceReference - is created by other resource who need to use a specific secret or service - account.\nFor example, if you want to use a secret for your database connection - (see [Database](#database), you will\ncreate a setting indicating a secret - name. You will need to create this secret yourself, and you will put this\nsecret - inside the namespace you want (`default` maybe).\n\nThe Database reconciler - will create a ResourceReference looking like that :\n```\napiVersion: formance.com/v1beta1\nkind: - ResourceReference\nmetadata:\n\n\tname: jqkuffjxcezj-qlii-auth-postgres\n\townerReferences:\n\t- - apiVersion: formance.com/v1beta1\n\t blockOwnerDeletion: true\n\t controller: - true\n\t kind: Database\n\t name: jqkuffjxcezj-qlii-auth\n\t uid: 2cc4b788-3ffb-4e3d-8a30-07ed3941c8d2\n\nspec:\n\n\tgvk:\n\t + Because the operator creates one namespace per stack, so a stack does not + have access to secrets and service\naccounts created externally.\n\nA ResourceReference + is created by another resource that needs a specific secret or service account.\nFor + example, if you want to use a secret for your database connection (see [Database](#database)), + you will\ncreate a setting indicating a secret name. You will need to create + this secret yourself, and you will put this\nsecret inside the namespace + you want (`default` maybe).\n\nThe Database reconciler will create a ResourceReference + that looks like this:\n```\napiVersion: formance.com/v1beta1\nkind: ResourceReference\nmetadata:\n\n\tname: + jqkuffjxcezj-qlii-auth-postgres\n\townerReferences:\n\t- apiVersion: formance.com/v1beta1\n\t + \ blockOwnerDeletion: true\n\t controller: true\n\t kind: Database\n\t + \ name: jqkuffjxcezj-qlii-auth\n\t uid: 2cc4b788-3ffb-4e3d-8a30-07ed3941c8d2\n\nspec:\n\n\tgvk:\n\t \ group: \"\"\n\t kind: Secret\n\t version: v1\n\tname: postgres\n\tstack: - jqkuffjxcezj-qlii\n\nstatus:\n\n\t...\n\n```\nThis reconciler behind this - ResourceReference will search, in all namespaces, for a secret named \"postgres\".\nThe + jqkuffjxcezj-qlii\n\nstatus:\n\n\t...\n\n```\nThe reconciler behind this + ResourceReference searches all namespaces for a secret named \"postgres\".\nThe secret must have a label `formance.com/stack` with the value matching either a specific stack or `any` to target any stack.\n\nOnce the reconciler has found the secret, it will copy it inside the stack namespace, allowing the @@ -153,7 +153,8 @@ spec: hash: type: string info: - description: Info can contain any additional like reconciliation errors + description: Info can contain any additional detail, such as reconciliation + errors type: string ready: description: Ready indicates if the resource is seen as completely diff --git a/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_searches.formance.com.yaml b/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_searches.formance.com.yaml index 85701a9c1..6400e20f9 100644 --- a/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_searches.formance.com.yaml +++ b/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_searches.formance.com.yaml @@ -70,20 +70,20 @@ spec: type: object debug: default: false - description: Allow to enable debug mode on the module + description: Enables debug mode on the module type: boolean dev: default: false description: |- - Allow to enable dev mode on the module - Dev mode is used to allow some application to do custom setup in development mode (allow insecure certificates for example) + Enables dev mode on the module + Dev mode lets an application do custom setup in development mode (allowing insecure certificates, for example) type: boolean stack: description: Stack indicates the stack on which the module is installed type: string version: - description: Version allow to override global version defined at stack - level for a specific module + description: Version overrides, for a specific module, the global + version defined at stack level type: string type: object status: @@ -145,7 +145,8 @@ spec: elasticSearchURI: type: string info: - description: Info can contain any additional like reconciliation errors + description: Info can contain any additional detail, such as reconciliation + errors type: string ready: description: Ready indicates if the resource is seen as completely diff --git a/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_settings.formance.com.yaml b/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_settings.formance.com.yaml index 651a5361e..7ada4f7c6 100644 --- a/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_settings.formance.com.yaml +++ b/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_settings.formance.com.yaml @@ -30,45 +30,44 @@ spec: schema: openAPIV3Schema: description: "Settings represents a configurable piece of the stacks.\n\nThe - purpose of this resource is to be able to configure some common settings - between a set of stacks.\n\nExample :\n```yaml\napiVersion: formance.com/v1beta1\nkind: - Settings\nmetadata:\n\n\tname: postgres-uri\n\nspec:\n\n\tkey: postgres.ledger.uri\n\tstacks:\n\t- - stack0\n\tvalue: postgresql://postgresql.formance.svc.cluster.local:5432\n\n```\n\nThis - example create a setting named `postgres-uri` targeting the stack named - `stack0` and the service `ledger` (see the key `postgres.ledger.uri`).\n\nTherefore, + purpose of this resource is to configure settings shared across a set of + stacks.\n\nExample:\n```yaml\napiVersion: formance.com/v1beta1\nkind: Settings\nmetadata:\n\n\tname: + postgres-uri\n\nspec:\n\n\tkey: postgres.ledger.uri\n\tstacks:\n\t- stack0\n\tvalue: + postgresql://postgresql.formance.svc.cluster.local:5432\n\n```\n\nThis example + creates a setting named `postgres-uri` targeting the stack named `stack0` + and the service `ledger` (see the key `postgres.ledger.uri`).\n\nTherefore, a [Database](#database) created for the stack `stack0` and the service named 'ledger' will use the uri `postgresql://postgresql.formance.svc.cluster.local:5432`.\n\nSettings - allow to use wildcards in keys and in stacks list.\n\nFor example, if you + supports wildcards in keys and in the stacks list.\n\nFor example, if you want to use the same database server for all the modules of a specific stack, - you can write :\n```yaml\napiVersion: formance.com/v1beta1\nkind: Settings\nmetadata:\n\n\tname: + you can write:\n```yaml\napiVersion: formance.com/v1beta1\nkind: Settings\nmetadata:\n\n\tname: postgres-uri\n\nspec:\n\n\tkey: postgres.*.uri # There, we use a wildcard to indicate we want to use that setting of all services of the stack `stack0`\n\tstacks:\n\t- stack0\n\tvalue: postgresql://postgresql.formance.svc.cluster.local:5432\n\n```\n\nAlso, - we could use that setting for all of our stacks using :\n```yaml\napiVersion: + we could use that setting for all of our stacks using:\n```yaml\napiVersion: formance.com/v1beta1\nkind: Settings\nmetadata:\n\n\tname: postgres-uri\n\nspec:\n\n\tkey: postgres.*.uri # There, we use a wildcard to indicate we want to use that setting for all services of all stacks\n\tstacks:\n\t- * # There we select all the stacks\n\tvalue: postgresql://postgresql.formance.svc.cluster.local:5432\n\n```\n\nSome - settings are really global, while some are used by specific module.\n\nRefer + settings are truly global, while others are used by a specific module.\n\nRefer to the documentation of each module and resource to discover available Settings.\n\n##### Global settings\n###### AWS account\n\nA stack can use an AWS account for - authentication.\n\nIt can be used to connect to any AWS service we could - use.\n\nIt includes RDS, OpenSearch and MSK. To do so, you can create the - following setting:\n```yaml\napiVersion: formance.com/v1beta1\nkind: Settings\nmetadata:\n\n\tname: - aws-service-account\n\nspec:\n\n\tkey: aws.service-account\n\tstacks:\n\t- - '*'\n\tvalue: aws-access\n\n```\nThis setting instruct the operator than - there is somewhere on the cluster a service account named `aws-access`.\n\nSo, - each time a service has the capability to use AWS, the operator will use - this service account.\n\nThe service account could look like that :\n```yaml\napiVersion: - v1\nkind: ServiceAccount\nmetadata:\n\n\tannotations:\n\t eks.amazonaws.com/role-arn: - arn:aws:iam::************:role/staging-eu-west-1-hosting-stack-access\n\tlabels:\n\t - \ formance.com/stack: any\n\tname: aws-access\n\n```\nYou can note two things - :\n 1. We have an annotation indicating the role arn used to connect to - AWS. Refer to the AWS documentation to create this role\n 2. We have a label + authentication.\n\nIt can be used to connect to any AWS service.\n\nIt includes + RDS, OpenSearch and MSK. To do so, you can create the following setting:\n```yaml\napiVersion: + formance.com/v1beta1\nkind: Settings\nmetadata:\n\n\tname: aws-service-account\n\nspec:\n\n\tkey: + aws.service-account\n\tstacks:\n\t- '*'\n\tvalue: aws-access\n\n```\nThis + setting tells the operator that a service account named `aws-access` exists + somewhere on the cluster.\n\nSo, each time a service has the capability + to use AWS, the operator will use this service account.\n\nThe service account + could look like this:\n```yaml\napiVersion: v1\nkind: ServiceAccount\nmetadata:\n\n\tannotations:\n\t + \ eks.amazonaws.com/role-arn: arn:aws:iam::************:role/staging-eu-west-1-hosting-stack-access\n\tlabels:\n\t + \ formance.com/stack: any\n\tname: aws-access\n\n```\nYou can note two things:\n + 1. We have an annotation indicating the role arn used to connect to AWS. + Refer to the AWS documentation to create this role\n 2. We have a label `formance.com/stack=any` indicating we are targeting all stacks.\n Refer to the documentation of [ResourceReference](#resourcereference) for further information.\n\n###### JSON logging\n\nYou can use the setting `logging.json` - with the value `true` to configure elligible service to log as json.\nExample:\n```yaml\napiVersion: + with the value `true` to configure eligible services to log as json.\nExample:\n```yaml\napiVersion: formance.com/v1beta1\nkind: Settings\nmetadata:\n\n\tname: json-logging\n\nspec:\n\n\tkey: logging.json\n\tstacks:\n\t- '*'\n\tvalue: \"true\"\n\n```\n\n###### Authentication scopes\n\nYou can enable scope verification for modules using the setting @@ -113,8 +112,7 @@ spec: type: string type: array value: - description: The value. It must have a specific format following the - Key. + description: The value. Its required format depends on the Key. type: string required: - key diff --git a/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_stacks.formance.com.yaml b/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_stacks.formance.com.yaml index 4283d9bff..ddbf9bc8d 100644 --- a/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_stacks.formance.com.yaml +++ b/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_stacks.formance.com.yaml @@ -56,9 +56,9 @@ spec: To do more, you need to create some [modules](#modules). - The Stack resource allow to specify the version of the stack. + The Stack resource specifies the version of the stack. - It can be specified using either the field `.spec.version` or the `.spec.versionsFromFile` field (Refer to the documentation of [Versions](#versions) resource. + It can be specified using either the field `.spec.version` or the `.spec.versionsFromFile` field (see the documentation for the [Versions](#versions) resource). The `version` field will have priority over `versionFromFile`. @@ -85,36 +85,36 @@ spec: properties: debug: default: false - description: Allow to enable debug mode on the module + description: Enables debug mode on the module type: boolean dev: default: false description: |- - Allow to enable dev mode on the module - Dev mode is used to allow some application to do custom setup in development mode (allow insecure certificates for example) + Enables dev mode on the module + Dev mode lets an application do custom setup in development mode (allowing insecure certificates, for example) type: boolean disabled: default: false description: |- - Disabled indicate the stack is disabled. - A disabled stack disable everything + Disabled indicates that the stack is disabled. + A disabled stack disables everything It just keeps the namespace and the [Database](#database) resources. type: boolean enableAudit: default: false description: |- - EnableAudit enable audit at the stack level. - Actually, it enables audit on [Gateway](#gateway) + EnableAudit enables auditing at the stack level. + Currently, it enables auditing on [Gateway](#gateway) deprecated type: boolean version: description: |- - Version allow to specify the version of the components + Version specifies the version of the components Must be a valid docker tag type: string versionsFromFile: description: |- - VersionsFromFile allow to specify a formance.com/Versions object which contains individual versions + VersionsFromFile references a formance.com/Versions object which contains individual versions for each component. Must reference a valid formance.com/Versions object type: string @@ -176,7 +176,8 @@ spec: type: object type: array info: - description: Info can contain any additional like reconciliation errors + description: Info can contain any additional detail, such as reconciliation + errors type: string modules: description: Modules register detected modules diff --git a/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_stargates.formance.com.yaml b/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_stargates.formance.com.yaml index 0cb107fcf..05dfdf7c7 100644 --- a/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_stargates.formance.com.yaml +++ b/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_stargates.formance.com.yaml @@ -75,13 +75,13 @@ spec: type: object debug: default: false - description: Allow to enable debug mode on the module + description: Enables debug mode on the module type: boolean dev: default: false description: |- - Allow to enable dev mode on the module - Dev mode is used to allow some application to do custom setup in development mode (allow insecure certificates for example) + Enables dev mode on the module + Dev mode lets an application do custom setup in development mode (allowing insecure certificates, for example) type: boolean organizationID: type: string @@ -95,13 +95,13 @@ spec: tls: properties: disable: - description: Disable TLS protocol -- use at your own risks, the - transmission will be in clear. + description: Disable TLS protocol -- use at your own risk; the + transmission will be in cleartext. type: boolean type: object version: - description: Version allow to override global version defined at stack - level for a specific module + description: Version overrides, for a specific module, the global + version defined at stack level type: string required: - auth @@ -167,7 +167,8 @@ spec: type: object type: array info: - description: Info can contain any additional like reconciliation errors + description: Info can contain any additional detail, such as reconciliation + errors type: string ready: description: Ready indicates if the resource is seen as completely diff --git a/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_transactionplanes.formance.com.yaml b/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_transactionplanes.formance.com.yaml index 3881fed1e..1027cda94 100644 --- a/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_transactionplanes.formance.com.yaml +++ b/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_transactionplanes.formance.com.yaml @@ -69,20 +69,20 @@ spec: type: object debug: default: false - description: Allow to enable debug mode on the module + description: Enables debug mode on the module type: boolean dev: default: false description: |- - Allow to enable dev mode on the module - Dev mode is used to allow some application to do custom setup in development mode (allow insecure certificates for example) + Enables dev mode on the module + Dev mode lets an application do custom setup in development mode (allowing insecure certificates, for example) type: boolean stack: description: Stack indicates the stack on which the module is installed type: string version: - description: Version allow to override global version defined at stack - level for a specific module + description: Version overrides, for a specific module, the global + version defined at stack level type: string type: object status: @@ -142,7 +142,8 @@ spec: type: object type: array info: - description: Info can contain any additional like reconciliation errors + description: Info can contain any additional detail, such as reconciliation + errors type: string ready: description: Ready indicates if the resource is seen as completely diff --git a/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_wallets.formance.com.yaml b/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_wallets.formance.com.yaml index 898582514..dd636662d 100644 --- a/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_wallets.formance.com.yaml +++ b/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_wallets.formance.com.yaml @@ -70,20 +70,20 @@ spec: type: object debug: default: false - description: Allow to enable debug mode on the module + description: Enables debug mode on the module type: boolean dev: default: false description: |- - Allow to enable dev mode on the module - Dev mode is used to allow some application to do custom setup in development mode (allow insecure certificates for example) + Enables dev mode on the module + Dev mode lets an application do custom setup in development mode (allowing insecure certificates, for example) type: boolean stack: description: Stack indicates the stack on which the module is installed type: string version: - description: Version allow to override global version defined at stack - level for a specific module + description: Version overrides, for a specific module, the global + version defined at stack level type: string type: object status: @@ -144,7 +144,8 @@ spec: type: object type: array info: - description: Info can contain any additional like reconciliation errors + description: Info can contain any additional detail, such as reconciliation + errors type: string ready: description: Ready indicates if the resource is seen as completely diff --git a/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_webhooks.formance.com.yaml b/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_webhooks.formance.com.yaml index 872cca464..a547cc963 100644 --- a/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_webhooks.formance.com.yaml +++ b/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_webhooks.formance.com.yaml @@ -70,20 +70,20 @@ spec: type: object debug: default: false - description: Allow to enable debug mode on the module + description: Enables debug mode on the module type: boolean dev: default: false description: |- - Allow to enable dev mode on the module - Dev mode is used to allow some application to do custom setup in development mode (allow insecure certificates for example) + Enables dev mode on the module + Dev mode lets an application do custom setup in development mode (allowing insecure certificates, for example) type: boolean stack: description: Stack indicates the stack on which the module is installed type: string version: - description: Version allow to override global version defined at stack - level for a specific module + description: Version overrides, for a specific module, the global + version defined at stack level type: string type: object status: @@ -143,7 +143,8 @@ spec: type: object type: array info: - description: Info can contain any additional like reconciliation errors + description: Info can contain any additional detail, such as reconciliation + errors type: string ready: description: Ready indicates if the resource is seen as completely From aabd8f7c5b97c9ba9b85fbe6574b7bab77d21073 Mon Sep 17 00:00:00 2001 From: Ariel Yahav Date: Fri, 14 Aug 2026 12:18:00 +0100 Subject: [PATCH 2/8] fix(api): describe AuthClient.Public by its own polarity MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Review caught a defect introduced by the previous commit. The original read "Public indicate whether a client is confidential or not", which already named the wrong polarity for a field called Public; dropping "or not" turned a vague sentence into a wrong assertion, so the generated CRD and reference said public: true meant a confidential client. Describe the field by its own name instead. Public: true is a public client — one that cannot hold a secret; false (the default) is confidential. Constraint: Public is not read anywhere in the operator; it is passed through to the auth service, so polarity comes from the field name, the kubebuilder default of false, and standard OAuth2 semantics. --- api/formance.com/v1beta1/authclient_types.go | 6 +++--- config/crd/bases/formance.com_authclients.yaml | 6 +++--- .../02-Custom Resource Definitions.md | 2 +- ...1_customresourcedefinition_authclients.formance.com.yaml | 6 +++--- 4 files changed, 10 insertions(+), 10 deletions(-) diff --git a/api/formance.com/v1beta1/authclient_types.go b/api/formance.com/v1beta1/authclient_types.go index b22e0269c..90a6a3e99 100644 --- a/api/formance.com/v1beta1/authclient_types.go +++ b/api/formance.com/v1beta1/authclient_types.go @@ -28,9 +28,9 @@ type AuthClientSpec struct { // It must be used with oauth2 `client_id` parameter ID string `json:"id" yaml:"id"` // +optional - // Public indicates whether a client is confidential. - // Confidential clients are clients whose secret can be kept secret. - // As opposed to public clients which cannot have a secret (a single-page application, for example) + // Public indicates whether the client is a public client. + // Confidential clients (the default) are clients whose secret can be kept secret. + // Public clients cannot hold a secret (a single-page application, for example) // +kubebuilder:default:=false Public bool `json:"public" yaml:"public"` // +optional diff --git a/config/crd/bases/formance.com_authclients.yaml b/config/crd/bases/formance.com_authclients.yaml index 69007bc99..7e76e3c80 100644 --- a/config/crd/bases/formance.com_authclients.yaml +++ b/config/crd/bases/formance.com_authclients.yaml @@ -70,9 +70,9 @@ spec: public: default: false description: |- - Public indicates whether a client is confidential. - Confidential clients are clients whose secret can be kept secret. - As opposed to public clients which cannot have a secret (a single-page application, for example) + Public indicates whether the client is a public client. + Confidential clients (the default) are clients whose secret can be kept secret. + Public clients cannot hold a secret (a single-page application, for example) type: boolean redirectUris: description: RedirectUris lists the allowed redirect URIs for the diff --git a/docs/09-Configuration reference/02-Custom Resource Definitions.md b/docs/09-Configuration reference/02-Custom Resource Definitions.md index 63c412e0d..3854901d6 100644 --- a/docs/09-Configuration reference/02-Custom Resource Definitions.md +++ b/docs/09-Configuration reference/02-Custom Resource Definitions.md @@ -1731,7 +1731,7 @@ AuthClient creates OAuth2/OIDC clients on the auth server (see [Auth](#auth)) | --- | --- | --- | --- | | `stack` _string_ | Stack indicates the stack on which the module is installed | | | | `id` _string_ | ID indicates the client id
It must be used with oauth2 `client_id` parameter | | | -| `public` _boolean_ | Public indicates whether a client is confidential.
Confidential clients are clients whose secret can be kept secret.
As opposed to public clients which cannot have a secret (a single-page application, for example) | false | | +| `public` _boolean_ | Public indicates whether the client is a public client.
Confidential clients (the default) are clients whose secret can be kept secret.
Public clients cannot hold a secret (a single-page application, for example) | false | | | `description` _string_ | Description represents an optional description of the client | | | | `redirectUris` _string array_ | RedirectUris lists the allowed redirect URIs for the client | | | | `postLogoutRedirectUris` _string array_ | PostLogoutRedirectUris lists the allowed post-logout redirect URIs for the client | | | diff --git a/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_authclients.formance.com.yaml b/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_authclients.formance.com.yaml index d28aa9923..a4498a3ea 100644 --- a/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_authclients.formance.com.yaml +++ b/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_authclients.formance.com.yaml @@ -73,9 +73,9 @@ spec: public: default: false description: |- - Public indicates whether a client is confidential. - Confidential clients are clients whose secret can be kept secret. - As opposed to public clients which cannot have a secret (a single-page application, for example) + Public indicates whether the client is a public client. + Confidential clients (the default) are clients whose secret can be kept secret. + Public clients cannot hold a secret (a single-page application, for example) type: boolean redirectUris: description: RedirectUris lists the allowed redirect URIs for the From 329291ff742fc7d4a4789628cb9812bab5010473 Mon Sep 17 00:00:00 2001 From: Ariel Yahav Date: Fri, 14 Aug 2026 13:11:46 +0100 Subject: [PATCH 3/8] fix(api): address review on the CRD doc comments MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Review findings on #525, verified against source and applied. Three were wrong about the code, not just the prose: - database_types.go:48 documented the postgres setting URI as `postgresql://[@]@/`. The separator between user and password is `:`, not `@`: databases/env.go:26-30 reads the credentials through url.URL.User.Username()/Password(), which is stock net/url userinfo parsing, and env.go:50 builds the DSN as `postgresql://%s:%s@%s:%s`. The documented form parses as a single username with no password. - The same line documented a `/` path. The operator never reads it: databases/init.go:113 sets Status.Database from core.GetObjectName(stack, service), and POSTGRES_NO_DATABASE_URI is built host:port only. Dropped the path and said where the name comes from, which also settles the inconsistency with the Settings example (host:port, no path). - database_types.go:27 claimed the database is named ``. core.GetObjectName is `fmt.Sprintf("%s-%s", ...)`, so it is `-`. Not raised in review; found while checking the above. One logical contradiction, in text this PR had touched: - stack_types.go:43 said a disabled stack "disables everything" immediately before saying it keeps the namespace and Database resources. Now "disables its modules". The rest are wording and product casing: Scopes described by what it holds rather than repeating the field name, `nats` -> `NATS` (both sites), `tls` -> `TLS`, `docker tag` -> `Docker tag`, `role arn` -> `role ARN`, `as json` -> `as JSON`, `OIDC compliant` -> `OIDC-compliant`, "as it needs" -> "as needed", the Database intro split at its comma splice, and Value given a complete opening sentence. The Mode list markers move from `*` to `-` because godoc only recognises `-` as a list marker in doc comments; `*` renders as a literal asterisk. Generated artifacts regenerated; the chain is idempotent. Confidence: high — comments and generated text only. Scope-risk: low — no schema change. --- api/formance.com/v1beta1/auth_types.go | 2 +- api/formance.com/v1beta1/authclient_types.go | 2 +- api/formance.com/v1beta1/broker_types.go | 8 ++--- api/formance.com/v1beta1/database_types.go | 7 +++-- api/formance.com/v1beta1/gateway_types.go | 2 +- api/formance.com/v1beta1/groupversion_info.go | 2 +- api/formance.com/v1beta1/settings_types.go | 6 ++-- api/formance.com/v1beta1/stack_types.go | 6 ++-- .../crd/bases/formance.com_authclients.yaml | 2 +- config/crd/bases/formance.com_auths.yaml | 2 +- config/crd/bases/formance.com_brokers.yaml | 6 ++-- config/crd/bases/formance.com_databases.yaml | 7 +++-- config/crd/bases/formance.com_gateways.yaml | 2 +- config/crd/bases/formance.com_settings.yaml | 7 +++-- config/crd/bases/formance.com_stacks.yaml | 6 ++-- .../02-Custom Resource Definitions.md | 29 ++++++++++--------- ...cedefinition_authclients.formance.com.yaml | 2 +- ...resourcedefinition_auths.formance.com.yaml | 2 +- ...sourcedefinition_brokers.formance.com.yaml | 6 ++-- ...urcedefinition_databases.formance.com.yaml | 7 +++-- ...ourcedefinition_gateways.formance.com.yaml | 2 +- ...ourcedefinition_settings.formance.com.yaml | 7 +++-- ...esourcedefinition_stacks.formance.com.yaml | 6 ++-- 23 files changed, 67 insertions(+), 61 deletions(-) diff --git a/api/formance.com/v1beta1/auth_types.go b/api/formance.com/v1beta1/auth_types.go index 3883b8a91..d6cd79cb7 100644 --- a/api/formance.com/v1beta1/auth_types.go +++ b/api/formance.com/v1beta1/auth_types.go @@ -63,7 +63,7 @@ type AuthStatus struct { // Auth represents the authentication module of a stack. // -// It is an OIDC compliant server. +// It is an OIDC-compliant server. // // Creating it for a stack automatically adds authentication to all supported modules. // diff --git a/api/formance.com/v1beta1/authclient_types.go b/api/formance.com/v1beta1/authclient_types.go index 90a6a3e99..6ebc9d7bf 100644 --- a/api/formance.com/v1beta1/authclient_types.go +++ b/api/formance.com/v1beta1/authclient_types.go @@ -43,7 +43,7 @@ type AuthClientSpec struct { // PostLogoutRedirectUris lists the allowed post-logout redirect URIs for the client PostLogoutRedirectUris []string `json:"postLogoutRedirectUris,omitempty" yaml:"postLogoutRedirectUris"` // +optional - // Scopes grants scopes to the client + // Scopes lists the scopes granted to the client Scopes []string `json:"scopes,omitempty" yaml:"scopes"` // +optional // Secret configures a secret for the client. diff --git a/api/formance.com/v1beta1/broker_types.go b/api/formance.com/v1beta1/broker_types.go index 27a812164..687703a33 100644 --- a/api/formance.com/v1beta1/broker_types.go +++ b/api/formance.com/v1beta1/broker_types.go @@ -24,7 +24,7 @@ type BrokerSpec struct { StackDependency `json:",inline"` } -// Mode defines how streams are created on the broker (mainly nats) +// Mode defines how streams are created on the broker (mainly NATS) type Mode string const ( @@ -38,10 +38,10 @@ type BrokerStatus struct { URI *URI `json:"uri,omitempty"` //+optional //+kubebuilder:validation:Enum:={OneStreamByService, OneStreamByStack} - // Mode indicating the configuration of the nats streams + // Mode indicating the configuration of the NATS streams // Two modes are defined: - // * ModeOneStreamByService: In this case, each service will have a dedicated stream created - // * ModeOneStreamByStack: In this case, a stream will be created for the stack and each service will use a specific subject inside this stream + // - ModeOneStreamByService: In this case, each service will have a dedicated stream created + // - ModeOneStreamByStack: In this case, a stream will be created for the stack and each service will use a specific subject inside this stream Mode Mode `json:"mode"` // Streams list streams created when Mode == ModeOneStreamByService //+optional diff --git a/api/formance.com/v1beta1/database_types.go b/api/formance.com/v1beta1/database_types.go index b85188374..eb4c33391 100644 --- a/api/formance.com/v1beta1/database_types.go +++ b/api/formance.com/v1beta1/database_types.go @@ -24,7 +24,7 @@ type DatabaseSpec struct { StackDependency `json:",inline"` // Service is a discriminator for the created database. // In practice, it is the module name (ledger, payments...). - // Therefore, the created database will be named `` + // Therefore, the created database will be named `-` Service string `json:"service"` // +kubebuilder:default:=false Debug bool `json:"debug,omitempty"` @@ -43,9 +43,10 @@ type DatabaseStatus struct { OutOfSync bool `json:"outOfSync,omitempty"` } -// Database represents a concrete database on a PostgreSQL server, it is created by modules requiring a database ([Ledger](#ledger) for example). +// Database represents a concrete database on a PostgreSQL server. Modules that require a database create it ([Ledger](#ledger), for example). // -// It uses the settings `postgres..uri` which must have the following uri format: `postgresql://[@]@/` +// It uses the settings `postgres..uri` which must have the following uri format: `postgresql://[:@][:]`. +// The database name is not part of the setting: the operator derives it from the stack and the service. // Additionally, the uri can define a query param `secret` indicating a k8s secret that must be used to retrieve database credentials. // Credentials in the secret are expected to be URL-encoded by default. Set `secretCredentialsEncoding=raw` to let the operator encode them. // diff --git a/api/formance.com/v1beta1/gateway_types.go b/api/formance.com/v1beta1/gateway_types.go index f5f8ee842..2aa718994 100644 --- a/api/formance.com/v1beta1/gateway_types.go +++ b/api/formance.com/v1beta1/gateway_types.go @@ -46,7 +46,7 @@ type GatewayIngress struct { // Custom annotations to add on the ingress Annotations map[string]string `json:"annotations,omitempty"` - // Customizes the tls part of the ingress + // Customizes the TLS part of the ingress //+optional TLS *GatewayIngressTLS `json:"tls,omitempty"` } diff --git a/api/formance.com/v1beta1/groupversion_info.go b/api/formance.com/v1beta1/groupversion_info.go index a253de8c9..886c236c6 100644 --- a/api/formance.com/v1beta1/groupversion_info.go +++ b/api/formance.com/v1beta1/groupversion_info.go @@ -20,7 +20,7 @@ limitations under the License. // // A stack is composed of a [Stack](#stack) resource and some [modules](#modules). // -// Each module can create multiple resources as it needs. See [Other resources](#other-resources). +// Each module can create multiple resources as needed. See [Other resources](#other-resources). // // Various parts of the stack can be configured either using the CRD properties or using some [Settings](#settings). // diff --git a/api/formance.com/v1beta1/settings_types.go b/api/formance.com/v1beta1/settings_types.go index 7453764e8..263b15a09 100644 --- a/api/formance.com/v1beta1/settings_types.go +++ b/api/formance.com/v1beta1/settings_types.go @@ -26,7 +26,7 @@ type SettingsSpec struct { Stacks []string `json:"stacks,omitempty"` // The setting Key. See the documentation of each module or [global settings](#global-settings) to discover them. Key string `json:"key"` - // The value. Its required format depends on the Key. + // Value is the setting value. Its required format depends on the Key. Value string `json:"value"` } @@ -136,13 +136,13 @@ type SettingsSpec struct { // // ``` // You can note two things: -// 1. We have an annotation indicating the role arn used to connect to AWS. Refer to the AWS documentation to create this role +// 1. We have an annotation indicating the role ARN used to connect to AWS. Refer to the AWS documentation to create this role // 2. We have a label `formance.com/stack=any` indicating we are targeting all stacks. // Refer to the documentation of [ResourceReference](#resourcereference) for further information. // // ###### JSON logging // -// You can use the setting `logging.json` with the value `true` to configure eligible services to log as json. +// You can use the setting `logging.json` with the value `true` to configure eligible services to log as JSON. // Example: // ```yaml // apiVersion: formance.com/v1beta1 diff --git a/api/formance.com/v1beta1/stack_types.go b/api/formance.com/v1beta1/stack_types.go index 0aa930645..f0991f5db 100644 --- a/api/formance.com/v1beta1/stack_types.go +++ b/api/formance.com/v1beta1/stack_types.go @@ -24,7 +24,7 @@ type StackSpec struct { DevProperties `json:",inline"` // +optional // Version specifies the version of the components - // Must be a valid docker tag + // Must be a valid Docker tag Version string `json:"version,omitempty"` // +optional // VersionsFromFile references a formance.com/Versions object which contains individual versions @@ -40,8 +40,8 @@ type StackSpec struct { // +optional // +kubebuilder:default:=false // Disabled indicates that the stack is disabled. - // A disabled stack disables everything - // It just keeps the namespace and the [Database](#database) resources. + // A disabled stack disables its modules. + // It keeps the namespace and the [Database](#database) resources. Disabled bool `json:"disabled"` } diff --git a/config/crd/bases/formance.com_authclients.yaml b/config/crd/bases/formance.com_authclients.yaml index 7e76e3c80..2691ae676 100644 --- a/config/crd/bases/formance.com_authclients.yaml +++ b/config/crd/bases/formance.com_authclients.yaml @@ -81,7 +81,7 @@ spec: type: string type: array scopes: - description: Scopes grants scopes to the client + description: Scopes lists the scopes granted to the client items: type: string type: array diff --git a/config/crd/bases/formance.com_auths.yaml b/config/crd/bases/formance.com_auths.yaml index e71188ffb..ca7339909 100644 --- a/config/crd/bases/formance.com_auths.yaml +++ b/config/crd/bases/formance.com_auths.yaml @@ -44,7 +44,7 @@ spec: description: |- Auth represents the authentication module of a stack. - It is an OIDC compliant server. + It is an OIDC-compliant server. Creating it for a stack automatically adds authentication to all supported modules. diff --git a/config/crd/bases/formance.com_brokers.yaml b/config/crd/bases/formance.com_brokers.yaml index fa194d6a4..e2df7b640 100644 --- a/config/crd/bases/formance.com_brokers.yaml +++ b/config/crd/bases/formance.com_brokers.yaml @@ -117,10 +117,10 @@ spec: type: string mode: description: |- - Mode indicating the configuration of the nats streams + Mode indicating the configuration of the NATS streams Two modes are defined: - * ModeOneStreamByService: In this case, each service will have a dedicated stream created - * ModeOneStreamByStack: In this case, a stream will be created for the stack and each service will use a specific subject inside this stream + - ModeOneStreamByService: In this case, each service will have a dedicated stream created + - ModeOneStreamByStack: In this case, a stream will be created for the stack and each service will use a specific subject inside this stream enum: - OneStreamByService - OneStreamByStack diff --git a/config/crd/bases/formance.com_databases.yaml b/config/crd/bases/formance.com_databases.yaml index c1439cc9c..7fcb7b264 100644 --- a/config/crd/bases/formance.com_databases.yaml +++ b/config/crd/bases/formance.com_databases.yaml @@ -35,9 +35,10 @@ spec: schema: openAPIV3Schema: description: |- - Database represents a concrete database on a PostgreSQL server, it is created by modules requiring a database ([Ledger](#ledger) for example). + Database represents a concrete database on a PostgreSQL server. Modules that require a database create it ([Ledger](#ledger), for example). - It uses the settings `postgres..uri` which must have the following uri format: `postgresql://[@]@/` + It uses the settings `postgres..uri` which must have the following uri format: `postgresql://[:@][:]`. + The database name is not part of the setting: the operator derives it from the stack and the service. Additionally, the uri can define a query param `secret` indicating a k8s secret that must be used to retrieve database credentials. Credentials in the secret are expected to be URL-encoded by default. Set `secretCredentialsEncoding=raw` to let the operator encode them. @@ -83,7 +84,7 @@ spec: description: |- Service is a discriminator for the created database. In practice, it is the module name (ledger, payments...). - Therefore, the created database will be named `` + Therefore, the created database will be named `-` type: string stack: description: Stack indicates the stack on which the module is installed diff --git a/config/crd/bases/formance.com_gateways.yaml b/config/crd/bases/formance.com_gateways.yaml index ba0b0ad97..9ccb0b3f3 100644 --- a/config/crd/bases/formance.com_gateways.yaml +++ b/config/crd/bases/formance.com_gateways.yaml @@ -100,7 +100,7 @@ spec: It should be `https` unless you know what you are doing. type: string tls: - description: Customizes the tls part of the ingress + description: Customizes the TLS part of the ingress properties: secretName: description: Specify the secret name used for the tls configuration diff --git a/config/crd/bases/formance.com_settings.yaml b/config/crd/bases/formance.com_settings.yaml index 7a79df795..a1c83fab3 100644 --- a/config/crd/bases/formance.com_settings.yaml +++ b/config/crd/bases/formance.com_settings.yaml @@ -59,12 +59,12 @@ spec: could look like this:\n```yaml\napiVersion: v1\nkind: ServiceAccount\nmetadata:\n\n\tannotations:\n\t \ eks.amazonaws.com/role-arn: arn:aws:iam::************:role/staging-eu-west-1-hosting-stack-access\n\tlabels:\n\t \ formance.com/stack: any\n\tname: aws-access\n\n```\nYou can note two things:\n - 1. We have an annotation indicating the role arn used to connect to AWS. + 1. We have an annotation indicating the role ARN used to connect to AWS. Refer to the AWS documentation to create this role\n 2. We have a label `formance.com/stack=any` indicating we are targeting all stacks.\n Refer to the documentation of [ResourceReference](#resourcereference) for further information.\n\n###### JSON logging\n\nYou can use the setting `logging.json` - with the value `true` to configure eligible services to log as json.\nExample:\n```yaml\napiVersion: + with the value `true` to configure eligible services to log as JSON.\nExample:\n```yaml\napiVersion: formance.com/v1beta1\nkind: Settings\nmetadata:\n\n\tname: json-logging\n\nspec:\n\n\tkey: logging.json\n\tstacks:\n\t- '*'\n\tvalue: \"true\"\n\n```\n\n###### Authentication scopes\n\nYou can enable scope verification for modules using the setting @@ -109,7 +109,8 @@ spec: type: string type: array value: - description: The value. Its required format depends on the Key. + description: Value is the setting value. Its required format depends + on the Key. type: string required: - key diff --git a/config/crd/bases/formance.com_stacks.yaml b/config/crd/bases/formance.com_stacks.yaml index 7d76516e9..0389a9b0c 100644 --- a/config/crd/bases/formance.com_stacks.yaml +++ b/config/crd/bases/formance.com_stacks.yaml @@ -94,8 +94,8 @@ spec: default: false description: |- Disabled indicates that the stack is disabled. - A disabled stack disables everything - It just keeps the namespace and the [Database](#database) resources. + A disabled stack disables its modules. + It keeps the namespace and the [Database](#database) resources. type: boolean enableAudit: default: false @@ -107,7 +107,7 @@ spec: version: description: |- Version specifies the version of the components - Must be a valid docker tag + Must be a valid Docker tag type: string versionsFromFile: description: |- diff --git a/docs/09-Configuration reference/02-Custom Resource Definitions.md b/docs/09-Configuration reference/02-Custom Resource Definitions.md index 3854901d6..6951d3260 100644 --- a/docs/09-Configuration reference/02-Custom Resource Definitions.md +++ b/docs/09-Configuration reference/02-Custom Resource Definitions.md @@ -12,7 +12,7 @@ It lets you configure a Formance stack. A stack is composed of a [Stack](#stack) resource and some [modules](#modules). -Each module can create multiple resources as it needs. See [Other resources](#other-resources). +Each module can create multiple resources as needed. See [Other resources](#other-resources). Various parts of the stack can be configured either using the CRD properties or using some [Settings](#settings). @@ -115,10 +115,10 @@ If `versions` and `versionsFromFile` are not specified, modules will fail to rec | --- | --- | --- | --- | | `debug` _boolean_ | Enables debug mode on the module | false | | | `dev` _boolean_ | Enables dev mode on the module
Dev mode lets an application do custom setup in development mode (allowing insecure certificates, for example) | false | | -| `version` _string_ | Version specifies the version of the components
Must be a valid docker tag | | | +| `version` _string_ | Version specifies the version of the components
Must be a valid Docker tag | | | | `versionsFromFile` _string_ | VersionsFromFile references a formance.com/Versions object which contains individual versions
for each component.
Must reference a valid formance.com/Versions object | | | | `enableAudit` _boolean_ | EnableAudit enables auditing at the stack level.
Currently, it enables auditing on [Gateway](#gateway)
deprecated | false | | -| `disabled` _boolean_ | Disabled indicates that the stack is disabled.
A disabled stack disables everything
It just keeps the namespace and the [Database](#database) resources. | false | | +| `disabled` _boolean_ | Disabled indicates that the stack is disabled.
A disabled stack disables its modules.
It keeps the namespace and the [Database](#database) resources. | false | | @@ -261,13 +261,13 @@ metadata: ``` You can note two things: - 1. We have an annotation indicating the role arn used to connect to AWS. Refer to the AWS documentation to create this role + 1. We have an annotation indicating the role ARN used to connect to AWS. Refer to the AWS documentation to create this role 2. We have a label `formance.com/stack=any` indicating we are targeting all stacks. Refer to the documentation of [ResourceReference](#resourcereference) for further information. ###### JSON logging -You can use the setting `logging.json` with the value `true` to configure eligible services to log as json. +You can use the setting `logging.json` with the value `true` to configure eligible services to log as JSON. Example: ```yaml apiVersion: formance.com/v1beta1 @@ -373,7 +373,7 @@ Note: The `auth.checkScopes` field in module specifications takes priority over | --- | --- | --- | --- | | `stacks` _string array_ | Stacks on which the setting is applied. Can contain `*` to indicate a wildcard. | | | | `key` _string_ | The setting Key. See the documentation of each module or [global settings](#global-settings) to discover them. | | | -| `value` _string_ | The value. Its required format depends on the Key. | | | +| `value` _string_ | Value is the setting value. Its required format depends on the Key. | | | @@ -386,7 +386,7 @@ Note: The `auth.checkScopes` field in module specifications takes priority over Auth represents the authentication module of a stack. -It is an OIDC compliant server. +It is an OIDC-compliant server. Creating it for a stack automatically adds authentication to all supported modules. @@ -683,7 +683,7 @@ GatewayIngress represents the ingress configuration for the gateway. | `scheme` _string_ | Indicates the scheme.
It should be `https` unless you know what you are doing. | https | | | `ingressClassName` _string_ | Ingress class to use | | | | `annotations` _object (keys:string, values:string)_ | Custom annotations to add on the ingress | | | -| `tls` _[GatewayIngressTLS](#gatewayingresstls)_ | Customizes the tls part of the ingress | | | +| `tls` _[GatewayIngressTLS](#gatewayingresstls)_ | Customizes the TLS part of the ingress | | | ###### GatewayIngressTLS @@ -1735,7 +1735,7 @@ AuthClient creates OAuth2/OIDC clients on the auth server (see [Auth](#auth)) | `description` _string_ | Description represents an optional description of the client | | | | `redirectUris` _string array_ | RedirectUris lists the allowed redirect URIs for the client | | | | `postLogoutRedirectUris` _string array_ | PostLogoutRedirectUris lists the allowed post-logout redirect URIs for the client | | | -| `scopes` _string array_ | Scopes grants scopes to the client | | | +| `scopes` _string array_ | Scopes lists the scopes granted to the client | | | | `secret` _string_ | Secret configures a secret for the client.
It is not required, since some clients use oauth2 flows that do not require a client secret | | | | `secretFromSecret` _[SecretKeySelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#secretkeyselector-v1-core)_ | | | | @@ -2033,14 +2033,14 @@ Broker is the Schema for the brokers API | `ready` _boolean_ | Ready indicates if the resource is seen as completely reconciled | | | | `info` _string_ | Info can contain any additional detail, such as reconciliation errors | | | | `uri` _string_ | | | Type: string
| -| `mode` _[Mode](#mode)_ | Mode indicating the configuration of the nats streams
Two modes are defined:
* ModeOneStreamByService: In this case, each service will have a dedicated stream created
* ModeOneStreamByStack: In this case, a stream will be created for the stack and each service will use a specific subject inside this stream | | Enum: [OneStreamByService OneStreamByStack]
| +| `mode` _[Mode](#mode)_ | Mode indicating the configuration of the NATS streams
Two modes are defined:
- ModeOneStreamByService: In this case, each service will have a dedicated stream created
- ModeOneStreamByStack: In this case, a stream will be created for the stack and each service will use a specific subject inside this stream | | Enum: [OneStreamByService OneStreamByStack]
| | `streams` _string array_ | Streams list streams created when Mode == ModeOneStreamByService | | | ###### Mode _Underlying type:_ _string_ -Mode defines how streams are created on the broker (mainly nats) +Mode defines how streams are created on the broker (mainly NATS) @@ -2234,9 +2234,10 @@ BrokerTopic is the Schema for the brokertopics API -Database represents a concrete database on a PostgreSQL server, it is created by modules requiring a database ([Ledger](#ledger) for example). +Database represents a concrete database on a PostgreSQL server. Modules that require a database create it ([Ledger](#ledger), for example). -It uses the settings `postgres..uri` which must have the following uri format: `postgresql://[@]@/` +It uses the settings `postgres..uri` which must have the following uri format: `postgresql://[:@][:]`. +The database name is not part of the setting: the operator derives it from the stack and the service. Additionally, the uri can define a query param `secret` indicating a k8s secret that must be used to retrieve database credentials. Credentials in the secret are expected to be URL-encoded by default. Set `secretCredentialsEncoding=raw` to let the operator encode them. @@ -2303,7 +2304,7 @@ It will be recreated with the correct uri. | Field | Description | Default | Validation | | --- | --- | --- | --- | | `stack` _string_ | Stack indicates the stack on which the module is installed | | | -| `service` _string_ | Service is a discriminator for the created database.
In practice, it is the module name (ledger, payments...).
Therefore, the created database will be named `` | | | +| `service` _string_ | Service is a discriminator for the created database.
In practice, it is the module name (ledger, payments...).
Therefore, the created database will be named `-` | | | | `debug` _boolean_ | | false | | diff --git a/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_authclients.formance.com.yaml b/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_authclients.formance.com.yaml index a4498a3ea..7e60e84f3 100644 --- a/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_authclients.formance.com.yaml +++ b/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_authclients.formance.com.yaml @@ -84,7 +84,7 @@ spec: type: string type: array scopes: - description: Scopes grants scopes to the client + description: Scopes lists the scopes granted to the client items: type: string type: array diff --git a/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_auths.formance.com.yaml b/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_auths.formance.com.yaml index 8d2e4c7b6..e7f887e91 100644 --- a/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_auths.formance.com.yaml +++ b/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_auths.formance.com.yaml @@ -47,7 +47,7 @@ spec: description: |- Auth represents the authentication module of a stack. - It is an OIDC compliant server. + It is an OIDC-compliant server. Creating it for a stack automatically adds authentication to all supported modules. diff --git a/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_brokers.formance.com.yaml b/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_brokers.formance.com.yaml index 657c632eb..04785ff22 100644 --- a/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_brokers.formance.com.yaml +++ b/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_brokers.formance.com.yaml @@ -120,10 +120,10 @@ spec: type: string mode: description: |- - Mode indicating the configuration of the nats streams + Mode indicating the configuration of the NATS streams Two modes are defined: - * ModeOneStreamByService: In this case, each service will have a dedicated stream created - * ModeOneStreamByStack: In this case, a stream will be created for the stack and each service will use a specific subject inside this stream + - ModeOneStreamByService: In this case, each service will have a dedicated stream created + - ModeOneStreamByStack: In this case, a stream will be created for the stack and each service will use a specific subject inside this stream enum: - OneStreamByService - OneStreamByStack diff --git a/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_databases.formance.com.yaml b/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_databases.formance.com.yaml index 451a0e708..4409d1dc6 100644 --- a/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_databases.formance.com.yaml +++ b/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_databases.formance.com.yaml @@ -38,9 +38,10 @@ spec: schema: openAPIV3Schema: description: |- - Database represents a concrete database on a PostgreSQL server, it is created by modules requiring a database ([Ledger](#ledger) for example). + Database represents a concrete database on a PostgreSQL server. Modules that require a database create it ([Ledger](#ledger), for example). - It uses the settings `postgres..uri` which must have the following uri format: `postgresql://[@]@/` + It uses the settings `postgres..uri` which must have the following uri format: `postgresql://[:@][:]`. + The database name is not part of the setting: the operator derives it from the stack and the service. Additionally, the uri can define a query param `secret` indicating a k8s secret that must be used to retrieve database credentials. Credentials in the secret are expected to be URL-encoded by default. Set `secretCredentialsEncoding=raw` to let the operator encode them. @@ -86,7 +87,7 @@ spec: description: |- Service is a discriminator for the created database. In practice, it is the module name (ledger, payments...). - Therefore, the created database will be named `` + Therefore, the created database will be named `-` type: string stack: description: Stack indicates the stack on which the module is installed diff --git a/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_gateways.formance.com.yaml b/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_gateways.formance.com.yaml index fa6987b2e..303df1fd5 100644 --- a/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_gateways.formance.com.yaml +++ b/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_gateways.formance.com.yaml @@ -103,7 +103,7 @@ spec: It should be `https` unless you know what you are doing. type: string tls: - description: Customizes the tls part of the ingress + description: Customizes the TLS part of the ingress properties: secretName: description: Specify the secret name used for the tls configuration diff --git a/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_settings.formance.com.yaml b/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_settings.formance.com.yaml index 7ada4f7c6..be01bcb4f 100644 --- a/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_settings.formance.com.yaml +++ b/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_settings.formance.com.yaml @@ -62,12 +62,12 @@ spec: could look like this:\n```yaml\napiVersion: v1\nkind: ServiceAccount\nmetadata:\n\n\tannotations:\n\t \ eks.amazonaws.com/role-arn: arn:aws:iam::************:role/staging-eu-west-1-hosting-stack-access\n\tlabels:\n\t \ formance.com/stack: any\n\tname: aws-access\n\n```\nYou can note two things:\n - 1. We have an annotation indicating the role arn used to connect to AWS. + 1. We have an annotation indicating the role ARN used to connect to AWS. Refer to the AWS documentation to create this role\n 2. We have a label `formance.com/stack=any` indicating we are targeting all stacks.\n Refer to the documentation of [ResourceReference](#resourcereference) for further information.\n\n###### JSON logging\n\nYou can use the setting `logging.json` - with the value `true` to configure eligible services to log as json.\nExample:\n```yaml\napiVersion: + with the value `true` to configure eligible services to log as JSON.\nExample:\n```yaml\napiVersion: formance.com/v1beta1\nkind: Settings\nmetadata:\n\n\tname: json-logging\n\nspec:\n\n\tkey: logging.json\n\tstacks:\n\t- '*'\n\tvalue: \"true\"\n\n```\n\n###### Authentication scopes\n\nYou can enable scope verification for modules using the setting @@ -112,7 +112,8 @@ spec: type: string type: array value: - description: The value. Its required format depends on the Key. + description: Value is the setting value. Its required format depends + on the Key. type: string required: - key diff --git a/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_stacks.formance.com.yaml b/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_stacks.formance.com.yaml index ddbf9bc8d..b35fc5a95 100644 --- a/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_stacks.formance.com.yaml +++ b/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_stacks.formance.com.yaml @@ -97,8 +97,8 @@ spec: default: false description: |- Disabled indicates that the stack is disabled. - A disabled stack disables everything - It just keeps the namespace and the [Database](#database) resources. + A disabled stack disables its modules. + It keeps the namespace and the [Database](#database) resources. type: boolean enableAudit: default: false @@ -110,7 +110,7 @@ spec: version: description: |- Version specifies the version of the components - Must be a valid docker tag + Must be a valid Docker tag type: string versionsFromFile: description: |- From 3ba88d1e3a62e5972b3f8e66c1a908dd4c30d4eb Mon Sep 17 00:00:00 2001 From: Ariel Yahav Date: Fri, 14 Aug 2026 16:51:40 +0100 Subject: [PATCH 4/8] fix(api): capitalize URI in prose doc comments The Database and Settings comments mixed `uri` and `URI` in running prose. Capitalize the acronym everywhere it is prose; the lowercase `uri` inside setting keys (`postgres..uri`) and YAML samples is literal and stays as is. --- api/formance.com/v1beta1/database_types.go | 12 ++++++------ api/formance.com/v1beta1/settings_types.go | 2 +- config/crd/bases/formance.com_databases.yaml | 12 ++++++------ config/crd/bases/formance.com_settings.yaml | 2 +- ...tomresourcedefinition_databases.formance.com.yaml | 12 ++++++------ ...stomresourcedefinition_settings.formance.com.yaml | 2 +- 6 files changed, 21 insertions(+), 21 deletions(-) diff --git a/api/formance.com/v1beta1/database_types.go b/api/formance.com/v1beta1/database_types.go index eb4c33391..1433322a3 100644 --- a/api/formance.com/v1beta1/database_types.go +++ b/api/formance.com/v1beta1/database_types.go @@ -38,16 +38,16 @@ type DatabaseStatus struct { // The generated database name Database string `json:"database,omitempty"` //+optional - // OutOfSync indicates that a setting changed the uri of the postgres server + // OutOfSync indicates that a setting changed the URI of the postgres server // The Database object must be removed so that it can be recreated OutOfSync bool `json:"outOfSync,omitempty"` } // Database represents a concrete database on a PostgreSQL server. Modules that require a database create it ([Ledger](#ledger), for example). // -// It uses the settings `postgres..uri` which must have the following uri format: `postgresql://[:@][:]`. +// It uses the settings `postgres..uri` which must have the following URI format: `postgresql://[:@][:]`. // The database name is not part of the setting: the operator derives it from the stack and the service. -// Additionally, the uri can define a query param `secret` indicating a k8s secret that must be used to retrieve database credentials. +// Additionally, the URI can define a query param `secret` indicating a k8s secret that must be used to retrieve database credentials. // Credentials in the secret are expected to be URL-encoded by default. Set `secretCredentialsEncoding=raw` to let the operator encode them. // // On creation, the reconciler behind the Database object will create the database on the postgresql server using a k8s job. @@ -59,12 +59,12 @@ type DatabaseStatus struct { // Database resource honors `aws.service-account` setting, so, you can create databases on an AWS server if you need. // See [AWS accounts](#aws-account) // -// Once a database is fully configured, it retains the postgres uri used. -// If the setting that specifies the server uri changes, the Database object will set the field `.status.outOfSync` to true +// Once a database is fully configured, it retains the postgres URI used. +// If the setting that specifies the server URI changes, the Database object will set the field `.status.outOfSync` to true // and will not change anything. // // Therefore, to switch to a new server, you must change the setting value, then drop the Database object. -// It will be recreated with the correct uri. +// It will be recreated with the correct URI. // +kubebuilder:object:root=true // +kubebuilder:subresource:status // +kubebuilder:resource:scope=Cluster diff --git a/api/formance.com/v1beta1/settings_types.go b/api/formance.com/v1beta1/settings_types.go index 263b15a09..f61a79d51 100644 --- a/api/formance.com/v1beta1/settings_types.go +++ b/api/formance.com/v1beta1/settings_types.go @@ -53,7 +53,7 @@ type SettingsSpec struct { // // This example creates a setting named `postgres-uri` targeting the stack named `stack0` and the service `ledger` (see the key `postgres.ledger.uri`). // -// Therefore, a [Database](#database) created for the stack `stack0` and the service named 'ledger' will use the uri `postgresql://postgresql.formance.svc.cluster.local:5432`. +// Therefore, a [Database](#database) created for the stack `stack0` and the service named 'ledger' will use the URI `postgresql://postgresql.formance.svc.cluster.local:5432`. // // Settings supports wildcards in keys and in the stacks list. // diff --git a/config/crd/bases/formance.com_databases.yaml b/config/crd/bases/formance.com_databases.yaml index 7fcb7b264..e4672ffd0 100644 --- a/config/crd/bases/formance.com_databases.yaml +++ b/config/crd/bases/formance.com_databases.yaml @@ -37,9 +37,9 @@ spec: description: |- Database represents a concrete database on a PostgreSQL server. Modules that require a database create it ([Ledger](#ledger), for example). - It uses the settings `postgres..uri` which must have the following uri format: `postgresql://[:@][:]`. + It uses the settings `postgres..uri` which must have the following URI format: `postgresql://[:@][:]`. The database name is not part of the setting: the operator derives it from the stack and the service. - Additionally, the uri can define a query param `secret` indicating a k8s secret that must be used to retrieve database credentials. + Additionally, the URI can define a query param `secret` indicating a k8s secret that must be used to retrieve database credentials. Credentials in the secret are expected to be URL-encoded by default. Set `secretCredentialsEncoding=raw` to let the operator encode them. On creation, the reconciler behind the Database object will create the database on the postgresql server using a k8s job. @@ -51,12 +51,12 @@ spec: Database resource honors `aws.service-account` setting, so, you can create databases on an AWS server if you need. See [AWS accounts](#aws-account) - Once a database is fully configured, it retains the postgres uri used. - If the setting that specifies the server uri changes, the Database object will set the field `.status.outOfSync` to true + Once a database is fully configured, it retains the postgres URI used. + If the setting that specifies the server URI changes, the Database object will set the field `.status.outOfSync` to true and will not change anything. Therefore, to switch to a new server, you must change the setting value, then drop the Database object. - It will be recreated with the correct uri. + It will be recreated with the correct URI. properties: apiVersion: description: |- @@ -157,7 +157,7 @@ spec: type: string outOfSync: description: |- - OutOfSync indicates that a setting changed the uri of the postgres server + OutOfSync indicates that a setting changed the URI of the postgres server The Database object must be removed so that it can be recreated type: boolean ready: diff --git a/config/crd/bases/formance.com_settings.yaml b/config/crd/bases/formance.com_settings.yaml index a1c83fab3..28bb94395 100644 --- a/config/crd/bases/formance.com_settings.yaml +++ b/config/crd/bases/formance.com_settings.yaml @@ -34,7 +34,7 @@ spec: creates a setting named `postgres-uri` targeting the stack named `stack0` and the service `ledger` (see the key `postgres.ledger.uri`).\n\nTherefore, a [Database](#database) created for the stack `stack0` and the service named - 'ledger' will use the uri `postgresql://postgresql.formance.svc.cluster.local:5432`.\n\nSettings + 'ledger' will use the URI `postgresql://postgresql.formance.svc.cluster.local:5432`.\n\nSettings supports wildcards in keys and in the stacks list.\n\nFor example, if you want to use the same database server for all the modules of a specific stack, you can write:\n```yaml\napiVersion: formance.com/v1beta1\nkind: Settings\nmetadata:\n\n\tname: diff --git a/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_databases.formance.com.yaml b/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_databases.formance.com.yaml index 4409d1dc6..616baf20e 100644 --- a/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_databases.formance.com.yaml +++ b/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_databases.formance.com.yaml @@ -40,9 +40,9 @@ spec: description: |- Database represents a concrete database on a PostgreSQL server. Modules that require a database create it ([Ledger](#ledger), for example). - It uses the settings `postgres..uri` which must have the following uri format: `postgresql://[:@][:]`. + It uses the settings `postgres..uri` which must have the following URI format: `postgresql://[:@][:]`. The database name is not part of the setting: the operator derives it from the stack and the service. - Additionally, the uri can define a query param `secret` indicating a k8s secret that must be used to retrieve database credentials. + Additionally, the URI can define a query param `secret` indicating a k8s secret that must be used to retrieve database credentials. Credentials in the secret are expected to be URL-encoded by default. Set `secretCredentialsEncoding=raw` to let the operator encode them. On creation, the reconciler behind the Database object will create the database on the postgresql server using a k8s job. @@ -54,12 +54,12 @@ spec: Database resource honors `aws.service-account` setting, so, you can create databases on an AWS server if you need. See [AWS accounts](#aws-account) - Once a database is fully configured, it retains the postgres uri used. - If the setting that specifies the server uri changes, the Database object will set the field `.status.outOfSync` to true + Once a database is fully configured, it retains the postgres URI used. + If the setting that specifies the server URI changes, the Database object will set the field `.status.outOfSync` to true and will not change anything. Therefore, to switch to a new server, you must change the setting value, then drop the Database object. - It will be recreated with the correct uri. + It will be recreated with the correct URI. properties: apiVersion: description: |- @@ -160,7 +160,7 @@ spec: type: string outOfSync: description: |- - OutOfSync indicates that a setting changed the uri of the postgres server + OutOfSync indicates that a setting changed the URI of the postgres server The Database object must be removed so that it can be recreated type: boolean ready: diff --git a/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_settings.formance.com.yaml b/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_settings.formance.com.yaml index be01bcb4f..f0878ba91 100644 --- a/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_settings.formance.com.yaml +++ b/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_settings.formance.com.yaml @@ -37,7 +37,7 @@ spec: creates a setting named `postgres-uri` targeting the stack named `stack0` and the service `ledger` (see the key `postgres.ledger.uri`).\n\nTherefore, a [Database](#database) created for the stack `stack0` and the service named - 'ledger' will use the uri `postgresql://postgresql.formance.svc.cluster.local:5432`.\n\nSettings + 'ledger' will use the URI `postgresql://postgresql.formance.svc.cluster.local:5432`.\n\nSettings supports wildcards in keys and in the stacks list.\n\nFor example, if you want to use the same database server for all the modules of a specific stack, you can write:\n```yaml\napiVersion: formance.com/v1beta1\nkind: Settings\nmetadata:\n\n\tname: From 51bb0c5ab3e980ac9807b3ab43ce0a13eee9ef82 Mon Sep 17 00:00:00 2001 From: Ariel Yahav Date: Fri, 14 Aug 2026 16:51:50 +0100 Subject: [PATCH 5/8] fix(api): use a neutral host example for the gateway ingress `formance.example.com` put the product name in front of the user's own domain, which reads oddly for a self-hosted deployment. Use `stack.example.com`: still under the RFC 2606 reserved domain, so it can never resolve, and it names what is being served rather than who ships it. --- api/formance.com/v1beta1/gateway_types.go | 2 +- config/crd/bases/formance.com_gateways.yaml | 2 +- ...8s.io_v1_customresourcedefinition_gateways.formance.com.yaml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/api/formance.com/v1beta1/gateway_types.go b/api/formance.com/v1beta1/gateway_types.go index 2aa718994..5cd215863 100644 --- a/api/formance.com/v1beta1/gateway_types.go +++ b/api/formance.com/v1beta1/gateway_types.go @@ -28,7 +28,7 @@ type GatewayIngressTLS struct { // GatewayIngress represents the ingress configuration for the gateway. type GatewayIngress struct { // Indicates the hostname on which the stack will be served. - // Example: `formance.example.com` + // Example: `stack.example.com` //+required Host string `json:"host"` // Additional hosts for the ingress. Combined with Host. diff --git a/config/crd/bases/formance.com_gateways.yaml b/config/crd/bases/formance.com_gateways.yaml index 9ccb0b3f3..488e6e1cc 100644 --- a/config/crd/bases/formance.com_gateways.yaml +++ b/config/crd/bases/formance.com_gateways.yaml @@ -82,7 +82,7 @@ spec: host: description: |- Indicates the hostname on which the stack will be served. - Example: `formance.example.com` + Example: `stack.example.com` type: string hosts: description: Additional hosts for the ingress. Combined with Host. diff --git a/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_gateways.formance.com.yaml b/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_gateways.formance.com.yaml index 303df1fd5..19f4b0cd4 100644 --- a/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_gateways.formance.com.yaml +++ b/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_gateways.formance.com.yaml @@ -85,7 +85,7 @@ spec: host: description: |- Indicates the hostname on which the stack will be served. - Example: `formance.example.com` + Example: `stack.example.com` type: string hosts: description: Additional hosts for the ingress. Combined with Host. From 826fbe5f9c38b40eb4f30751254e55977c4c1dac Mon Sep 17 00:00:00 2001 From: Ariel Yahav Date: Fri, 14 Aug 2026 16:51:59 +0100 Subject: [PATCH 6/8] fix(api): name the subject in the package and module descriptions The package comment opened with a bare "It lets you configure...", where "it" could be read as the package, the API group or the operator. Name the subject instead. The Ledger and Connectivity comments said the resource "installs an instance", which describes the operator's job rather than the resource's. Say what the resource declares and what creating it causes. --- api/formance.com/v1beta1/connectivity_types.go | 2 +- api/formance.com/v1beta1/groupversion_info.go | 2 +- api/formance.com/v1beta1/ledger_types.go | 2 +- config/crd/bases/formance.com_connectivities.yaml | 2 +- config/crd/bases/formance.com_ledgers.yaml | 2 +- ...v1_customresourcedefinition_connectivities.formance.com.yaml | 2 +- ...k8s.io_v1_customresourcedefinition_ledgers.formance.com.yaml | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/api/formance.com/v1beta1/connectivity_types.go b/api/formance.com/v1beta1/connectivity_types.go index d8eb1e68f..46fdd235f 100644 --- a/api/formance.com/v1beta1/connectivity_types.go +++ b/api/formance.com/v1beta1/connectivity_types.go @@ -29,7 +29,7 @@ type ConnectivityStatus struct { Status `json:",inline"` } -// Connectivity is the module that installs a connectivity instance. +// Connectivity declares the connectivity module on a stack. Creating it makes the operator deploy a connectivity instance. // // Connectivity ingests data from external sources (blockchains, payment // providers, ...) through a plugin system and writes double-entry diff --git a/api/formance.com/v1beta1/groupversion_info.go b/api/formance.com/v1beta1/groupversion_info.go index 886c236c6..e035b8120 100644 --- a/api/formance.com/v1beta1/groupversion_info.go +++ b/api/formance.com/v1beta1/groupversion_info.go @@ -16,7 +16,7 @@ limitations under the License. // Package v1beta1 contains API Schema definitions for the formance v1beta1 API group. // -// It lets you configure a Formance stack. +// These definitions let you configure a Formance stack. // // A stack is composed of a [Stack](#stack) resource and some [modules](#modules). // diff --git a/api/formance.com/v1beta1/ledger_types.go b/api/formance.com/v1beta1/ledger_types.go index e63be4af7..867381867 100644 --- a/api/formance.com/v1beta1/ledger_types.go +++ b/api/formance.com/v1beta1/ledger_types.go @@ -33,7 +33,7 @@ type LedgerStatus struct { Status `json:",inline"` } -// Ledger is the module that installs a ledger instance. +// Ledger declares the ledger module on a stack. Creating it makes the operator deploy a ledger instance. // // The ledger is a stateful application that manages financial transactions // and maintains an immutable audit trail. diff --git a/config/crd/bases/formance.com_connectivities.yaml b/config/crd/bases/formance.com_connectivities.yaml index a6ae73277..38a9b43b8 100644 --- a/config/crd/bases/formance.com_connectivities.yaml +++ b/config/crd/bases/formance.com_connectivities.yaml @@ -37,7 +37,7 @@ spec: schema: openAPIV3Schema: description: |- - Connectivity is the module that installs a connectivity instance. + Connectivity declares the connectivity module on a stack. Creating it makes the operator deploy a connectivity instance. Connectivity ingests data from external sources (blockchains, payment providers, ...) through a plugin system and writes double-entry diff --git a/config/crd/bases/formance.com_ledgers.yaml b/config/crd/bases/formance.com_ledgers.yaml index 7206ce47f..a94932ef9 100644 --- a/config/crd/bases/formance.com_ledgers.yaml +++ b/config/crd/bases/formance.com_ledgers.yaml @@ -37,7 +37,7 @@ spec: schema: openAPIV3Schema: description: |- - Ledger is the module that installs a ledger instance. + Ledger declares the ledger module on a stack. Creating it makes the operator deploy a ledger instance. The ledger is a stateful application that manages financial transactions and maintains an immutable audit trail. diff --git a/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_connectivities.formance.com.yaml b/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_connectivities.formance.com.yaml index 8503cc724..eec667f77 100644 --- a/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_connectivities.formance.com.yaml +++ b/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_connectivities.formance.com.yaml @@ -40,7 +40,7 @@ spec: schema: openAPIV3Schema: description: |- - Connectivity is the module that installs a connectivity instance. + Connectivity declares the connectivity module on a stack. Creating it makes the operator deploy a connectivity instance. Connectivity ingests data from external sources (blockchains, payment providers, ...) through a plugin system and writes double-entry diff --git a/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_ledgers.formance.com.yaml b/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_ledgers.formance.com.yaml index 922884876..7059e8a38 100644 --- a/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_ledgers.formance.com.yaml +++ b/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_ledgers.formance.com.yaml @@ -40,7 +40,7 @@ spec: schema: openAPIV3Schema: description: |- - Ledger is the module that installs a ledger instance. + Ledger declares the ledger module on a stack. Creating it makes the operator deploy a ledger instance. The ledger is a stateful application that manages financial transactions and maintains an immutable audit trail. From 018a6e82d62136e86df3fd9dc413be693e45dc82 Mon Sep 17 00:00:00 2001 From: Ariel Yahav Date: Fri, 14 Aug 2026 16:52:09 +0100 Subject: [PATCH 7/8] fix(api): rewrite the ResourceReference description The opening line defined the resource in terms of itself ("a resource used to refer to resources") and only named the concrete kinds a paragraph later. Lead with what it gives you and two concrete examples, fold the "Why?" fragment into a full sentence, and drop the now-redundant sentence listing the kinds. Also fixes "the ResourceReconciler owner": the owner is the resource that created the ResourceReference (a Database, for example). There is no ResourceReconciler type -- `WithResourceReconciler` in internal/core is a generic reconciler helper, not the owner. --- .../v1beta1/resourcereference_types.go | 15 ++++---- .../formance.com_resourcereferences.yaml | 36 ++++++++++--------- ...ition_resourcereferences.formance.com.yaml | 36 ++++++++++--------- 3 files changed, 45 insertions(+), 42 deletions(-) diff --git a/api/formance.com/v1beta1/resourcereference_types.go b/api/formance.com/v1beta1/resourcereference_types.go index b72811670..3532926fd 100644 --- a/api/formance.com/v1beta1/resourcereference_types.go +++ b/api/formance.com/v1beta1/resourcereference_types.go @@ -34,19 +34,18 @@ type ResourceReferenceStatus struct { Hash string `json:"hash,omitempty"` } -// ResourceReference is a special resource used to refer to externally created resources. +// ResourceReference gives a stack access to a Kubernetes object created outside the operator — for example a secret +// holding the credentials of an existing Postgres server, or a service account granting access to AWS. // -// It includes k8s service accounts and secrets. -// -// Why? Because the operator creates one namespace per stack, so a stack does not have access to secrets and service -// accounts created externally. +// The indirection is needed because the operator gives each stack its own namespace, and a stack cannot read secrets +// or service accounts that live in another namespace. // // A ResourceReference is created by another resource that needs a specific secret or service account. // For example, if you want to use a secret for your database connection (see [Database](#database)), you will // create a setting indicating a secret name. You will need to create this secret yourself, and you will put this // secret inside the namespace you want (`default` maybe). // -// The Database reconciler will create a ResourceReference that looks like this: +// The Database reconciler creates a ResourceReference with the following shape: // ``` // apiVersion: formance.com/v1beta1 // kind: ResourceReference @@ -75,10 +74,10 @@ type ResourceReferenceStatus struct { // ... // // ``` -// The reconciler behind this ResourceReference searches all namespaces for a secret named "postgres". +// The ResourceReference reconciler then searches every namespace for a secret named `postgres`. // The secret must have a label `formance.com/stack` with the value matching either a specific stack or `any` to target any stack. // -// Once the reconciler has found the secret, it will copy it inside the stack namespace, allowing the ResourceReconciler owner to use it. +// Once the reconciler has found the secret, it copies it into the stack namespace, so the owner of the ResourceReference can use it. // +kubebuilder:object:root=true // +kubebuilder:subresource:status // +kubebuilder:resource:scope=Cluster diff --git a/config/crd/bases/formance.com_resourcereferences.yaml b/config/crd/bases/formance.com_resourcereferences.yaml index 8bec50396..e0e4842ac 100644 --- a/config/crd/bases/formance.com_resourcereferences.yaml +++ b/config/crd/bases/formance.com_resourcereferences.yaml @@ -26,26 +26,28 @@ spec: name: v1beta1 schema: openAPIV3Schema: - description: "ResourceReference is a special resource used to refer to externally - created resources.\n\nIt includes k8s service accounts and secrets.\n\nWhy? - Because the operator creates one namespace per stack, so a stack does not - have access to secrets and service\naccounts created externally.\n\nA ResourceReference - is created by another resource that needs a specific secret or service account.\nFor - example, if you want to use a secret for your database connection (see [Database](#database)), + description: "ResourceReference gives a stack access to a Kubernetes object + created outside the operator — for example a secret\nholding the credentials + of an existing Postgres server, or a service account granting access to + AWS.\n\nThe indirection is needed because the operator gives each stack + its own namespace, and a stack cannot read secrets\nor service accounts + that live in another namespace.\n\nA ResourceReference is created by another + resource that needs a specific secret or service account.\nFor example, + if you want to use a secret for your database connection (see [Database](#database)), you will\ncreate a setting indicating a secret name. You will need to create this secret yourself, and you will put this\nsecret inside the namespace - you want (`default` maybe).\n\nThe Database reconciler will create a ResourceReference - that looks like this:\n```\napiVersion: formance.com/v1beta1\nkind: ResourceReference\nmetadata:\n\n\tname: - jqkuffjxcezj-qlii-auth-postgres\n\townerReferences:\n\t- apiVersion: formance.com/v1beta1\n\t - \ blockOwnerDeletion: true\n\t controller: true\n\t kind: Database\n\t - \ name: jqkuffjxcezj-qlii-auth\n\t uid: 2cc4b788-3ffb-4e3d-8a30-07ed3941c8d2\n\nspec:\n\n\tgvk:\n\t + you want (`default` maybe).\n\nThe Database reconciler creates a ResourceReference + with the following shape:\n```\napiVersion: formance.com/v1beta1\nkind: + ResourceReference\nmetadata:\n\n\tname: jqkuffjxcezj-qlii-auth-postgres\n\townerReferences:\n\t- + apiVersion: formance.com/v1beta1\n\t blockOwnerDeletion: true\n\t controller: + true\n\t kind: Database\n\t name: jqkuffjxcezj-qlii-auth\n\t uid: 2cc4b788-3ffb-4e3d-8a30-07ed3941c8d2\n\nspec:\n\n\tgvk:\n\t \ group: \"\"\n\t kind: Secret\n\t version: v1\n\tname: postgres\n\tstack: - jqkuffjxcezj-qlii\n\nstatus:\n\n\t...\n\n```\nThe reconciler behind this - ResourceReference searches all namespaces for a secret named \"postgres\".\nThe - secret must have a label `formance.com/stack` with the value matching either - a specific stack or `any` to target any stack.\n\nOnce the reconciler has - found the secret, it will copy it inside the stack namespace, allowing the - ResourceReconciler owner to use it." + jqkuffjxcezj-qlii\n\nstatus:\n\n\t...\n\n```\nThe ResourceReference reconciler + then searches every namespace for a secret named `postgres`.\nThe secret + must have a label `formance.com/stack` with the value matching either a + specific stack or `any` to target any stack.\n\nOnce the reconciler has + found the secret, it copies it into the stack namespace, so the owner of + the ResourceReference can use it." properties: apiVersion: description: |- diff --git a/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_resourcereferences.formance.com.yaml b/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_resourcereferences.formance.com.yaml index d5075dad5..e6eaf76cc 100644 --- a/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_resourcereferences.formance.com.yaml +++ b/helm/crds/templates/crds/apiextensions.k8s.io_v1_customresourcedefinition_resourcereferences.formance.com.yaml @@ -29,26 +29,28 @@ spec: name: v1beta1 schema: openAPIV3Schema: - description: "ResourceReference is a special resource used to refer to externally - created resources.\n\nIt includes k8s service accounts and secrets.\n\nWhy? - Because the operator creates one namespace per stack, so a stack does not - have access to secrets and service\naccounts created externally.\n\nA ResourceReference - is created by another resource that needs a specific secret or service account.\nFor - example, if you want to use a secret for your database connection (see [Database](#database)), + description: "ResourceReference gives a stack access to a Kubernetes object + created outside the operator — for example a secret\nholding the credentials + of an existing Postgres server, or a service account granting access to + AWS.\n\nThe indirection is needed because the operator gives each stack + its own namespace, and a stack cannot read secrets\nor service accounts + that live in another namespace.\n\nA ResourceReference is created by another + resource that needs a specific secret or service account.\nFor example, + if you want to use a secret for your database connection (see [Database](#database)), you will\ncreate a setting indicating a secret name. You will need to create this secret yourself, and you will put this\nsecret inside the namespace - you want (`default` maybe).\n\nThe Database reconciler will create a ResourceReference - that looks like this:\n```\napiVersion: formance.com/v1beta1\nkind: ResourceReference\nmetadata:\n\n\tname: - jqkuffjxcezj-qlii-auth-postgres\n\townerReferences:\n\t- apiVersion: formance.com/v1beta1\n\t - \ blockOwnerDeletion: true\n\t controller: true\n\t kind: Database\n\t - \ name: jqkuffjxcezj-qlii-auth\n\t uid: 2cc4b788-3ffb-4e3d-8a30-07ed3941c8d2\n\nspec:\n\n\tgvk:\n\t + you want (`default` maybe).\n\nThe Database reconciler creates a ResourceReference + with the following shape:\n```\napiVersion: formance.com/v1beta1\nkind: + ResourceReference\nmetadata:\n\n\tname: jqkuffjxcezj-qlii-auth-postgres\n\townerReferences:\n\t- + apiVersion: formance.com/v1beta1\n\t blockOwnerDeletion: true\n\t controller: + true\n\t kind: Database\n\t name: jqkuffjxcezj-qlii-auth\n\t uid: 2cc4b788-3ffb-4e3d-8a30-07ed3941c8d2\n\nspec:\n\n\tgvk:\n\t \ group: \"\"\n\t kind: Secret\n\t version: v1\n\tname: postgres\n\tstack: - jqkuffjxcezj-qlii\n\nstatus:\n\n\t...\n\n```\nThe reconciler behind this - ResourceReference searches all namespaces for a secret named \"postgres\".\nThe - secret must have a label `formance.com/stack` with the value matching either - a specific stack or `any` to target any stack.\n\nOnce the reconciler has - found the secret, it will copy it inside the stack namespace, allowing the - ResourceReconciler owner to use it." + jqkuffjxcezj-qlii\n\nstatus:\n\n\t...\n\n```\nThe ResourceReference reconciler + then searches every namespace for a secret named `postgres`.\nThe secret + must have a label `formance.com/stack` with the value matching either a + specific stack or `any` to target any stack.\n\nOnce the reconciler has + found the secret, it copies it into the stack namespace, so the owner of + the ResourceReference can use it." properties: apiVersion: description: |- From 8368585bf05a467fa1f01eb547f166bb31b34425 Mon Sep 17 00:00:00 2001 From: Ariel Yahav Date: Fri, 14 Aug 2026 16:52:09 +0100 Subject: [PATCH 8/8] chore(docs): regenerate the CRD configuration reference --- .../02-Custom Resource Definitions.md | 37 +++++++++---------- 1 file changed, 18 insertions(+), 19 deletions(-) diff --git a/docs/09-Configuration reference/02-Custom Resource Definitions.md b/docs/09-Configuration reference/02-Custom Resource Definitions.md index 6951d3260..4932f6efa 100644 --- a/docs/09-Configuration reference/02-Custom Resource Definitions.md +++ b/docs/09-Configuration reference/02-Custom Resource Definitions.md @@ -8,7 +8,7 @@ Package v1beta1 contains API Schema definitions for the formance v1beta1 API group. -It lets you configure a Formance stack. +These definitions let you configure a Formance stack. A stack is composed of a [Stack](#stack) resource and some [modules](#modules). @@ -178,7 +178,7 @@ spec: This example creates a setting named `postgres-uri` targeting the stack named `stack0` and the service `ledger` (see the key `postgres.ledger.uri`). -Therefore, a [Database](#database) created for the stack `stack0` and the service named 'ledger' will use the uri `postgresql://postgresql.formance.svc.cluster.local:5432`. +Therefore, a [Database](#database) created for the stack `stack0` and the service named 'ledger' will use the URI `postgresql://postgresql.formance.svc.cluster.local:5432`. Settings supports wildcards in keys and in the stacks list. @@ -509,7 +509,7 @@ The auth service is basically a proxy to another OIDC compliant server. -Connectivity is the module that installs a connectivity instance. +Connectivity declares the connectivity module on a stack. Creating it makes the operator deploy a connectivity instance. Connectivity ingests data from external sources (blockchains, payment providers, ...) through a plugin system and writes double-entry @@ -678,7 +678,7 @@ GatewayIngress represents the ingress configuration for the gateway. | Field | Description | Default | Validation | | --- | --- | --- | --- | -| `host` _string_ | Indicates the hostname on which the stack will be served.
Example: `formance.example.com` | | | +| `host` _string_ | Indicates the hostname on which the stack will be served.
Example: `stack.example.com` | | | | `hosts` _string array_ | Additional hosts for the ingress. Combined with Host. | | | | `scheme` _string_ | Indicates the scheme.
It should be `https` unless you know what you are doing. | https | | | `ingressClassName` _string_ | Ingress class to use | | | @@ -745,7 +745,7 @@ GatewayIngress represents the ingress configuration for the gateway. -Ledger is the module that installs a ledger instance. +Ledger declares the ledger module on a stack. Creating it makes the operator deploy a ledger instance. The ledger is a stateful application that manages financial transactions and maintains an immutable audit trail. @@ -2236,9 +2236,9 @@ BrokerTopic is the Schema for the brokertopics API Database represents a concrete database on a PostgreSQL server. Modules that require a database create it ([Ledger](#ledger), for example). -It uses the settings `postgres..uri` which must have the following uri format: `postgresql://[:@][:]`. +It uses the settings `postgres..uri` which must have the following URI format: `postgresql://[:@][:]`. The database name is not part of the setting: the operator derives it from the stack and the service. -Additionally, the uri can define a query param `secret` indicating a k8s secret that must be used to retrieve database credentials. +Additionally, the URI can define a query param `secret` indicating a k8s secret that must be used to retrieve database credentials. Credentials in the secret are expected to be URL-encoded by default. Set `secretCredentialsEncoding=raw` to let the operator encode them. On creation, the reconciler behind the Database object will create the database on the postgresql server using a k8s job. @@ -2250,12 +2250,12 @@ Be careful: no backup is performed! Database resource honors `aws.service-account` setting, so, you can create databases on an AWS server if you need. See [AWS accounts](#aws-account) -Once a database is fully configured, it retains the postgres uri used. -If the setting that specifies the server uri changes, the Database object will set the field `.status.outOfSync` to true +Once a database is fully configured, it retains the postgres URI used. +If the setting that specifies the server URI changes, the Database object will set the field `.status.outOfSync` to true and will not change anything. Therefore, to switch to a new server, you must change the setting value, then drop the Database object. -It will be recreated with the correct uri. +It will be recreated with the correct URI. @@ -2337,7 +2337,7 @@ It will be recreated with the correct uri. | `info` _string_ | Info can contain any additional detail, such as reconciliation errors | | | | `uri` _string_ | | | Type: string
| | `database` _string_ | The generated database name | | | -| `outOfSync` _boolean_ | OutOfSync indicates that a setting changed the uri of the postgres server
The Database object must be removed so that it can be recreated | | | +| `outOfSync` _boolean_ | OutOfSync indicates that a setting changed the URI of the postgres server
The Database object must be removed so that it can be recreated | | | #### GatewayGRPCAPI @@ -2802,19 +2802,18 @@ OtelExporterEndpointStatus represents the observed state of an OtelExporterEndpo -ResourceReference is a special resource used to refer to externally created resources. +ResourceReference gives a stack access to a Kubernetes object created outside the operator — for example a secret +holding the credentials of an existing Postgres server, or a service account granting access to AWS. -It includes k8s service accounts and secrets. - -Why? Because the operator creates one namespace per stack, so a stack does not have access to secrets and service -accounts created externally. +The indirection is needed because the operator gives each stack its own namespace, and a stack cannot read secrets +or service accounts that live in another namespace. A ResourceReference is created by another resource that needs a specific secret or service account. For example, if you want to use a secret for your database connection (see [Database](#database)), you will create a setting indicating a secret name. You will need to create this secret yourself, and you will put this secret inside the namespace you want (`default` maybe). -The Database reconciler will create a ResourceReference that looks like this: +The Database reconciler creates a ResourceReference with the following shape: ``` apiVersion: formance.com/v1beta1 kind: ResourceReference @@ -2843,10 +2842,10 @@ status: ... ``` -The reconciler behind this ResourceReference searches all namespaces for a secret named "postgres". +The ResourceReference reconciler then searches every namespace for a secret named `postgres`. The secret must have a label `formance.com/stack` with the value matching either a specific stack or `any` to target any stack. -Once the reconciler has found the secret, it will copy it inside the stack namespace, allowing the ResourceReconciler owner to use it. +Once the reconciler has found the secret, it copies it into the stack namespace, so the owner of the ResourceReference can use it.