baker371/GW-Releases

★ 0Forks 0PythonGitHub ↗Compare

README

GW-Releases

Alt text

Relevant Repos

Workflows (AWS)

Workflows Brief

  • GW-Releases work with 3 main workflows

  • Each commit made to the main branch triggers the workflow, but the following directories are ignored:

    • aws-jmeter-test-engine
    • gp-load-balancer
    • GW-proxy
    • s-k8-proxy-rebuild
    • k8-rebuild
    • .github/workflows/k8-rebuild.yaml
  • There are 2 main jobs for each workflow:

    • build-ami
      • Configure AWS credentials
      • Setup Packer
      • Build AMI

    build-ami

    • deploy-ami
      • Get current instance ID
      • Deploy AMI to dev
      • Run tests on instance
      • Delete instance(s) that fail

    deploy-ami

Workflow Requirements

- icap-server
    - branch to use workflow from
    - AWS region(s) where AMI will be created
    - IP of monitoring server
- proxy-rebuild
    - branch to use workflow from
    - ICAP server IP
    - AWS region(s) where AMI will be created
    - IP of monitoring server
- k8-rebuild
    - branch to use workflow from

ICAP Server Workflow

  • YAML File
  • build AMI
    • Configure AWS credentials
    • Setup Packer
    • Build AMI using Packer
  • deploy AMI
    • Get current instance ID and other instance IDs with the same name as current instance
    • Deploy the instance
    • Run healthcheck tests on the instance
      • if tests are successful for current instance, all previous instances are terminated
      • if tests are failed, current instance is terminated and deleted

K8 Rebuild Workflow

  • YAML File
  • build AMI
    • Configure AWS credentials
    • Setup Packer
  • deploy AMI
    • Run healthcheck tests on the instance
      • if tests are successful for current instance, all previous instances are terminated
      • if tests are failed, current instance is terminated and deleted

Proxy Rebuild Workflow

  • YAML File
  • build AMI
    • Configure AWS credentials
    • Setup Packer
    • Build AMI using Packer
  • deploy AMI
    • Get current instance ID and other instance IDs with the same name as current instance
    • Deploy the instance
    • Run tests on instance
      • Download this PDF file
      • Make sure it successfully has the watermark "Glasswall Processed"
        • if tests are successful for current instance, all previous instances are terminated
        • if tests are failed, current instance is terminated and deleted

upstream/main

Contributors

pranaysahithsamarthddbaker371NourEddineXmahnoumandtollakusvf97faisaladnanpeltopsgurunathgazopatMehasseb

Issues