https://github.com/descomplicando-terraform/crazybyte-rj_iac-dev-env
Provisionar um ambiente simples para auxiliar no provisionamento de máquinas virtuais para uso local por desenvolvedores.
https://github.com/descomplicando-terraform/crazybyte-rj_iac-dev-env
Last synced: 3 months ago
JSON representation
Provisionar um ambiente simples para auxiliar no provisionamento de máquinas virtuais para uso local por desenvolvedores.
- Host: GitHub
- URL: https://github.com/descomplicando-terraform/crazybyte-rj_iac-dev-env
- Owner: descomplicando-terraform
- License: gpl-3.0
- Created: 2024-08-08T00:18:45.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2024-09-11T23:22:57.000Z (8 months ago)
- Last Synced: 2025-01-09T20:08:55.134Z (4 months ago)
- Language: HCL
- Homepage:
- Size: 58.6 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# crazybyte-rj_iac-dev-env
Repositório para código IaC projeto final do curso Descomplicando Terraforma - Linuxtips.
Provisionar um ambiente simples para auxiliar no provisionamento de máquinas virtuais para uso local por desenvolvedores e também para outros tipos de cenários que necessitem de máquinas virtuais Linux para realizar testes ou laboratórios.
Para detalhes de como utilizar, veja o arquivo [USAGE.md](https://github.com/descomplicando-terraform/crazybyte-rj_iac-dev-env/blob/main/USAGE.md) e também exemplos de utilização na pasta [examples](https://github.com/descomplicando-terraform/crazybyte-rj_iac-dev-env/tree/main/examples).
## Requirements
| Name | Version |
|------|---------|
| [libvirt](#requirement\_libvirt) | 0.7.6 |
| [template](#requirement\_template) | 2.2.0 |## Providers
| Name | Version |
|------|---------|
| [libvirt](#provider\_libvirt) | 0.7.6 |## Modules
No modules.
## Resources
| Name | Type |
|------|------|
| [libvirt_cloudinit_disk.commoninit](https://registry.terraform.io/providers/dmacvicar/libvirt/0.7.6/docs/resources/cloudinit_disk) | resource |
| [libvirt_domain.servidores](https://registry.terraform.io/providers/dmacvicar/libvirt/0.7.6/docs/resources/domain) | resource |
| [libvirt_network.dev_network](https://registry.terraform.io/providers/dmacvicar/libvirt/0.7.6/docs/resources/network) | resource |
| [libvirt_pool.ubuntu_pool](https://registry.terraform.io/providers/dmacvicar/libvirt/0.7.6/docs/resources/pool) | resource |
| [libvirt_volume.os_image](https://registry.terraform.io/providers/dmacvicar/libvirt/0.7.6/docs/resources/volume) | resource |## Inputs
| Name | Description | Type | Default | Required |
|------|-------------|------|---------|:--------:|
| [bridge\_name](#input\_bridge\_name) | Define o nome da bridge a ser usada (deve existir na máquina host) | `string` | `"br0"` | no |
| [criar\_infra](#input\_criar\_infra) | Define se irá criar as máquinas ou não | `bool` | `false` | no |
| [domain](#input\_domain) | Define o domínio das máquinas sendo criadas | `string` | `"dev.local"` | no |
| [instances](#input\_instances) | Mapa de instancias |list(object({| `[]` | no |
instance_name = string
instance_ip = string
instance_memory = number
instance_vcpu = number
})
)
| [interface](#input\_interface) | Define o nome do dispositivo ethernet dentro da instância | `string` | `"ens3"` | no |
| [ssh\_pub\_key](#input\_ssh\_pub\_key) | Define a chave pública SSH a ser usada para acesso nas instâncias virtuais | `string` | n/a | yes |
| [user\_name](#input\_user\_name) | Define o nome do usuário padrão a ser criado nas instâncias | `string` | `"devuser"` | no |
| [user\_password](#input\_user\_password) | Define a senha do usuário padrão a ser criado nas instâncias | `string` | `"devuser"` | no |
| [virt\_dns\_01](#input\_virt\_dns\_01) | Define o endereço do primeiro DNS a ser usado pelas instâncias virtuais. O segundo DNS, por padrão, é o 8.8.8.8 | `string` | `"192.168.0.5"` | no |
| [virt\_gtw\_addr](#input\_virt\_gtw\_addr) | Define o gateway a ser usado na rede virtual | `string` | `"192.168.0.54"` | no |
| [virt\_net\_cidr](#input\_virt\_net\_cidr) | Define o CIDR a ser usado na rede virtual | `list(any)` |[| no |
"192.168.0.0/24"
]
| [virt\_net\_name](#input\_virt\_net\_name) | Define o nome da rede virtual a ser criada | `string` | `"devnet"` | no |
| [virt\_pool\_name](#input\_virt\_pool\_name) | Define o nome do pool a ser criado no LibVirt | `string` | `"vm-pool"` | no |
| [virt\_pool\_path](#input\_virt\_pool\_path) | Define o path aonde serão criadas as imagens das VMs | `string` | `"~/virt-pool"` | no |## Outputs
| Name | Description |
|------|-------------|
| [hostnames\_and\_ips](#output\_hostnames\_and\_ips) | Exibe os hostnames e IPs atribuídos as instâncias |
| [password](#output\_password) | Exibe a senha do usuário criado para acessar as instâncias |
| [user](#output\_user) | Exibe o usuário criado para acesso às instâncias |