Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/aventer-ug/traefik-mesos
Apache Mesos provider for traefik
https://github.com/aventer-ug/traefik-mesos
docker golang loadbalancer mesos traefik
Last synced: 24 days ago
JSON representation
Apache Mesos provider for traefik
- Host: GitHub
- URL: https://github.com/aventer-ug/traefik-mesos
- Owner: AVENTER-UG
- License: mit
- Created: 2022-03-09T20:24:35.000Z (almost 3 years ago)
- Default Branch: master
- Last Pushed: 2024-12-12T10:18:52.000Z (about 2 months ago)
- Last Synced: 2024-12-12T11:19:50.868Z (about 2 months ago)
- Topics: docker, golang, loadbalancer, mesos, traefik
- Language: Go
- Homepage:
- Size: 104 KB
- Stars: 0
- Watchers: 2
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE.md
Awesome Lists containing this project
README
# Traefik Provider for Apache Mesos
[![Issues](https://img.shields.io/static/v1?label=&message=Issues&color=brightgreen)](https://github.com/m3scluster/traefik-mesos/issues)
[![Chat](https://img.shields.io/static/v1?label=&message=Chat&color=brightgreen)](https://matrix.to/#/#mesos:matrix.aventer.biz?via=matrix.aventer.biz)
[![Docker Pulls](https://img.shields.io/docker/pulls/avhost/traefik_mesos)](https://hub.docker.com/repository/docker/avhost/traefik_mesos/)These provider will add the functionality to use traefik with Apache Mesos.
## Funding
[![](https://www.paypalobjects.com/en_US/i/btn/btn_donateCC_LG.gif)](https://www.paypal.com/donate/?hosted_button_id=H553XE4QJ9GJ8)
## Issues
To open an issue, please use this place: https://github.com/m3scluster/traefik-mesos/issues
## How to use the docker image?
```
docker run -p 80:80 -p 443:433 -p 9000:9000 -v :/data:rw avhost/traefik_mesos:latest
```## How to add the Mesos Provider
Edit your traefik.toml and include these configuration:
```
[providers.mesos]
endpoint = ""
principal = ""
secret = ""
SSL = true
```
### Supported provider parameters| Parameter | default value | Description |
| --- | --- | --- |
| Endpoint | 127.0.0.1:5050 | Mesos server endpoint. You can also specify multiple endpoint for Mesos |
| SSL | false | Enable Endpoint SSL |
| Principal || Principal to authorize agains Mesos Manager |
| Secret || Secret authorize agains Mesos Manager |
| PollInterval | 10s | Polling interval for endpoint |
| PollTimeout | 10s | Polling timeout for endpoint |
| ForceUpdateInterval | 10m | Intervall to force an update |## How to add Traefik routes and services?
To tell traefik how it should handle the mesos tasks, we have to use traefik labels.
As example:```
"traefik.enable": "true",
"traefik.http.routers.homepage-ssl.tls": "true",
"traefik.http.routers.homepage.entrypoints": "web",# The service object with the name "homepage-web" and "homepage-web-ssl"
# will be generated from the name of the Mesos Task (or Marathon) PortMapping object.
"traefik.http.routers.homepage-ssl.service": "homepage-web-ssl",
"traefik.http.routers.homepage.service": "homepage-web","traefik.http.middlewares.homepage.redirectscheme.scheme": "https",
"traefik.http.routers.homepage.rule": "Host(`your.example.com`)",
"traefik.http.routers.homepage-ssl.rule": "Host(`your.example.com`)",
"traefik.http.routers.homepage-ssl.entrypoints": "websecure"
```
## Special provider features
### Dynamic Names
All "__mesos_taskid__" strings in the labels (key and value) will be replaced by the unique Mesos TaskID.
All "__mesos_portname__" string in the labels (key and value) will be replace by the service name (without portnumber).## Doku and links to the official traefik
[![Build Status SemaphoreCI](https://semaphoreci.com/api/v1/containous/traefik/branches/master/shields_badge.svg)](https://semaphoreci.com/containous/traefik)
[![Docs](https://img.shields.io/badge/docs-current-brightgreen.svg)](https://doc.traefik.io/traefik)
[![Go Report Card](https://goreportcard.com/badge/traefik/traefik)](https://goreportcard.com/report/traefik/traefik)
[![License](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/traefik/traefik/blob/master/LICENSE.md)
[![Join the community support forum at https://community.traefik.io/](https://img.shields.io/badge/style-register-green.svg?style=social&label=Discourse)](https://community.traefik.io/)
[![Twitter](https://img.shields.io/twitter/follow/traefik.svg?style=social)](https://twitter.com/intent/follow?screen_name=traefik)Traefik (pronounced _traffic_) is a modern HTTP reverse proxy and load balancer that makes deploying microservices easy.
Traefik integrates with your existing infrastructure components ([Docker](https://www.docker.com/), [Swarm mode](https://docs.docker.com/engine/swarm/), [Kubernetes](https://kubernetes.io), [Marathon](https://mesosphere.github.io/marathon/), [Consul](https://www.consul.io/), [Etcd](https://coreos.com/etcd/), [Rancher](https://rancher.com), [Amazon ECS](https://aws.amazon.com/ecs), ...) and configures itself automatically and dynamically.
Pointing Traefik at your orchestrator should be the _only_ configuration step you need.