[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-81055":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":8,"htmlUrl":8,"language":9,"languages":8,"totalLinesOfCode":8,"stars":10,"forks":11,"watchers":12,"openIssues":13,"contributorsCount":13,"subscribersCount":13,"size":13,"stars1d":13,"stars7d":12,"stars30d":12,"stars90d":13,"forks30d":13,"starsTrendScore":13,"compositeScore":14,"rankGlobal":8,"rankLanguage":8,"license":8,"archived":15,"fork":15,"defaultBranch":16,"hasWiki":17,"hasPages":15,"topics":18,"createdAt":8,"pushedAt":8,"updatedAt":19,"readmeContent":20,"aiSummary":21,"trendingCount":13,"starSnapshotCount":13,"syncStatus":22,"lastSyncTime":23,"discoverSource":24},81055,"claude-code-devops","veronez-io\u002Fclaude-code-devops","veronez-io",null,"Python",29,104,1,0,6.06,false,"main",true,[],"2026-06-12 02:04:10","# Kube-News\n\nUma aplicação de notícias desenvolvida em NodeJS para demonstrar o uso de containers e Kubernetes.\n\n## 📋 Sobre o Projeto\n\nO projeto Kube-News é uma aplicação web simples desenvolvida em Node.js, projetada como exemplo para demonstrar o uso de contêineres. É um portal de notícias que permite criar, visualizar e gerenciar artigos através de uma interface web.\n\n### 🚀 Funcionalidades Principais\n\n- Listagem de notícias na página inicial\n- Criação de novas notícias através de formulário\n- Visualização detalhada de cada notícia\n- API REST para inserção em massa de notícias\n- Endpoints de health check para monitoramento\n- Coleta de métricas para Prometheus\n\n## 🛠️ Tecnologias Utilizadas\n\n- **Backend**: Node.js com Express.js\n- **Frontend**: EJS (Embedded JavaScript) como motor de templates\n- **Banco de Dados**: PostgreSQL com Sequelize ORM\n- **Monitoramento**: Prometheus (via express-prom-bundle)\n\n## 📦 Estrutura do Projeto\n\n```\n\u002F\n├── src\u002F                      # Código-fonte principal\n│   ├── models\u002F               # Modelos de dados\n│   │   └── post.js           # Definição do modelo Post\n│   ├── views\u002F                # Templates EJS\n│   │   ├── partial\u002F          # Componentes parciais (header, footer)\n│   │   ├── edit-news.ejs     # Formulário de edição\n│   │   ├── index.ejs         # Página principal\n│   │   └── view-news.ejs     # Visualização de notícia\n│   ├── static\u002F               # Arquivos estáticos (CSS, imagens)\n│   ├── middleware.js         # Middlewares personalizados\n│   ├── server.js             # Ponto de entrada da aplicação\n│   ├── system-life.js        # Endpoints de health check\n│   └── package.json          # Dependências\n├── popula-dados.http         # Arquivo para popular o banco com dados de exemplo\n└── README.md                 # Documentação\n```\n\n## 🔧 Configuração\n\n### Pré-requisitos\n\n- Node.js\n- PostgreSQL\n- Docker (opcional, para containerização)\n- Kubernetes (opcional, para orquestração)\n\n### Variáveis de Ambiente\n\nPara configurar a aplicação, defina as seguintes variáveis de ambiente:\n\n| Variável | Descrição | Valor Padrão |\n|----------|-----------|--------------|\n| DB_DATABASE | Nome do banco de dados | kubedevnews |\n| DB_USERNAME | Usuário do banco de dados | kubedevnews |\n| DB_PASSWORD | Senha do usuário | Pg#123 |\n| DB_HOST | Endereço do banco de dados | localhost |\n| DB_PORT | Porta do banco de dados | 5432 |\n| DB_SSL_REQUIRE | Habilitar SSL para conexão | false |\n\n## 🚀 Instalação e Execução\n\n### Execução Local\n\n1. Clone o repositório\n2. Instale as dependências:\n   ```bash\n   cd src\n   npm install\n   ```\n3. Configure as variáveis de ambiente necessárias\n4. Inicie a aplicação:\n   ```bash\n   npm start\n   ```\n5. Acesse a aplicação em [http:\u002F\u002Flocalhost:8080](http:\u002F\u002Flocalhost:8080)\n\n### População de Dados de Exemplo\n\nUtilize o arquivo `popula-dados.http` para inserir notícias de exemplo:\n\n```bash\n# Com uma ferramenta como o REST Client no VS Code ou curl\nPOST http:\u002F\u002Flocalhost:8080\u002Fapi\u002Fpost\nContent-Type: application\u002Fjson\n# Conteúdo do arquivo popula-dados.http\n```\n\n## 📊 Monitoramento e Health Checks\n\nA aplicação disponibiliza endpoints para monitoramento e também recursos para simular cenários de falha, muito úteis para testar a resiliência em ambientes Kubernetes:\n\n### Endpoints de Monitoramento\n- `\u002Fhealth` - Verifica o estado atual da aplicação (retorna status da aplicação e hostname da máquina)\n- `\u002Fready` - Verifica se a aplicação está pronta para receber tráfego\n- `\u002Fmetrics` - Métricas do Prometheus (geradas pelo express-prom-bundle)\n\n### Simulação de Falhas (Chaos Engineering)\n- `\u002Funhealth` - (PUT) Altera o estado da aplicação para não saudável. Todas as requisições subsequentes receberão status code 500.\n- `\u002Funreadyfor\u002F:seconds` - (PUT) Simula indisponibilidade temporária por um número específico de segundos. Durante este período, o endpoint `\u002Fready` retornará status code 500.\n\nEstes recursos de simulação de falhas são extremamente úteis para testar:\n- Comportamento de probes de liveness e readiness no Kubernetes\n- Políticas de retry e circuit breaker\n- Mecanismos de failover\n- Resiliência geral da sua infraestrutura\n\n## 🔒 Modelo de Dados\n\nO projeto utiliza um único modelo `Post` com os seguintes campos:\n\n| Campo | Tipo | Descrição |\n|-------|------|-----------|\n| title | String | Título da notícia (limite: 30 caracteres) |\n| summary | String | Resumo da notícia (limite: 50 caracteres) |\n| content | String | Conteúdo completo (limite: 2000 caracteres) |\n| publishDate | Date | Data de publicação |\n\n\n","Kube-News 是一个基于 Node.js 开发的新闻应用，旨在展示容器和 Kubernetes 的使用。其核心功能包括新闻列表展示、通过表单创建新文章、查看详细新闻内容以及提供 REST API 用于批量插入新闻数据等。此外，还集成了健康检查端点和 Prometheus 监控支持。该项目适合用于学习如何将 Node.js 应用程序与 Docker 和 Kubernetes 结合进行部署和管理，同时也可作为构建简单内容管理系统的技术参考。",2,"2026-06-11 04:03:21","CREATED_QUERY"]