14-Aug-2024 - 26-Sep-2024 - New Deployment & App Changes
Dockerizing, Move to Fly.io , Meetup API Changes & Walk View Changes
Note that over the above period, Heroku deployments were decommissioned and a new Fly.io deployment mechanism using Docker was developed. Fly.io is now the recommended deployment mechanism for NGX-Ramblers , given that a site can be run on the pay as you go price plan which means that the usage is discounted to $0.00 as long as usage is under $5.00 which it will be given that keepalive probes such as pingdom are not used to prevent machine sleeping.
Fly Machines are Firecracker VMs with a fast REST API that can boot instances in about 300ms, in any region supported by Fly.io .
Due to the change in deployment mechanism from Heroku to Fly.io , Docker Images are built pushed and deployed to the staging environment using Github Actions
As a result of the above, the existing release numbers have been replaced by github build numbers and as of 26-Sep-24, this is build 17
Added Dockerfile
Moved all docker build steps to single GitHub workflow
tag and push latest first to allow pull earlier if testing locally
added secrets
Align node version 20.11.0 with package.json
docker push image and run
added env debugging and removed some unused variables
added SITE_ prefix for some env variables
Added GitHub Workflow: build-push-and-deploy-ngx-ramblers-docker-image.yml
Added Readme badge for docker build
Updated Readme with build icons
fly port number changed to 5001
Removed webdriver-manager as this is not required
log CHROME_VERSION and CHROMEDRIVER_VERSION
Switch to using npx @puppeteer/browsers install
App port changed from 5000 to 5001 to avoid conflicts on new Mac
NPM run serenity-bdd-update done within Dockerfile not in step before serenity is run
Removed derivation of CHROMEDRIVER_PATH env - is injected now
standardised CHROME and CHROMEDRIVER variable names
reflected required changes in protractor.conf.js
Removed heroku build and config files
App config and bug fixes
Changes to config components to avoid runtime error if mail config not yet populated
Turned off logging on many endpoints
combine workflows into one
allow group name to be passed in via APP_NAME secret
added fly.io deploy and workflow script
Updated Readme to show the NGX-Ramblers project links and documentation
Removed app and image from fly.toml as these are both passed in fly deploy command
Removed sed commands from build steps as all variables are now passed in fly deploy command
Removed http_service.allow_origin as this does not seem to be a valid option
Added deploy-to-environments.ts to roll out changes to all configured environments
Meetup API Changes
Added error handling and view OAuth Clients button into System Meetup Settings
Reconfigure Meetup authentication code to reflect latest OAuth Spec
Meetup settings now stored in database and configurable within /admin/system-settings?tab=external-systems
New Authentication flow created to reflect https://www.meetup.com/api/authentication/
Server Flow -> Requesting Authorization -> Requesting Access Token
Refresh Token Flow -> Requesting Access Token
All meetup server code migrated to typescript.
Walk Changes
Fixed some non-rendering svg symbol ids
Added accessibility features to walk details