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:

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.

Tela de Login do Seawise

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

  1. Acesse a URL obtida nos passos anteriores (ex: https://seawise-dashboard-seawise-app.apps.cluster.example.com)
  2. Na tela de login, use as credenciais padrão:
    • Usuário: admin
    • Senha: admin123
  3. IMPORTANTE: Altere imediatamente a senha padrão:
    • Acesse o menu "Settings" ou "Edit Profile"
    • Altere a senha para uma senha forte e segura
  4. 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.

Dashboard do Seawise

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
Lista de DPAs

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

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

Formulário 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

Formulário 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

Formulário 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:

  1. Acesse o Console GCP → IAM & Admin → Service Accounts
  2. Crie ou selecione uma Service Account
  3. Vá em "Keys" → "Add Key" → "Create new key" → Selecione "JSON"
  4. 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
Lista de Repositórios BSL

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:

Novo BSL

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

  1. Acesse o menu "Fast Backup"
  2. Preencha o formulário com as informações necessárias
  3. Clique em "Criar Backup"
  4. 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

Fast Backup do Seawise

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

  1. Acesse "New Backup Policy" no menu lateral
  2. Preencha os campos do formulário conforme descrito abaixo
  3. 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

Exemplo de Backup Policy do Seawise

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.

Últimos Backups do Seawise

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.

Detalhes do 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".

Create Restore

Como Criar um Restore

Para restaurar um backup, siga os passos abaixo:

  1. Acesse o menu "Create Restore" na barra lateral esquerda
  2. Preencha o campo Restore Name com um nome único para identificar a operação de restore
  3. Selecione o backup de origem no campo Backup Source
  4. 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-20251118222046
  • backup-azure-mensal-20251103100029
  • backup-semana-dom-20251102110028
  • sched-sem-20251125225616

Processo de Restauração

Após criar o restore:

  1. Execução Automática: O Velero/OADP inicia automaticamente o processo de restauração
  2. Monitoramento: Acompanhe o progresso na seção "Last Restores" do Dashboard ou na página "Last Restores"
  3. Notificação: O status será atualizado automaticamente (Completed, Failed, InProgress)
  4. 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.

Últimos Restores do Seawise

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.

Relatórios

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) -
PDF 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.

  1. Acesse "Usuários" no menu
  2. Clique em "Novo Usuário"
  3. Preencha os dados do usuário
  4. Selecione a role apropriada
  5. Salve o novo usuário

Campos do Usuário

Campo Descrição Obrigatório
Username Nome de usuário único para login Sim
Email 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.

Configurações do Seawise

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

  1. Clique no seletor de idiomas no canto superior direito
  2. Selecione o idioma desejado (EN ou PT)
  3. A interface será atualizada imediatamente
  4. 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:

Dica

Para reportar bugs ou contribuir com o projeto, visite nosso repositório no GitHub.