Skip to main content

Como adicionar um link no homepage

O homepage exibe os apps e serviços do cluster. Há duas formas de adicionar um link:

  • App gerenciado pelo kelbi-app — configure info no kelbi-applications. O ArgoCD emite as annotations automaticamente no HTTPRoute.
  • Link externo ou serviço sem deploy — adicione diretamente em homepageServices no homelab.

Opção 1 — App do cluster (kelbi-applications)

Use essa opção para apps que já estão deployados via kelbi-applications e têm um domínio configurado.

Pré-requisitos

  • O app precisa ter domain definido no values.yaml (sem domain não há HTTPRoute e não há onde emitir as annotations).

Como configurar

No values.yaml do app em kelbi-applications, adicione o bloco info:

# kelbi-applications/apps/Invasor-de-Fronteiras/<app>/values.yaml

domain: "meu-app.arcamh.com"

info:
displayName: Meu App # nome exibido no homepage
description: Faz tal coisa # texto abaixo do nome (opcional)
group: Apps # grupo no homepage (padrão: "Apps")
icon: sh-nginx # ícone (opcional)
CampoObrigatórioDescrição
displayNameNãoNome exibido — padrão: o próprio domínio
descriptionNãoTexto curto abaixo do nome
groupNãoGrupo do homepage — padrão: "Apps"
iconNãoÍcone do selfh.st/icons
Prefixos de ícone

Após o merge, o ArgoCD faz sync e as annotations gethomepage.dev/* aparecem automaticamente no HTTPRoute. O homepage detecta via Kubernetes service discovery.


Use essa opção para serviços externos (AWS, Cloudflare, etc.) ou qualquer URL que não seja um app do cluster.

Como configurar

Edite homelab/apps/homepage/values.yaml e adicione o serviço no grupo desejado dentro de homepageServices:

homepageServices: |
- Nome do Grupo:
- Nome do Serviço:
href: https://meu-servico.com
icon: sh-icone
description: Descrição opcional

Exemplo — adicionar o Contabo no grupo Services:

homepageServices: |
- Services:
- Contabo:
href: https://my.contabo.com
icon: sh-contabo
description: VPS de monitoramento
- AWS:
href: https://console.aws.amazon.com/console/home
icon: si-amazon-web-services
Indentação

O homepageServices é um bloco YAML em formato de string. Cada serviço dentro de um grupo deve ser um item de lista (- Nome:), e os campos (href, icon, etc.) devem estar indentados dois espaços a mais que o traço:

  - Grupo:
- Serviço: # ← item de lista
href: ... # ← dois espaços a mais que o traço
icon: ...

Após o merge, o Reloader detecta a mudança no ConfigMap e reinicia o pod do homepage automaticamente.


Grupos disponíveis

Os grupos são definidos em homepageSettings no mesmo arquivo. O layout atual é:

GrupoEstilo
Appsrow, 4 colunas

Para adicionar um novo grupo, edite o layout em homepageSettings:

homepageSettings: |
title: Arca Workspace
layout:
Apps:
style: row
columns: 4
Meu Novo Grupo:
style: row
columns: 3