Skip to content

Commit

Permalink
Streamline make setup and prepare CI w. GH Actions
Browse files Browse the repository at this point in the history
  • Loading branch information
augusto-herrmann committed Aug 22, 2023
1 parent 5343b19 commit 4f53b20
Show file tree
Hide file tree
Showing 4 changed files with 36 additions and 17 deletions.
13 changes: 9 additions & 4 deletions .github/workflows/build_tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,9 @@ name: Docker Image Build & CI Tests

on:
push:
branches: [ main ]
branches:
- main
- v0.2.x-alpha
tags: [ tmp-rerun ]
pull_request:
branches: [ main ]
Expand All @@ -18,14 +20,17 @@ jobs:
steps:
- uses: actions/checkout@v2
- name: Build the Docker image
run: docker build . --file Dockerfile --tag api-pgd
run: make build
- name: Create pgadmin_data volume
run: sudo mkdir -p pgadmin_data && sudo chown -R 5050:5050 ./pgadmin_data/
- name: Run docker-compose
- name: Initialize environment variables
run: ./init/load_fief_env.sh -user-email [email protected] --user-password=123456*abcdef
- name: Initialize Fief database
run: make fief-create-db
- name: Run all service containers
run: docker-compose up -d
env:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
POSTGRES_DB: api_pgd
- name: run tests
run: docker exec api-pgd_web_1 /bin/bash -c "./run_after_db.py \"pytest tests/\""
3 changes: 2 additions & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,9 @@ rebuild:
docker build --rm -t api-pgd .

.PHONY: setup
setup: init-fief-env
setup: init-fief-env fief-create-db

.PHONY: init-fief-env
init-fief-env:
./init/load_fief_env.sh

Expand Down
35 changes: 24 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -54,14 +54,19 @@ possibilitar a sua consolidação em uma base de dados.
sudo mkdir -p pgadmin_data && sudo chown -R 5050:5050 ./pgadmin_data/
```

5. A gestão de usuários é realizada por uma aplicação chamada Fief. Para
obter as suas configurações iniciais, as quais serão preenchidas no
passo seguinte, utilize o script:
5. Será necessário inicializar algumas configurações. Para isso,
utilize o script:

```bash
make setup
```

**Variáveis de ambiente do Fief**

A gestão de usuários é realizada por uma aplicação chamada Fief. Para
obter as suas configurações iniciais, as quais serão preenchidas no
passo seguinte,

Será pedido um endereço de e-mail e uma nova senha para o usuário
administrador do Fief.

Expand All @@ -71,6 +76,22 @@ possibilitar a sua consolidação em uma base de dados.
* o banco de dados (Postgres), e
* a ferramenta de gestão de usuários (Fief), gerados no passo anterior.

Caso queira repetir esta etapa, utilize o comando:

```bash
make init-fief-env
```

**Inicialização do database do Fief**

É necessário criar o database `fief` dentro do Postgres. Esta etapa
é feita automaticamente com o comando `make setup`. No entanto, caso
precise repeti-la, use:

```bash
make fief-create-db
```

6. Na gestão de usuários e controle de acesso da API é usada a aplicação
[Fief](https://www.fief.dev/). Para o seu correto funcionamento pela
interface Swagger UI, é necessário que ela seja alcançável pelo mesmo
Expand Down Expand Up @@ -100,14 +121,6 @@ possibilitar a sua consolidação em uma base de dados.
> Para ajustar as permissões das pastas `database` e `pgadmin_data` e
> todas as suas subpastas

> ⚠️ Na primeira execução, o container do Fief vai apresentar erro
> por causa da inexistência do database `fief` dentro do Postgres.
> Para resolver, ainda com os contêineres rodando, execute:
>
> ```bash
> make fief-create-db
> ```

8. Por fim, é necessário configurar o Fief para incluir dados necessários
ao funcionamento da API PGD (URI de autenticação, campos personalizados
de usuários). Use:
Expand Down
2 changes: 1 addition & 1 deletion init/load_fief_env.sh
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
cp init/.env.template .env

# Generate FIEF env vars
docker run -it ghcr.io/fief-dev/fief:latest fief quickstart --docker | tee -i .env_fief
docker run -it ghcr.io/fief-dev/fief:latest fief quickstart --docker "$@" | tee -i .env_fief

# Prepare the dest vars
source_file=".env_fief"
Expand Down

0 comments on commit 4f53b20

Please sign in to comment.