Terraform module for creating a Storj Node using Fedora CoreOS, Podman and Libvirt.
The following are the dependencies to create the VM with this module:
- Steps 1 to 5 from storj node setup, including storj node identity to then pass the correspondeing certificates and keys to the module variables.
Name | Version |
---|---|
terraform | >= 1.2.0 |
ct | 0.11.0 |
libvirt | ~> 0.7 |
Name | Version |
---|---|
template | n/a |
Name | Source | Version |
---|---|---|
fcos | krestomatio/fcos/libvirt | 0.0.9 |
Name | Type |
---|---|
template_file.butane_snippet_install_storj_node | data source |
Name | Description | Type | Default | Required |
---|---|---|---|---|
address | Storj address/public ip | string |
n/a | yes |
autostart | Autostart with libvirt host | bool |
null |
no |
cidr_ip_address | CIDR IP Address. Ex: 192.168.1.101/24 | string |
null |
no |
cpu_mode | Libvirt default cpu mode for VMs | string |
null |
no |
data_volume_pool | Node default data volume pool | string |
null |
no |
data_volume_size | Node default data volume size in bytes | number |
null |
no |
Operator's email | string |
n/a | yes | |
etc_hosts | /etc/host list | list( |
null |
no |
etc_hosts_extra | /etc/host extra block | string |
null |
no |
extra_parameters | List of extra paramenters appending when running storagenode container | list(string) |
[] |
no |
fqdn | Node FQDN | string |
n/a | yes |
identity_key | Identity key. It should be previously generated following docs | string |
n/a | yes |
ignition_pool | Default ignition files pool | string |
null |
no |
keymap | Keymap | string |
null |
no |
log_level | Operator's wallet | string |
null |
no |
log_volume_pool | Node default log volume pool | string |
null |
no |
log_volume_size | Node default log volume size in bytes | number |
null |
no |
mac | Mac address | string |
null |
no |
memory | Node default memory in MiB | number |
512 |
no |
nameservers | List of nameservers for VMs | list(string) |
[ |
no |
network_bridge | Libvirt default network bridge name for VMs | string |
null |
no |
network_id | Libvirt default network id for VMs | string |
null |
no |
network_name | Libvirt default network name for VMs | string |
null |
no |
port | Storj node port | number |
28967 |
no |
rollout_wariness | Wariness to update, 1.0 (very cautious) to 0.0 (very eager) | string |
null |
no |
root_base_volume_name | Node default base root volume name | string |
n/a | yes |
root_base_volume_pool | Node default base root volume pool | string |
null |
no |
root_volume_pool | Node default root volume pool | string |
null |
no |
root_volume_size | Node default root volume size in bytes | number |
null |
no |
signed_ca_cert | Signed ca certificate. It should be previously generated following docs | string |
n/a | yes |
signed_identity_cert | Signed identity certificate. It should be previously generated following docs | string |
n/a | yes |
ssh_authorized_key | Authorized ssh key for core user | string |
n/a | yes |
storage | Allocated disk space | string |
n/a | yes |
timezone | Timezone for VMs as listed by timedatectl list-timezones |
string |
null |
no |
updates_periodic_window | Only reboot for updates during certain timeframes { days = ["Sat", "Sun"], start_time = "22:30", length_minutes = "60" } |
object({ |
null |
no |
vcpu | Node default vcpu count | number |
null |
no |
wait_for_lease | Wait for network lease | bool |
null |
no |
wallet | Operator's wallet | string |
n/a | yes |
No outputs.
Name | Version |
---|---|
terraform | >= 1.2.0 |
ct | 0.11.0 |
libvirt | ~> 0.7 |
Name | Version |
---|---|
template | 2.2.0 |
Name | Source | Version |
---|---|---|
fcos | krestomatio/fcos/libvirt | 0.0.24 |
Name | Type |
---|---|
template_file.butane_snippet_install_storj_node | data source |
Name | Description | Type | Default | Required |
---|---|---|---|---|
address | Storj address/public ip | string |
n/a | yes |
autostart | Autostart with libvirt host | bool |
null |
no |
cidr_ip_address | CIDR IP Address. Ex: 192.168.1.101/24 | string |
null |
no |
cpu_mode | Libvirt default cpu mode for VMs | string |
null |
no |
data_volume_pool | Node default data volume pool | string |
null |
no |
data_volume_size | Node default data volume size in bytes | number |
null |
no |
Operator's email | string |
n/a | yes | |
etc_hosts | /etc/host list | list( |
null |
no |
etc_hosts_extra | /etc/host extra block | string |
null |
no |
extra_parameters | List of extra paramenters appending when running storagenode container | list(string) |
[] |
no |
fqdn | Node FQDN | string |
n/a | yes |
identity_key | Identity key. It should be previously generated following docs | string |
n/a | yes |
ignition_pool | Default ignition files pool | string |
null |
no |
image | /etc/host list | object( |
{ |
no |
keymap | Keymap | string |
null |
no |
log_level | Operator's wallet | string |
null |
no |
log_volume_pool | Node default log volume pool | string |
null |
no |
log_volume_size | Node default log volume size in bytes | number |
null |
no |
mac | Mac address | string |
null |
no |
memory | Node default memory in MiB | number |
512 |
no |
nameservers | List of nameservers for VMs | list(string) |
[ |
no |
network_bridge | Libvirt default network bridge name for VMs | string |
null |
no |
network_id | Libvirt default network id for VMs | string |
null |
no |
network_name | Libvirt default network name for VMs | string |
null |
no |
periodic_updates | Only reboot for updates during certain timeframes { time_zone = "localtime" windows = [ { days = ["Sat"], start_time = "23:30", length_minutes = "60" }, { days = ["Sun"], start_time = "00:30", length_minutes = "60" } ] } |
object( |
null |
no |
port | Storj node port | number |
28967 |
no |
rollout_wariness | Wariness to update, 1.0 (very cautious) to 0.0 (very eager) | string |
null |
no |
root_base_volume_name | Node default base root volume name | string |
n/a | yes |
root_base_volume_pool | Node default base root volume pool | string |
null |
no |
root_volume_pool | Node default root volume pool | string |
null |
no |
root_volume_size | Node default root volume size in bytes | number |
null |
no |
signed_ca_cert | Signed ca certificate. It should be previously generated following docs | string |
n/a | yes |
signed_identity_cert | Signed identity certificate. It should be previously generated following docs | string |
n/a | yes |
ssh_authorized_key | Authorized ssh key for core user | string |
n/a | yes |
storage | Allocated disk space | string |
n/a | yes |
timezone | Timezone for VMs as listed by timedatectl list-timezones |
string |
null |
no |
vcpu | Node default vcpu count | number |
null |
no |
wait_for_lease | Wait for network lease | bool |
null |
no |
wallet | Operator's wallet | string |
n/a | yes |
No outputs.