// services
digraph services {
	"dsp-api" -> "delphi-api"
	"vendor-api" -> "spotify-api"
	"vendor-api" -> "apple-music-api"
	"vendor-api" -> "delphi-api"
	"admin-api-nginx" -> "admin-api"
	subgraph cluster_web {
		label=web
		"apollo-api" [label="Apollo API" color="#cb997e" style=filled]
		"apollo-api" -> "dsp-api"
		"apollo-api" -> "vendor-api"
		"apollo-api" -> "admin-api-nginx"
		"dsp-api" [label="DSP API" color="#cb997e" style=filled]
		"dsp-api" -> "vendor-api"
		"dsp-api" -> "admin-api-nginx"
		"vendor-api" [label="Vendor API" color="#cb997e" style=filled]
		traefik [label=Traefik color="#ddbea9" style=filled]
		traefik -> "apollo-api"
		traefik -> "dsp-api"
		traefik -> "vendor-api"
		traefik -> "auth-api"
		traefik -> "user-data-api"
		traefik -> "gate-api"
		traefik -> "admin-api-nginx"
		traefik -> "nginx-options"
		"auth-api" [label="Auth API" color="#cb997e" style=filled]
		apolloapp [label="Apollo Web Portal" color="#cb997e" style=filled]
		apolloapp -> traefik
		apolloapp -> "private-api"
		apolloapp -> "admin-api-nginx"
		"private-api" [label="Private API" color="#cb997e" style=filled]
		"private-api" -> "apollo-api"
		"private-api" -> "dsp-api"
		"private-api" -> "vendor-api"
		"private-api" -> "user-data-api"
		"private-api" -> "gate-api"
		"private-api" -> "admin-api-nginx"
		"user-data-api" [label="User Data API" color="#cb997e" style=filled]
		"user-data-api" -> traefik
		"user-data-api" -> "private-api"
		"gate-api" [label="Gate API" color="#cb997e" style=filled]
		"gate-api" -> "apollo-api"
		"gate-api" -> "dsp-api"
		"gate-api" -> "vendor-api"
		"gate-api" -> "admin-api-nginx"
		"gate-api" -> "user-data-api"
		"admin-api-nginx" [label="Admin API Nginx" color="#ddbea9" style=filled]
		"nginx-options" [label="Nginx OPTIONS" color="#ddbea9" style=filled]
	}
	global_track_priorities_tracks -> "vendor-api"
	new_music_friday_tracks -> "vendor-api"
	personalized_playlists_update -> "delphi-api"
	update_streams_cache -> "dsp-api"
	subgraph cluster_scheduled {
		label=scheduled
		global_track_priorities_tracks [label="GTP scheduled task" color="#ffe8d6" style=filled]
		new_music_friday_tracks [label="NMF scheduled task" color="#ffe8d6" style=filled]
		personalized_playlists_update [label="Personalized playlists update scheduled task" color="#ffe8d6" style=filled]
		update_streams_cache [label="Update streams cache scheduled task" color="#ffe8d6" style=filled]
	}
	save_push_receipts -> "user-data-api"
	apollo_api_health_check -> "apollo-api"
	apollo_api_health_check -> "dsp-api"
	backfill_missing_charts_data -> "dsp-api"
	handle_user_changes -> "apollo-api"
	handle_user_changes -> "admin-api-nginx"
	update_market_vendors -> "spotify-api"
	update_market_vendors -> "apple-music-api"
	subgraph cluster_lambdas {
		label=lambdas
		save_push_receipts [label="Save Push Receipts lambda" color="#b7b7a4" style=filled]
		apollo_api_health_check [label="Save Push Receipts lambda" color="#b7b7a4" style=filled]
		backfill_missing_charts_data [label="Save Push Receipts lambda" color="#b7b7a4" style=filled]
		handle_user_changes [label="Save Push Receipts lambda" color="#b7b7a4" style=filled]
		update_market_vendors [label="Save Push Receipts lambda" color="#b7b7a4" style=filled]
	}
	subgraph cluster_external {
		label=external
		"delphi-api" [label="Delphi API"]
		"spotify-api" [label="Spotify API"]
		"apple-music-api" [label="Apple Music API"]
		"admin-api" [label="Admin API .NET"]
	}
}
