Skip to content

tbernacchi/traefik-labs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Traefik Labs Project

This project demonstrates using Traefik as a reverse proxy and ingress controller with a sample Go API.

Project Overview

This repository contains:

  • foobar-api/: A sample Go API service (see API docs)
  • Infrastructure configuration for running the service with Traefik
  • GitHub Actions workflow for automated testing and deployment

Infrastructure Components

  1. Traefik: Acts as reverse proxy and ingress controller
  2. Prometheus: For metrics collection
  3. Jaeger: For distributed tracing

Getting Started

  1. Deploy Traefik (install directory)
  2. Generate certificates (certs directory)
  3. Deploy Prometheus (prometheus directory)
  4. Install Jaeger (jaeger directory)
  5. Deploy the application (kubernetes directory)

Accessing Services

CI/CD with GitHub Actions

The project uses GitHub Actions for automated testing and deployment. The workflow is triggered on:

  • Push to main branch
  • Pull requests to main branch

The pipeline consists of:

  1. Testing Stage:

    • Runs on custom runner
    • Executes Go tests
  2. Build and Push Stage (main branch only):

    • Builds Docker image
    • Pushes to Docker Hub registry
    • Uses version from foobar-api/.version for tagging

For detailed pipeline configuration, see .github/workflows/ci-cd.yaml

References

Core Documentation

Observability

Metrics & Prometheus

Logging

Tracing

About

Traefik labs study case.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published