Removes whitby DNS records and other related configuration that is no longer required now that whitby is gone. whitby served us well. RIP. This resolves b/433. Change-Id: I56fe6f88cde9112fc3bfc79758ac33e88a743422 Reviewed-on: https://cl.tvl.fyi/c/depot/+/13117 Reviewed-by: sterni <sternenseemann@systemli.org> Tested-by: BuildkiteCI Autosubmit: tazjin <tazjin@tvl.su>
		
			
				
	
	
		
			106 lines
		
	
	
	
		
			2.8 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			106 lines
		
	
	
	
		
			2.8 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
| # Runs the TVL Monitoring setup (currently Grafana + Prometheus).
 | |
| { depot, pkgs, config, lib, ... }:
 | |
| 
 | |
| {
 | |
|   # Required for prometheus to be able to scrape stats
 | |
|   services.nginx.statusPage = true;
 | |
| 
 | |
|   # Configure Prometheus & Grafana. Exporter configuration for
 | |
|   # Prometheus is inside the respective service modules.
 | |
|   services.prometheus = {
 | |
|     enable = true;
 | |
|     retentionTime = "90d";
 | |
| 
 | |
|     exporters = {
 | |
|       node = {
 | |
|         enable = true;
 | |
| 
 | |
|         enabledCollectors = [
 | |
|           "logind"
 | |
|           "processes"
 | |
|           "systemd"
 | |
|         ];
 | |
|       };
 | |
| 
 | |
|       nginx = {
 | |
|         enable = true;
 | |
|         sslVerify = false;
 | |
|         constLabels = [ "host=${config.networking.hostName}" ];
 | |
|       };
 | |
|     };
 | |
| 
 | |
|     scrapeConfigs = [{
 | |
|       job_name = "node";
 | |
|       scrape_interval = "5s";
 | |
|       static_configs = [{
 | |
|         targets = [ "localhost:${toString config.services.prometheus.exporters.node.port}" ];
 | |
|       }];
 | |
|     }
 | |
|       {
 | |
|         job_name = "nginx";
 | |
|         scrape_interval = "5s";
 | |
|         static_configs = [{
 | |
|           targets = [ "localhost:${toString config.services.prometheus.exporters.nginx.port}" ];
 | |
|         }];
 | |
|       }];
 | |
|   };
 | |
| 
 | |
|   services.grafana = {
 | |
|     enable = true;
 | |
| 
 | |
|     settings = {
 | |
|       server = {
 | |
|         http_port = 4723; # "graf" on phone keyboard
 | |
|         domain = "status.tvl.su";
 | |
|         root_url = "https://status.tvl.su";
 | |
|       };
 | |
| 
 | |
|       analytics.reporting_enabled = false;
 | |
| 
 | |
|       "auth.generic_oauth" = {
 | |
|         enabled = true;
 | |
|         client_id = "grafana";
 | |
|         scopes = "openid profile email";
 | |
|         name = "TVL";
 | |
|         email_attribute_path = "mail";
 | |
|         login_attribute_path = "sub";
 | |
|         name_attribute_path = "displayName";
 | |
|         auth_url = "https://auth.tvl.fyi/auth/realms/TVL/protocol/openid-connect/auth";
 | |
|         token_url = "https://auth.tvl.fyi/auth/realms/TVL/protocol/openid-connect/token";
 | |
|         api_url = "https://auth.tvl.fyi/auth/realms/TVL/protocol/openid-connect/userinfo";
 | |
| 
 | |
|         # Give lukegb, aspen, tazjin "Admin" rights.
 | |
|         role_attribute_path = "((sub == 'lukegb' || sub == 'aspen' || sub == 'tazjin') && 'Admin') || 'Editor'";
 | |
| 
 | |
|         # Allow creating new Grafana accounts from OAuth accounts.
 | |
|         allow_sign_up = true;
 | |
|       };
 | |
| 
 | |
|       "auth.anonymous" = {
 | |
|         enabled = true;
 | |
|         org_name = "The Virus Lounge";
 | |
|         org_role = "Viewer";
 | |
|       };
 | |
| 
 | |
|       "auth.basic".enabled = false;
 | |
| 
 | |
|       auth = {
 | |
|         oauth_auto_login = true;
 | |
|         disable_login_form = true;
 | |
|       };
 | |
|     };
 | |
| 
 | |
|     provision = {
 | |
|       enable = true;
 | |
|       datasources.settings.datasources = [{
 | |
|         name = "Prometheus";
 | |
|         type = "prometheus";
 | |
|         url = "http://localhost:9090";
 | |
|       }];
 | |
|     };
 | |
|   };
 | |
| 
 | |
|   # Contains GF_AUTH_GENERIC_OAUTH_CLIENT_SECRET.
 | |
|   systemd.services.grafana.serviceConfig.EnvironmentFile = config.age.secretsDir + "/grafana";
 | |
| }
 | |
| 
 |