jitsi
hajowieland/jitsi/aws
Terraform to create Jitsi Meet on AWS backed by RDS Aurora-Serverless database
terraform-aws-jitsi This repository contains Terraform code to create an Jitsi Meet instance on AWS backed by an RDS Aurora Serverless database for authentication with Prometheus monitoring and Grafana dashboards. Terraform Module: https://registry.terraform.io/modules/hajowieland/aws/jitsi/ Blog Post: https://napo.io/posts/jitsi-on-aws-with-terraform/ --- Table of Contents - Prerequisites - Features - Usage - Cross-Account - Single-Account - Add authenticated Users - Notes - Links - Changelog - TODO --- Prerequisites You need the following before deploying this Terraform module: 1. AWS Account and IAM Role to deploy these AWS resources 2. Route53 Public Hosted Zone 3. Route53 Private Hosted Zone 4. _OPTIONAL:_ If your Route53 zones are in a different AWS Account, the IAM Role in this acco
| Name | Type | Description | Default |
|---|---|---|---|
| cw_kms_arn | string | KMS Key ARN for CloudWatch encryption | required |
| db_subnet_group_name | string | Name for DB subnet group to associate with this Aurora Cluster | required |
| public_zone_id | string | Route53 Public Hosted Zone ID to create public Jitsi DNS records | required |
| letsencrypt_email | string | E-Mail address for LetsEncrypt | required |
| aws_region | string | AWS Region (e.g. `eu-central-1`) | required |
| domain | string | The domain part of the Route53 A record referencing the Jitsi DNS (e.g. `example | required |
| kms_key | string | The ARN, ID or AliasARN for the KMS encryption key (RDS encryption-at-rest) | required |
| key_pair_name | string | Name of pre-existing AWS Key Pair name to associate with Jitsi | required |
| owner | string | Tag 'Owner' to be used for all resources | required |
| ec2_instance_type | string | EC2 instance type | required |
| jitsi_cidrs_ipv4 | map(string) | IPV4 CIDRs to allow for Jitsi access | {
"ALL-IPv4": "0.0.0.0/0"
} |
| retain_count | string | How many snapshots to keep (valid value: integeger between `1` and `1000`) | 7 |
| ssh_public_key_path | string | SSH Public Key path on your workstation (e.g. `/home/user/.ssh/id_rsa.pub`) | "" |
| monitoring | string | Enable (1) / Disable (0) Monitoring with Prometheus, Prometheus Exporter, Grafan | "1" |
| backup_window | string | Daily time range during automated backups (if enabled - Default = true) will are | "01:00-02:00" |
| host | string | The host part of the Route53 A record referencing the Jitsi DNS (e.g. `jitsi` fo | "meet" |
| serverless_min | number | SERVERLESS: Minimum capacity units | 1 |
| ebs_type | string | EBS root block device type (e.g. `standard`, `gp2`) | "gp2" |
| private_zone_id | string | Route53 Private Hosted Zone ID to create private Jitsi DNS records | "" |
| jitsi_cidrs_ipv6 | map(string) | IPV6 CIDRs to allow for Jitsi access | {
"ALL-IPv6": "::/0"
} |
| timezone | string | Timezone set in the EC2 instance UserData | "Europe/Berlin" |
| serverless_seconds_pause | number | SERVERLESS: Seconds after which the the Serverless Aurora DB Cluster will be pau | 300 |
| preferred_maintenance_window | string | Weekly time range during which system changes can occur (in UTC - e.g. `wed:04:0 | "sun:02:30-sun:03:30" |
| backup_retention_days | number | Days for how long Backups will be retained | 30 |
| private_record | string | Enable (1) / Disable (0) creation of private Route53 records | "0" |
| schedule_name | string | Name of the DLM policy schedule | "1 week of daily snapshots" |
| tags_to_add_map | map(string) | Map of extra tags to add to the snapshots | {
"SnapshotCreator": "DLM"
} |
| tags | map(string) | Tags as map (preferably generated by terraform-null-label `module.tags`) | {
"ManagedBy": "terraform",
"Module" |
| prometheus_retention | string | Prometheus TSDB retention time (e.g. `15d` --> 15 days, `1m` --> 1 month) | "35d" |
| arn_role | string | ARN of IAM role to assume in cross-account scenarios | "" |
| … and 10 more inputs | |||
role_arn — ARN of EC2 rolefqdn — FQDN of Jitsi-Meeteip — Elastic IP address for Jitsi-Meet (will be assigned in UserData and can take a few moments to get asendpoint — Endpoint for RDS Aurora clusterinstance_profile_arn — ARN of EC2 Instance Profilesns_topic_arn — Jitsi ASG scaling events SNS topic ARNsg_id — Jitsi SG ID (e.g. for adding it outside of the module to other SGs)Azure landing zones Terraform module
Terraform supermodule for the Terraform platform engineering for Azure
Terraform module to deploy landing zone subscriptions (and much more) in Azure
Terraform Module to define a consistent naming convention by (namespace, stage,