Terraform module that installs a Jitsi instance on a newly created OpenStack virtual machine on GandiCloud VPS infrastructure. The Jitsi instance will use Let's Encrypt to generate a certificate.
This module uses the OpenStack and gandi providers. Please refer to their respective documentation for usage and configuration.
The OpenStack provider will create the SSH key and the virtual machine using Ubuntu 20.04 as the base system image and initialize it with the SSH key and a Cloud-Init file that will install Jitsi onto the virtual machine.
The Gandi provider will create LiveDNS records that will point to the virtual machine IP addresses.
# Define required providers
terraform {
required_version = ">= 1.0"
}
provider "openstack" {
auth_url = "https://keystone.sd6.api.gandi.net:5000/v3"
region = "FR-SD6"
}
provider "gandi" {}
# Use gandi/jitsi module
module "jitsi" {
source = "Gandi/jitsi/module"
server_name = "gandi-jitsi"
keypair_name = "module-jitsi"
letsencrypt_email = "[email protected]"
dns_subdomain = "jitsi"
dns_zone = "example.invalid"
}
output "ssh" {
value = module.jitsi.ssh_cmd
}
output "url" {
value = module.jitsi.https_address
}
Name | Version |
---|---|
terraform | >= 1.0 |
gandi | 2.0.0-rc3 |
openstack | ~> 1.35.0 |
Name | Version |
---|---|
gandi | 2.0.0-rc3 |
local | n/a |
openstack | ~> 1.35.0 |
template | n/a |
Name | Type |
---|---|
gandi_livedns_record.jitsi_dns_v4 | resource |
gandi_livedns_record.jitsi_dns_v6 | resource |
local_file.private-key | resource |
openstack_compute_instance_v2.jitsi | resource |
openstack_compute_keypair_v2.jitsi-keypair | resource |
template_file.user_data | data source |
Name | Description | Type | Default | Required |
---|---|---|---|---|
dns_subdomain | The subdomain used with the DNS zone by the gandi provider. This will be used to create an A and and AAAA record within the DNS zone that points to the virtual machine hosting the Jitsi instance. | string |
n/a | yes |
dns_zone | The DNS zone used by the gandi provider. | string |
n/a | yes |
keypair_name | The name of the ssh keypair to be created by OpenStack. | string |
"jitsi-keypair" |
no |
letsencrypt_email | The email that Let's Encrypt will use for expiration notifications. | string |
n/a | yes |
letsencrypt_staging | Whether to use the Let's Encrypt staging platform. "0" Means not to use Let's Encrypt staging platform. "1" Means to use it. Useful for testing purposes as there is a rate limit on the production platform. | string |
"0" |
no |
server_name | The name of the virtual machine to be created by OpenStack. | string |
"jitsi" |
no |
Name | Description |
---|---|
IP_v4 | The IP v4 of the virtual machine |
IP_v6 | The IP v6 of the virtual machine |
https_address | The URL of the Jitsi instance |
ssh_cmd | The command to use to ssh into the virtual machine |