.spec.version
or the .spec.versionsFromFile
field (Refer to the documentation of Versions resource.
The version
field will have priority over versionFromFile
.
If versions
and versionsFromFile
are not specified, “latest” will be used.
Field | Description | Default | Validation |
---|---|---|---|
apiVersion string | formance.com/v1beta1 | ||
kind string | Stack | ||
metadata ObjectMeta | Refer to Kubernetes API documentation for fields of metadata . | ||
spec StackSpec | |||
status StackStatus |
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 | false | |
disabled boolean | Disabled indicate the stack is disabled. A disabled stack disable everything It just keeps the namespace and the Database resources. | false |
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 | ||
modules string array | Modules register detected modules |
postgres-uri
targeting the stack named stack0
and the service ledger
(see the key postgres.ledger.uri
).
Therefore, a 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.
For example, if you want to use the same database server for all the modules of a specific stack, you can write :
aws-access
.
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 :
formance.com/stack=any
indicating we are targeting all stacks.
Refer to the documentation of ResourceReference for further information.logging.json
with the value true
to configure elligible service to log as json.
Example:
Field | Description | Default | Validation |
---|---|---|---|
apiVersion string | formance.com/v1beta1 | ||
kind string | Settings | ||
metadata ObjectMeta | Refer to Kubernetes API documentation for fields of metadata . | ||
spec SettingsSpec |
Field | Description | Default | Validation |
---|---|---|---|
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 to discover them. | ||
value string | The value. It must have a specific format following the Key. |
Field | Description | Default | Validation |
---|---|---|---|
apiVersion string | formance.com/v1beta1 | ||
kind string | Analytics | ||
metadata ObjectMeta | Refer to Kubernetes API documentation for fields of metadata . | ||
spec AnalyticsSpec | |||
status AnalyticsStatus |
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 | ||
stack string | Stack indicates the stack on which the module is installed |
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 |
Field | Description | Default | Validation |
---|---|---|---|
apiVersion string | formance.com/v1beta1 | ||
kind string | Auth | ||
metadata ObjectMeta | Refer to Kubernetes API documentation for fields of metadata . | ||
spec AuthSpec | |||
status AuthStatus |
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 | ||
stack string | Stack indicates the stack on which the module is installed | ||
delegatedOIDCServer 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 | 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 |
Field | Description | Default | Validation |
---|---|---|---|
issuer string | Issuer is the url of the delegated oidc server | ||
clientID string | ClientID is the client id to use for authentication | ||
clientSecret string | ClientSecret is the client secret to use for authentication | ||
clientSecretFromSecret SecretKeySelector | ClientSecretFromSecret is the client secret to use for authentication |
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 | ||
clients string array | Clients contains the list of clients created using AuthClient |
Field | Description | Default | Validation |
---|---|---|---|
apiVersion string | formance.com/v1beta1 | ||
kind string | Gateway | ||
metadata ObjectMeta | Refer to Kubernetes API documentation for fields of metadata . | ||
spec GatewaySpec | |||
status GatewayStatus |
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 | Allow to customize the generated ingress |
Field | Description | Default | Validation |
---|---|---|---|
host string | Indicates the hostname on which the stack will be served. Example : formance.example.com | ||
scheme string | Indicate the scheme. Actually, 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 | Allow to customize the tls part of the ingress |
Field | Description | Default | Validation |
---|---|---|---|
secretName string | Specify the secret name used for the tls configuration on the ingress |
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 | ||
syncHTTPAPIs string array | Detected http apis. See GatewayHTTPAPI |
ledger.deployment-strategy
with either the value :
Field | Description | Default | Validation |
---|---|---|---|
apiVersion string | formance.com/v1beta1 | ||
kind string | Ledger | ||
metadata ObjectMeta | Refer to Kubernetes API documentation for fields of metadata . | ||
spec LedgerSpec | |||
status LedgerStatus |
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 | ||
stack string | Stack indicates the stack on which the module is installed | ||
deploymentStrategy DeploymentStrategy | Deprecated. | single | |
locking LockingStrategy | Locking is intended for ledger v1 only |
Field | Description | Default | Validation |
---|---|---|---|
strategy string | memory | ||
redis LockingStrategyRedisConfig |
Field | Description | Default | Validation |
---|---|---|---|
uri string | |||
tls boolean | false | ||
insecure boolean | false | ||
duration string | |||
retry string |
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 |
Field | Description | Default | Validation |
---|---|---|---|
apiVersion string | formance.com/v1beta1 | ||
kind string | Orchestration | ||
metadata ObjectMeta | Refer to Kubernetes API documentation for fields of metadata . | ||
spec OrchestrationSpec | |||
status OrchestrationStatus |
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 |
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 | ||
temporalURI string | Type: string |
Field | Description | Default | Validation |
---|---|---|---|
apiVersion string | formance.com/v1beta1 | ||
kind string | Payments | ||
metadata ObjectMeta | Refer to Kubernetes API documentation for fields of metadata . | ||
spec PaymentsSpec | |||
status PaymentsStatus |
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 | ||
encryptionKey string |
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 |
Field | Description | Default | Validation |
---|---|---|---|
apiVersion string | formance.com/v1beta1 | ||
kind string | Reconciliation | ||
metadata ObjectMeta | Refer to Kubernetes API documentation for fields of metadata . | ||
spec ReconciliationSpec | |||
status ReconciliationStatus |
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 |
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 |
Field | Description | Default | Validation |
---|---|---|---|
apiVersion string | formance.com/v1beta1 | ||
kind string | Search | ||
metadata ObjectMeta | Refer to Kubernetes API documentation for fields of metadata . | ||
spec SearchSpec | |||
status SearchStatus |
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 | ||
batching Batching |
Field | Description | Default | Validation |
---|---|---|---|
count integer | Count indicates the number of messages that can be kept in memory before being flushed to ElasticSearch | ||
period string | Period indicates the maximum duration messages can be kept in memory before being flushed to ElasticSearch |
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 | ||
elasticSearchURI string | Type: string | ||
topicCleaned boolean | TopicCleaned is used to flag stacks where the topics have been cleaned (still search-ledgerv2 and co consumers) | false |
Field | Description | Default | Validation |
---|---|---|---|
apiVersion string | formance.com/v1beta1 | ||
kind string | Stargate | ||
metadata ObjectMeta | Refer to Kubernetes API documentation for fields of metadata . | ||
spec StargateSpec | |||
status StargateStatus |
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 | ||
stack string | Stack indicates the stack on which the module is installed | ||
serverURL string | |||
organizationID string | |||
stackID string | |||
auth StargateAuthSpec |
Field | Description | Default | Validation |
---|---|---|---|
clientID string | |||
clientSecret string | |||
issuer string |
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 |
Field | Description | Default | Validation |
---|---|---|---|
apiVersion string | formance.com/v1beta1 | ||
kind string | Wallets | ||
metadata ObjectMeta | Refer to Kubernetes API documentation for fields of metadata . | ||
spec WalletsSpec | |||
status WalletsStatus |
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 | ||
stack string | Stack indicates the stack on which the module is installed |
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 |
Field | Description | Default | Validation |
---|---|---|---|
apiVersion string | formance.com/v1beta1 | ||
kind string | Webhooks | ||
metadata ObjectMeta | Refer to Kubernetes API documentation for fields of metadata . | ||
spec WebhooksSpec | |||
status WebhooksStatus |
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 |
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 |
Field | Description | Default | Validation |
---|---|---|---|
apiVersion string | formance.com/v1beta1 | ||
kind string | AuthClient | ||
metadata ObjectMeta | Refer to Kubernetes API documentation for fields of metadata . | ||
spec AuthClientSpec | |||
status AuthClientStatus |
Field | Description | Default | Validation |
---|---|---|---|
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 | |
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 | ||
secretFromSecret SecretKeySelector |
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 | ||
hash string |
Field | Description | Default | Validation |
---|---|---|---|
apiVersion string | formance.com/v1beta1 | ||
kind string | Benthos | ||
metadata ObjectMeta | Refer to Kubernetes API documentation for fields of metadata . | ||
spec BenthosSpec | |||
status BenthosStatus |
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 | |
resourceRequirements ResourceRequirements | |||
batching Batching | |||
initContainers Container array |
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 | ||
elasticSearchURI string | Type: string |
Field | Description | Default | Validation |
---|---|---|---|
apiVersion string | formance.com/v1beta1 | ||
kind string | BenthosStream | ||
metadata ObjectMeta | Refer to Kubernetes API documentation for fields of metadata . | ||
spec BenthosStreamSpec | |||
status BenthosStreamStatus |
Field | Description | Default | Validation |
---|---|---|---|
stack string | Stack indicates the stack on which the module is installed | ||
data string | |||
name string |
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 |
Field | Description | Default | Validation |
---|---|---|---|
apiVersion string | formance.com/v1beta1 | ||
kind string | Broker | ||
metadata ObjectMeta | Refer to Kubernetes API documentation for fields of metadata . | ||
spec BrokerSpec | |||
status BrokerStatus |
Field | Description | Default | Validation |
---|---|---|---|
stack string | Stack indicates the stack on which the module is installed |
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 | ||
uri string | Type: string | ||
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 |
Field | Description | Default | Validation |
---|---|---|---|
apiVersion string | formance.com/v1beta1 | ||
kind string | BrokerConsumer | ||
metadata ObjectMeta | Refer to Kubernetes API documentation for fields of metadata . | ||
spec BrokerConsumerSpec | |||
status BrokerConsumerStatus |
Field | Description | Default | Validation |
---|---|---|---|
stack string | Stack indicates the stack on which the module is installed | ||
services string array | |||
queriedBy string | |||
name string | As the name is optional, if not provided, the name will be the QueriedBy property This is only applied when using one stream by stack see Mode |
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 |
Field | Description | Default | Validation |
---|---|---|---|
apiVersion string | formance.com/v1beta1 | ||
kind string | BrokerTopic | ||
metadata ObjectMeta | Refer to Kubernetes API documentation for fields of metadata . | ||
spec BrokerTopicSpec | |||
status BrokerTopicStatus |
Field | Description | Default | Validation |
---|---|---|---|
stack string | Stack indicates the stack on which the module is installed | ||
service string |
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 |
postgres.<module-name>.uri
which must have the following uri format: postgresql://[<username>@<password>]@<host>/<db-name>
Additionally, the uri can define a query param secret
indicating a k8s secret, than must be used to retrieve database credentials.
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.
You can allow the reconciler to drop the database on the server by using the 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!
Database resource honors aws.service-account
setting, so, you can create databases on an AWS server if you need.
See AWS accounts
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
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.
Field | Description | Default | Validation |
---|---|---|---|
apiVersion string | formance.com/v1beta1 | ||
kind string | Database | ||
metadata ObjectMeta | Refer to Kubernetes API documentation for fields of metadata . | ||
spec DatabaseSpec | |||
status DatabaseStatus |
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 <stack-name><service> | ||
debug boolean | false |
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 | ||
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 |
Field | Description | Default | Validation |
---|---|---|---|
apiVersion string | formance.com/v1beta1 | ||
kind string | GatewayHTTPAPI | ||
metadata ObjectMeta | Refer to Kubernetes API documentation for fields of metadata . | ||
spec GatewayHTTPAPISpec | |||
status GatewayHTTPAPIStatus |
Field | Description | Default | Validation |
---|---|---|---|
stack string | Stack indicates the stack on which the module is installed | ||
name string | Name indicates prefix api | ||
rules GatewayHTTPAPIRule array | Rules | ||
healthCheckEndpoint string | Health check endpoint |
Field | Description | Default | Validation |
---|---|---|---|
path string | |||
methods string array | |||
secured boolean | false |
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 | ||
ready boolean |
default
maybe).
The Database reconciler will create a ResourceReference looking like that :
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.
Field | Description | Default | Validation |
---|---|---|---|
apiVersion string | formance.com/v1beta1 | ||
kind string | ResourceReference | ||
metadata ObjectMeta | Refer to Kubernetes API documentation for fields of metadata . | ||
spec ResourceReferenceSpec | |||
status ResourceReferenceStatus |
Field | Description | Default | Validation |
---|---|---|---|
stack string | Stack indicates the stack on which the module is installed | ||
gvk GroupVersionKind | |||
name string |
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 | ||
syncedResource string | |||
hash string |
Field | Description | Default | Validation |
---|---|---|---|
apiVersion string | formance.com/v1beta1 | ||
kind string | Versions | ||
metadata ObjectMeta | Refer to Kubernetes API documentation for fields of metadata . | ||
spec object (keys:string, values:string) |