{"id":19414297,"url":"https://github.com/basedosdados/iac","last_synced_at":"2025-04-24T12:31:54.889Z","repository":{"id":37873335,"uuid":"498111563","full_name":"basedosdados/iac","owner":"basedosdados","description":":cloud: Código para gerência e configuração da infraestrutura em nuvem","archived":false,"fork":false,"pushed_at":"2024-06-04T00:14:16.000Z","size":1030,"stargazers_count":4,"open_issues_count":8,"forks_count":0,"subscribers_count":4,"default_branch":"main","last_synced_at":"2024-06-04T02:11:14.703Z","etag":null,"topics":["gcp","kubernetes","terraform"],"latest_commit_sha":null,"homepage":"https://info.basedosdados.org/links","language":"HCL","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/basedosdados.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-05-30T22:19:33.000Z","updated_at":"2024-06-04T00:14:19.000Z","dependencies_parsed_at":"2023-10-01T21:47:30.401Z","dependency_job_id":"c594610e-6dd2-4492-a93d-f5816b9bb55c","html_url":"https://github.com/basedosdados/iac","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/basedosdados%2Fiac","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/basedosdados%2Fiac/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/basedosdados%2Fiac/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/basedosdados%2Fiac/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/basedosdados","download_url":"https://codeload.github.com/basedosdados/iac/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223953854,"owners_count":17231151,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["gcp","kubernetes","terraform"],"created_at":"2024-11-10T12:37:11.080Z","updated_at":"2024-11-10T12:37:11.706Z","avatar_url":"https://github.com/basedosdados.png","language":"HCL","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ☁️ iac\n\n\u003ca name=\"#readme-top\"\u003e\u003c/a\u003e\n\n\u003c!-- UTIL INFORMATIONS --\u003e\n[![Contributors][Contributors-shield]][Contributors-url]\n[![Forks][Forks-shield]][Forks-url]\n[![Stargazers][Stars-shield]][Stars-url]\n[![Issues][Issues-shield]][Issues-url]\n[![MIT License][License-shield]][License-url]\n\n\u003c!-- TABLE OF CONTENTS --\u003e\n\u003cdetails\u003e\n    \u003csummary\u003eSumário\u003c/summary\u003e\n    \u003col\u003e\n        \u003cli\u003e\n            \u003ca href=\"#sobre-o-projeto\"\u003eSobre o projeto\u003c/a\u003e\n            \u003cul\u003e\n                \u003cli\u003e\n                    \u003ca href=\"#construído-com\"\u003eConstruído com\u003c/a\u003e\n                \u003c/li\u003e\n            \u003c/ul\u003e\n        \u003c/li\u003e\n        \u003cli\u003e\n            \u003ca href=\"#desenvolvimento-local\"\u003eDesenvolvimento local\u003c/a\u003e\n            \u003cul\u003e\n                \u003cli\u003e\n                    \u003ca href=\"#requisitos\"\u003eRequisitos\u003c/a\u003e\n                \u003c/li\u003e\n                \u003cli\u003e\n                    \u003ca href=\"#procedimentos\"\u003eProcedimentos\u003c/a\u003e\n                \u003c/li\u003e\n            \u003c/ul\u003e\n        \u003c/li\u003e\n        \u003cli\u003e\n            \u003ca href=\"#uso\"\u003eUso\u003c/a\u003e\n        \u003c/li\u003e\n        \u003cli\u003e\n            \u003ca href=\"#roadmap\"\u003eRoadmap\u003c/a\u003e\n        \u003c/li\u003e\n        \u003cli\u003e\n            \u003ca href=\"#contribuição\"\u003eContribuição\u003c/a\u003e\n        \u003c/li\u003e\n        \u003cli\u003e\n            \u003ca href=\"#licença\"\u003eLicença\u003c/a\u003e\n        \u003c/li\u003e\n        \u003cli\u003e\n            \u003ca href=\"#contato\"\u003eContato\u003c/a\u003e\n        \u003c/li\u003e\n    \u003c/ol\u003e\n\u003c/details\u003e\n\n## Sobre o projeto\n\nGerenciamento da infraestrutura dos serviços utilizados do Google Cloud Platform e das aplicações desenvolvidas/implantadas em nosso cluster Kubernetes, bem como as suas respectivas configurações.\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003evoltar ao início\u003c/a\u003e)\u003c/p\u003e\n\n### Construído com\n\n[![GCP][GCP-shield]][GCP-url]\n[![GitHub Actions][Github-Actions-shield]][GitHub-Actions-url]\n[![Kubernetes][Kubernetes-shield]][Kubernetes-url]\n[![Terraform][Terraform-shield]][Terraform-url]\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003evoltar ao início\u003c/a\u003e)\u003c/p\u003e\n\n## Desenvolvimento local\n\n### Requisitos\n\n- [Docker](https://docs.docker.com/get-docker/)\n- [Docker Compose](https://docs.docker.com/compose/install/)\n- [kubectl](https://kubernetes.io/docs/tasks/tools/install-kubectl/)\n- Credenciais:\n  - Terraform: Uma conta de serviço do ambiente GCP com o papel de \"Editor\"\n  - Kubernetes: Uma conta de serviço do ambiente GCP com o papel de \"Kubernetes Engine Admin\"\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003evoltar ao início\u003c/a\u003e)\u003c/p\u003e\n\n### Procedimentos\n\n1. Clone o repositório e acesse a pasta do projeto\n\n   ```sh\n    git clone https://github.com/basedosdados/iac.git \u0026\u0026 cd iac\n   ```\n\n2. Execute o comando abaixo para iniciar o ambiente de desenvolvimento\n   ```sh\n    make create-dev\n   ```\n\n    Dica: Consulte o arquivo `Makefile` para mais comandos.\n\n#### **Terraform**\n\n1. Adicione o `arquivo.json` de credencial no diretório `terraform/`.\n2. Note a existência do arquivo `.env.example` dentro do diretório `terraform`. Faça uma cópia do mesmo para um novo arquivo, nomeado `.env` e preencha as variáveis de ambiente com os valores correspondentes.\n\n    ```sh\n    cp terraform/.env.example terraform/.env\n    ```\n\n    Obs.: No caso do desenvolvimento local é criado um container docker, baseado na imagem do Terraform que faz uso do arquivo `.env` para definir as variáveis de ambiente necessárias para a execução do Terraform. Extinguindo a necessidade de instalar o Terraform localmente.\n3. Carregue as variáveis de ambiente do arquivo `.env` no terminal atual.\n\n    ```sh\n    source terraform/.env\n    ```\n4. Execute o comando abaixo para criar o container docker e validar as configurações do Terraform.\n\n    ```sh\n    make docker-up\n    ```\n\nCaso a saída seja semelhante ao exemplo abaixo, a configuração foi realizada com sucesso.\n\n```sh\nbdd_terraform    | Initializing modules...\nbdd_terraform    |\nbdd_terraform    | Initializing the backend...\nbdd_terraform    |\nbdd_terraform    | Initializing provider plugins...\nbdd_terraform    | - terraform.io/builtin/terraform is built in to Terraform\nbdd_terraform    | - Reusing previous version of hashicorp/google from the dependency lock file\nbdd_terraform    | - Using previously-installed hashicorp/google v3.89.0\nbdd_terraform    |\nbdd_terraform    | Terraform has been successfully initialized!\nbdd_terraform    |\nbdd_terraform    | You may now begin working with Terraform. Try running \"terraform plan\" to see\nbdd_terraform    | any changes that are required for your infrastructure. All Terraform commands\nbdd_terraform    | should now work.\nbdd_terraform    |\nbdd_terraform    | If you ever set or change modules or backend configuration for Terraform,\nbdd_terraform    | rerun this command to reinitialize your working directory. If you forget, other\nbdd_terraform    | commands will detect it and remind you to do so if necessary.\n```\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003evoltar ao início\u003c/a\u003e)\u003c/p\u003e\n\n#### **Kubernetes**\n\nPara interagir com o cluster k8s em questão, além das permissões necessárias, é necessário ter o kubectl instalado. Siga os passos conforme a [documentação oficial do Google](https://cloud.google.com/kubernetes-engine/docs/how-to/cluster-access-for-kubectl#gcloud).\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003evoltar ao início\u003c/a\u003e)\u003c/p\u003e\n\n## Uso\n\nPara exemplos de utilização das ferramentas deste projeto, favor consultar a documentação \u003c!-- TODO: Adicionar referência da documentação global sobre `iac` --\u003e\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003evoltar ao início\u003c/a\u003e)\u003c/p\u003e\n\n## Roadmap\n\nAlém das tarefas em aberto que podem ser consultadas em [issues][Issues-url], o projeto é baseado no planejamento de milestones que podem ser consultados em [milestones][Milestones-url].\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003evoltar ao início\u003c/a\u003e)\u003c/p\u003e\n\n## Contribuição\n\nAs contribuições são o que tornam a comunidade de código aberto um lugar incrível para aprender, inspirar e criar. Quaisquer contribuições que você fizer são **muito apreciadas**.\n\nSe você tiver uma sugestão de melhoria, faça um fork do repositório e crie um pull request. Você também pode simplesmente abrir uma tarefa.\n\nNão se esqueça de dar uma estrela ao projeto! Agradecemos o apoio 💚!\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003evoltar ao início\u003c/a\u003e)\u003c/p\u003e\n\n## Licença\n\n\u003c!-- TODO: Adicionar licença --\u003e\n\u003c!-- Distribuído sob a licença . Consulte `LICENSE` para obter mais informações. --\u003e\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003evoltar ao início\u003c/a\u003e)\u003c/p\u003e\n\n## Contato\n\nVocê pode entrar em contato com a equipe da Base dos Dados via diversos canais, sendo eles:\n\n[![Discord][Discord-shield]][Discord-url]\n[![LinkedIn][LinkedIn-shield]][LinkedIn-url]\n[![Telegram][Telegram-shield]][Telegram-url]\n[![Twitter][Twitter-shield]][Twitter-url]\n[![WhatsApp][WhatsApp-shield]][WhatsApp-url]\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003evoltar ao início\u003c/a\u003e)\u003c/p\u003e\n\n\u003c!-- MARKDOWN LINKS \u0026 IMAGES --\u003e\n\u003c!-- https://www.markdownguide.org/basic-syntax/#reference-style-links --\u003e\n[Contributors-shield]: https://img.shields.io/github/contributors/basedosdados/iac?style=for-the-badge\n[Contributors-url]: https://github.com/basedosdados/iac/graphs/contributors\n[Discord-shield]: https://img.shields.io/badge/Discord-5865F2?style=for-the-badge\u0026logo=discord\u0026logoColor=white\n[Discord-url]: https://discord.com/invite/huKWpsVYx4\n[Forks-shield]: https://img.shields.io/github/forks/basedosdados/iac?style=for-the-badge\n[Forks-url]: https://github.com/baseosdados/iac/network/members\n[GCP-shield]: https://img.shields.io/badge/Google%20Cloud%20Platform-4285F4?style=for-the-badge\u0026logo=google-cloud\u0026logoColor=white\n[GCP-url]: https://cloud.google.com/\n[GitHub-Actions-shield]: https://img.shields.io/badge/GitHub%20Actions-000000?style=for-the-badge\u0026logo=github-actions\u0026logoColor=white\n[GitHub-Actions-url]: https://github.com/features/actions\n[Issues-shield]: https://img.shields.io/github/issues/basedosdados/iac?style=for-the-badge\n[Issues-url]: https://github.com/basedosdados/iac/issues\n[Kubernetes-shield]: https://img.shields.io/badge/Kubernetes-326CE5?style=for-the-badge\u0026logo=kubernetes\u0026logoColor=white\n[Kubernetes-url]: https://kubernetes.io/\n[License-shield]: https://img.shields.io/github/license/basedosdados/iac?style=for-the-badge\n[License-url]: https://github.com/basedosdados/iac/blob/master/LICENSE\n[LinkedIn-shield]: https://img.shields.io/badge/LinkedIn-0077B5?style=for-the-badge\u0026logo=linkedin\u0026logoColor=white\n[LinkedIn-url]: https://www.linkedin.com/company/base-dos-dados/\n[Milestones-shield]: https://img.shields.io/github/milestones/all/basedosdados/iac?style=for-the-badge\n[Milestones-url]: https://github.com/basedosdados/iac/milestones\n[Stars-shield]: https://img.shields.io/github/stars/basedosdados/iac?style=for-the-badge\n[Stars-url]: https://github.com/basedosdados/iac/stargazers\n[Telegram-shield]: https://img.shields.io/badge/Telegram-2CA5E0?style=for-the-badge\u0026logo=telegram\u0026logoColor=white\n[Telegram-url]: https://t.me/joinchat/OKWc3RnClXnq2hq-8o0h_w\n[Terraform-shield]: https://img.shields.io/badge/Terraform-623CE4?style=for-the-badge\u0026logo=terraform\u0026logoColor=white\n[Terraform-url]: https://www.terraform.io/\n[Twitter-shield]: https://img.shields.io/badge/Twitter-1DA1F2?style=for-the-badge\u0026logo=twitter\u0026logoColor=white\n[Twitter-url]: https://twitter.com/basedosdados\n[Whatsapp-shield]: https://img.shields.io/badge/WhatsApp-25D366?style=for-the-badge\u0026logo=whatsapp\u0026logoColor=white\n[Whatsapp-url]: https://chat.whatsapp.com/CLLFXb1ogPPDomCM6tQT22\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbasedosdados%2Fiac","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbasedosdados%2Fiac","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbasedosdados%2Fiac/lists"}