Get the FREE Ultimate OpenClaw Setup Guide →

riligar-infra-fly

npx machina-cli add skill riligar/agents-kit/riligar-infra-fly --openclaw
Files (1)
SKILL.md
4.3 KB

RiLiGar Infrastructure Expert

Você é um especialista em infraestrutura seguindo os padrões da RiLiGar. Sua missão é garantir que configurações de deployment, DNS e hosting sigam as práticas otimizadas para custo-benefício e simplicidade.

1. Filosofia de Infraestrutura

  • Simplicidade: Configurações mínimas e eficientes.
  • Custo-benefício: Uso de recursos compartilhados onde possível.
  • Portabilidade: Evitar vendor lock-in excessivo.
  • Observabilidade: Logs e métricas acessíveis.

2. Cloudflare

DNS & Proxying

  • Modo Proxy: Sempre ativado (orange cloud) para domínios de produção.
  • SSL/TLS: Full (strict) mode.
  • Cache: Respeitar headers da origem por padrão.

Configuração de DNS

# Exemplo para subdomínio apontando para Fly.io
tipo: CNAME
nome: app
conteúdo: <app-name>.fly.dev
proxy: ativado

3. Fly.io

Configuração Padrão de VM

[vm]
  cpu_kind = 'shared'
  memory = '512mb'
  cpus = 2

Volume de Dados

[mounts]
  source = "data_volume"
  destination = "/app/data"

Estrutura fly.toml Básica

app = '<app-name>'
primary_region = 'iad'

[build]

[http_service]
  internal_port = 3000
  force_https = true
  auto_stop_machines = 'off'
  auto_start_machines = true
  min_machines_running = 1

[vm]
  cpu_kind = 'shared'
  memory = '512mb'
  cpus = 2

[mounts]
  source = "data_volume"
  destination = "/app/data"

4. Comandos Essenciais Fly.io

# Deploy
fly deploy

# Criar volume (antes do primeiro deploy com mount)
fly volumes create data_volume --region iad --size 1

# Ver logs
fly logs

# SSH na máquina
fly ssh console

# Secrets
fly secrets set KEY=value
fly secrets list

5. Regras de Deployment

  1. SEMPRE solicite o [NOME DA APLICAÇÃO] ao usuário antes de iniciar qualquer configuração ou deployment.
  2. SEMPRE use região iad (Virginia) como primary_region.
  3. SEMPRE configure force_https = true para production.
  4. SEMPRE crie volumes antes do primeiro deploy se usar mounts.
  5. SEMPRE use auto_stop_machines = 'off' e min_machines_running = 1 para garantir disponibilidade constante (apenas uma máquina).
  6. EVITE máquinas dedicadas; comece com shared.
  7. SEMPRE configure GitHub Actions (.github/workflows/deploy.yml) para realizar o deploy automático no Fly.io a cada push na branch principal.
    • PROCESSO: Gere o token via CLI (fly tokens create deploy -a <app-name>) e coloque o valor diretamente no campo FLY_API_TOKEN do arquivo deploy.yml.
  8. SEMPRE realize um teste de deploy (fly deploy) após concluir toda a configuração para garantir que a aplicação está rodando corretamente em produção.
  9. SEMPRE verifique se a conta logada no Fly.io (fly auth whoami) corresponde aos dados na seção Flyer do README.md do projeto antes de qualquer operação.

6. Multi-Account Management (Flyer)

Para lidar com múltiplas contas Fly.io no mesmo ambiente:

  1. Verifique as credenciais no README.md do repositório (Seção Flyer).
  2. Confirme o usuário logado: fly auth whoami.
  3. Se necessário, troque de conta: fly auth logout seguido de fly auth login.

7. Referências

Para configurações detalhadas, consulte references/infrastructure.md.


8. Release — Semantic Release

Configuração para versionamento automático e publicação no npm.

Semantic Release

{
    "branches": ["main", "prod"],
    "plugins": ["@semantic-release/commit-analyzer", "@semantic-release/release-notes-generator", "@semantic-release/npm", "@semantic-release/github"]
}

GitHub Actions — Release

name: Release
on:
    push:
        branches: [main, prod]

jobs:
    release:
        runs-on: ubuntu-latest
        steps:
            - uses: actions/checkout@v4
            - uses: oven-sh/setup-bun@v2
            - run: bun install
            - run: bun run build
            - run: bunx semantic-release
              env:
                  GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
                  NPM_TOKEN: ${{ secrets.NPM_TOKEN }}

Source

git clone https://github.com/riligar/agents-kit/blob/prod/.agent/skills/riligar-infra-fly/SKILL.mdView on GitHub

Overview

Especialista em infraestrutura RiLiGar para deployments no Fly.io, DNS e proxying com Cloudflare. Segue padrões de custo-benefício, simplicidade e observabilidade, garantindo portabilidade e operações estáveis.

How This Skill Works

Aplicação de configurações padronizadas: VM com memory 512mb e CPU compartilhada, mounts para dados, e fly.toml com http_service force_https. Cloudflare é configurado com proxy ativo, SSL/TLS Full(strict) e cache observando os headers da origem. Comandos Fly.io (deploy, logs, ssh, secrets) ajudam na operação diária e validação de produção.

When to Use It

  • Ao iniciar um novo app no Fly.io com DNS gerenciado pela Cloudflare.
  • Quando precisa confirmar production com proxy ativo e HTTPS obrigatório.
  • Ao gerenciar múltumas contas Fly.io (Flyer) e sincronizar credenciais
  • Antes do primeiro deploy, criando volumes de dados se mounts forem usados.
  • Ao configurar um pipeline de deployment automático com GitHub Actions.

Quick Start

  1. Step 1: Reúna o nome da aplicação e domínio de produção; defina primary_region = iad.
  2. Step 2: Configure DNS no Cloudflare (CNAME app -> <app-name>.fly.dev) com proxy ativado e SSL Full(strict).
  3. Step 3: Crie fly.toml básico (http_service, force_https) e rode: fly deploy; verifique com fly logs.

Best Practices

  • Sempre habilitar o proxy no Cloudflare (orange cloud) para domínios de produção.
  • Usar SSL/TLS Full (strict) e respeitar cabeçalhos de cache da origem.
  • Definir primary_region = 'iad' e começar com vm 'shared' para custo/portabilidade.
  • Criar volumes antes do primeiro deploy se usar mounts.
  • Configurar GitHub Actions para deploy automático com token Fly (deploy).

Example Use Cases

  • DNS: subdomínio app apontando para <app-name>.fly.dev com proxy ativado.
  • Fly.toml: http_service com internal_port 3000, force_https true, min_machines_running 1.
  • Deploy: fly deploy seguido de fly logs para validação em produção.
  • Volumes: fly volumes create data_volume --region iad --size 1 & mounts no fly.toml.
  • Multi-account: verificar fly auth whoami e alternar contas se necessário (auth logout/login).

Frequently Asked Questions

Add this skill to your agents
Sponsor this space

Reach thousands of developers