





# Don't change this file unless it's something you intend to commit.

# If you want to override any options locally, create a .env file, and use dot notation to target the element you want to change.
# See the Config section of the README for more info.







development: &default
  maintenance: 
    enabled: false
    message: # Enter a message or leave blank to disable
  databases:
    default_insar: standard
    insar:
      standard:
        alias: Standard
        host: localhost
        port: 5432
        database: dev_insar_standard
        username: postgres
        password: postgres
        enabled: true
        colour: '#005791'
      rural:
        alias: Rural
        host: localhost
        port: 5432
        database: dev_insar_rural
        username: postgres
        password: postgres
        enabled: true
        colour: '#009900'
      hr:
        alias: HR
        host: localhost
        port: 5432
        database: dev_insar_hr
        username: postgres
        password: postgres
        enabled: true
        colour: '#990000'
    logs:
      host: localhost
      port: 5432
      database: dev_logs
      username: postgres
      password: postgres
      enabled: false
    users:
      host: localhost
      port: 5432
      database: dev_apps
      username: postgres
      password: postgres
  tiles:
    mapbox:
      access_token: access_token
      static_map: satellite-streets-v12
      interactive_map: satellite-streets-v12
      user: mapbox
    renderer: pyvips         # pyvips|cairo
    grid_enabled: false      # false will use the unclustered data at all zoom levels - this will be too slow in large databases
    grid_switch: 15          # Zoom levels lower than this will use the grid
    grid_suffix: _grid       # Database table suffix for the grid
    grid_polygon: square     # square|hexagon
    grid_opacity: 0.5        # Opacity at the 'low' level if the point_threshold  for the layer is not met
    minimum_size: 0.5        # Minimum width of a point
    base_point_size_zoom: 19 # The zoom level at which a point is 1m wide, doubling size below and halving above this level
    multiplier: 1            # Fine-tune the point size with a multiplier - changing will invalidate generated grids
    velocity_switch: 18
    scale_min_days: 1095
    earliest_date: 20140101
    layers:
        custom_points:   { "model": "CustomPoint", "point_threshold": 4, "name": "Points",                    "orbit": "asc",  "group": "​Custom",   "column": "value",    "database": "standard", "table": "custom_points", "range": [0,0] }
        asc:             { "model": "PointAsc",    "point_threshold": 2, "name": "Ascending",                 "orbit": "asc",  "group": "Sentinel", "column": "velocity", "database": "standard", "table": "points_asc" }
        desc:            { "model": "PointDesc",   "point_threshold": 2, "name": "Descending",                "orbit": "desc", "group": "Sentinel", "column": "velocity", "database": "standard", "table": "points_desc" }
        rural_asc:       { "model": "PointAsc",    "point_threshold": 2, "name": "Ascending Rural",           "orbit": "asc",  "group": "Sentinel", "column": "velocity", "database": "rural",    "table": "points_asc" }
        rural_desc:      { "model": "PointDesc",   "point_threshold": 2, "name": "Descending Rural",          "orbit": "desc", "group": "Sentinel", "column": "velocity", "database": "rural",    "table": "points_desc" }
        alos2_asc:       { "model": "PointAsc",    "point_threshold": 2, "name": "Ascending",                 "orbit": "asc",  "group": "ALOS-2",   "column": "velocity", "database": "standard", "table": "points_asc" }
        alos2_rural_asc: { "model": "PointAsc",    "point_threshold": 2, "name": "Ascending Rural",           "orbit": "asc",  "group": "ALOS-2",   "column": "velocity", "database": "rural",    "table": "points_asc" }
        csk_asc:         { "model": "PointAsc",    "point_threshold": 4, "name": "Ascending",                 "orbit": "asc",  "group": "CSK",      "column": "velocity", "database": "hr",       "table": "points_asc" }
        csk_desc:        { "model": "PointDesc",   "point_threshold": 4, "name": "Descending",                "orbit": "desc", "group": "CSK",      "column": "velocity", "database": "hr",       "table": "points_desc" }
        tsx_asc:         { "model": "PointAsc",    "point_threshold": 4, "name": "Ascending",                 "orbit": "asc",  "group": "TSX",      "column": "velocity", "database": "hr",       "table": "points_asc" }
        tsx_desc:        { "model": "PointDesc",   "point_threshold": 4, "name": "Descending",                "orbit": "desc", "group": "TSX",      "column": "velocity", "database": "hr",       "table": "points_desc" }
        asc_rmse:        { "model": "PointAsc",    "point_threshold": 4, "name": "Sentinel Ascending",        "orbit": "asc",  "group": "​RMSE",     "column": "rmse",     "database": "standard", "table": "points_asc",  "range": [0,5] }
        desc_rmse:       { "model": "PointDesc",   "point_threshold": 4, "name": "Sentinel Descending",       "orbit": "desc", "group": "​RMSE",     "column": "rmse",     "database": "standard", "table": "points_desc", "range": [0,5] }
        rural_asc_rmse:  { "model": "PointAsc",    "point_threshold": 4, "name": "Sentinel Ascending Rural",  "orbit": "asc",  "group": "​RMSE",     "column": "rmse",     "database": "rural",    "table": "points_asc",  "range": [0,5] }
        rural_desc_rmse: { "model": "PointDesc",   "point_threshold": 4, "name": "Sentinel Descending Rural", "orbit": "desc", "group": "​RMSE",     "column": "rmse",     "database": "rural",    "table": "points_desc", "range": [0,5] }
        csk_asc_rmse:    { "model": "PointAsc",    "point_threshold": 4, "name": "CSK Ascending" ,            "orbit": "asc",  "group": "​RMSE",     "column": "rmse",     "database": "hr",       "table": "points_asc",  "range": [0,5] }
        csk_desc_rmse:   { "model": "PointDesc",   "point_threshold": 4, "name": "CSK Descending",            "orbit": "desc", "group": "​RMSE",     "column": "rmse",     "database": "hr",       "table": "points_desc", "range": [0,5] }
        tsx_asc_rmse:    { "model": "PointAsc",    "point_threshold": 4, "name": "TSX Ascending" ,            "orbit": "asc",  "group": "​RMSE",     "column": "rmse",     "database": "hr",       "table": "points_asc",  "range": [0,5] }
        tsx_desc_rmse:   { "model": "PointDesc",   "point_threshold": 4, "name": "TSX Descending",            "orbit": "desc", "group": "​RMSE",     "column": "rmse",     "database": "hr",       "table": "points_desc", "range": [0,5] }
    colours:
      velocity: { "0": "rgba(202,0,32,A)", "1": "rgba(229,43,71,A)", "2": "rgba(242,104,125,A)", "3": "rgba(247,158,172,A)", "4": "rgba(255,206,214,A)", "5": "rgba(255,255,255,A)", "6": "rgba(255,255,255,A)", "7": "rgba(206,237,255,A)", "8": "rgba(143,199,232,A)", "9": "rgba(89,171,219,A)", "10": "rgba(33,136,196,A)", "11": "rgba(5,113,176,A)" }
      rmse: { "0": "rgba(0,0,0,A)", "1": "rgba(23,0,23,A)", "2": "rgba(46,0,46,A)", "3": "rgba(69,0,69,A)", "4": "rgba(92,0,92,A)", "5": "rgba(115,0,115,A)", "6": "rgba(138,0,138,A)", "7": "rgba(161,0,161,A)", "8": "rgba(184,0,184,A)", "9": "rgba(207,0,207,A)", "10": "rgba(230,0,230,A)", "11": "rgba(255,0,255,A)" }
      value: { "0": "rgba(202,0,32,A)", "1": "rgba(229,43,71,A)", "2": "rgba(242,104,125,A)", "3": "rgba(247,158,172,A)", "4": "rgba(255,206,214,A)", "5": "rgba(255,255,255,A)", "6": "rgba(255,255,255,A)", "7": "rgba(206,237,255,A)", "8": "rgba(143,199,232,A)", "9": "rgba(89,171,219,A)", "10": "rgba(33,136,196,A)", "11": "rgba(5,113,176,A)" }
      points: 
      - rgba(117, 255, 51, 1)
      - rgba(51, 247, 255, 1)
      - rgba(219, 255, 51, 1)
      - rgba(255, 51, 241, 1)
      - rgba(255, 202, 51, 1)
      - rgba(184, 51, 255, 1)
      - rgba(204, 178, 124, 1)
      - rgba(190, 204, 124, 1)
      - rgba(150, 204, 124, 1)
      - rgba(204, 203, 124, 1)
      - rgba(124, 191, 204, 1)
  logs:
    errors: false # Store errors as Events if true 
    internal_requests: false # Set to true to store all API requests, regardless of any other setting
    excluded_user_ids: # Comma-separated list of User IDs to not skip storing API requests by default
  notifications:
    vapid_private_key: vapid_private_key
    vapid_public_key: vapid_public_key
  points:
    default_limit: 5000
  server_api_key: testing
  filterable_resource_limit: 250
  satbots:
    running_limit: 2
    duplicates_allowed: 1
    duplicates_days_within: 5
    working_directory: /tmp/satbots
    jwt_secret: super_secret_key
    archive_age_in_days: 7
    ingester_path: /page/to/ingester
    ingester_venv_python_path: /path/to/ingester/python
    ingestion_enabled: false
    available_envs: development
    frames_directory: /path/to/frames
    backups_directory: /path/to/postgres
    backups_retention_days: 90
    teams_webhook:
    sample_database:
      limit: 10_000_000
      alembic: /path/to/alembic
    aws:
      access_key_id: access_key_id
      secret_access_key: secret_access_key
      region_name: eu-west-2
      vault:
        account_id: vault_account_id
        name: vault_name
    imports:
      batch_size: 250
      displacements:
        DISPS_APS: { "mapping": "Cumulative_Displacement_APS", "enabled": false }
        DISPS_SMOOTH: { "mapping": "Cumulative_Displacement_TSmooth", "enabled": true }
      h5_location: tests/async_tasks/{frame_name}.h5
      h5_data_location: test/async_tasks/{frame_name}/data.h5
      host: satsense
  base_url: http://localhost:5555
  download_base_directory: /path/to/directory
  order_download_base_directory: /path/to/portal
  orders:
    timeseries_per_1000_sqm: 4.0
    timeseries_minimum_price: 299
    maximum_sellable_area: 1000000
  application_domain: http://localhost:5000
  email:
    testing: false
    mail_server: mail.satsense.com
    mail_port: 587
    mail_use_tls: true
    mail_use_ssl: false
    mail_username: mail_username
    mail_password: mail_password
    default_mail_sender: noreply@satsense.com
  captcha:
    enabled: true
    secret: 1x0000000000000000000000000000000AA
    sitekey: 1x00000000000000000000AA
test:
  <<: *default
  tiles:
      grid_opacity: 0.5
  databases:
    insar:
      standard:
        alias: Standard
        host: localhost
        port: 5432
        database: test_insar_standard
        username: postgres
        password: postgres
        enabled: true
        colour: '#0099ff'
      rural:
        alias: Standard
        host: localhost
        port: 5432
        database: test_insar_rural
        username: postgres
        password: postgres
        enabled: true
        colour: '#0099ff'
      hr:
        alias: HR
        host: localhost
        port: 5432
        database: test_insar_hr
        username: postgres
        password: postgres
        enabled: true
        colour: '#0099ff'
    users:
      database: test_apps
    logs:
      database: test_logs
      enabled: true
  logs:
    internal_requests: true
  satbots:
    ingestion_enabled: true
    teams_webhook:
    aws:
      access_key_id: access_key_id
      secret_access_key: secret_access_key
      region_name:  region_name
      vault:
        account_id: account_id
        name: name
staging:
  <<: *default
production:
  <<: *default
