Files
Dave Horton ed86fc3693 add jambonz medium AWS deployment: sbc(sip+rtp), fs, web+monitoring (#61)
* add jambonz medium AWS deployment: sbc(sip+rtp), fs, web+monitoring

* fix terraform proxmox: correct calculation of private IP

* fixs for jambonz-medium

* spread sbc and fs across availability zones
2023-08-02 13:47:02 -04:00
..
2023-05-31 10:05:42 -04:00
2023-05-31 10:05:42 -04:00

terraform deployment of jambonz-mini VM for Proxmox

A terraform template to deploy a jambonz-mini server on Proxmox. The VM template should have been built using the associated packer script.

Prerequisites

  • A Proxmox jambonz-mini VM template built using the associated packer template
  • A Proxmox node with two bridges: one for a private network and one for a public network

The jambonz-mini VM will attach to both networks as a dual-homed server; thus it will have both a public address (as needed to be reachable for SIP, RTP, and HTTP) as well as a private network.

Installing

terraform init

to install the Proxmox terraform provider, then you will typically create a terraform.tfvars to provide variable values (they can also be provided on the command line). One that is done, then:

terraform plan

If all looks good then

terraform apply

Variables

  • pm_api_url: URL of Proxmox GUI api (e.g. https://:8006/api2/json)
  • pm_user: Proxmox GUI user
  • pm_password: Proxmox GUI password
  • pm_source_template: name of VM template (this would have been built using the packer template)
  • pm_target_node: Proxmox node name
  • pm_storage: storage name (e.g. "local")
  • pve_host: IP address of Proxmox node
  • pve_user: ssh user for Proxmox node (e.g. "root")
  • url_portal = DNS name you will assign to the jambonz-mini VM (the jambonz portal will be served at this URL) ifpconfig_private: ip and gateway for private network (e.g. "ip=10.200.100.20/24,gw=10.200.100.1") ifpconfig_public: ip and gateway for public network (e.g. "ip=62.210.101.46/32,gw=62.210.0.1") ssh_pub_key_path: path to your public ssh key (e.g. "/.ssh/id_rsa.pub") ssh_private_key_path: path to your private ssh key (e.g. "/.ssh/id_rsa")