# YAML Config Snippets

This section contains snippets of YAML config for different areas of Rosetta functionality. For descriptions of each property, see the Configuration Properties Reference. These snippets are intended to be used as a reference and for providing a quick starting point: any config taken from here should be altered/adapted to suit the required use-case. Properties will typically be populated with the default value if applicable, or dummy/illustrative values otherwise.

# File Entity Config Source

rosetta:
  entity_source:
    file:
      enabled: true
      base_directory: /entities
      providers_directory: providers # The full path to the providers directory will be '/entities/providers'
      glyphs_directory: glyphs
      profiles_directory: profiles
      views_directory: views
      max_depth: 100
      priority: -1

The above YAML config uses the following file structure:

entities/
  providers/
    provider_1.json
    provider_2.json
    provider_3.json
  glyphs/
    my_glyph.json
    data_transform.json
    request_transform.json
  profiles/
    my_profile.json
  views/
    my_view.json

where each file in each of the specific entity directories must be JSON file with the schema of their respective entity kind.

E.g. if provider_1.json were an Elasticsearch provider, its file contents may look like:

{
  "name": "provider_1",
  "type": "elasticsearch",
  "properties": {
    "protocol": "http",
    "host": "localhost",
    "port": "9200",
    "index": "my-index"
  }
}

# Caching

rosetta:
  cache:
    enabled: true
  service:
    enabled: true
  cache_ttl_millis: 180000
  manager:
    enabled: true
    priority: 0
    initial_capacity: 10
    maximum_size: 100
    expire_after_write: 5m
    expire_after_access: 30s