Documentação do Seawise
Sistema completo de gestão de backups para Kubernetes usando Velero
Sobre o Seawise
O Seawise é uma aplicação web desenvolvida para facilitar a criação, gerenciamento, agendamento e restauração de backups de recursos do Kubernetes utilizando o Velero. Com uma interface intuitiva e suporte a múltiplos idiomas, o Seawise permite controle total sobre seus backups, incluindo gestão de usuários, relatórios detalhados e integração com diferentes provedores de armazenamento.
Principais Recursos
- Gerenciamento de Backups: Criação, listagem, visualização e exclusão de backups
- Agendamento Inteligente: Configure backups automáticos com cron jobs
- Restore Flexível: Restaure backups completos ou parciais com facilidade
- Dashboard Interativo: Visualize o status de todos os seus backups em tempo real
- Gestão de Usuários: Sistema de autenticação com diferentes níveis de permissão
- Relatórios Detalhados: Acompanhe o histórico e estatísticas de backups
- Multi-idioma: Suporte para Português e Inglês
- Configuração de Storage: Integração com AWS S3, MinIO e outros provedores compatíveis
Instalação Rápida
Versão mais recente: v1.5.15 | Todas as versões
Escolha sua plataforma:
Rancher
# Set the version (check latest at: https://github.com/shwcloudapp/seawise-backup/releases/latest)
export CHART_VERSION=1.5.15
export STORAGE_CLASS=storage_class_name
helm install seawise-dashboard \
https://github.com/shwcloudapp/seawise-backup/releases/download/v${CHART_VERSION}/seawise-dashboard-${CHART_VERSION}.tgz \
-n seawise-app --create-namespace \
--set ingress.enabled=true \
--set ingress.hosts[0].host=seawise.192.168.100.97.sslip.io \
--set persistence.storageClassName=${STORAGE_CLASS}
OpenShift
# Set the version (check latest at: https://github.com/shwcloudapp/seawise-backup/releases/latest)
export CHART_VERSION=1.5.15
export STORAGE_CLASS=storage_class_name
helm install seawise-dashboard \
https://github.com/shwcloudapp/seawise-backup/releases/download/v${CHART_VERSION}/seawise-dashboard-${CHART_VERSION}.tgz \
-n seawise-app --create-namespace \
--set app.veleroNamespace=openshift-adp \
--set route.enabled=true \
--set persistence.storageClassName=${STORAGE_CLASS}
Kubernetes
# Set the version (check latest at: https://github.com/shwcloudapp/seawise-backup/releases/latest)
export CHART_VERSION=1.5.15
export STORAGE_CLASS=storage_class_name
helm install seawise-dashboard \
https://github.com/shwcloudapp/seawise-backup/releases/download/v${CHART_VERSION}/seawise-dashboard-${CHART_VERSION}.tgz \
-n seawise-app --create-namespace \
--set ingress.enabled=true \
--set ingress.className=nginx \
--set persistence.storageClassName=${STORAGE_CLASS}
Verificar Instalação
kubectl get pods -n seawise-app
kubectl get ingress -n seawise-app # ou: oc get route -n seawise-app
Atualizar
# Set the new version
export CHART_VERSION=1.5.15
helm upgrade seawise-dashboard \
https://github.com/shwcloudapp/seawise-backup/releases/download/v${CHART_VERSION}/seawise-dashboard-${CHART_VERSION}.tgz \
-n seawise-app --reuse-values
Desinstalar
helm uninstall seawise-dashboard -n seawise-app
kubectl delete pvc -n seawise-app seawise-dashboard-pvc # Optional: deletes data
Solução de Problemas
Pod não está iniciando
kubectl logs -n seawise-app -l app.kubernetes.io/name=seawise-dashboard
kubectl describe pod -n seawise-app -l app.kubernetes.io/name=seawise-dashboard
Velero não encontrado
kubectl get deployment --all-namespaces | grep velero
# Update: --set app.veleroNamespace=CORRECT-NAMESPACE
Sem URL (Ingress/Route)
# Port-forward to test
kubectl port-forward -n seawise-app svc/seawise-dashboard 8080:80
# Access: http://localhost:8080
Guias de Instalação Detalhados
Guias passo a passo simples para cada plataforma:
- 📖 INSTALL.md - Instalação rápida (3 comandos)
- 🐄 RANCHER-INSTALL.md - Rancher com Traefik/NGINX
- 🔴 OPENSHIFT-INSTALL.md - OpenShift com OADP
Autenticação e Controle de Acesso
O Seawise implementa um sistema de autenticação baseado em sessão com três níveis de permissão distintos.
Obtendo a URL de Acesso
Após instalar o Seawise via Helm Chart, você precisa obter a URL de acesso ao dashboard:
OpenShift (com Route)
oc get route -n seawise-app seawise-dashboard
Ou obtenha diretamente a URL completa:
oc get route -n seawise-app seawise-dashboard -o jsonpath='{.spec.host}'
echo ""
Kubernetes/Rancher (com Ingress)
kubectl get ingress -n seawise-app seawise-dashboard
Ou obtenha o host do Ingress:
kubectl get ingress -n seawise-app seawise-dashboard -o jsonpath='{.spec.rules[0].host}'
echo ""
Acesso via Port-Forward (Teste)
Se você não tiver Ingress ou Route configurado, pode testar via port-forward:
kubectl port-forward -n seawise-app svc/seawise-dashboard 8080:80
# Acesse: http://localhost:8080
Credenciais Padrão - ATENÇÃO
Login inicial:
- Usuário: admin
- Senha: admin123
⚠️ Esta senha DEVE ser alterada no primeiro acesso por questões de segurança!
Níveis de Permissão
| Role | Permissões |
|---|---|
| admin | Acesso total: gerenciar usuários, DPA, storage locations, backups, restores, relatórios e configurações |
| backup | Criar e gerenciar backups/restores, visualizar relatórios, mas não pode gerenciar usuários ou configurações |
| viewer | Apenas visualização: dashboard e relatórios (somente leitura) |
Primeiro Acesso
- Acesse a URL obtida nos passos anteriores (ex:
https://seawise-dashboard-seawise-app.apps.cluster.example.com) - Na tela de login, use as credenciais padrão:
- Usuário:
admin - Senha:
admin123
- Usuário:
- IMPORTANTE: Altere imediatamente a senha padrão:
- Acesse o menu "Settings" ou "Edit Profile"
- Altere a senha para uma senha forte e segura
- Após alterar a senha, crie usuários adicionais através do menu "User Management"
Dica de Segurança
Recomendamos:
- Alterar a senha padrão imediatamente após o primeiro login
- Criar usuários individuais para cada pessoa que precisa acessar o sistema
- Utilizar senhas fortes com no mínimo 8 caracteres, incluindo letras, números e símbolos
- Atribuir apenas as permissões necessárias para cada usuário (princípio do menor privilégio)
Dashboard
O Dashboard é a tela principal do Seawise, oferecendo uma visão consolidada e analítica de todos os backups, restores e informações do cluster através de três abas principais.
Aba Backups
Métricas de Backup
Na parte superior do dashboard, você encontra quatro cards com as principais métricas:
- Total: Quantidade total de backups realizados
- Completed: Número de backups completados com sucesso
- Failed: Quantidade de backups que falharam
- Success Rate: Taxa de sucesso em porcentagem
Gráficos Analíticos
- Date Backups: Gráfico de barras mostrando a distribuição temporal dos backups
- Backups Status: Gráfico de pizza exibindo a proporção entre backups completados, em progresso e falhados
Filtros e Visualização
Acima dos gráficos você pode filtrar os dados por:
- Status: All, Completed, Failed, InProgress
- Período: 30 dias ou 180 dias
- Filter: Botão para aplicar filtros personalizados
Tabela Last Backups
Exibe os backups mais recentes com as seguintes colunas:
- Name: Nome do backup (clicável para detalhes)
- Status: Badge colorido indicando o estado (Completed, Failed, etc.)
- Date: Data e hora da criação do backup
Aba Restores
Métricas de Restore
Cards com informações sobre as operações de restauração:
- Total: Quantidade total de restores executados
- Completed: Número de restores completados com sucesso
- Failed: Quantidade de restores que falharam
- Average Duration: Tempo médio de duração dos restores (em minutos)
Gráficos de Restore
- Date Restore: Gráfico de barras mostrando a distribuição temporal dos restores
- Restore Status: Gráfico de pizza com a proporção entre restores completados, em progresso e falhados
Tabela Last Restores
Lista os restores mais recentes com informações de nome, status e data.
Aba Cluster Info
Exibe informações detalhadas sobre o cluster Kubernetes/OpenShift:
- Platform: Tipo e versão da plataforma (ex: OpenShift 4.18.14)
- Cluster Name: Nome do cluster
- Kubernetes Version: Versão do Kubernetes em execução
- Master Nodes: Quantidade de nós master
- Worker Nodes: Quantidade de nós worker
- Total Nodes: Total de nós no cluster
- Namespaces: Quantidade total de namespaces
- OADP Version: Versão do OADP/Velero instalado com badge de status
Recursos Visuais
- Cards com Bordas Coloridas: Cada métrica possui uma borda colorida para fácil identificação
- Gráficos Interativos: Visualizações gráficas para análise rápida de tendências
- Badges de Status: Indicadores coloridos para estados (Completed em verde, Failed em vermelho)
- Atualização Automática: Dashboard atualiza automaticamente os dados periodicamente
Data Protection Application (DPA)
O DPA (Data Protection Application) é o custom resource do OADP (OpenShift API for Data Protection) que configura o Velero no cluster OpenShift. Esta funcionalidade é exclusiva para OpenShift e é o primeiro passo essencial para configurar backups no cluster.
Importante - Somente OpenShift
O DPA é utilizado apenas em clusters OpenShift com OADP instalado. Para outros clusters Kubernetes (Rancher, K3s, etc.), você não precisa configurar DPA - apenas configure o Backup Storage Location (BSL) diretamente.
Visão Geral do DPA
O Seawise oferece uma interface intuitiva para gerenciar DPAs no OpenShift. Através da seção "Data Protection (DPA)" no menu, você pode:
- Visualizar DPAs existentes com suas configurações e status
- Criar novos DPAs para diferentes provedores de cloud (AWS, Azure, GCP)
- Editar DPAs para atualizar credenciais ou configurações
- Excluir DPAs quando não forem mais necessários
- Visualizar Backup Storage Locations (BSL) associadas
Página de Gerenciamento de DPA
A página principal exibe todos os DPAs configurados no cluster, mostrando:
- Nome do DPA: Identificador único do DPA (ex: dpa-velero-azure)
- Namespace: Onde o DPA está instalado (geralmente openshift-adp)
- Plugins: Plugins instalados (openshift, azure, aws, gcp, csi, restic)
- Restic: Status do Restic (Enable/Disable)
- Provider: Provedor de cloud configurado (Azure, AWS, GCP)
- Bucket/Container: Nome do bucket ou container de armazenamento
- Prefix: Prefixo dos arquivos de backup
- Region/Project/Subscription: Identificação do recurso na cloud
- Ações: Botões para editar (Edit DPA AZURE/AWS/GCP) ou deletar (Delete)
Backup Storage Locations (BSL)
Abaixo da lista de DPAs, você visualiza todas as Backup Storage Locations criadas automaticamente pelo DPA:
| Coluna | Descrição |
|---|---|
| NAME | Nome do BSL (ex: bsl-aws, bsl-gcp, dpa-velero-azure-1) |
| PROVIDER | Badge colorido indicando o provedor (AWS laranja, Azure azul, GCP multicolor) |
| STATUS | Status da conexão (Available em verde) |
| BUCKET/CONTAINER | Nome do bucket S3, Blob Container ou GCS bucket |
| PREFIXO | Prefixo dos arquivos (geralmente "velero" ou "velero-ocp") |
| REGION/PROJECT/SUBSCRIPTION | Informações de localização na cloud |
Criando um Novo DPA
Para criar um DPA, clique no botão "Create DPA" no canto superior direito. Você será apresentado à tela de seleção de provedor:
Seleção de Provider
Escolha o provedor de cloud onde seus backups serão armazenados:
- AWS: Amazon Web Services - Cria DPA com plugins openshift, aws, csi, Restic e BSL padrão em S3
- Azure: Microsoft Azure - Cria DPA com plugins openshift, azure, Restic e BSL padrão no Blob Storage usando Storage Account Access Key
- GCP: Google Cloud Platform - Cria DPA com plugins openshift, gcp, csi, Restic e BSL padrão em GCS
Clique no botão correspondente ao seu provedor para continuar:
- Configure AWS
- Configure Azure
- Configure GCP
Configuração do DPA - AWS
Cria um DPA com plugins openshift, aws, csi, Restic e um BSL padrão em AWS.
Atenção - Validação Automática
O bucket especificado e a região AWS serão validados antes da criação do DPA. Certifique-se de que:
- O bucket existe na região especificada
- As credenciais fornecidas têm permissão no S3
Campos do Formulário AWS
| Campo | Descrição | Exemplo | Obrigatório |
|---|---|---|---|
| DPA Name | Nome único para o DPA. Deve seguir padrões Kubernetes (lowercase, hífens) | dpa-velero-aws | Sim |
| Secret Name | Nome do Secret que será criado no namespace openshift-adp. A chave interna será "cloud" | cloud-credentials | Sim |
| Region (AWS) | Região AWS onde o bucket está localizado. Será validada contra o bucket no S3 | us-east-1 | Sim |
| Access Key | AWS Access Key ID da conta IAM com permissões de leitura/escrita no S3 | AKIA... | Sim |
| Secret Key | AWS Secret Access Key correspondente ao Access Key. Será armazenado de forma segura no Secret | •••••••• | Sim |
| Bucket (S3) | Nome do bucket S3 existente onde os backups serão armazenados | meu-bucket | Sim |
| Prefix | Prefixo (pasta) dentro do bucket para organizar os backups | velero | Sim |
| Enable Restic | Checkbox para habilitar Restic (backup de volumes file-level) | ✓ Marcado | Não |
Plugins instalados automaticamente: openshift, aws
Botões de Ação
- Cancel: Cancela a criação e retorna à lista de DPAs
- Create DPA (AWS): Valida os campos e cria o DPA no cluster
Configuração do DPA - Azure
Cria um DPA com plugins openshift, azure, Restic e um BSL padrão no Azure Blob Storage usando Storage Account Access Key.
Campos do Formulário Azure
| Campo | Descrição | Exemplo | Obrigatório |
|---|---|---|---|
| DPA Name | Nome único para o DPA | dpa-velero-azure | Sim |
| Secret Name | Nome do Secret que será criado. A chave interna será "cloud" | cloud-credentials-azure | Sim |
| Azure Cloud | Tipo de cloud Azure (AzurePublicCloud, AzureUSGovernmentCloud, etc.) | AzurePublicCloud | Sim |
| Access Key | Storage Account Access Key com permissões de leitura/escrita no container | •••••••• | Sim |
| StorageAccount | Nome da Storage Account onde o container está localizado | mystorageaccount | Sim |
| SubscriptionId | ID da assinatura Azure | 352d269c-e74d-4abb-8c5a-774ae5bf0fbc | Sim |
| Resource Group | Nome do Resource Group onde a Storage Account está localizada | grupo-teste | Sim |
| Container (Blob) | Nome do container no Blob Storage onde os backups serão armazenados | velero | Sim |
| Prefix | Prefixo (pasta virtual) dentro do container | velero | Sim |
| Enable Restic | Checkbox para habilitar Restic | ✓ Marcado | Não |
Plugins instalados automaticamente: openshift, azure
Informação
O Secret Name será usado internamente com o padrão "cloud-credentials-azure". Se não especificado, o valor padrão é usado: cloud-credentials-azure
Botões de Ação
- Cancel: Cancela a criação
- Create DPA (Azure): Cria o DPA no cluster
Configuração do DPA - GCP
Cria um DPA com plugins openshift, gcp, csi, Restic e um BSL padrão em GCP.
Atenção - Validação GCP
O bucket GCP e o projeto informados serão validados antes da criação do DPA. Certifique-se de que:
- O bucket já existe no GCS
- A Service Account tem permissão Storage Admin e iam.serviceAccountTokenCreator no projeto
Campos do Formulário GCP
| Campo | Descrição | Exemplo | Obrigatório |
|---|---|---|---|
| DPA Name | Nome único para o DPA | dpa-velero-gcp | Sim |
| Secret Name | Nome do Secret. A chave interna é fixa para GCP: "cloud-credentials-gcp" (internal key: cloud) | cloud-credentials-gcp | Sim |
| Service Account JSON | Cole aqui o conteúdo completo do arquivo JSON da Service Account do GCP com permissões de storage admin + iam.serviceAccountTokenCreator. O conteúdo será salvo no Secret como data["cloud"] | Paste the SA JSON here... | Sim |
| Bucket (GCS) | Nome do bucket no Google Cloud Storage (deve existir previamente) | meu-bucket | Sim |
| Prefix | Prefixo dentro do bucket | velero | Sim |
| Enable Restic | Checkbox para habilitar Restic | ✓ Marcado | Não |
Plugins instalados automaticamente: openshift, gcp, csi
Dica - Service Account JSON
Para obter o JSON da Service Account no GCP:
- Acesse o Console GCP → IAM & Admin → Service Accounts
- Crie ou selecione uma Service Account
- Vá em "Keys" → "Add Key" → "Create new key" → Selecione "JSON"
- Baixe o arquivo JSON e cole o conteúdo completo no campo
Botões de Ação
- Cancel: Cancela a criação
- Create DPA (GCP): Valida e cria o DPA
Editando um DPA Existente
Para editar um DPA, clique no botão correspondente ao provider na lista:
- Edit DPA AZURE: Abre o formulário de edição para DPA Azure
- Edit DPA AWS: Abre o formulário de edição para DPA AWS
- Edit DPA GCP: Abre o formulário de edição para DPA GCP
No formulário de edição, você pode atualizar:
- Credenciais (Access Keys, Secret Keys, Service Account JSON)
- Informações de storage (Bucket, Container, Prefix)
- Configurações de Restic (Enable/Disable)
Atenção ao Editar
Alterar credenciais ou configurações de storage pode afetar backups em andamento. Certifique-se de que não há operações de backup/restore em execução antes de editar o DPA.
Excluindo um DPA
Para excluir um DPA, clique no botão vermelho "Delete" na linha correspondente. Uma confirmação será solicitada antes da exclusão.
Atenção ao Excluir
Ao excluir um DPA:
- Todos os Backup Storage Locations associados serão removidos
- Os backups no storage remoto (S3, Azure Blob, GCS) NÃO serão deletados
- Schedules e políticas de backup configuradas serão perdidas
Validação e Troubleshooting
Status "Available" no BSL
Quando o BSL mostra status "Available" (verde), significa que:
- As credenciais estão corretas
- O Velero consegue acessar o storage remoto
- O bucket/container existe e está acessível
- As permissões estão configuradas corretamente
Erros Comuns
| Erro | Causa Provável | Solução |
|---|---|---|
| BSL Unavailable | Credenciais inválidas ou bucket não existe | Verifique as credenciais e confirme que o bucket existe na região especificada |
| DPA not reconciling | Namespace OADP não existe ou OADP não está instalado | Instale o OADP Operator no namespace openshift-adp |
| Validation failed (AWS/GCP) | Bucket não existe na região/projeto especificado | Crie o bucket previamente ou corrija a região/projeto |
| Access Denied | Permissões insuficientes na IAM/Service Account | Verifique as permissões necessárias para cada provider |
Permissões Necessárias por Provider
AWS - IAM Permissions
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:GetObject",
"s3:PutObject",
"s3:DeleteObject",
"s3:ListBucket",
"s3:GetBucketLocation"
],
"Resource": [
"arn:aws:s3:::YOUR-BUCKET-NAME/*",
"arn:aws:s3:::YOUR-BUCKET-NAME"
]
}
]
}
Azure - Role Assignments
A Storage Account Access Key precisa ter a role "Storage Blob Data Contributor" no Resource Group ou na Storage Account.
GCP - Service Account Roles
gcloud projects add-iam-policy-binding PROJECT_ID \
--member="serviceAccount:SERVICE_ACCOUNT_EMAIL" \
--role="roles/storage.admin"
gcloud projects add-iam-policy-binding PROJECT_ID \
--member="serviceAccount:SERVICE_ACCOUNT_EMAIL" \
--role="roles/iam.serviceAccountTokenCreator"
Repositórios de Backup (BSL)
O BSL (Backup Storage Location) é o local de armazenamento onde o Velero/OADP salva os backups. O Seawise oferece uma interface intuitiva para gerenciar repositórios de backup em diferentes provedores de cloud.
Importante - Kubernetes e Rancher
Se você está usando Kubernetes ou Rancher, você deve primeiro instalar o Velero no seu cluster com um BSL padrão. Após a instalação do Velero, você pode usar a interface do Seawise para adicionar novos BSLs adicionais.
Para OpenShift, os BSLs são criados automaticamente ao configurar o DPA (veja a seção anterior).
Suporte Multiplataforma
O BSL é suportado em todas as plataformas:
- OpenShift: BSLs são criados automaticamente pelo DPA, mas você pode adicionar BSLs adicionais via Seawise
- Kubernetes/Rancher: Primeiro instale o Velero manualmente com um BSL inicial, depois adicione novos BSLs via Seawise
Página de Gerenciamento de BSL
A página "Repositórios de Backup (BSL)" exibe todos os Backup Storage Locations configurados no cluster:
| Coluna | Descrição |
|---|---|
| NAME | Nome único do BSL (ex: bsl-aws, bsl-gcp, dpa-velero-azure-1) |
| PROVIDER | Badge colorido indicando o provedor de cloud (AWS laranja, Azure azul, GCP multicolor) |
| STATUS | Status da conexão com o storage (Available em verde, Unavailable em vermelho) |
| BUCKET/CONTAINER | Nome do bucket S3, container Blob Storage ou bucket GCS onde os backups são armazenados |
| PREFIX | Prefixo (pasta) usado para organizar os backups dentro do bucket/container |
| REGION/PROJECT/SUBSCRIPTION | Informações de localização: região AWS, projeto GCP ou subscription Azure + Resource Group |
| EDIT | Botão para editar as configurações do BSL (ícone de lápis azul) |
| DELETE | Botão para excluir o BSL (ícone de lixeira vermelho) |
Pré-requisitos para Kubernetes/Rancher
Importante - Instalação Prévia do Velero
Para clusters Kubernetes ou Rancher, você deve instalar o Velero manualmente ANTES de usar o Seawise para adicionar BSLs adicionais.
Exemplo de Instalação do Velero no Kubernetes/Rancher
AWS S3:
velero install \
--provider aws \
--plugins velero/velero-plugin-for-aws:v1.9.0 \
--bucket YOUR-BUCKET-NAME \
--backup-location-config region=us-east-1 \
--secret-file ./credentials-velero \
--use-volume-snapshots=true \
--snapshot-location-config region=us-east-1
Azure Blob Storage:
velero install \
--provider azure \
--plugins velero/velero-plugin-for-microsoft-azure:v1.9.0 \
--bucket YOUR-CONTAINER-NAME \
--secret-file ./credentials-velero \
--backup-location-config resourceGroup=YOUR-RESOURCE-GROUP,storageAccount=YOUR-STORAGE-ACCOUNT \
--snapshot-location-config apiTimeout=5m,resourceGroup=YOUR-RESOURCE-GROUP
GCP Cloud Storage:
velero install \
--provider gcp \
--plugins velero/velero-plugin-for-gcp:v1.9.0 \
--bucket YOUR-BUCKET-NAME \
--secret-file ./credentials-velero
Dica
Após instalar o Velero com um BSL inicial, o Seawise irá detectá-lo automaticamente e você poderá gerenciá-lo através da interface web, além de adicionar novos BSLs para outros provedores ou regiões.
Criando um Novo BSL
Para adicionar um novo Backup Storage Location, clique no botão "+ New Repository". Você será direcionado ao formulário de criação:
Informação Importante
Este formulário cria apenas o Backup Storage Location (BSL):
- Para OpenShift/OADP: Use o menu DPA para criar o BSL automaticamente junto com o DPA
- Para Kubernetes/Rancher: Crie seus repositórios de backup aqui
- Credenciais: Serão armazenadas em um Kubernetes Secret
Informações Básicas
| Campo | Descrição | Exemplo | Obrigatório |
|---|---|---|---|
| Name | Nome único para identificar o repositório. Deve seguir padrões Kubernetes (lowercase, hífens) | bsl-aws-01 | Sim |
| Provider | Provedor de cloud onde o storage está localizado | AWS (S3), Azure (Blob Storage), GCP (Cloud Storage) | Sim |
| Marcar como repositório padrão | Checkbox para definir este BSL como padrão. Backups sem BSL especificado usarão este | ☐ Desmarcado (opcional) | Não |
Credentials (Secret)
| Campo | Descrição | Obrigatório |
|---|---|---|
| Secret Name | Nome do Secret do Kubernetes onde as credenciais serão armazenadas. Se não especificado, usa o padrão: <name>-credentials. A chave interna será sempre "cloud" | Não |
Configuração AWS (S3)
Quando você seleciona AWS (S3) como provider:
| Campo | Descrição | Exemplo | Obrigatório |
|---|---|---|---|
| Bucket (S3) | Nome do bucket S3 onde os backups serão armazenados | my-bucket | Sim |
| Region (AWS) | Região AWS do bucket | us-east-1 | Sim |
| Prefix | Prefixo (pasta) dentro do bucket para organizar os backups | velero | Sim |
| Access Key | AWS Access Key ID com permissões S3 | AKIA... | Sim |
| Secret Key | AWS Secret Access Key correspondente | •••••••• | Sim |
Configuração Azure (Blob Storage)
Quando você seleciona Azure (Blob Storage) como provider:
| Campo | Descrição | Exemplo | Obrigatório |
|---|---|---|---|
| Container (Blob) | Nome do container no Azure Blob Storage | velero | Sim |
| Storage Account | Nome da Storage Account Azure | mystorageaccount | Sim |
| Resource Group | Resource Group da Storage Account | grupo-teste | Sim |
| Subscription ID | ID da assinatura Azure | 352d269c-e74d-4abb-8c5a-774ae5bf0fbc | Sim |
| Prefix | Prefixo dentro do container | velero | Sim |
| Access Key | Storage Account Access Key | •••••••• | Sim |
Configuração GCP (Cloud Storage)
Quando você seleciona GCP (Cloud Storage) como provider:
| Campo | Descrição | Exemplo | Obrigatório |
|---|---|---|---|
| Bucket (GCS) | Nome do bucket no Google Cloud Storage | my-bucket | Sim |
| Prefix | Prefixo dentro do bucket | velero | Sim |
| Service Account JSON | Conteúdo completo do arquivo JSON da Service Account do GCP | { "type": "service_account", ... } | Sim |
Editando um BSL
Para editar um BSL existente, clique no ícone de lápis azul na coluna EDIT. Você poderá atualizar:
- Credenciais de acesso (Access Keys, Secret Keys, Service Account JSON)
- Configurações de storage (Bucket, Container, Prefix)
- Informações de região/projeto/subscription
- Status de repositório padrão
Atenção ao Editar
Alterar credenciais ou configurações de um BSL pode afetar backups em andamento. Certifique-se de que não há operações de backup/restore ativas antes de editar.
Excluindo um BSL
Para excluir um BSL, clique no ícone de lixeira vermelho na coluna DELETE. Uma confirmação será solicitada.
Atenção ao Excluir
Ao excluir um BSL:
- O Velero não conseguirá mais acessar os backups armazenados neste BSL
- Backups que especificam este BSL não poderão ser criados
- Os backups no storage remoto (S3, Azure Blob, GCS) NÃO serão deletados
- Você não poderá excluir o BSL padrão se for o único BSL configurado
Verificação de Status
Status "Available" (Verde)
Indica que:
- As credenciais estão corretas e válidas
- O Velero consegue acessar o storage remoto
- O bucket/container existe e está acessível
- As permissões estão configuradas corretamente
- O BSL está pronto para ser usado em backups
Status "Unavailable" (Vermelho)
Indica problemas de conectividade ou configuração:
- Credenciais inválidas ou expiradas
- Bucket/container não existe
- Permissões insuficientes
- Região/projeto incorreto
- Problemas de rede entre o cluster e o storage
Melhores Práticas
- Use prefixos distintos: Se usar o mesmo bucket para múltiplos BSLs, utilize prefixos diferentes (ex: "prod/", "dev/")
- BSLs por região: Configure BSLs em diferentes regiões para redundância geográfica
- Repositório padrão: Defina apenas um BSL como padrão para evitar confusão
- Teste regularmente: Verifique o status dos BSLs periodicamente para garantir conectividade
- Credenciais rotativas: Atualize as credenciais periodicamente por segurança
- Múltiplos provedores: Configure BSLs em diferentes clouds (AWS + Azure) para redundância multi-cloud
Fast Backup
O Fast Backup permite criar backups rapidamente através de uma interface simplificada, ideal para backups pontuais e urgentes.
Como Criar um Fast Backup
- Acesse o menu "Fast Backup"
- Preencha o formulário com as informações necessárias
- Clique em "Criar Backup"
- Acompanhe o progresso no Dashboard
Campos do Formulário
| Campo | Descrição | Obrigatório |
|---|---|---|
| Nome do Backup | Nome único para identificar o backup. Deve seguir padrões Kubernetes (lowercase, hífens) | Sim |
| Namespace(s) | Um ou mais namespaces para backup, Selecione multiplos namesapces a tecla control/td> | Sim |
| TTL (Time to Live) | Tempo de retenção do backup. Formato: 720h (30 dias), 168h (7 dias), etc. | Não |
| Add Volumes Restic | Para criar backup de volumes persistentes | Não |
| Storage Location | Nome da storage location configurada no Velero onde o backup será armazenado | Não |
Exemplo de Backup
Agendamentos (Backup Policy)
As Políticas de Backup (Backup Policy) permitem automatizar a criação de backups periódicos, garantindo proteção contínua dos seus dados sem intervenção manual.
Como Criar uma Política de Backup
- Acesse "New Backup Policy" no menu lateral
- Preencha os campos do formulário conforme descrito abaixo
- Clique em "Create Police" para salvar
Campos de Configuração
| Campo | Descrição | Obrigatório |
|---|---|---|
| Police Name | Nome único para identificar a política de backup (ex: schedule-example) | Sim |
| TTL Retention | Tempo de retenção dos backups. Opções: 24h, 7 days, 15 days, 30 days, 60 days, 90 days | Sim |
| Namespaces | Selecione os namespaces que serão incluídos no backup. Use Ctrl/Cmd para selecionar múltiplos. Marque "Select All" para todos os namespaces | Sim |
| Add Volumes (Restic) | Habilite para incluir volumes persistentes no backup usando Restic | Não |
| Storage (Storage Location) | Selecione o local de armazenamento configurado onde os backups serão salvos (ex: bsl-aws) | Sim |
| Scheduler Type | Frequência do backup: Daily (diário), Weekly (semanal), Monthly (mensal) | Sim |
| Time (HH:MM) | Horário de execução do backup no formato 24h (ex: 00:00, 14:30) | Sim |
| Day of the Week | Dia da semana para backup semanal: Domingo, Segunda, Terça, Quarta, Quinta, Sexta, Sábado | Sim (se Weekly) |
Tipos de Agendamento
| Tipo | Descrição | Configuração |
|---|---|---|
| Daily | Backup executado todos os dias | Defina apenas o horário (HH:MM) |
| Weekly | Backup semanal em dia específico | Defina o horário e o dia da semana |
| Monthly | Backup mensal no primeiro dia do mês | Defina apenas o horário (HH:MM) |
Exemplo de Configuração
Gerenciamento de Políticas
- Visualizar Políticas: Veja todas as políticas de backup configuradas no menu "Backup Scheduler"
- Editar Política: Modifique os parâmetros de uma política existente
- Desabilitar/Habilitar: Pause ou retome uma política sem excluí-la
- Excluir Política: Remove a política (backups já criados não são afetados)
- Histórico: Veja todos os backups criados automaticamente por cada política
Últimos Backups
A página "Last Backups" exibe todos os backups criados recentemente, permitindo visualizar detalhes, filtrar e criar restores a partir deles.
Funcionalidades
Busca e Filtros
- Search by name: Campo de busca para filtrar backups pelo nome
- Status Filter: Filtre por status (All, Completed, Failed, InProgress, etc.)
- Time Filter: Filtre por período (1h, 24h, 7 days, 30 days, etc.)
- Botão Filter: Aplique os filtros selecionados
Tabela de Backups
A tabela exibe informações detalhadas sobre cada backup:
| Coluna | Descrição |
|---|---|
| NAME | Nome do backup (clicável para ver detalhes). Exemplos: sched-sem-*, backup-azure-diario-* |
| DATE | Data e hora de criação do backup (formato: DD-MM-YYYY - HH:MM) |
| PROGRESS | Barra de progresso visual mostrando o percentual de conclusão (0% a 100%) |
| STATUS | Badge colorido indicando o estado: Completed, Failed, InProgress |
| ACTION | Botão verde "Create Restore" para iniciar um restore a partir do backup |
Paginação
Na parte inferior da tabela, você encontra:
- Navegação por páginas (1, 2, 3...)
- Indicador da página atual
- Controles para navegar entre as páginas de resultados
Ações Disponíveis
- Visualizar Detalhes: Clique no nome do backup para ver informações completas (namespaces, recursos, logs, etc.)
- Create Restore: Clique no botão verde para iniciar o processo de restauração a partir do backup selecionado
- Filtrar por Status: Use o dropdown "Status" para ver apenas backups em um estado específico
- Filtrar por Período: Use o dropdown "Time" para limitar os resultados por intervalo de tempo
Status dos Backups
| Status | Cor | Significado |
|---|---|---|
| Completed | Verde | Backup concluído com sucesso (100%) |
| Failed | Vermelho | Backup falhou durante a execução |
| InProgress | Azul | Backup em andamento |
| PartiallyFailed | Amarelo | Backup concluído com alguns erros |
Visualizar Detalhes
Ao clicar no nome de um backup na tabela "Last Backups", você é direcionado para a página de detalhes completos do backup, onde pode visualizar informações aprofundadas sobre a operação de backup.
Informações Principais
No topo da página, você encontra cards com informações essenciais:
| Campo | Descrição |
|---|---|
| Creation Date | Data e hora exata de quando o backup foi criado (formato: DD-MM-YYYY - HH:MM) |
| Expires On | Data e hora de expiração do backup conforme o TTL configurado |
| Storage Location | Nome do BSL (Backup Storage Location) onde o backup está armazenado (ex: bsl-aws) |
| Format/Version | Versão do formato de backup do Velero (ex: 1.1.0 / 1) |
| Status Badge | Badge verde "Completed" ou vermelho "Failed" no topo da página junto com a duração (Duration: 0s) |
Seção Progress
Mostra o progresso detalhado do backup:
- Contagem de Itens: Número total de recursos processados (ex: 35 / 35 Items)
- Barra de Progresso: Representação visual do percentual de conclusão (100.0%)
- Cor da Barra: Azul para progresso bem-sucedido
General Information
Painel lateral direito com informações detalhadas do backup:
| Campo | Descrição |
|---|---|
| Name | Nome completo do backup (ex: backup-fast-1) |
| Namespace | Namespace onde o recurso de backup do Velero está localizado (ex: openshift-adp) |
| UID | Identificador único do backup no Kubernetes (UUID) |
| TTL | Time to Live - Tempo de retenção do backup (ex: 1h0m0s para 1 hora) |
| Start | Data e hora de início do backup (formato: DD-MM-YYYY - HH:MM) |
| Completion | Data e hora de conclusão do backup (formato: DD-MM-YYYY - HH:MM) |
Included Namespaces
Lista os namespaces que foram incluídos no backup. Cada namespace é exibido como um badge verde (ex: "seawise-app"). Se múltiplos namespaces foram incluídos, todos serão listados nesta seção.
Volume Backup (PVC)
Informações sobre o backup de volumes persistentes:
| Item | Descrição |
|---|---|
| Status Enable/Disable | Badge verde "Enable" indica que o Restic está habilitado para backup de volumes |
| Método | Badge verde "fs-backup" indica que o método File System Backup (Restic) foi utilizado |
| Backed Up Volumes | Número de volumes que foram backupeados com sucesso (ex: 1 volume) |
| Volumes Includes | Lista detalhada dos nomes dos volumes backupeados (ex: "db-storage") |
Ações na Página de Detalhes
- Botão "← Back": Retorna para a lista de backups
- Botão "Restore" (verde): Inicia o processo de restauração usando este backup como origem
Dica
A página de detalhes é útil para auditar backups específicos, verificar quais namespaces e volumes foram incluídos, e confirmar que o backup foi completado com sucesso antes de iniciar uma operação de restore.
Dica
Use os filtros de tempo para encontrar backups específicos rapidamente. Por exemplo, selecione "24h" para ver apenas os backups das últimas 24 horas, facilitando a identificação dos backups mais recentes.
Restore
A funcionalidade de Restore permite recuperar recursos do Kubernetes a partir de backups previamente criados. O processo é simples e intuitivo através do formulário "Create Restore".
Como Criar um Restore
Para restaurar um backup, siga os passos abaixo:
- Acesse o menu "Create Restore" na barra lateral esquerda
- Preencha o campo Restore Name com um nome único para identificar a operação de restore
- Selecione o backup de origem no campo Backup Source
- Clique no botão "Create Restore" para iniciar a restauração
Campos do Formulário
| Campo | Descrição | Obrigatório |
|---|---|---|
| Restore Name | Nome único para identificar a operação de restore. Deve seguir padrões Kubernetes (lowercase, hífens) | Sim |
| Backup Source | Seleção do backup a ser restaurado. O dropdown exibe todos os backups disponíveis ordenados por data | Sim |
Seleção de Backup
O campo Backup Source apresenta uma lista dropdown com todos os backups disponíveis. Os backups são exibidos com seus nomes completos que incluem:
- Nome do backup: Identificador único do backup
- Data: Data e hora de criação do backup (formato: YYYYMMDDHHMMSS)
- Origem: Indica a origem do backup (ex: azure-diario, mensal, semanal, scheduler)
Exemplos de nomes de backup:
backup-azure-diario-20251118222046backup-azure-mensal-20251103100029backup-semana-dom-20251102110028sched-sem-20251125225616
Processo de Restauração
Após criar o restore:
- Execução Automática: O Velero/OADP inicia automaticamente o processo de restauração
- Monitoramento: Acompanhe o progresso na seção "Last Restores" do Dashboard ou na página "Last Restores"
- Notificação: O status será atualizado automaticamente (Completed, Failed, InProgress)
- Verificação: Após conclusão, verifique os recursos restaurados no cluster
Status dos Restores
| Status | Cor | Significado |
|---|---|---|
| Completed | Verde | Restore concluído com sucesso |
| Failed | Vermelho | Restore falhou durante a execução |
| InProgress | Azul | Restore em andamento |
| PartiallyFailed | Amarelo | Restore concluído com alguns erros |
Dica
O dropdown de Backup Source exibe todos os backups disponíveis. Use a barra de rolagem para navegar pela lista completa. Selecione o backup mais recente ou um backup específico de acordo com sua necessidade de restauração.
Atenção
Tenha cuidado ao fazer restore em ambientes de produção. Recursos restaurados podem sobrescrever recursos existentes. Sempre teste restores em ambientes de desenvolvimento primeiro e verifique se o backup selecionado é realmente o desejado.
Últimos Restores
A página "Last Restores" exibe todos os restores executados recentemente, permitindo visualizar o histórico de restaurações e seus status.
Funcionalidades
Busca e Filtros
- Search by name: Campo de busca para filtrar restores pelo nome
- Status Filter: Filtre por status (All, Completed, Failed, InProgress, etc.)
- Time Filter: Filtre por período (1h, 24h, 7 days, 30 days, etc.)
- Botão Filter: Aplique os filtros selecionados
Tabela de Restores
A tabela exibe informações detalhadas sobre cada restore:
| Coluna | Descrição |
|---|---|
| NAME | Nome do restore (clicável para ver detalhes). Exemplos: restore-new, restore-teste |
| DATE | Data e hora de execução do restore (formato: DD-MM-YYYY - HH:MM) |
| PROGRESS | Barra de progresso visual mostrando o percentual de conclusão (0% a 100%) |
| STATUS | Badge colorido indicando o estado: Completed, Failed, InProgress |
Paginação
Na parte inferior da tabela, você encontra:
- Navegação por páginas (1, 2, 3...)
- Indicador da página atual
- Controles para navegar entre as páginas de resultados
Ações Disponíveis
- Visualizar Detalhes: Clique no nome do restore para ver informações completas (backup de origem, namespaces restaurados, recursos, logs, etc.)
- Filtrar por Status: Use o dropdown "Status" para ver apenas restores em um estado específico
- Filtrar por Período: Use o dropdown "Time" para limitar os resultados por intervalo de tempo
Status dos Restores
| Status | Cor | Significado |
|---|---|---|
| Completed | Verde | Restore concluído com sucesso (100%) |
| Failed | Vermelho | Restore falhou durante a execução |
| InProgress | Azul | Restore em andamento |
| PartiallyFailed | Amarelo | Restore concluído com alguns recursos que não puderam ser restaurados |
Dica
Monitore regularmente a página de "Last Restores" para verificar o sucesso das operações de restauração. Restores com status "PartiallyFailed" ou "Failed" devem ser investigados para identificar possíveis problemas com recursos incompatíveis ou permissões.
Storage Locations
Storage Locations definem onde os backups serão armazenados. O Seawise suporta vários provedores de armazenamento compatíveis com S3.
Provedores Suportados
- AWS S3
- MinIO
- Google Cloud Storage (compatibilidade S3)
- Azure Blob Storage (compatibilidade S3)
- Outros provedores compatíveis com S3
Configurando uma Storage Location
1. AWS S3
velero backup-location create aws-s3 \
--provider aws \
--bucket meu-bucket-velero \
--config region=us-east-1 \
--credential-file ./credentials-velero
2. MinIO
velero backup-location create minio \
--provider aws \
--bucket velero-backups \
--config region=minio,s3ForcePathStyle="true",s3Url=http://minio.example.com:9000 \
--credential-file ./minio-credentials
Gerenciamento via Seawise
Através da interface do Seawise, você pode:
- Listar: Visualize todas as storage locations configuradas
- Criar: Adicione novas storage locations
- Editar: Modifique configurações existentes
- Validar: Teste a conectividade com o storage
- Definir como Padrão: Defina qual storage location será usada por padrão
- Excluir: Remove storage locations (requer que não haja backups ativos)
Campos de Configuração
| Campo | Descrição |
|---|---|
| Nome | Nome único para identificar a storage location |
| Provider | Provedor de armazenamento (aws, gcp, azure, etc.) |
| Bucket | Nome do bucket onde os backups serão armazenados |
| Region | Região do provedor de armazenamento |
| Credentials | Arquivo de credenciais para acesso ao storage |
| Config | Configurações adicionais específicas do provedor |
Relatórios
A seção de Relatórios oferece uma análise completa do ambiente de backups e restores, permitindo visualizar métricas, estatísticas e listas detalhadas em uma única interface unificada.
Visão Geral
O relatório apresenta uma análise completa do ambiente de backups e restores com:
- Título: "Complete analysis of environment backups and restores"
- Timestamp: Data e hora de geração do relatório (ex: Generated at: 26-11-2025 - 17:20)
- Filtros Customizáveis: Período, Status e Namespace
- Exportação: Botões para exportar em CSV ou PDF
Filtros e Exportação
Na parte superior, você encontra ferramentas de filtragem e exportação:
| Filtro/Botão | Descrição | Opções |
|---|---|---|
| Period | Filtra os dados por período de tempo | Last 7d, Last 30d, Last 90d, etc. |
| Status | Filtra por status das operações | All, Completed, Failed, InProgress |
| Namespace | Filtra por namespace específico | All, seawise-app, marcell, backup-teste, etc. |
| Apply Filters | Botão azul com ícone de funil para aplicar os filtros selecionados | - |
| CSV | Botão verde para exportar dados em formato CSV (planilha) | - |
| Botão roxo para exportar relatório em formato PDF (documento) | - |
Métricas Principais
Quatro cards principais exibem estatísticas resumidas:
| Métrica | Descrição | Exemplo |
|---|---|---|
| Total Backups | Número total de backups no período filtrado | 3 |
| Total Restores | Número total de restores executados no período | 1 |
| Backup Success Rate | Taxa de sucesso dos backups em porcentagem (cor laranja) | 100.0% |
| Restore Success Rate | Taxa de sucesso dos restores em porcentagem (cor rosa/magenta) | 100.0% |
Painéis de Análise
Abaixo das métricas principais, quatro painéis fornecem análises detalhadas:
1. Backups by Status
Lista a quantidade de backups agrupados por status:
- Completed: Número de backups concluídos com sucesso (ex: 3)
- Failed: Número de backups que falharam (se houver)
- InProgress: Número de backups em andamento (se houver)
2. Restores by Status
Lista a quantidade de restores agrupados por status:
- Completed: Número de restores concluídos (ex: 1)
- Failed: Número de restores que falharam (se houver)
- InProgress: Número de restores em andamento (se houver)
3. History by Namespace
Mostra o histórico de operações agrupadas por namespace:
- Nome do namespace (ex: seawise-app, marcell, backup-teste)
- Quantidade de operações realizadas em cada namespace (ex: 1 backup cada)
- Permite identificar quais namespaces estão sendo mais backupeados
4. Additional Metrics
Métricas complementares importantes:
- Average Restore Time: Tempo médio de duração dos restores (ex: 0:00:06)
- BSL Information: Lista dos Backup Storage Locations com quantidade de itens:
- bsl-aws: 35 items
- dpa-velero-azure-1: 39 items
Abas de Visualização
Logo abaixo dos painéis de análise, você encontra duas abas para alternar entre visualizações:
| Aba | Descrição | Contador |
|---|---|---|
| Backups | Aba ativa (azul) mostrando a lista detalhada de backups | (3) - Número de backups encontrados |
| Restores | Aba para visualizar a lista detalhada de restores | (1) - Número de restores encontrados |
Backup List (3 found)
Quando a aba "Backups" está ativa, uma tabela detalhada exibe todos os backups encontrados com os filtros aplicados:
| Coluna | Descrição |
|---|---|
| Name | Nome do backup (ex: backup-fast-1, fast-1, fast-backup-2) |
| Status | Badge verde "Completed" ou vermelho "Failed" indicando o estado do backup |
| Namespaces | Namespace(s) incluído(s) no backup (ex: seawise-app, marcell, backup-teste) |
| Date/Time | Data e hora de criação do backup (formato: DD-MM-YYYY - HH:MM) |
| Items | Número de recursos/itens incluídos no backup (ex: 35, 22, 17) |
| Warning | Número de avisos durante o backup (geralmente 0) |
| Error | Número de erros durante o backup (geralmente 0 para Completed) |
Casos de Uso dos Relatórios
Auditoria e Compliance
- Verificar taxa de sucesso de backups e restores
- Identificar namespaces sem backup recente
- Gerar evidências de backup para auditorias
- Exportar relatórios em PDF para documentação
Troubleshooting
- Identificar backups com falhas através do filtro de Status
- Analisar Warning e Error para diagnóstico
- Verificar tempo médio de restore
- Comparar desempenho entre diferentes BSLs
Análise de Capacidade
- Visualizar quantos items estão sendo backupeados por namespace
- Comparar distribuição de backups entre BSLs
- Identificar namespaces com mais operações de backup
Exportação de Dados
- CSV: Ideal para análise em Excel, Google Sheets ou ferramentas de BI
- PDF: Perfeito para relatórios executivos, documentação e apresentações
Dica
Use os filtros combinados para análises específicas. Por exemplo, selecione "Last 7d" + Status "Failed" para identificar rapidamente problemas recentes. Exporte em CSV para criar dashboards personalizados em ferramentas externas.
Atualização Automática
O timestamp "Generated at" mostra quando o relatório foi gerado. Para atualizar os dados, aplique os filtros novamente ou recarregue a página.
Gerenciamento de Usuários
O sistema de gerenciamento de usuários permite controlar o acesso ao Seawise com diferentes níveis de permissão.
Criando Novos Usuários
Permissão Necessária
Apenas usuários com role admin podem criar, editar ou excluir outros usuários.
- Acesse "Usuários" no menu
- Clique em "Novo Usuário"
- Preencha os dados do usuário
- Selecione a role apropriada
- Salve o novo usuário
Campos do Usuário
| Campo | Descrição | Obrigatório |
|---|---|---|
| Username | Nome de usuário único para login | Sim |
| Endereço de email válido | Sim | |
| Nome Completo | Nome completo do usuário | Não |
| Senha | Senha forte com mínimo de 8 caracteres | Sim |
| Role | Nível de permissão (admin, backup, viewer) | Sim |
| Ativo | Se o usuário está ativo ou bloqueado | Sim |
Gerenciamento de Permissões
Admin
- ✓ Criar, editar e excluir usuários
- ✓ Gerenciar todas as configurações do sistema
- ✓ Configurar storage locations e DPA
- ✓ Criar, editar e excluir backups
- ✓ Fazer restores
- ✓ Visualizar todos os relatórios
Backup
- ✗ Não pode gerenciar usuários
- ✗ Não pode alterar configurações do sistema
- ✗ Não pode configurar storage locations
- ✓ Criar, editar e excluir backups
- ✓ Fazer restores
- ✓ Visualizar relatórios operacionais
Viewer
- ✗ Não pode gerenciar usuários
- ✗ Não pode alterar configurações
- ✗ Não pode criar backups
- ✗ Não pode fazer restores
- ✓ Visualizar dashboard
- ✓ Visualizar relatórios (somente leitura)
Segurança de Senhas
O Seawise implementa as seguintes medidas de segurança:
- Senhas são armazenadas com hash bcrypt
- Mínimo de 8 caracteres obrigatório
- Recomendação de senhas fortes (maiúsculas, minúsculas, números, símbolos)
- Bloqueio automático após múltiplas tentativas de login falhas
- Sessões expiram após período de inatividade
Configurações
A página de Configurações permite ajustar parâmetros essenciais do Seawise para o correto funcionamento da aplicação.
Namespace do Velero/OADP
Este campo define o namespace onde o Velero ou OADP está instalado no seu cluster Kubernetes/OpenShift. É a configuração mais importante para que o Seawise possa se comunicar corretamente com o Velero.
| Campo | Descrição | Exemplo |
|---|---|---|
| Namespace where Velero/OADP is installed | Nome do namespace do Kubernetes onde o Velero ou OADP foi instalado. O Seawise precisa dessa informação para acessar os recursos de backup/restore | openshift-adp (OpenShift), velero (Kubernetes/Rancher) |
Como Identificar o Namespace Correto
OpenShift com OADP:
oc get deployment --all-namespaces | grep velero
# Geralmente: openshift-adp
Kubernetes/Rancher com Velero:
kubectl get deployment --all-namespaces | grep velero
# Geralmente: velero
Importante
O namespace configurado aqui deve corresponder ao namespace onde você instalou o Velero ou OADP. Se o namespace estiver incorreto, o Seawise não conseguirá listar backups, restores ou criar novas operações.
Time Zone
Configure o fuso horário para a correta exibição de datas e horas na interface do Seawise.
| Campo | Descrição | Exemplo |
|---|---|---|
| Time Zone | Fuso horário usado para exibir datas e horas em toda a interface. Selecione o timezone que corresponde à sua região | UTC-3 (São Paulo), UTC+0 (London), UTC-5 (New York) |
Descrição na interface: "Define como as datas/horas serão exibidas na interface."
Timezones Comuns
- UTC-3 (São Paulo): Horário de Brasília (Brasil)
- UTC-5 (New York): Eastern Time (EUA)
- UTC-8 (Los Angeles): Pacific Time (EUA)
- UTC+0 (London): Greenwich Mean Time
- UTC+1 (Paris): Central European Time
- UTC+8 (Singapore): Singapore Time
Dica
A configuração de timezone afeta a exibição de todas as datas e horas no Seawise, incluindo:
- Timestamps de criação de backups
- Datas de expiração (TTL)
- Horários de execução de schedules
- Relatórios e logs
Salvando as Configurações
Após preencher ou alterar os campos, clique no botão azul "Save" para aplicar as configurações.
Atenção
Alterar o namespace do Velero/OADP após a configuração inicial pode fazer com que o Seawise perca acesso aos backups e restores existentes. Certifique-se de configurar o namespace correto na instalação inicial.
Advanced Area
A seção "Advanced Area" contém opções avançadas que devem ser usadas apenas em casos especiais:
Reset Initial Setup
Warning
Esta opção é apenas para casos especiais. Ao resetar o setup, você será redirecionado à tela de configuração inicial.
O botão laranja "Reset Initial Setup" permite reiniciar a configuração do Seawise do zero. Use apenas quando:
- Você mudou completamente a infraestrutura do cluster
- Precisa reconfigurar o Velero/OADP em um namespace diferente
- Está tendo problemas graves de configuração que não podem ser resolvidos de outra forma
Internacionalização (i18n)
O Seawise oferece suporte completo para múltiplos idiomas, facilitando o uso por equipes internacionais.
Idiomas Disponíveis
- Português (pt_BR): Português do Brasil
- Inglês (en): English
Como Alternar Idiomas
- Clique no seletor de idiomas no canto superior direito
- Selecione o idioma desejado (EN ou PT)
- A interface será atualizada imediatamente
- Sua preferência será salva para futuras sessões
Segurança
O Seawise implementa diversas camadas de segurança para proteger seus dados e operações.
Autenticação
- Senhas Criptografadas: Todas as senhas são armazenadas com hash bcrypt
- Sessões Seguras: Cookies de sessão com flags HttpOnly e Secure
- CSRF Protection: Proteção contra Cross-Site Request Forgery
- Rate Limiting: Limite de requisições para prevenir brute force
Autorização
- Role-Based Access Control (RBAC): Sistema de roles granular
- Verificação de Permissões: Cada ação verifica permissões do usuário
- Auditoria: Todas as ações são registradas com timestamp e usuário
Comunicação
- HTTPS Obrigatório: Toda comunicação deve usar TLS/SSL
- Secure Headers: Headers de segurança configurados (HSTS, X-Frame-Options, etc.)
- API Token: Tokens seguros para integrações externas
Dados
- Credenciais Kubernetes: Armazenadas de forma segura via kubeconfig
- Secrets: Nunca expostos em logs ou interface
- Sanitização: Inputs sanitizados para prevenir injection attacks
Recomendações de Segurança
Boas Práticas
- Sempre use HTTPS em produção
- Altere a SECRET_KEY padrão
- Use senhas fortes para todos os usuários
- Mantenha backups das credenciais em local seguro
- Configure network policies no Kubernetes
- Use RBAC do Kubernetes para limitar acesso ao Seawise
- Revise logs de auditoria regularmente
- Mantenha o Seawise e Velero sempre atualizados
Solução de Problemas
Problema: Backups Ficam em Status "InProgress"
Possíveis Causas:
- Velero travado ou com problemas
- Problemas de conectividade com storage
- Recursos muito grandes demorando para backup
Solução:
# Verificar logs do Velero
kubectl logs -n velero deployment/velero
# Verificar status do backup
velero backup describe <nome-do-backup> --details
# Verificar pods do Velero
kubectl get pods -n velero
Problema: Erro ao Conectar com Storage
Possíveis Causas:
- Credenciais inválidas ou expiradas
- Bucket não existe ou sem permissões
- Configuração de rede/firewall
Solução:
# Validar storage location
velero backup-location get
# Testar conectividade manualmente
aws s3 ls s3://nome-do-bucket --region us-east-1
# Verificar secret de credenciais
kubectl get secret -n velero cloud-credentials -o yaml
Problema: Restore Falhando
Possíveis Causas:
- Recursos já existem no cluster
- Incompatibilidade de versões do Kubernetes
- CRDs não instaladas
Solução:
# Ver detalhes do restore
velero restore describe <nome-do-restore> --details
# Ver logs do restore
velero restore logs <nome-do-restore>
# Fazer restore com mapeamento para novo namespace
velero restore create --from-backup <backup> \
--namespace-mappings old:new
Problema: Seawise Não Mostra Backups
Possíveis Causas:
- Seawise sem permissões para acessar namespace do Velero
- Velero não está instalado ou rodando
- Configuração incorreta do VELERO_NAMESPACE
Solução:
# Verificar se Velero está rodando
kubectl get pods -n velero
# Verificar se backups existem
velero backup get
# Verificar variável de ambiente do Seawise
echo $VELERO_NAMESPACE
# Verificar permissões
kubectl auth can-i get backups.velero.io --namespace velero
Problema: Login Não Funciona
Possíveis Causas:
- Banco de dados corrompido
- Senha incorreta
- Conta bloqueada por tentativas falhas
Solução:
# Resetar senha via CLI (se disponível)
python manage.py reset-password <username>
# Verificar logs da aplicação
tail -f logs/seawise.log
# Verificar banco de dados
sqlite3 data/seawise.db "SELECT username, active FROM users;"
Problema: Schedules Não Executam
Possíveis Causas:
- Expressão cron inválida
- Schedule pausado
- Velero não processa schedules
Solução:
# Verificar status do schedule
velero schedule describe <nome-do-schedule>
# Ver próxima execução programada
velero schedule get
# Verificar logs do Velero
kubectl logs -n velero deployment/velero | grep schedule
Obter Suporte
Se você continuar enfrentando problemas:
- Consulte a documentação oficial do Velero
- Abra uma issue no repositório do Seawise
- Inclua logs relevantes, versões do software e passos para reproduzir o problema
Dica
Para reportar bugs ou contribuir com o projeto, visite nosso repositório no GitHub.