# CadUser - Sistema de Cadastro de Usuários Sistema de cadastro e gerenciamento de usuários desenvolvido pelo Interlegis. ## Instalação ```bash helm install caduser ./caduser -f values.yaml ``` ## Pré-requisitos - Kubernetes 1.19+ - Helm 3.0+ - CloudNativePG Operator (https://cloudnative-pg.io/) - Ingress Controller (nginx) - Cert-manager (opcional, para TLS com Let's Encrypt) ## Parâmetros ### Configurações da Aplicação | Parâmetro | Descrição | Padrão | |-----------|-----------|--------| | `caduser.hostname` | Hostname para acesso ao CadUser | `caduser.domain.net` | | `caduser.adminUsers` | E-mails dos administradores (separados por vírgula) | `admin@example.com` | | `caduser.debug` | Habilitar modo debug | `False` | ### Configurações de E-mail | Parâmetro | Descrição | Padrão | |-----------|-----------|--------| | `caduser.emailHost` | Servidor SMTP | `smtp.domain.net` | | `caduser.emailPort` | Porta SMTP | `25` | | `caduser.emailUseTls` | Usar TLS | `False` | | `caduser.emailUseSsl` | Usar SSL | `False` | | `caduser.defaultFromEmail` | E-mail remetente | `no-reply@domain.net` | ### Configurações de Banco de Dados (CloudNativePG) | Parâmetro | Descrição | Padrão | |-----------|-----------|--------| | `postgresql.enabled` | Criar cluster PostgreSQL | `true` | | `postgresql.clusterName` | Nome do cluster | `caduser-pg` | | `postgresql.instances` | Número de instâncias | `1` | | `postgresql.databaseName` | Nome do banco | `caduser` | | `postgresql.owner` | Usuário dono do banco | `caduser` | | `postgresql.storageSize` | Tamanho do volume | `1Gi` | | `postgresql.image` | Imagem PostgreSQL | `ghcr.io/cloudnative-pg/postgresql:17.2` | ### Configurações de Cache | Parâmetro | Descrição | Padrão | |-----------|-----------|--------| | `memcached.internal` | Usar Memcached interno | `true` | ### Configurações de Ingress | Parâmetro | Descrição | Padrão | |-----------|-----------|--------| | `ingress.enabled` | Habilitar Ingress | `true` | | `ingress.class` | Classe do Ingress | `nginx` | | `ingress.tls.enabled` | Habilitar TLS | `true` | ### Persistência | Parâmetro | Descrição | Padrão | |-----------|-----------|--------| | `persistence.enabled` | Habilitar persistência | `true` | | `persistence.size` | Tamanho do volume de mídia | `2Gi` | | `persistence.accessMode` | Modo de acesso | `ReadWriteOnce` | ### Recursos | Parâmetro | Descrição | Padrão | |-----------|-----------|--------| | `resources.requests.cpu` | CPU solicitada | `35m` | | `resources.requests.memory` | Memória solicitada | `512Mi` | | `resources.limits.cpu` | Limite de CPU | `1000m` | | `resources.limits.memory` | Limite de memória | `1000Mi` | ## Integrações ### Moodle Para integrar com o Moodle, configure: ```yaml caduser: moodleBaseUrl: "https://moodle.example.com" moodleApiToken: "seu-token-aqui" ``` ### MaxMind GeoIP Para habilitar geolocalização com MaxMind: ```yaml caduser: maxmindAccountId: "seu-account-id" maxmindLicenceKey: "sua-chave" ```