Para testar o projeto, primeiro é necessário ter o terraform instalado. Caso ainda não tenha, leia a documentação da hashicorp.
O projeto consiste em um software de automação capaz de criar uma cloud privada personalizada na AWS. Basta clonar o repositório, adicionar suas chaves como variáveis de ambiente e rodar o script em python.
O scrip possui uma interface baseada em perguntas. Basta responder as perguntas conforma a descrição para realizar a personalização da sua VPC.
Se você quer criar um projeto semelhante, siga o passo a passo abaixo:
-
Instale o terraform através do tutorial da hashicorp.
-
Leia a documentação da hashicorp e seus tutoriais, eles fornecerão uma base importante sobre o funcionamento de infraestrutura em código. link
-
Crie um sistema de arquivos baseados em: main.tf, instances.tf, vcp.tf, security-groups.tf e etc. Isso permitirá que as funcionalidades estejam separadas e o código fique mais simples para a compreensão.
-
No main.tf você precisará definir seu provider, e a região de funcionamento da sua VPC.
-
No vpc.tf, configure todas as necessidades básicas que deseja que o cliente utilize. Os valores não precisam ser hardcodes, eles serão lidos através de um arquivo de variáveis no futuro. A VPC será importante porque todos os demais componentes estarão presentes dentro dela. Obs: para criar um componente, utilize o "resource ..."
-
Tanto no instances.tf quanto no security-groups.tf você precisa seguir o modelo da VPC. Leia a documentação de cada um dos componentes e quais os argumentos obrigatórios, eles precisam ser instanciados mas não necessáriamente preenchidos ali, o usuário que dará os valores.
-
Agora que já possui a insfraestrutura básica, VPC, instances e security groups, pesquise sobre o tf.vars e como utilizar loops (dica: pesquise sobre o for_each) no terraform.
-
Com o for_each conectando as variáveis com os componentes, ao iniciar
terraform init
,terraform plan
e em seguida umterraform apply
, sua infraestrutura será criada na AWS. -
Crie um script em python capaz de pedir input para o usuário e escrever esses inputs no arquivo tfvars. Isso automatizará a personalização. dica: use a biblioteca
os
para aplicar as mudanças de maneira automática. -
Com a automação das variáveis prontas, pesquise sobre como criar usuários e regras para eles. O processo é o mesmo!
Após ter feito todo o roteiro, deve ter percebido que a cada novidade, basta adicionar mais componentes e regras de personalização.