DEV Community

Cover image for Traefik HUB
Pedro Stéfano
Pedro Stéfano

Posted on

3 3

Traefik HUB

Quem é desenvolvedor, principalmente se estiver começando na carreira por vezes precisa realizar testes com chamada externa. Seja para homologar alguma funcionalidade ou teste de segurança. Contudo nem sempre possuímos recursos, entenda por um nome de domínio, para poder deixar nossos aplicativos exposto na internet por meio de um domínio. Nesse artigo vou lhes apresentar a nova ferramenta lançada pela equipe do Traefik que vem dar ajuda nesse quesito com a nova ferramenta Traefik Hub. Ela permite expor entry points de forma fácil na internet e com SSL. Quem quiser consultar o lançamento pode dar uma olhada no anuncio através desse link.

Funcionamento

Antes de colocarmos a mão na massa, vamos a um pequeno resumo de como ele funciona.

En nossa host de container, rodará um agente que fará uma espécie de rede na nuvem entre a nossa infraestrutura e o Traefik. Dessa forma ele atuará como uma espécie de HUB. Os servidores atuará como proxy fornecendo uma URL de conexão para os entry points. Após a configuração, toda a configuração e gerenciado é realizado pelo site da plataforma. Além disso, é possível configurar autenticação para acesso as url utilizadas para acesso, permitindo adicionar uma proteção para testes que não é interessante ficar exposto a internet livremente.

Traefik Hub

Mão na massa.

Não vou entrar em detalhes sobre instalação e configuração do docker e docker compose.

Vamos criar um 'docker-compose.yml' com o conteúdo abaixo, lembrando de informar seu token de conexão com o HUB.
Para pegar seu token, acesse esse link

version: "3"

services:
  # Start the agent with the latest version
  hub-agent:
    image: ghcr.io/traefik/hub-agent-traefik:v0.7.2
    container_name: hub-agent
    restart: "on-failure"
    command:
      - run
      - --hub.token=TOKEN_TRAEFIKHUB
      - --auth-server.advertise-url=http://hub-agent
      - --traefik.host=traefik
      - --traefik.tls.insecure=true
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
    depends_on:
      - traefik

  # Start Traefik with the latest version
  traefik:
    image: traefik:v2.7
    container_name: traefik
    command:
      # Enable Hub communication (open the port 9900 and 9901 by default)
      - --experimental.hub=true
      - --hub.tls.insecure=true
      - --metrics.prometheus.addrouterslabels=true
Enter fullscreen mode Exit fullscreen mode

vamos dar start no agente e no traefik

'docker-compose up -d'

Uma vez que o agente esta funcionamento podemos acessar o site do Traefik HUB e publicar nossos containers na internet. Uma vez listado nossos containers vamos acessar um deles para gerar a URL de acesso

Containers Traefik HUb

Vamos confirmar a porta de entrada do container, se necessário a política de acesso, e publicar nosso container na web.

Publicação Trafefik Hub

Traefik Hub publicação

Uma vez publicado, será disponibilizado a url para acesso ao container já com o SSL configurado. Mas alegria de pobre dura pouco. O serviço possui duas limitações, limite de 1G de trafego, o que é muita coisa se considerar o uso para apis e você pode publicar somente 10 servidos/containers.

Bom, como pudemos ver, em menos de 5 minutos é possível publicar sua api/aplicação na web se forma segura. Claro que no momento (06/2022) não é recomendar o uso em produção visto que o recuso esta em beta, mas o propósito desse novo recuso vem facilitar muito a vida dos desenvolvedores.

Links úteis:

https://traefik.io/blog/publish-and-secure-applications-with-traefik-hub/

SEO
Como publicar container com SSL
Disponibilizar API com SSL
configurar container com SSL
configurar letsencrypt Trafefik

API Trace View

How I Cut 22.3 Seconds Off an API Call with Sentry 👀

Struggling with slow API calls? Dan Mindru walks through how he used Sentry's new Trace View feature to shave off 22.3 seconds from an API call.

Get a practical walkthrough of how to identify bottlenecks, split tasks into multiple parallel tasks, identify slow AI model calls, and more.

Read more →

Top comments (0)

Sentry image

See why 4M developers consider Sentry, “not bad.”

Fixing code doesn’t have to be the worst part of your day. Learn how Sentry can help.

Learn more

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay