mirror of
https://github.com/jambonz/jambonz-infrastructure.git
synced 2026-01-25 02:08:27 +00:00
add support for building arm64 AMIs so we can use graviton instances for FS, SIP, RTP, and webserver
This commit is contained in:
@@ -4,10 +4,22 @@ A [packer](https://www.packer.io/) template to build an AMI for the jambonz feat
|
||||
|
||||
## Installing
|
||||
|
||||
To build an amd64 image:
|
||||
|
||||
```
|
||||
$ packer build -color=false template.json
|
||||
```
|
||||
|
||||
To build an arm64 image:
|
||||
|
||||
```
|
||||
$ packer build -color=false \
|
||||
--var="ami_base_image_arch=arm64" \
|
||||
--var="ami_base_image_owner=903794441882" \
|
||||
--var="instance_type=t4g.xlarge" \
|
||||
template.json
|
||||
```
|
||||
|
||||
### variables
|
||||
There are many variables that can be specified on the `packer build` command line; however defaults (which are shown below) are appropriate for building an "all in one" jambonz server, so you generally should not need to specify values.
|
||||
|
||||
|
||||
@@ -6,6 +6,8 @@
|
||||
"instance_type": "t3.xlarge",
|
||||
"drachtio_version": "v0.8.18",
|
||||
"jambonz_version": "v0.7.7-7",
|
||||
"ami_base_image_arch": "amd64",
|
||||
"ami_base_image_owner": "136693071363",
|
||||
"install_telegraf": "yes",
|
||||
"install_datadog": "no",
|
||||
"datadog_key" : "",
|
||||
@@ -18,15 +20,15 @@
|
||||
"source_ami_filter": {
|
||||
"filters": {
|
||||
"virtualization-type": "hvm",
|
||||
"name": "debian-11-amd64-*",
|
||||
"name": "debian-11-{{user `ami_base_image_arch`}}-*",
|
||||
"root-device-type": "ebs"
|
||||
},
|
||||
"owners": ["136693071363"],
|
||||
"owners": ["{{user `ami_base_image_owner`}}"],
|
||||
"most_recent": true
|
||||
},
|
||||
"instance_type": "{{user `instance_type`}}",
|
||||
"ssh_username": "{{user `ssh_username`}}",
|
||||
"ami_name": "jambonz-feature-server-{{user `jambonz_version`}}-{{isotime |clean_resource_name }}",
|
||||
"ami_name": "jambonz-feature-server-{{user `jambonz_version`}}-{{user `ami_base_image_arch`}}-{{isotime |clean_resource_name }}",
|
||||
"ami_description": "{{user `ami_description`}}",
|
||||
"launch_block_device_mappings": [
|
||||
{
|
||||
|
||||
@@ -4,10 +4,22 @@ A [packer](https://www.packer.io/) template to build an AMI for a jambonz SBC RT
|
||||
|
||||
## Installing
|
||||
|
||||
To build an amd64 image:
|
||||
|
||||
```
|
||||
$ packer build -color=false template.json
|
||||
```
|
||||
|
||||
To build an arm64 image:
|
||||
|
||||
```
|
||||
$ packer build -color=false \
|
||||
--var="ami_base_image_arch=arm64" \
|
||||
--var="ami_base_image_owner=903794441882" \
|
||||
--var="instance_type=t4g.xlarge" \
|
||||
template.json
|
||||
```
|
||||
|
||||
### variables
|
||||
There are many variables that can be specified on the `packer build` command line; however defaults (which are shown below) are appropriate for building an "all in one" jambonz server, so you generally should not need to specify values.
|
||||
|
||||
|
||||
@@ -2,9 +2,11 @@
|
||||
"variables": {
|
||||
"region": "us-east-1",
|
||||
"ssh_username": "admin",
|
||||
"ami_description": "jambonz SBC media server",
|
||||
"ami_description": "jambonz SBC RTP server",
|
||||
"drachtio_version": "v0.8.18",
|
||||
"jambonz_version": "v0.7.7-7",
|
||||
"ami_base_image_arch": "amd64",
|
||||
"ami_base_image_owner": "136693071363",
|
||||
"instance_type": "t3.xlarge",
|
||||
"rtp_engine_version": "mr11.1.1.1",
|
||||
"rtp_engine_min_port": "40000",
|
||||
@@ -19,15 +21,15 @@
|
||||
"source_ami_filter": {
|
||||
"filters": {
|
||||
"virtualization-type": "hvm",
|
||||
"name": "debian-11-amd64-*",
|
||||
"name": "debian-11-{{user `ami_base_image_arch`}}-*",
|
||||
"root-device-type": "ebs"
|
||||
},
|
||||
"owners": ["136693071363"],
|
||||
"owners": ["{{user `ami_base_image_owner`}}"],
|
||||
"most_recent": true
|
||||
},
|
||||
"instance_type": "{{user `instance_type`}}",
|
||||
"ssh_username": "{{user `ssh_username`}}",
|
||||
"ami_name": "jambonz-sbc-rtp-{{user `jambonz_version`}}-{{isotime |clean_resource_name }}",
|
||||
"ami_name": "jambonz-sbc-rtp-{{user `jambonz_version`}}-{{user `ami_base_image_arch`}}-{{isotime |clean_resource_name }}",
|
||||
"ami_description": "{{user `ami_description`}}",
|
||||
"launch_block_device_mappings": [
|
||||
{
|
||||
|
||||
@@ -4,10 +4,22 @@ A [packer](https://www.packer.io/) template to build an AMI containing everythin
|
||||
|
||||
## Installing
|
||||
|
||||
To build an amd64 image:
|
||||
|
||||
```
|
||||
$ packer build -color=false template.json
|
||||
```
|
||||
|
||||
To build an arm64 image:
|
||||
|
||||
```
|
||||
$ packer build -color=false \
|
||||
--var="ami_base_image_arch=arm64" \
|
||||
--var="ami_base_image_owner=903794441882" \
|
||||
--var="instance_type=t4g.xlarge" \
|
||||
template.json
|
||||
```
|
||||
|
||||
### variables
|
||||
There are many variables that can be specified on the `packer build` command line; however defaults (which are shown below) are appropriate for building an "all in one" jambonz server, so you generally should not need to specify values.
|
||||
|
||||
|
||||
@@ -6,6 +6,8 @@
|
||||
"instance_type": "t3.xlarge",
|
||||
"drachtio_version": "v0.8.18",
|
||||
"jambonz_version": "v0.7.7-7",
|
||||
"ami_base_image_arch": "amd64",
|
||||
"ami_base_image_owner": "136693071363",
|
||||
"install_datadog": "no",
|
||||
"datadog_key" : "",
|
||||
"install_telegraf": "yes"
|
||||
@@ -16,15 +18,15 @@
|
||||
"source_ami_filter": {
|
||||
"filters": {
|
||||
"virtualization-type": "hvm",
|
||||
"name": "debian-11-amd64-*",
|
||||
"name": "debian-11-{{user `ami_base_image_arch`}}-*",
|
||||
"root-device-type": "ebs"
|
||||
},
|
||||
"owners": ["136693071363"],
|
||||
"owners": ["{{user `ami_base_image_owner`}}"],
|
||||
"most_recent": true
|
||||
},
|
||||
"instance_type": "{{user `instance_type`}}",
|
||||
"ssh_username": "{{user `ssh_username`}}",
|
||||
"ami_name": "jambonz-sbc-sip-{{user `jambonz_version`}}-{{isotime |clean_resource_name }}",
|
||||
"ami_name": "jambonz-sbc-sip-{{user `jambonz_version`}}-{{user `ami_base_image_arch`}}-{{isotime |clean_resource_name }}",
|
||||
"ami_description": "{{user `ami_description`}}",
|
||||
"launch_block_device_mappings": [
|
||||
{
|
||||
|
||||
@@ -5,6 +5,8 @@
|
||||
"ami_description": "jambonz webserver",
|
||||
"instance_type": "t3.xlarge",
|
||||
"jambonz_version": "v0.7.7-7",
|
||||
"ami_base_image_arch": "amd64",
|
||||
"ami_base_image_owner": "136693071363",
|
||||
"install_datadog": "no",
|
||||
"install_telegraf": "yes"
|
||||
},
|
||||
@@ -14,15 +16,15 @@
|
||||
"source_ami_filter": {
|
||||
"filters": {
|
||||
"virtualization-type": "hvm",
|
||||
"name": "debian-11-amd64-*",
|
||||
"name": "debian-11-{{user `ami_base_image_arch`}}-*",
|
||||
"root-device-type": "ebs"
|
||||
},
|
||||
"owners": ["136693071363"],
|
||||
"owners": ["{{user `ami_base_image_owner`}}"],
|
||||
"most_recent": true
|
||||
},
|
||||
"instance_type": "{{user `instance_type`}}",
|
||||
"ssh_username": "{{user `ssh_username`}}",
|
||||
"ami_name": "jambonz-webserver-{{user `jambonz_version`}}-{{isotime |clean_resource_name }}",
|
||||
"ami_name": "jambonz-webserver-{{user `jambonz_version`}}-{{user `ami_base_image_arch`}}-{{isotime |clean_resource_name }}",
|
||||
"ami_description": "{{user `ami_description`}}",
|
||||
"launch_block_device_mappings": [
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user