"""Configuration for the vw-eu-data-act-exporter.""" # --- HTTP Server ------------------------------------------------------- hostName = "127.0.0.1" serverPort = 9109 # Prefix for all exported Prometheus metrics. # Must be a valid Prometheus metric name prefix: [a-zA-Z_:][a-zA-Z0-9_:]* exporter_prefix = "vw_eu_data_act_exporter_" # --- VW Group EU Data Act Portal Account -------------------------------- # https://eu-data-act.drivesomethinggreater.com/ # All VINs configured below must belong to this account. vw_account = { "email": "you@example.com", "password": "changeme", } # --- Vehicles -------------------------------------------------------------- # List of vehicle VINs to scrape (17 characters). vins = [ "AAABBCCEEF75854df", ] # --- HTTP Client ------------------------------------------------------------- # Pool of User-Agent strings. A random entry is picked for each login # session against the portal. user_agents = [ "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.2 Safari/605.1.15", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", ] # --- Scrape behavior --------------------------------------------------------- # Interval in minutes at which each VIN is polled in the background. # The portal only produces new "continuous" data records roughly every # ~15 minutes - a shorter interval will not yield fresher data, but will # increase the login frequency against the VW account. scrape_interval_minutes = 15 # --- Raw JSON persistence --------------------------------------------------- # Optional: write the JSON extracted from every downloaded dataset to disk # (one file per VIN per scrape), e.g. to inspect the portal's payload while # improving the field mapping in vw-eu-data-act-exporter.py. Also extracts # and persists the JSON from "_no_content_found.zip" placeholders, if they # carry one. ZIP files themselves are never written to disk. Disabled by # default, since the exporter is designed to be stateless (see README.md). persist_raw_json = False # Under the systemd unit enable ProtectSystem=strict if exporting of jsons is not needed persist_raw_json_dir = "raw_json" # --- Logging --------------------------------------------------------------- log_level = "INFO"