Metadata-Version: 2.1
Name: abin-sim
Version: 0.2.1
Summary: ABIN é um CLI para interagir com a API do Vault e auxiliar os Desenvolvedores nos projetos da SIMTech
License: Beerware
Author: Bonatto
Author-email: andrebonatto@gmail.com
Requires-Python: >=3.10,<4.0
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Console
Classifier: License :: Other/Proprietary License
Classifier: Natural Language :: Portuguese (Brazilian)
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.10
Classifier: Topic :: Utilities
Requires-Dist: dynaconf (>=3.1.12,<4.0.0)
Requires-Dist: pathlib3x (>=2.0.2.1,<3.0.0.0)
Requires-Dist: requests (>=2.28.2,<3.0.0)
Requires-Dist: rich (>=13.3.4,<14.0.0)
Requires-Dist: typer (>=0.7.0,<0.8.0)
Description-Content-Type: text/markdown

## Instalação

```
sudo apt install pipx
pipx install abin_sim
```
A versão da aplicação no README será atualizada sempre que um novo build rodar.

## Configuração

Após realizar a instalação do App, criar um diretório no seu $HOME chamado 'abin_sim' e, neste diretório, um arquivo chamado 'settings.toml'
O conteúdo do arquivo deverá ser o seguinte:

```
name = "ABIN"

[params]
vault_token = "{token}"
vault_url = "https://aspirina.simtech.solutions"
path = "./"

[console]
table_width = 40
```
{token} -> Seu token de autenticação no Vault
path    -> Caminho que deseja salvar os dados provenientes do Vault (default: ./)

Para conseguir seu token basta autenticar no Web UI do Vault.
Acesse no seu navegador o endereço https://aspirina.simtech.solutions
Na tela de login:
    * Mude **Method** para ***Username***
    * Entre com o seu usuário em **Username**
    * Entre com a sua senha em **Password**
    * Clique em **More Options**
    * Em **Mount Path** digite ***simtech***
    * Clique em **Sign in**
Após o login clique no boneco localizao no canto superior direito e, após, clique em **Copy Token**

**Importante:** O Token é válido por 30 dias, portanto lembre de renová-lo.

## Funções
    
### GET
    Usage: abin get [OPTIONS]                                                                                                                            
                                                                                                                                                      
    ╭─ Options ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
    │ *  --app                  TEXT  Nome da aplicação que deseja recuperar os secrets. [default: None] [required]                                        │
    │ *  --env                  TEXT  Ambiente da aplicação que deseja recuperar (Envs possíveis: dev, qa, main). [default: None] [required]               │
    │ *  --proj                 TEXT  Projeto que deseja conectar para recuperar os secrets (Projs possíveis: simlabs, charrua) [default: None] [required] │
    │    --file    --no-file          Cria um arquivo para cada path cadastrada no secrets. [default: file]                                                │
    │    --help                       Show this message and exit.                                                                                          │
    ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯

    For example:
    * Imprime os dados no StdOut (Tela)
        abin get --app=api-auth --env=dev --proj=simlabs --no-file
    * Imprime os dados em arquivo (Com base no arquivo $HOME/abin_sim/settings.toml)
        abin get --app=api-auth --env=dev --proj=simlabs

### UPDATE
    Usage: abin update [OPTIONS] 
                                               
    ╭─ Options─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
    │ *  --app         TEXT  Nome da aplicação que deseja recuperar os secrets. [default: None]  [required]                                        │
    │ *  --env         TEXT  Ambiente da aplicação que deseja recuperar (Envs possíveis: dev, qa, main). [default: None] [required]                │
    │ *  --proj        TEXT  Projeto que deseja conectar para recuperar os secrets (Projs possíveis: simlabs, charrua) [default: None] [required]  │
    │ *  --file        TEXT  Arquivo com variárias de ambiente [default: None] [required]                                                          │
    │    --help              Show this message and exit.                                                                                           │
    ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯

    For example:
        abin update --app=api-auth --env=dev --proj=simlabs --file=.env

### COMPARE
    Usage: abin compare [OPTIONS]

    ╭─ Options ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
    │ *  --app                  TEXT  Nome da aplicação que deseja recuperar os secrets. [default: None] [required]                                            │
    │ *  --env                  TEXT  Ambiente da aplicação que deseja recuperar (Envs possíveis: dev, qa, main). [default: None] [required]                   │
    │ *  --proj                 TEXT  Projeto que deseja conectar para recuperar os secrets (Projs possíveis: simlabs, charrua) [default: None] [required]     │
    │    --help                       Show this message and exit.                                                                                              │
    ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯

    For example:
        abin compare --app=api-auth --env=qa,dev --proj=simlabs
