config.yaml
configurations¶
The config.yaml
file is the main configuration file for a Talos project. It defines the essential settings and parameters to configure your Talos application. Below is a detailed explanation of each section of the config.yaml
file:
Sample manifest file:¶
name: ${{superstore}}
description: ${{A talos-depot-postgres app}} # description
version: 0.1.26 # talos image version
logLevel: ${{'DEBUG'}}
auth:
userGroups:
- name: datadev # name of the user group
description: data dev group
includes:
- users:id:iamgroot
- users:id:thisisthor
- name: default
description: Default group to accept everyone
includes: "*"
metrics:
type: ${{summary}} # type of metric collection: histogram or summary
percentiles: [ 0.5, 0.75, 0.95, 0.98, 0.99, 0.999 ] # (For summary) Defines the percentiles to be calculated
# buckets: [ 0.003, 0.03, 0.1, 0.3, 1.5, 10, 20, 50 ] # (For histogram) Defines bucket boundaries for the histogram.
rateLimit:
enabled: true
options:
interval:
min: 1 # interval in minutes
max: 100 # max number of api request in interarval
delayAfter: 5 # delay of 5 min after max attempt
cors: # Cross-Origin Resource Sharing
enabled: true
options:
origin: ${{'https://google.com'}} # allowed origin for requests.
allowMethods: 'GET' # HTTP methods allowed
cachePath: tmp
sources: # source details
- name: ${{snowflakedepot}} # source name
type: ${{depot}} # source type
name
¶
Description: Unique identifier for the Talos.
Data Type | Requirement | Default Value | Possible Values |
---|---|---|---|
string | mandatory | none | Alphanumeric values with the RegEx [a-z0-9]([-a-z0-9]*[a-z0-9]) |
Example Usage:
description
¶
Description: Brief description of the Talos.
Data Type | Requirement | Default Value | Possible Values |
---|---|---|---|
string | mandatory | none | Any descriptive text |
Example Usage:
version
¶
Description: The version of the Talos.
Data Type | Requirement | Default Value | Possible Values |
---|---|---|---|
string | mandatory | none | Alphanumeric values with the RegEx [a-z0-9]([-a-z0-9]*[a-z0-9]) |
Example Usage:
logLevel
¶
Description: The level of logging detail.
Data Type | Requirement | Default Value | Possible Values |
---|---|---|---|
string | mandatory | none | DEBUG, INFO, WARN, ERROR |
Example Usage:
auth
¶
Description: Authentication configuration.
userGroups
¶
Description: Defines user groups with specific permissions.
Data Type | Requirement | Default Value | Possible Values |
---|---|---|---|
list | mandatory | none | List of user groups with their details |
Example Usage:
auth:
userGroups:
- name: intern
description: intern group
includes:
- users:id:iamgroot
- name: datadev
description: data dev group
includes:
- roles:id:data-dev
- name: Name of the user group.
- description: Description of the user group.
- includes: Specifies roles or users included in the group.
- excludes: Specifies roles or users excluded from the group.
metrics
¶
Description: Configuration for metrics collection.
type
¶
Description: Defines the type of metrics. It can be a histogram
or summary
.
Data Type | Requirement | Default Value | Possible Values |
---|---|---|---|
string | mandatory | none | summary, histogram |
percentiles
¶
Description: (For summary) Defines the percentiles to be calculated.
Data Type | Requirement | Default Value | Possible Values |
---|---|---|---|
list of floats | mandatory | none | List of percentiles |
Example Usage:
buckets
¶
Description: (For histogram) Defines bucket boundaries for the histogram.
Data Type | Requirement | Default Value | Possible Values |
---|---|---|---|
list of floats | mandatory | none | List of scaling |
Example Usage:
rateLimit
¶
Description: The rate limiting configuration that defines the maximum number of requests allowed per minute.
Example Usage:
enabled
¶
Description: Enables or disables rate limiting
Data Type | Requirement | Default Value | Possible Values |
---|---|---|---|
boolean | mandatory | none | true, false |
options
¶
Description: Configures rate limiting options.
Data Type | Requirement | Default Value | Possible Values |
---|---|---|---|
object | mandatory | none | Contains interval and max options |
interval
¶
Description: Defines the time interval for rate limiting.
Data Type | Requirement | Default Value | Possible Values |
---|---|---|---|
object | mandatory | none | Contains ‘min’ option |
min
¶
Description: The time interval, in minutes, during which the maximum number of allowed API requests can be made.
Data Type | Requirement | Default Value | Possible Values |
---|---|---|---|
integer | mandatory | none | Interval in minutes |
max
¶
Description: Maximum number of requests allowed in the interval.
Data Type | Requirement | Default Value | Possible Values |
---|---|---|---|
integer | mandatory | none | Maximum number of requests allowed |
delayAfter
¶
Description: The delay time, in minutes, imposed after the maximum number of API requests has been reached.
Data Type | Requirement | Default Value | Possible Values |
---|---|---|---|
integer | mandatory | none | Delayed time in Minutes |
cors
¶
Description: Cross-Origin Resource Sharing configuration.
enabled
¶
Description: Enables or disables CORS.
Data Type | Requirement | Default Value | Possible Values |
---|---|---|---|
boolean | mandatory | none | true, false |
options
¶
Description: Configures CORS settings.
Data Type | Requirement | Default Value | Possible Values |
---|---|---|---|
object | mandatory | none | Contains origin and allow methods options |
origin
¶
Description: Specifies the allowed origin for requests.
Data Type | Requirement | Default Value | Possible Values |
---|---|---|---|
string | mandatory | none | Any valid URL |
allowMethods
¶
Description: Specifies the HTTP methods allowed for requests.
Data Type | Requirement | Default Value | Possible Values |
---|---|---|---|
string | mandatory | none | List of HTTP methods |
Example Usage:
cachePath
¶
Description: Path for cache storage.
Data Type | Requirement | Default Value | Possible Values |
---|---|---|---|
string | mandatory | none | Any valid file path |
Example Usage:
sources
¶
Description: Configuration for data sources.
name
¶
Description: Name of the data source.
Data Type | Requirement | Default Value | Possible Values |
---|---|---|---|
string | mandatory | none | Any valid name |
type
¶
Description: Type of the data source (e.g., Depot, duckdb
, pg
).
Data Type | Requirement | Default Value | Possible Values |
---|---|---|---|
string | mandatory | none | Type of the data source (e.g., pg, mySQL) or Depot |