diff --git a/README.md b/README.md index e69de29..32033ea 100644 --- a/README.md +++ b/README.md @@ -0,0 +1,52 @@ +# tailscalesd + +> Service discovery for tailscale + +Returns a list of services for Prometheus to scrape, with some extra smarts for Guardian Project Ops. + +See [the prometheus docs][0] for more information on the HTTP service discovery format. + +[0]: https://prometheus.io/docs/prometheus/latest/http_sd/ + +## Usage + +### Configuration + +Configuration values can be set using environment variables, or optionally loaded from an environment file. The settings include: + +- **host** (`TAILSCALESD_HOST`): The host address on which the application will bind (designed to be used in a container, BE CAREFUL!). Default is `0.0.0.0`. +- **port** (`TAILSCALESD_PORT`): The port number on which the application will be accessible. Default is `9242`. +- **interval** (`TAILSCALESD_INTERVAL`): The interval on which the Tailscale API is polled in seconds. Default is `60`. +- **tailnet** (`TAILSCALESD_TAILNET`): The Tailscale tailnet identifier (required). +- **api_key** (`TAILSCALESD_API_KEY`): The Tailscale API key (required). + +#### Environment File + +You can also specify an environment file to load configuration values. The path to the environment file should be set in the `TAILSCALESD_ENV_FILE` environment variable. All of the config values can be provided in the env file. + +**Example Environment File** (`env`): + +```env +TAILSCALESD_TAILNET=my-tailnet +TAILSCALESD_API_KEY=my-api-key +TAILSCALESD_HOST=127.0.0.1 +``` + +### Running the Application + +1. **Install Dependencies**: Ensure that all required dependencies are installed. + + ```sh + poetry install + ``` + +2. **Set Configuration**: Set the necessary environment variables or create an environment file with the configuration values. + +3. **Start the Application**: Run the application using the following command: + + ```sh + poetry run tailscalesd + ``` + +4. **Access the Application**: The application will be accessible at `http://:`. +