Terraform module for creating a Chatwoot customer engagement suite using Fedora CoreOS, and Libvirt.
The following are the dependencies to create the VM with this module:
Name | Version |
---|---|
terraform | >= 1.2.0 |
ct | 0.11.0 |
libvirt | ~> 0.7 |
Name | Version |
---|---|
template | n/a |
Name | Source | Version |
---|---|---|
butane_snippet_install_certbot | krestomatio/butane-snippets/ct//modules/certbot | 0.0.12 |
chatwoot | krestomatio/fcos/libvirt | 0.0.28 |
Name | Type |
---|---|
template_file.butane_snippet_install_chatwoot | data source |
Name | Description | Type | Default | Required |
---|---|---|---|---|
additional_rpms | Additional rpms to install during boot using rpm-ostree, along with any pre or post command | object( |
{ |
no |
autostart | Autostart with libvirt host | bool |
null |
no |
backup_volume_pool | Node default backup volume pool | string |
null |
no |
backup_volume_size | Node default backup volume size in bytes | number |
null |
no |
butane_snippets_additional | Additional butane snippets | list(string) |
[] |
no |
certbot | Certbot config | object( |
null |
no |
chatwoot_envvars | Environment variables for chatwoot | map(string) |
n/a | yes |
chatwoot_image | Chatwoot container image | object( |
{ |
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 |
etc_hosts | /etc/host list | list( |
null |
no |
etc_hosts_extra | /etc/host extra block | string |
null |
no |
external_fqdn | FQDN to access Chatwoot mail | string |
n/a | yes |
fqdn | Node FQDN | string |
n/a | yes |
ignition_pool | Default ignition files pool | string |
null |
no |
interface_name | Network interface name | string |
null |
no |
keymap | Keymap | 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 |
machine | The machine type, you normally won't need to set this unless you are running on a platform that defaults to the wrong machine type for your template | string |
null |
no |
memory | Node default memory in MiB | number |
512 |
no |
nameservers | List of nameservers for VMs | list(string) |
null |
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 |
nginx_command | Nginx container command | list(string) |
[] |
no |
nginx_cpus_limit | Number of CPUs to limit the nginx container | number |
0 |
no |
nginx_envvars | Environment variables for nginx | map(string) |
{} |
no |
nginx_image | Nginx container image | object( |
{ |
no |
nginx_memory_limit | Amount of memory to limit the nginx container | string |
"" |
no |
nginx_server_conf | Nginx server.conf. If not set, a default server.conf is used | 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 |
postgres_command | Postgres container command | list(string) |
[] |
no |
postgres_cpus_limit | Number of CPUs to limit the postgres container | number |
0 |
no |
postgres_envvars | Environment variables for postgres | map(string) |
n/a | yes |
postgres_image | Postgres container image | object( |
{ |
no |
postgres_memory_limit | Amount of memory to limit the postgres container | string |
"" |
no |
rails_command | Rails command container command | list(string) |
[ |
no |
rails_cpus_limit | Number of CPUs to limit the rails container | number |
0 |
no |
rails_memory_limit | Amount of memory to limit the rails container | string |
"" |
no |
redis_command | Redis container command | list(string) |
[ |
no |
redis_cpus_limit | Number of CPUs to limit the redis container | number |
0 |
no |
redis_envvars | Environment variables for redis | map(string) |
n/a | yes |
redis_image | Redis container image | object( |
{ |
no |
redis_memory_limit | Amount of memory to limit the redis container | string |
"" |
no |
registry_login | Login to a container registry server | object( |
null |
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 |
sidekiq_command | Sidekiq container command | list(string) |
[ |
no |
sidekiq_cpus_limit | Number of CPUs to limit the sidekiq container | number |
0 |
no |
sidekiq_memory_limit | Amount of memory to limit the sidekiq container | string |
"" |
no |
ssh_authorized_key | Authorized ssh key for core user | string |
n/a | yes |
super_admin_allowed_entries | Allow only this entries to super_admin subpath | list(string) |
[] |
no |
sync_time_with_host | Sync guest time with the kvm host | bool |
null |
no |
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 |
No outputs.
Krestomatio is a managed service for Moodle™ e-learning platforms. It allows you to have open-source instances managed by a service optimized for Moodle™, complete with an additional plugin pack and customization options.