jobcespedes / terraform-libvirt-fcos-storj-node

Terraform module for creating a Storj Node using Fedora CoreOS, Podman and Libvirt.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Terraform module for creating a Storj Node using Fedora CoreOS, Podman and Libvirt.

Dependencies

The following are the dependencies to create the VM with this module:

Prerequisites

Requirements

Name Version
terraform >= 1.2.0
ct 0.11.0
libvirt ~> 0.7

Providers

Name Version
template n/a

Modules

Name Source Version
fcos krestomatio/fcos/libvirt 0.0.9

Resources

Name Type
template_file.butane_snippet_install_storj_node data source

Inputs

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
email Operator's email string n/a yes
etc_hosts /etc/host list
list(
object(
{
ip = string
hostname = string
fqdn = string
}
)
)
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)
[
"8.8.8.8"
]
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({
days = list(string)
start_time = string
length_minutes = 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

Outputs

No outputs.

Requirements

Name Version
terraform >= 1.2.0
ct 0.11.0
libvirt ~> 0.7

Providers

Name Version
template 2.2.0

Modules

Name Source Version
fcos krestomatio/fcos/libvirt 0.0.24

Resources

Name Type
template_file.butane_snippet_install_storj_node data source

Inputs

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
email Operator's email string n/a yes
etc_hosts /etc/host list
list(
object(
{
ip = string
hostname = string
fqdn = string
}
)
)
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(
{
name = optional(string, "docker.io/storjlabs/storagenode")
version = optional(string, "latest")
}
)
{
"name": "docker.io/storjlabs/storagenode",
"version": "latest"
}
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)
[
"8.8.8.8"
]
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(
{
time_zone = optional(string, "")
windows = list(
object(
{
days = list(string)
start_time = string
length_minutes = 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
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

Outputs

No outputs.

About

Terraform module for creating a Storj Node using Fedora CoreOS, Podman and Libvirt.

License:Apache License 2.0


Languages

Language:HCL 100.0%