Skip to content
This repository has been archived by the owner on Jul 13, 2023. It is now read-only.

bodsch/ansible-trickster

Repository files navigation

Ansible Role: trickster

Trickster ist an Open Source Dashboard Accelerator for Time Series Databases.

Further development of this Ansible role has been moved to Collection bodsch.prometheus. This repository will therefore no longer be actively maintained.

This ansible role installs and configure Trickster.

GitHub Workflow Status GitHub issues GitHub release (latest by date) Ansible Quality Score

Requirements & Dependencies

Ansible Collections

ansible-galaxy collection install bodsch.core
ansible-galaxy collection install bodsch.scm

or

ansible-galaxy collection install --requirements-file collections.yml

Usage

Look to the defaults properties file to see the possible configuration properties.

You can also look at the molecule test.

Operating systems

Tested on

  • ArchLinux
  • Debian based
    • Debian 10 / 11
    • Ubuntu 20.04

Contribution

Please read Contribution

Development, Branches (Git Tags)

The master Branch is my Working Horse includes the "latest, hot shit" and can be complete broken!

If you want to use something stable, please use a Tagged Version!

Configuration

main

trickster_main:
  # default is 0, which means ignored
  instance_id: 0
  # default is /trickster/config
  config_handler_path: /trickster/config
  # default is /trickster/ping
  ping_handler_path: /trickster/ping
  # default is /trickster/health
  health_handler_path: /trickster/health
  # Options are: "metrics", "reload", "both", or "off"; default is both
  pprof_server: both
  # server_name defaults to os.Hostname() when left blank
  server_name: ''

frontend

trickster_frontend:
  # listen_port defines the port on which Tricksters Front-end HTTP Proxy server listens.
  listen_port: 8480
  # listen_address defines the ip on which Tricksters Front-end HTTP Proxy server listens.
  # empty by default, listening on all interfaces
  listen_address: ''
  # tls_listen_address defines the ip on which Tricksters Front-end TLS Proxy server listens.
  # empty by default, listening on all interfaces
  tls_listen_address: ''
  # tls_listen_port defines the port on which Tricksters Front-end TLS Proxy server listens.
  # The default is 0, which means TLS is not used, even if certificates are configured below.
  tls_listen_port: 0
  # connections_limit defines the maximum number of concurrent connections
  # Tricksters Proxy server may handle at any time.
  # 0 by default, unlimited.
  connections_limit: 0

caches

upstream

provider defines what kind of cache should be use.

options are bbolt, badger, filesystem, memory and redis

in-memory

trickster_caches:
  default:
    provider: memory

redis

trickster_caches:
  default:
    provider: redis
    redis:
      endpoint: 'redis:6379'
      endpoints:
        - redis:6379
      protocol: tcp
      db: 0

filesystem

trickster_caches:
  default:
    provider: filesystem
    filesystem:
      cache_path: /var/cache/trickster

bbolt

trickster_caches:
  default:
    provider: bbolt
    filename: trickster.db
    bucket: trickster

badger

trickster_caches:
  default:
    provider: badger
    directory: /tmp/trickster
    value_directory: /tmp/trickster

backends

upstream

trickster_backends:
  default:
    provider: prometheus
    is_default: true
    origin_url: http://prometheus:9090

rules

request_rewriters

tracing

metrics

trickster_metrics:
  listen_port: 8481
  listen_address: 127.0.0.1

reloading

logging

trickster_logging:
  # Possible values are 'debug', 'info', 'warn', 'error'
  log_level: warn
  log_file: /var/log/trickster.log

example from upstream

upstream doku


Author and License

  • Bodo Schulz

License

This project is licensed under Apache License. See LICENSE for more details.

FREE SOFTWARE, HELL YEAH!