services:
  web:
    apollo-api:
      description: 'Apollo API'
      attrs:
        style: 'filled'
        color: '#cb997e'
      depends_on:
        - dsp-api
        - vendor-api
        - admin-api-nginx
    dsp-api:
      description: 'DSP API'
      attrs:
        style: 'filled'
        color: '#cb997e'
      depends_on:
        - vendor-api
        - admin-api-nginx
        - delphi-api
    vendor-api:
      description: 'Vendor API'
      attrs:
        style: 'filled'
        color: '#cb997e'
      depends_on:
        - spotify-api
        - apple-music-api
        - delphi-api
    traefik:
      description: 'Traefik'
      attrs:
        style: 'filled'
        color: '#ddbea9'
      depends_on:
        - apollo-api
        - dsp-api
        - vendor-api
        - auth-api
        - user-data-api
        - gate-api
        - admin-api-nginx
        - nginx-options
    auth-api:
      description: 'Auth API'
      attrs:
        style: 'filled'
        color: '#cb997e'
    apolloapp:
      description: 'Apollo Web Portal'
      attrs:
        style: 'filled'
        color: '#cb997e'
      depends_on:
        - traefik
        - private-api
        - admin-api-nginx
    private-api:
      description: 'Private API'
      attrs:
        style: 'filled'
        color: '#cb997e'
      depends_on:
        - apollo-api
        - dsp-api
        - vendor-api
        - user-data-api
        - gate-api
        - admin-api-nginx
    user-data-api:
      description: 'User Data API'
      attrs:
        style: 'filled'
        color: '#cb997e'
      depends_on:
        - traefik
        - private-api
    gate-api:
      description: 'Gate API'
      attrs:
        style: 'filled'
        color: '#cb997e'
      depends_on:
        - apollo-api
        - dsp-api
        - vendor-api
        - admin-api-nginx
        - user-data-api
    admin-api-nginx:
      description: 'Admin API Nginx'
      attrs:
        style: 'filled'
        color: '#ddbea9'
      depends_on:
        - admin-api
    nginx-options:
      description: 'Nginx OPTIONS'
      attrs:
        style: 'filled'
        color: '#ddbea9'
  scheduled:
    global_track_priorities_tracks:
      description: 'GTP scheduled task'
      attrs:
        style: 'filled'
        color: '#ffe8d6'
      depends_on:
        - vendor-api
    new_music_friday_tracks:
      description: 'NMF scheduled task'
      attrs:
        style: 'filled'
        color: '#ffe8d6'
      depends_on:
        - vendor-api
    personalized_playlists_update:
      description: 'Personalized playlists update scheduled task'
      attrs:
        style: 'filled'
        color: '#ffe8d6'
      depends_on:
        - delphi-api
    update_streams_cache:
      description: 'Update streams cache scheduled task'
      attrs:
        style: 'filled'
        color: '#ffe8d6'
      depends_on:
        - dsp-api
  lambdas:
    save_push_receipts:
      description: 'Save Push Receipts lambda'
      attrs:
        style: 'filled'
        color: '#b7b7a4'
      depends_on:
        - user-data-api
    apollo_api_health_check:
      description: 'Save Push Receipts lambda'
      attrs:
        style: 'filled'
        color: '#b7b7a4'
      depends_on:
        - apollo-api
        - dsp-api
    backfill_missing_charts_data:
      description: 'Save Push Receipts lambda'
      attrs:
        style: 'filled'
        color: '#b7b7a4'
      depends_on:
        - dsp-api
    handle_user_changes:
      description: 'Save Push Receipts lambda'
      attrs:
        style: 'filled'
        color: '#b7b7a4'
      depends_on:
        - apollo-api
        - admin-api-nginx
    update_market_vendors:
      description: 'Save Push Receipts lambda'
      attrs:
        style: 'filled'
        color: '#b7b7a4'
      depends_on:
        - spotify-api
        - apple-music-api
  external:
    delphi-api:
      description: 'Delphi API'
    spotify-api:
      description: 'Spotify API'
    apple-music-api:
      description: 'Apple Music API'
    admin-api:
      description: 'Admin API .NET'
