-
-
Notifications
You must be signed in to change notification settings - Fork 87
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[infra] Configurar o basedosdados a partir de variáveis de ambiente #557
[infra] Configurar o basedosdados a partir de variáveis de ambiente #557
Conversation
@gabriel-milan tudo bem? Você estaria disponível para participar da reunião da infra no discord às 19h de segunda-feira? Ou conversar sobre o código em algum horário no período noturno? Tenho algumas dúvidas sobre o mesmo |
@vncsna boa noite. Claro, posso sim! Se puder me fornecer, por gentileza, o link para o canal, estarei lá! |
@gabriel-milan segue o link do discord |
# Decorator for making immutable attributes on classes | ||
|
||
|
||
def const(cls): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
fix: d6c0290
@gabriel-milan fiz algumas poucas alterações estilísticas (6f0a4a2) tendo em vista tanto à adequação à PEP-8 quanto ao padrão do Sobre o diretório em que se encontra o |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Testado localmente e funcionando como esperado.
* add table_exists, implement it on table.append * change order in table.append * fix default query and path mess (#561) * add path in folder function * [dados-revisão] br_seeg_emissoes (#541) * sobe revisao * revisao * dados estão certos no BQ * [dados-revisão] br_mc_auxilio_emergencial (#553) * revisao auxilio * revisao 2 * [dados-bot] br_ms_vacinacao_covid19 (2021-07-07) (#562) Co-authored-by: terminal_name <github_email> * [dados-bot] br_ms_vacinacao_covid19 (2021-07-08) (#569) Co-authored-by: terminal_name <github_email> * [dados] br_tse_eleicoes & br_tse_filiacao_partidaria (#544) * Atualiza tudo de eleições e filiação partidária. * Conserta detalhes_votacao_municipio. * Conserta probleminhas variados. * [dados-revisão] br_mapbiomas_estatisticas (#540) * sobe revisao * revisao * revisao * conserta primary keys * revisao * [dados-revisão] br_inep_ideb (#533) * sobe revisao * Conserta `organization_id`. * revisao 2 * revisao 3 * conserta primary keys * revisao Co-authored-by: Ricardo Dahis <[email protected]> * [infra] fix new column name (#571) * [dados-bot] br_ms_vacinacao_covid19 (2021-07-09) (#572) Co-authored-by: terminal_name <github_email> * [dados] br_tse_eleicoes: Conserta tabelas com renomeação nos publish.sql. (#573) * [dados-revisão] br_mc_indicadores (#575) * [dados-revisão] br_ms_sim (#577) * [dados-revisão] br_me_socios (#576) * [docs] update contribution guidelines * Update br_novos_dados.md * Conserta problemas no Ideb. (#581) * [dados-revisão] br_sp_seduc_inse (#586) * [dados-revisão] br_sp_seduc_idesp (#585) * [dados-bot] br_ms_vacinacao_covid19_microdados (2021-07-12) (#579) Co-authored-by: terminal_name <github_email> * [dados-bot] br_ms_vacinacao_covid19 (2021-07-14) (#588) Co-authored-by: terminal_name <github_email> * [infra] Melhora output das funções list_* e get_* na API do Python (#568) * Add output_type parameter to list_datasets * Add output_type parameter to list_dataset_tables * Add private function to handle list outputs * Add verbose argument to list_dataset and list_dataset_tables * Bring back _handle_output, improve verbose docs and tests * Improve get_* functions output * Fix test_get_table_size_verbose_false Co-authored-by: d116626 <[email protected]> * feat: rascunho do relatorio de coverage * fix: manter somente o coveralls * fix: testar debug * fix: executar testes * trigger ci * modulariza a action e exclui a flag de debug * adiciona a badge ao readme * extrair setup pro yml principal * restaurar triggers originais * restaurar nome original da ci * Add docstrings to , fix small issues * [infra] Configurar o basedosdados a partir de variáveis de ambiente (#557) * add code for acquiring config from envs * minor fix * fix json to toml * change from `const` decorator to python Enum * Improve code style * Document environment variables configuration mode Co-authored-by: Vitor Mussa <[email protected]> * Update table.py * Update test_table.py Co-authored-by: hellcassius <[email protected]> Co-authored-by: Diego Oliveira <[email protected]> Co-authored-by: Hevilyn Souza <[email protected]> Co-authored-by: Matheus Valentim <[email protected]> Co-authored-by: Ricardo Dahis <[email protected]> Co-authored-by: Fernanda Scovino <[email protected]> Co-authored-by: Vítor Mussa <[email protected]> Co-authored-by: Vinicius <[email protected]> Co-authored-by: Gabriel Gazola Milan <[email protected]>
Duplicata de #537
Sua solicitação de recurso está relacionada a um problema? Por favor, descreva.
Em certos ambientes, como jobs lançadas pelo
K8sRunLauncher
do Dagster, não é possível (até o momento) montar volumes nos containers e nem é viável acessá-los para realizar a configuração do basedosdados. No entanto, ainda é possível configurar variáveis de ambiente, o que poderia permitir a configuração do basedosdados.Descreva a solução que você gostaria
A implementação aqui submetida parte de uma configuração já realizada do basedosdados em uma máquina qualquer. Sendo assim, para gerar as variáveis de ambiente para os containers pode-se fazer:
Dessa forma, pode-se armazenar o valor dessas três variáveis de ambiente, codificados em base64 para maior compatibilidade, replicando-as em quantos containers forem necessários.
Para a implementação no python package, é realizada uma verificação da coexistência das três envs. Caso todas existam, tenta-se gerar os arquivos originais em
$HOME/.basedosdados
correspondentes a cada uma delas.Descreva alternativas que você considerou
Foi considerado solicitar também a alteração aos desenvolvedores do Dagster, de forma a permitir volumes nesses containers. No entanto, como esse problema já foi constatado em março (dagster-io/dagster#3871) e até o momento não houve implementação, acredita-se que pode demorar.