Template Tango

Template Tango is an application I created to help generate configuration files. It's built using GoLang and comes as a self-contained, statically linked package, meaning you don't need to worry about additional dependencies.

Key Features:

  • Utilizes a user-friendly rendering engine, similar to Twig but simpler.
  • Allows the use of environment variables directly in your templates.
  • Supports loading from a .env file for extra configuration options.
  • Includes conditional logic capabilities.

For Docker users:

  • Easily integrate with your Docker images and Dockerfiles. Simply copy the executable from its Docker image (available on DockerHub) to start using it immediately.

Comprehensive documentation and other resources are available on GitHub Pages: https://24hoursmedia.github.io...


Example

tango parse:file nginx_server.conf.twig >> nginx_server.conf
server { # simple reverse-proxy
    listen       80;

    {% if HTTPS_ENABLED == 1 %}
    listen 443;
    ssl_certificate     {{ SSL_CERT }};
    ssl_certificate_key {{ SSL_CERT_KEY }};
    {% endif %}

    # pass requests
    location / {
      proxy_pass      http://127.0.0.1:{{ BACKEND_PORT }};
    }
  }

Post date: November, 2023

Skills

  • Golang
  • GitHub Actions
  • Docker
  • Docker multistage build
  • Docker multiplatform build
  • Jetbrains GoLand IDE
  • Documentation with Jetbrains Writerside