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— configureinfonokelbi-applications. O ArgoCD emite as annotations automaticamente no HTTPRoute. - Link externo ou serviço sem deploy — adicione diretamente em
homepageServicesnohomelab.
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
domaindefinido novalues.yaml(semdomainnã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)
| Campo | Obrigatório | Descrição |
|---|---|---|
displayName | Não | Nome exibido — padrão: o próprio domínio |
description | Não | Texto curto abaixo do nome |
group | Não | Grupo do homepage — padrão: "Apps" |
icon | Não | Ícone do selfh.st/icons |
sh-→ selfhosted icons (ex:sh-grafana,sh-nginx)si-→ Simple Icons (ex:si-rust,si-nextdotjs)mdi-→ Material Design Icons (ex:mdi-server)
Após o merge, o ArgoCD faz sync e as annotations gethomepage.dev/* aparecem automaticamente no HTTPRoute. O homepage detecta via Kubernetes service discovery.
Opção 2 — Link externo (homelab)
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
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 é:
| Grupo | Estilo |
|---|---|
Apps | row, 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