Skip to content

Gandi/terraform-module-jitsi

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

terraform-module-jitsi

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.

Usage

# 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@example.invalid"
    dns_subdomain = "jitsi"
    dns_zone = "example.invalid"
}

output "ssh" {
  value = module.jitsi.ssh_cmd
}

output "url" {
  value = module.jitsi.https_address
}

Requirements

Name Version
terraform >= 1.0
gandi 2.0.0-rc3
openstack ~> 1.35.0

Providers

Name Version
gandi 2.0.0-rc3
local n/a
openstack ~> 1.35.0
template n/a

Resources

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

Inputs

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

Outputs

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

About

Terraform module that installs a Jitsi instance on a newly created Openstack virtual machine on GandiCloud VPS infrastructure.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages