Skip to content

Commit a52c060

Browse files
author
nataliagranato
committed
chore: Atualizando o projeto
1 parent e90722d commit a52c060

29 files changed

+641
-136
lines changed

Diff for: .github/ISSUE_TEMPLATE/bug_report.md

+35
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
---
2+
name: Bug Report
3+
about: Crie um relatório para nos ajudar a melhorar
4+
title: "[BUG]"
5+
labels: bug
6+
assignees: 'nataliagranato'
7+
8+
---
9+
10+
## Descrição
11+
12+
Por favor, inclua um resumo do problema e a motivação por trás da issue.
13+
14+
## Screenshots (se aplicável)
15+
16+
Se aplicável, adicione capturas de tela para ajudar a explicar o problema.
17+
18+
## Ambiente
19+
20+
- **Método de Execução**:
21+
- [ ] Kubernetes com manifestos
22+
- [ ] Kubernetes com Helm
23+
- [ ] Docker localmente
24+
25+
- **Sistema Operacional**: [e.g. Ubuntu 20.04]
26+
- **Navegador**: [e.g. Chrome 89]
27+
- **Versão da Aplicação**: [e.g. 1.0.0]
28+
29+
## Logs e Saída de Erro
30+
31+
Por favor, inclua quaisquer logs relevantes e saída de erro aqui.
32+
33+
## Questões Relacionadas
34+
35+
Liste quaisquer issues relacionadas aqui, usando o formato `#<issue_number>`.

Diff for: .github/PULL_REQUEST_TEMPLATE.md

+39
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
## Título do Pull Request
2+
3+
Descreva brevemente o propósito do pull request.
4+
5+
## Descrição
6+
7+
Por favor, inclua um resumo das mudanças e a motivação por trás delas. Liste quaisquer dependências que são necessárias para esta mudança.
8+
9+
## Tipo de Mudança
10+
11+
- [ ] Bugfix
12+
- [ ] Nova funcionalidade
13+
- [ ] Mudança de funcionalidade existente
14+
- [ ] Documentação
15+
- [ ] Segurança de código
16+
- [ ] Kubernetes
17+
- [ ] Helm
18+
- [ ] Docker
19+
- [ ] GitHub Actions
20+
- [ ] Outro
21+
22+
## Checklist
23+
24+
- [ ] Meu código segue as diretrizes de estilo deste projeto
25+
- [ ] Eu realizei uma auto-revisão do meu próprio código
26+
- [ ] Eu comentei meu código, especialmente em áreas difíceis de entender
27+
- [ ] Eu fiz as mudanças correspondentes na documentação
28+
- [ ] Minhas mudanças não geram novos avisos
29+
- [ ] Eu adicionei testes que provam que minha correção é eficaz ou que minha funcionalidade funciona
30+
- [ ] Testes de unidade novos e existentes passam localmente com minhas mudanças
31+
- [ ] Quaisquer mudanças dependentes foram mescladas e publicadas nos módulos downstream
32+
33+
## Screenshots (se aplicável)
34+
35+
Se aplicável, adicione capturas de tela para ajudar a explicar suas mudanças.
36+
37+
## Questões Relacionadas
38+
39+
Liste quaisquer issues relacionadas aqui, usando o formato `#<issue_number>`.

Diff for: Dockerfile

+4-5
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,13 @@
11
FROM cgr.dev/chainguard/python:latest-dev as builder
22
WORKDIR /app
33
COPY . /app
4-
RUN pip install --no-cache-dir -r requirements.txt --user
4+
RUN pip install -r requirements.txt --user
55

6-
FROM cgr.dev/chainguard/python:latest-dev
6+
FROM cgr.dev/chainguard/python:latest
77
WORKDIR /app
88
COPY --from=builder /home/nonroot/.local/lib/python3.12/site-packages /home/nonroot/.local/lib/python3.12/site-packages
99
COPY --from=builder /app /app
1010

1111
ENV REDIS_HOST="redis-server"
12-
HEALTHCHECK --interval=30s --timeout=10s --start-period=5s --retries=3 \
13-
CMD curl --fail http://localhost:5000/health || exit 1
14-
ENTRYPOINT ["python", "-m", "flask", "run", "--host=0.0.0.0"]
12+
13+
ENTRYPOINT ["python", "-m", "flask", "run", "--host=0.0.0.0"]

Diff for: OWNERS

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
nataliagranato

Diff for: README.md

+123-82
Original file line numberDiff line numberDiff line change
@@ -1,134 +1,175 @@
1-
# Gerador de Senhas com Redis
1+
# Giropops Senhas
2+
3+
O projeto **Giropops Senhas** é uma aplicação web desenvolvida com Flask que permite a geração e gerenciamento de senhas. A aplicação utiliza Redis para armazenamento de dados e é containerizada usando Docker. Além disso, o projeto inclui integração contínua com GitHub Actions para construção e envio de imagens Docker, bem como verificação de vulnerabilidades.
4+
5+
## Ferramentas e Tecnologias Utilizadas
6+
7+
- **Python**: Linguagem de programação principal.
8+
- **Flask**: Framework web utilizado para construir a aplicação.
9+
- **Redis**: Banco de dados em memória utilizado para armazenamento de dados.
10+
- **Docker**: Utilizado para containerização da aplicação.
11+
- **GitHub Actions**: Utilizado para integração contínua e automação de tarefas.
12+
- **Cosign**: Utilizado para assinatura e verificação de imagens de contêiner.
13+
- **Kyverno**: Utilizado para políticas de segurança no Kubernetes.
14+
- **Kubernetes**: Utilizado para orquestração de contêineres em produção.
15+
- **Prometheus**: Utilizado para monitoramento e alertas.
16+
- **APKO**: Utilizado para construção de imagens de contêiner.
17+
- **Melange**: Utilizado para construção de pacotes.
18+
- **Helm**: Utilizado para gerenciamento de pacotes Kubernetes.
19+
20+
## Extras
21+
22+
- **Helmfile**: Utilizado para gerenciar múltiplos gráficos Helm.
23+
- **Docker Compose**: Utilizado para orquestração de contêineres.
24+
- **Hadolint**: Utilizado para análise de Dockerfiles.
25+
- **Trivy**: Utilizado para análise de vulnerabilidades em imagens de contêiner.
26+
- **Snyk**: Utilizado para análise de vulnerabilidades em dependências.
27+
- **CodeQL**: Utilizado para análise de código estático.
28+
- **CodeRabbit**: IA para Code Review e resumo de pull requests.
29+
- **Kind**: Utilizado para execução de clusters Kubernetes em Docker.
30+
- **Cert Manager**: Utilizado para gerenciamento de certificados TLS.
31+
32+
## Utilizando a aplicação localmente
233

3-
Este é um projeto de uma aplicação em Python que gera senhas aleatórias e utiliza o Redis como um banco de dados para armazenamento temporário das senhas geradas. Este README.md fornecerá instruções sobre como executar a aplicação localmente e também inclui informações sobre como dockerizar o projeto.
34+
1. Clone o repositório:
435

5-
### Pré-requisitos
36+
```bash
37+
git clone https://github.com/Tech-Preta/giropops-senhas.git
38+
cd giropops-senhas
39+
```
640

7-
* Git
8-
* Python3
9-
* Pip
10-
* Docker (opcional, se desejar executar via contêiner)
41+
2. Construa a imagem Docker da aplicação e do Redis:
1142

12-
## Executando a aplicação local
43+
```bash
44+
docker build -f Dockerfile -t nataliagranato/giropops-senhas:v1.0.0 .
45+
docker build -f Dockerfile.redis -t nataliagranato/redis:v1.0.0 .
46+
```
1347

14-
1. Clone o repositório:
48+
3. Inicie a aplicação e o Redis:
1549

16-
```
17-
https://github.com/nataliagranato/giropops-senhas.git
50+
```bash
51+
docker run -d --name redis -p 6380:6379 nataliagranato/redis:v1.0.0
52+
docker run -d --name giropops-senhas -p 5000:5000 --link redis:redis nataliagranato/giropops-senhas:v1.0.0
1853
```
1954

20-
2. Entre no diretório de trabalho:
55+
Se preferir, você pode usar o Docker Compose para iniciar a aplicação e o Redis:
2156

22-
```
23-
cd giropops-senhas
57+
```bash
58+
docker-compose up -d
2459
```
2560

26-
3. Atualize o sistema operacional:
61+
4. Acesse a aplicação em seu navegador:
2762

2863
```
29-
sudo apt update -y
64+
http://localhost:5000
3065
```
3166

32-
4. Certifique-se de ter o Python instalado e instale o gerenciador de pacotes Pip:
67+
## Contribuindo
3368

34-
```
35-
sudo apt-get install python3-pip -y
36-
```
69+
Se você deseja contribuir com o projeto, siga as instruções abaixo:
3770

38-
5. Atualize o projeto:
71+
**Criando uma Issue:**
3972

40-
```
41-
pip install --upgrade Flask
42-
```
73+
### Atualização do README.md
4374

44-
**Esse passo foi necessário, pois tive o seguinte problema:**
75+
Aqui está o README.md atualizado para incluir informações sobre os templates de pull request e issue.
4576

46-
```
47-
flask run --host=0.0.0.0
48-
Traceback (most recent call last):
49-
File "/usr/local/bin/flask", line 5, in <module>
50-
from flask.cli import main
51-
File "/usr/local/lib/python3.8/dist-packages/flask/__init__.py", line 7, in <module>
52-
from .app import Flask as Flask
53-
File "/usr/local/lib/python3.8/dist-packages/flask/app.py", line 27, in <module>
54-
from . import cli
55-
File "/usr/local/lib/python3.8/dist-packages/flask/cli.py", line 17, in <module>
56-
from .helpers import get_debug_flag
57-
File "/usr/local/lib/python3.8/dist-packages/flask/helpers.py", line 14, in <module>
58-
from werkzeug.urls import url_quote
59-
ImportError: cannot import name 'url_quote' from 'werkzeug.urls' (/usr/local/lib/python3.8/dist-packages/werkzeug/urls.py)
60-
```
77+
```markdown
78+
# Giropops Senhas
6179

62-
Se necessário, adicione uma versão específica do Werkzeug ao arquivo requirements.txt, como Werkzeug==2.2.2, para resolver possíveis problemas de importação.
80+
O projeto **Giropops Senhas** é uma aplicação web
6381

64-
6. Instale o Redis, uma dependência do projeto:
82+
desenvol
6583

66-
```
67-
sudo apt-get install redis -y
68-
```
84+
vida com Flask que permite a geração e gerenciamento de senhas. A aplicação utiliza Redis para armazenamento de dados e é containerizada usando Docker. Além disso, o projeto inclui integração contínua com GitHub Actions para construção e envio de imagens Docker, bem como verificação de vulnerabilidades.
6985

70-
7. Inicie o Redis:
86+
## Ferramentas e Tecnologias Utilizadas
7187

72-
```
73-
sudo systemctl start redis && systemctl status redis
74-
```
88+
- **Python**: Linguagem de programação principal.
89+
- **Flask**: Framework web utilizado para construir a aplicação.
90+
- **Redis**: Banco de dados em memória utilizado para armazenamento de dados.
91+
- **Docker**: Utilizado para containerização da aplicação.
92+
- **GitHub Actions**: Utilizado para integração contínua e automação de tarefas.
93+
- **Cosign**: Utilizado para assinatura e verificação de imagens de contêiner.
94+
- **Kyverno**: Utilizado para políticas de segurança no Kubernetes.
95+
- **Kubernetes**: Utilizado para orquestração de contêineres em produção.
96+
- **Prometheus**: Utilizado para monitoramento e alertas.
97+
- **APKO**: Utilizado para construção de imagens de contêiner.
98+
- **Melange**: Utilizado para construção de pacotes.
99+
- **Helm**: Utilizado para gerenciamento de pacotes Kubernetes.
75100

76-
8. Instale todas as dependências do Python:
101+
## Extras
77102

78-
```
79-
pip install --no-cache-dir -r requirements.txt
80-
```
103+
- **Helmfile**: Utilizado para gerenciar múltiplos gráficos Helm.
104+
- **Docker Compose**: Utilizado para orquestração de contêineres.
105+
- **Hadolint**: Utilizado para análise de Dockerfiles.
106+
- **Trivy**: Utilizado para análise de vulnerabilidades em imagens de contêiner.
107+
- **Snyk**: Utilizado para análise de vulnerabilidades em dependências.
108+
- **CodeQL**: Utilizado para análise de código estático.
109+
- **CodeRabbit**: IA para Code Review e resumo de pull requests.
110+
- **Kind**: Utilizado para execução de clusters Kubernetes em Docker.
111+
- **Cert Manager**: Utilizado para gerenciamento de certificados TLS.
81112

82-
9. Crie uma variável de ambiente para que a aplicação encontre o Redis:
113+
## Utilizando a aplicação localmente
83114

84-
```
85-
export REDIS_HOST=localhost
115+
1. Clone o repositório:
116+
117+
```bash
118+
git clone https://github.com/Tech-Preta/giropops-senhas.git
119+
cd giropops-senhas
86120
```
87121

88-
10. Iniciando a aplicação:
122+
2. Construa a imagem Docker da aplicação e do Redis:
89123

90-
```
91-
flask run --host=0.0.0.0
124+
```bash
125+
docker build -f Dockerfile -t nataliagranato/giropops-senhas:v1.0.0 .
126+
docker build -f Dockerfile.redis -t nataliagranato/redis:v1.0.0 .
92127
```
93128

94-
# Dockerização do Projeto
129+
3. Inicie a aplicação e o Redis:
95130

96-
Para dockerizar o projeto, siga estas etapas:
131+
```bash
132+
docker run -d --name redis -p 6380:6379 nataliagranato/redis:v1.0.0
133+
docker run -d --name giropops-senhas -p 5000:5000 --link redis:redis nataliagranato/giropops-senhas:v1.0.0
134+
```
97135

98-
1. Construa a imagem docker:
136+
Se preferir, você pode usar o Docker Compose para iniciar a aplicação e o Redis:
99137

100-
```
101-
docker build -t nataliagranato/linuxtips-giropops-senhas:1.0 .
138+
```bash
139+
docker-compose up -d
102140
```
103141

104-
2. Inicie um contêiner Redis:
142+
4. Acesse a aplicação em seu navegador:
105143

106144
```
107-
docker container run -d -p 6000:6379 --name redis redis:alpine3.19
145+
http://localhost:5000
108146
```
109147

110-
3. Descubra o IPAddress do Redis:
148+
## Contribuindo
111149

112-
```
113-
docker inspect ID_REDIS | grep IPAddress
114-
```
150+
Contribuições são bem-vindas! Por favor, siga as diretrizes abaixo ao contribuir para este projeto.
115151

116-
4. Executando a aplicação:
152+
### Criando uma Issue
117153

118-
```
119-
docker run -d --name giropops-senhas -p 5000:5000 --env REDIS_HOST=IP_REDIS giropops-senhas:5.0
120-
```
154+
Se você encontrar um bug ou tiver uma ideia para uma nova funcionalidade, por favor, crie uma issue usando o template apropriado:
121155

122-
Ou
156+
1. Vá para a aba "Issues" do repositório.
157+
2. Clique em "New issue".
158+
3. Selecione o template de bug ou feature request.
159+
4. Preencha as informações necessárias e envie a issue.
123160

124-
5. Use o Docker Compose para construir e iniciar os serviços:
161+
### Fazendo um Pull Request
125162

126-
```
127-
docker-compose up -d
128-
```
163+
Para contribuir com código, siga os passos abaixo:
129164

130-
Isso iniciará tanto a aplicação quanto o contêiner Redis. A aplicação estará disponível em <http://localhost:5000/>.
165+
1. Fork o repositório.
166+
2. Crie uma nova branch para sua feature ou correção de bug (`git checkout -b minha-feature`).
167+
3. Faça as mudanças necessárias e adicione testes, se aplicável.
168+
4. Commit suas mudanças (`git commit -m 'Adiciona minha nova feature'`).
169+
5. Push para a branch (`git push origin minha-feature`).
170+
6. Abra um pull request usando o template de pull request.
131171

132-
Certifique-se de que todas as portas necessárias estejam liberadas e de que não haja conflitos com outras aplicações em execução em sua máquina.
172+
### Templates
133173

134-
Observação: As versões dos pacotes e dependências podem variar. Certifique-se de usar as versões mais recentes e compatíveis com seu ambiente.
174+
- [Template de Pull Request](.github/PULL_REQUEST_TEMPLATE.md)
175+
- [Template de Issue de Bug](.github/ISSUE_TEMPLATE/bug_report.md)

0 commit comments

Comments
 (0)