add support for building arm64 AMIs so we can use graviton instances for FS, SIP, RTP, and webserver

This commit is contained in:
Dave Horton
2022-10-31 07:37:54 -04:00
parent 73c75877b4
commit db1df9d00a
7 changed files with 57 additions and 13 deletions

View File

@@ -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.

View File

@@ -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": [
{

View File

@@ -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.

View File

@@ -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": [
{

View File

@@ -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.

View File

@@ -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": [
{

View File

@@ -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": [
{