From f8f90c33bd3f45bfc98b590a0a71fbfed8d7d315 Mon Sep 17 00:00:00 2001 From: Dave Horton Date: Tue, 10 Jan 2023 09:12:41 -0500 Subject: [PATCH] initial commit of changes for 0.8.x --- cloudformation/jambonz-mini.yaml | 35 +++++++++++-------- .../jambonz-scalable-production.yaml | 10 +++++- .../files/ecosystem.config.js | 5 +-- packer/jambonz-feature-server/template.json | 2 +- packer/jambonz-mini/files/ecosystem.config.js | 2 ++ packer/jambonz-mini/template.json | 2 +- packer/jambonz-monitoring/template.json | 2 +- packer/jambonz-sbc-rtp/template.json | 2 +- packer/jambonz-sbc-sip/template.json | 2 +- .../jambonz-web-server/scripts/install_app.sh | 2 +- packer/jambonz-web-server/template.json | 2 +- 11 files changed, 40 insertions(+), 26 deletions(-) diff --git a/cloudformation/jambonz-mini.yaml b/cloudformation/jambonz-mini.yaml index c380422..771afee 100644 --- a/cloudformation/jambonz-mini.yaml +++ b/cloudformation/jambonz-mini.yaml @@ -79,7 +79,6 @@ Parameters: Type: String Description: "(Optional) A DNS name that you will point to the jambonz webserver(s)" Default: "" - Conditions: ShouldEnableCloudWatch: !Equals - true @@ -95,9 +94,9 @@ Conditions: Mappings: AWSRegion2AMI: us-east-1: - Ami: ami-06285e61e785836ff + Ami: ami-0028cd0caa0098459 eu-west-2: - Ami: ami-0f5f1714720adf7e4 + Ami: ami-076c64115c239fe57 Resources: IamCloudwatchRole: Type: AWS::IAM::Role @@ -198,30 +197,30 @@ Resources: sudo sed -i -e "s/\(.*\)AWS_REGION_NAME\(.*\)/\1$AWS_REGION_NAME\2/g" /home/admin/apps/ecosystem.config.js sudo sed -i -e "s/\(.*\)--JAMBONES_API_BASE_URL--\(.*\)/\1http:\/\/$PUBLIC_IPV4\/v1\2/g" /home/admin/apps/ecosystem.config.js + # replace JWT_SECRET + uuid=$(uuidgen) + sudo sed -i -e "s/\(.*\)JWT-SECRET-GOES_HERE\(.*\)/\1$uuid\2/g" /home/admin/apps/ecosystem.config.js + # reset the database JAMBONES_ADMIN_INITIAL_PASSWORD=$INSTANCE_ID JAMBONES_MYSQL_USER=admin JAMBONES_MYSQL_PASSWORD=$NEW_DB_PASSWD JAMBONES_MYSQL_DATABASE=jambones JAMBONES_MYSQL_HOST=localhost /home/admin/apps/jambonz-api-server/db/reset_admin_password.js # configure webapp if [[ -z "${URLPortal}" ]]; then # portals will be accessed by IP address of server - echo "REACT_APP_API_BASE_URL=http://$PUBLIC_IPV4/api/v1" > /home/admin/apps/jambonz-webapp/.env - echo "REACT_APP_MOBILE_BREAKPOINT=767px" >> /home/admin/apps/jambonz-webapp/.env - echo "REACT_APP_ENABLE_SUBSPACE=1" >> /home/admin/apps/jambonz-webapp/.env - REACT_APP_API_BASE_URL=http://$PUBLIC_IPV4/api/v1 TAG="" - sed -i -e "\@@i\ $TAG" /home/admin/apps/jambonz-webapp/build/index.html + echo "VITE_API_BASE_URL=http://$PUBLIC_IPV4/api/v1" > /home/admin/apps/jambonz-webapp/.env + API_BASE_URL=http://$PUBLIC_IPV4/api/v1 TAG="" + sed -i -e "\@@i\ $TAG" /home/admin/apps/jambonz-webapp/dist/index.html else # portals will be accessed by DNS name - echo "REACT_APP_API_BASE_URL=http://${URLPortal}/api/v1" > /home/admin/apps/jambonz-webapp/.env - echo "REACT_APP_MOBILE_BREAKPOINT=767px" >> /home/admin/apps/jambonz-webapp/.env - echo "REACT_APP_ENABLE_SUBSPACE=1" >> /home/admin/apps/jambonz-webapp/.env - REACT_APP_API_BASE_URL=http://${URLPortal}/api/v1 TAG="" - sed -i -e "\@@i\ $TAG" /home/admin/apps/jambonz-webapp/build/index.html + echo "VITE_API_BASE_URL=http://${URLPortal}/api/v1" > /home/admin/apps/jambonz-webapp/.env + API_BASE_URL=http://${URLPortal}/api/v1 TAG="" + sed -i -e "\@@i\ $TAG" /home/admin/apps/jambonz-webapp/dist/index.html # configure nginx for homer and grafana on the monitoring server sudo cat << EOF > /etc/nginx/sites-available/default server { listen 80; - server_name _; + server_name ${URLPortal}; location /api/ { rewrite ^/api/(.*)$ /\$1 break; proxy_pass http://localhost:3002; @@ -232,6 +231,14 @@ Resources: proxy_set_header Host \$host; } } + server { + listen 80; + server_name api.${URLPortal}; + location / { + proxy_pass http://localhost:3002; + proxy_set_header Host \$host; + } + } server { listen 80; server_name grafana.${URLPortal}; diff --git a/cloudformation/jambonz-scalable-production.yaml b/cloudformation/jambonz-scalable-production.yaml index c62a049..6d3ba7a 100644 --- a/cloudformation/jambonz-scalable-production.yaml +++ b/cloudformation/jambonz-scalable-production.yaml @@ -1822,7 +1822,7 @@ Resources: sudo cat << EOF > /etc/nginx/sites-available/default server { listen 80; - server_name _; + server_name ${URLPortal}; location /api/ { rewrite ^/api/(.*)$ /\$1 break; proxy_pass http://localhost:3000; @@ -1833,6 +1833,14 @@ Resources: proxy_set_header Host \$host; } } + server { + listen 80; + server_name api.${URLPortal}; + location / { + proxy_pass http://localhost:3000; + proxy_set_header Host \$host; + } + } server { listen 80; server_name grafana.${URLPortal}; diff --git a/packer/jambonz-feature-server/files/ecosystem.config.js b/packer/jambonz-feature-server/files/ecosystem.config.js index b2366c8..bc0a040 100644 --- a/packer/jambonz-feature-server/files/ecosystem.config.js +++ b/packer/jambonz-feature-server/files/ecosystem.config.js @@ -13,10 +13,7 @@ module.exports = { watch: false, env: { NODE_ENV: 'production', - GOOGLE_APPLICATION_CREDENTIALS: '/home/admin/credentials/$${GOOGLE_APPLICATION_CREDENTIALS}', - AWS_ACCESS_KEY_ID: '${AWS_ACCESS_KEY_ID}', - AWS_SECRET_ACCESS_KEY: '${AWS_SECRET_ACCESS_KEY}', - AWS_REGION: '${AWS_REGION}', + JWT_SECRET: 'JWT-SECRET-GOES_HERE', ENABLE_DATADOG_METRICS: 0, JAMBONES_NETWORK_CIDR: '172.31.32.0/24', JAMBONES_MYSQL_HOST: '${JAMBONES_MYSQL_HOST}', diff --git a/packer/jambonz-feature-server/template.json b/packer/jambonz-feature-server/template.json index 23d5a85..2d583c0 100644 --- a/packer/jambonz-feature-server/template.json +++ b/packer/jambonz-feature-server/template.json @@ -5,7 +5,7 @@ "ami_description": "jambonz feature server", "instance_type": "t3.xlarge", "drachtio_version": "v0.8.20", - "jambonz_version": "v0.7.8-5", + "jambonz_version": "v0.8.0-rc4", "ami_base_image_arch": "amd64", "ami_base_image_owner": "136693071363", "install_telegraf": "yes", diff --git a/packer/jambonz-mini/files/ecosystem.config.js b/packer/jambonz-mini/files/ecosystem.config.js index 669a498..3e22298 100644 --- a/packer/jambonz-mini/files/ecosystem.config.js +++ b/packer/jambonz-mini/files/ecosystem.config.js @@ -48,6 +48,7 @@ module.exports = { max_memory_restart: '1G', env: { NODE_ENV: 'production', + JWT_SECRET: 'JWT-SECRET-GOES_HERE', JAMBONES_MYSQL_HOST: '127.0.0.1', JAMBONES_MYSQL_USER: 'admin', JAMBONES_MYSQL_PASSWORD: 'JambonzR0ck$', @@ -253,6 +254,7 @@ module.exports = { watch: false, env: { NODE_ENV: 'production', + JWT_SECRET: 'JWT-SECRET-GOES_HERE', JAMBONES_OTEL_ENABLED: 1, OTEL_EXPORTER_JAEGER_ENDPOINT: 'http://localhost:14268/api/traces', OTEL_EXPORTER_OTLP_METRICS_INSECURE: 1, diff --git a/packer/jambonz-mini/template.json b/packer/jambonz-mini/template.json index 753abdf..7429987 100644 --- a/packer/jambonz-mini/template.json +++ b/packer/jambonz-mini/template.json @@ -5,7 +5,7 @@ "ami_description": "jambonz all-in-one AMI", "instance_type": "t2.xlarge", "drachtio_version": "v0.8.20", - "jambonz_version": "v0.7.8-5", + "jambonz_version": "v0.8.0-rc4", "jambonz_user": "admin", "jambonz_password": "JambonzR0ck$", "install_telegraf": "yes", diff --git a/packer/jambonz-monitoring/template.json b/packer/jambonz-monitoring/template.json index 1924fb1..f752721 100644 --- a/packer/jambonz-monitoring/template.json +++ b/packer/jambonz-monitoring/template.json @@ -4,7 +4,7 @@ "ssh_username": "admin", "ami_description": "jambonz monitoring server", "instance_type": "t2.xlarge", - "jambonz_version": "v0.7.8-5", + "jambonz_version": "v0.8.0-rc4", "homer_user": "homer_user", "homer_password": "XcapJTqy11LnsYRtxXGPTYQkAnI", "install_influxdb": "yes", diff --git a/packer/jambonz-sbc-rtp/template.json b/packer/jambonz-sbc-rtp/template.json index b8d1710..733719d 100644 --- a/packer/jambonz-sbc-rtp/template.json +++ b/packer/jambonz-sbc-rtp/template.json @@ -4,7 +4,7 @@ "ssh_username": "admin", "ami_description": "jambonz SBC RTP server", "drachtio_version": "v0.8.20", - "jambonz_version": "v0.7.8-5", + "jambonz_version": "v0.8.0-rc4", "ami_base_image_arch": "amd64", "ami_base_image_owner": "136693071363", "instance_type": "t3.xlarge", diff --git a/packer/jambonz-sbc-sip/template.json b/packer/jambonz-sbc-sip/template.json index bd276e0..cb83602 100644 --- a/packer/jambonz-sbc-sip/template.json +++ b/packer/jambonz-sbc-sip/template.json @@ -5,7 +5,7 @@ "ami_description": "jambonz SBC SIP", "instance_type": "t3.xlarge", "drachtio_version": "v0.8.20", - "jambonz_version": "v0.7.8-5", + "jambonz_version": "v0.8.0-rc4", "ami_base_image_arch": "amd64", "ami_base_image_owner": "136693071363", "install_datadog": "no", diff --git a/packer/jambonz-web-server/scripts/install_app.sh b/packer/jambonz-web-server/scripts/install_app.sh index cc7098d..f80639f 100755 --- a/packer/jambonz-web-server/scripts/install_app.sh +++ b/packer/jambonz-web-server/scripts/install_app.sh @@ -5,7 +5,7 @@ cd /home/admin/apps cp /tmp/ecosystem.config.js . echo "building jambonz-api-server.." -cd /home/admin/apps/jambonz-api-server && npm ci --unsafe-perm +cd /home/admin/apps/jambonz-api-server && npm ci echo "building jambonz-webapp.." cd /home/admin/apps/jambonz-webapp && npm ci && npm run build echo "building public-apps.." diff --git a/packer/jambonz-web-server/template.json b/packer/jambonz-web-server/template.json index 852b97e..32997ea 100644 --- a/packer/jambonz-web-server/template.json +++ b/packer/jambonz-web-server/template.json @@ -4,7 +4,7 @@ "ssh_username": "admin", "ami_description": "jambonz webserver", "instance_type": "t3.xlarge", - "jambonz_version": "v0.7.8-5", + "jambonz_version": "v0.8.0-rc4", "ami_base_image_arch": "amd64", "ami_base_image_owner": "136693071363", "install_datadog": "no",