Traefik config validator: a CLI tool to (syntactically) validate your Traefik configuration filesTraefik config validator: a CLI tool to (syntactically) validate your Traefik configuration files

Traefik Config Validator

Traefik

Note This is currently pre-release software.

traefik-config-validator is a CLI tool to (syntactically) validate your Traefik configuration files to ensure bad configurations are being captured before hitting your production system or during development. It can be used either as a developer tool on your machine or in CI/CD pipelines.

It will be validated against the following JSON schemas hosted on schemastore:

Features

Known Limitations

  • Currently, only YAML configuration is supported while Traefik supports TOML, JSON, environment variables and the CLI for configuration
  • Cannot recursively scan files for file provided configurations

Installation

go get github.com/thomasklinger1234/traefik-config-validator

or via Docker

docker pull ghcr.io/thomasklinger1234/traefik-config-validator:latest

Usage

traefik-config-validator -cfg <traefik.yml> -cfgdir <static-file-provider-root>

Developer Guide

All steps in development can be performed either through the CI/CD pipeline with GitHub Actions or locally. See below for instructions on how to do it.

Setting Up

We use pre-commit for validating commits before pushing them. In addition, you will need go installed and (optionally) Docker for build an image.

Building

Build via make build to build via golang build tools or docker build --build-arg VERSION=<myversion> to build via Docker.

Testing

Currently, we are lacking good unit tests. Feel free to add them!

Linting

Run make lint to lint the Golang code.

Releasing

We use Semantic Versioning. Each git tag should be named according to v{major}.{minor}.{patch}.

Contributing

If you'd like to contribute to the project, refer to the contributing documentation.

Please note that this project is released with a Contributor Code of Conduct. By participating in this project, you agree to abide by its terms.

Credits

The gopher's logo of Traefik is licensed under the Creative Commons 3.0 Attributions license (see traefik/traefik).

Owner
Thomas Klinger
DevOps engineer @otto-de. cloud architecture | logging | monitoring | authentication.
Thomas Klinger
Similar Resources

Traefik Docker Protector

Traefik Docker Protector Limit traefik's control over the docker daemon Traefik

Nov 25, 2022

Splicetraefikplugin - Sample traefik plugin using golang

Developing a Traefik plugin Traefik plugins are developed using the Go language.

Feb 2, 2022

Synchronize ssh client config with lxc instances

Quickly add remote LXD instances to your ssh client configuration. Expecially useful for VS Code Remote/SSH development.

Nov 12, 2021

“Dear Port80” is a zero-config TCP proxy server that hides SSH connection behind a HTTP server!

Dear Port80 About The Project: “Dear Port80” is a zero-config TCP proxy server that hides SSH connection behind a HTTP server! +---------------------

Jun 29, 2022

Jazigo is a tool written in Go for retrieving configuration for multiple devices, similar to rancid, fetchconfig, oxidized, Sweet.

Table of Contents About Jazigo Supported Platforms Features Requirements Quick Start - Short version Quick Start - Detailed version Global Settings Im

Jan 5, 2023

Grab your files periodically from a remote FTP or SFTP server easily

Grab your files periodically from a remote FTP or SFTP server easily

About FTPGrab is a CLI application written in Go and delivered as a single executable (and a Docker image) to grab your files from a remote FTP or SFT

Jan 3, 2023

A C/S Tool to Download Torrent Remotely and Retrieve Files Back Over HTTP at Full Speed without ISP Torrent Limitation.

remote-torrent Download Torrent Remotely and Retrieve Files Over HTTP at Full Speed without ISP Torrent Limitation. This repository is an extension to

Sep 30, 2022
Traefik - Traefik with zitifed prometheus metrics
Traefik - Traefik with zitifed prometheus metrics

Traefik (pronounced traffic) is a modern HTTP reverse proxy and load balancer th

Jan 17, 2022
EU Digital Covid Certificate utilities in Go [Create, Validate and Parse Green-Pass/EU-DCC]

go-dcc EU Digital Covid Certificate utilities in Go [Create, Validate and Parse Green-Pass/EU-DCC] Repo work in-progress CLI Usage: ######Create and S

Dec 23, 2021
Baseledger core consensus for running validator, full and seed nodes

baseledger-core Baseledger core consensus client for running a validator, full or seed node. ⚠️ WARNING: this code has not been audited and is not rea

Jan 13, 2022
Validator node for Bittorrent Chain Network

Delivery Validator node for Bittorrent Chain Network. It uses peppermint, customized Tendermint. Install from source Make sure your have go1.11+ alrea

Dec 14, 2021
Developing a Traefik plugin using golang

Developing a Traefik plugin Traefik plugins are developed using the Go language. A Traefik middleware plugin is just a Go package that provides an htt

Nov 21, 2021
Traefik proxy plugin to extract HTTP header value and create a new header with extracted value

Copy header value Traefik plugin Traefik plugin that copies HTTP header value with format key1=value1; key2=value2 into a new header. Motivation for t

May 26, 2022
Header Block is a middleware plugin for Traefik to block request and response headers which regex matched by their name and/or value

Header Block is a middleware plugin for Traefik to block request and response headers which regex matched by their name and/or value Conf

May 24, 2022
Developing a Traefik plugin with golang

Developing a Traefik plugin Traefik plugins are developed using the Go language. A Traefik middleware plugin is just a Go package that provides an htt

Dec 16, 2021
Log4Shell is a middleware plugin for Traefik which blocks JNDI attacks based on HTTP header values.

Log4Shell Mitigation Log4Shell is a middleware plugin for Traefik which blocks JNDI attacks based on HTTP header values. Related to the Log4J CVE: htt

Dec 20, 2022
Traefik plugin to proxy requests to owasp/modsecurity-crs:apache container
Traefik plugin to proxy requests to owasp/modsecurity-crs:apache container

Traefik Modsecurity Plugin Traefik plugin to proxy requests to owasp/modsecurity-crs:apache Traefik Modsecurity Plugin Demo Full Configuration with do

Dec 27, 2022