snowballtools-base/packages/deployer
Nabarun Gogoi 72f1abcdf6
Add CI to test web app deployment and undeployment (#174)
* Add a script to deploy test records

* Add checks for ApplicationDeploymentRecord and the deployment URL

* Add a CI workflow to run the app deployment test

* Update test deployment request record config

* Add test for deployment removal

* Update test deployment request record

* Increase max retries

* Add retries when checking if URL is up or down

* Rename test script

* Run webapp deployment test CI on PR

* Remove unnecessary jq installation step from CI

* Revert "Run webapp deployment test CI on PR"

This reverts commit 01f373501a95b95cf0abc1dee8fed639ec62daf5.

* Add a step for Slack alerts on a CI failure

* Add a workflow dispatch for manual trigger

* Update workflow title and remove trigger on main

* Document deployment test setup

---------

Co-authored-by: Prathamesh Musale <prathamesh.musale0@gmail.com>
2024-04-15 14:10:59 +05:30
..
records chore: bump deploy 2024-04-04 10:50:39 -04:00
test Add CI to test web app deployment and undeployment (#174) 2024-04-15 14:10:59 +05:30
config.yml Fix frontend deployment config (#148) 2024-02-29 22:45:33 +05:30
deploy-frontend.sh Upgrade laconic-sdk package for showing error with reason in console (#165) 2024-04-03 20:26:34 +05:30
package.json Add deployer package for frontend app (#123) 2024-02-27 11:52:05 +05:30
README.md Upgrade laconic-sdk package for showing error with reason in console (#165) 2024-04-03 20:26:34 +05:30

deployer

  • Install dependencies

    yarn
    
    brew install jq # if you do not have jq installed already
    
  • Run script to deploy app

    ./deploy-frontend.sh
    
  • Commit the updated ApplicationRecord and ApplicationDeploymentRequest files to the repository

Notes

  • Any config env can be updated in records/application-deployment-request.yml
    record:
      ...
      config:
        env:
          LACONIC_HOSTED_CONFIG_app_server_url: https://snowballtools-base-api-001.apps.snowballtools.com
          ...
    
    • On changing LACONIC_HOSTED_CONFIG_app_github_clientid, the GitHub client ID and secret need to be changed in backend config too

Troubleshoot

  • Check deployment status in web-app deployer.

  • Check records in registry console app.

  • If deployment fails due to low bond balance

    • Check balances
      # Account balance
      yarn laconic cns account get
      
      # Bond balance
      yarn laconic cns bond get --id 99c0e9aec0ac1b8187faa579be3b54f93fafb6060ac1fd29170b860df605be32
      
    • Command to refill bond
      yarn laconic cns bond refill --id 99c0e9aec0ac1b8187faa579be3b54f93fafb6060ac1fd29170b860df605be32 --type aphoton --quantity 10000000