52 lines
1.9 KiB
Markdown
52 lines
1.9 KiB
Markdown
# 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://<host>:<port>`.
|
|
|