diff --git a/.github/workflows/deploy_mainnet.yml b/.github/workflows/deploy_mainnet.yml deleted file mode 100644 index 49c540b9..00000000 --- a/.github/workflows/deploy_mainnet.yml +++ /dev/null @@ -1,168 +0,0 @@ -# The Licensed Work is (c) 2022 Sygma -# SPDX-License-Identifier: BUSL-1.1 - -name: Sygma Mainnet - -on: - workflow_dispatch: - inputs: - release_tag: - description: 'The Release tag Version' - required: true - default: 'stable' - type: string - TOKEN: - description: 'Authentication token' - required: true - type: string - - -env: - ENVIRONMENT: 'MAINNET' - REGISTRY: 'ghcr.io' - AWS_MAINNET: '${{ secrets.AWS_MAINNET }}' - -jobs: - ######################## region 1 ######################## - deploy_region_1: - name: deploy - runs-on: ubuntu-latest - strategy: - matrix: - relayer_id: [0, 1] - - permissions: - contents: read - id-token: write - - steps: - - name: Authentication - id: auth - run: | - if [ "${{ secrets.AUTH_TOKEN }}" != "${{ github.event.inputs.TOKEN }}" ]; then - echo "Authentcation failed. Exiting..." - exit 1 - fi - - name: Continue - if: steps.auth.outcome == 'success' - run: | - echo 'Authentication Succeeded!!!' - - - name: checkout the source code - uses: actions/checkout@v3 - - - name: checkout ecs repo - uses: actions/checkout@v3 - with: - repository: sygmaprotocol/devops - token: ${{ secrets.GHCR_TOKEN }} - - - name: render jinja2 templates to task definition json files - uses: cuchi/jinja2-action@v1.2.0 - with: - template: 'relayers/ecs/task_definition-${{ env.ENVIRONMENT }}.j2' - output_file: 'relayers/ecs/task_definition-${{ matrix.relayer_id }}_${{ env.ENVIRONMENT }}.json' - data_format: json - variables: | - relayerId=${{ matrix.relayer_id }} - awsAccountId=${{ env.AWS_MAINNET }} - awsRegion=${{ secrets.AWS_REGION }} - imageTag=${{ inputs.release_tag }} - awsEnv=${{ env.ENVIRONMENT }} - awsEfs=${{ secrets.MAINNET_EFS_1 }} - - - name: configure aws credentials - uses: aws-actions/configure-aws-credentials@v1 - with: - role-to-assume: arn:aws:iam::${{ env.AWS_MAINNET }}:role/github-actions-${{ env.ENVIRONMENT }}-chainbridge - aws-region: ${{ secrets.AWS_REGION }} - role-session-name: GithubActions - - - name: deploy task definition - uses: aws-actions/amazon-ecs-deploy-task-definition@v1 - with: - task-definition: 'relayers/ecs/task_definition-${{ matrix.relayer_id }}_${{ env.ENVIRONMENT }}.json' - service: 'relayer-${{ matrix.relayer_id }}-service-${{ env.ENVIRONMENT }}' - cluster: 'relayer-${{ env.ENVIRONMENT }}' - wait-for-service-stability: true - - - name: slack notify - uses: 8398a7/action-slack@v3 - with: - status: ${{ job.status }} - fields: repo,message,commit,author,action,job,eventName,ref,workflow # selectable (default: repo,message) - env: - SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} # required - if: always() - - ######################## region 3 ######################## - deploy_region_3: - name: deploy - runs-on: ubuntu-latest - strategy: - matrix: - relayer_id: [2] - - permissions: - contents: read - id-token: write - - steps: - - name: Authentication - id: auth - run: | - if [ "${{ secrets.AUTH_TOKEN }}" != "${{ github.event.inputs.TOKEN }}" ]; then - echo "Authentcation failed. Exiting..." - exit 1 - fi - - name: Continue - if: steps.auth.outcome == 'success' - run: | - echo 'Authentication Succeeded!!!' - - - name: checkout the source code - uses: actions/checkout@v3 - - - name: checkout ecs repo - uses: actions/checkout@v3 - with: - repository: sygmaprotocol/devops - token: ${{ secrets.GHCR_TOKEN }} - - - name: render jinja2 templates to task definition json files - uses: cuchi/jinja2-action@v1.2.0 - with: - template: 'relayers/ecs/task_definition-${{ env.ENVIRONMENT }}.j2' - output_file: 'relayers/ecs/task_definition-${{ matrix.relayer_id }}_${{ env.ENVIRONMENT }}.json' - data_format: json - variables: | - relayerId=${{ matrix.relayer_id }} - awsAccountId=${{ env.AWS_MAINNET }} - awsRegion=${{ secrets.AWS_REGION_3 }} - imageTag=${{ inputs.release_tag }} - awsEnv=${{ env.ENVIRONMENT }} - awsEfs=${{ secrets.MAINNET_EFS_3 }} - - - name: configure aws credentials - uses: aws-actions/configure-aws-credentials@v1 - with: - role-to-assume: arn:aws:iam::${{ env.AWS_MAINNET }}:role/github-actions-${{ env.ENVIRONMENT }}-chainbridge - aws-region: ${{ secrets.AWS_REGION_3 }} - role-session-name: GithubActions - - - name: deploy task definition - uses: aws-actions/amazon-ecs-deploy-task-definition@v1 - with: - task-definition: 'relayers/ecs/task_definition-${{ matrix.relayer_id }}_${{ env.ENVIRONMENT }}.json' - service: 'relayer-${{ matrix.relayer_id }}-service-${{ env.ENVIRONMENT }}' - cluster: 'relayer-${{ env.ENVIRONMENT }}' - wait-for-service-stability: true - - - name: slack notify - uses: 8398a7/action-slack@v3 - with: - status: ${{ job.status }} - fields: repo,message,commit,author,action,job,eventName,ref,workflow # selectable (default: repo,message) - env: - SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} # required - if: always() \ No newline at end of file diff --git a/.github/workflows/deploy_stage.yml b/.github/workflows/deploy_stage.yml deleted file mode 100644 index 18f4196c..00000000 --- a/.github/workflows/deploy_stage.yml +++ /dev/null @@ -1,234 +0,0 @@ -# The Licensed Work is (c) 2022 Sygma -# SPDX-License-Identifier: LGPL-3.0-only - -name: Sygma Devnet - -on: - push: - branches: - - main - -env: - ENVIRONMENT: STAGE - AWS_STAGE: '${{ secrets.AWS_ARN }}' - REGISTRY: 'ghcr.io' - TAG: 'latest' - - -jobs: - push: - name: push - runs-on: ubuntu-latest - - permissions: - contents: read - id-token: write - - steps: - - name: checkout the source code - uses: actions/checkout@v3 - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v2 - - - name: login to ghcr - id: ghcr - uses: docker/login-action@v2 - with: - registry: ${{ env.REGISTRY }} - username: ${{ github.repository_owner }} - password: ${{ secrets.GHCR_TOKEN }} - - - name: build / tag / push docker image into ghcr - id: build-and-push - uses: docker/build-push-action@v3 - with: - context: . - push: true - tags: ${{ env.REGISTRY }}/${{ github.repository }}:${{ env.TAG }} - - - name: slack notify - uses: 8398a7/action-slack@v3 - with: - status: ${{ job.status }} - fields: repo,message,commit,author,action,job,eventName,ref,workflow # selectable (default: repo,message) - env: - SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} # required - if: always() - - ######################## region 1 ######################## - deploy_reg_1: - needs: push - name: deploy region 1 - runs-on: ubuntu-latest - strategy: - matrix: - relayer_id: [0, 1, 2] - - permissions: - contents: read - id-token: write - - steps: - - name: checkout the source code - uses: actions/checkout@v3 - - - name: checkout ecs repo - uses: actions/checkout@v3 - with: - repository: sygmaprotocol/devops - token: ${{ secrets.GHCR_TOKEN }} - - - name: render jinja2 templates to task definition json files - uses: cuchi/jinja2-action@v1.2.0 - with: - template: 'relayers/ecs/task_definition-${{ env.ENVIRONMENT }}.j2' - output_file: 'relayers/ecs/task_definition-${{ matrix.relayer_id }}_${{ env.ENVIRONMENT }}.json' - data_format: json - variables: | - relayerId=${{ matrix.relayer_id }} - awsAccountId=${{ env.AWS_STAGE }} - awsRegion=${{ secrets.AWS_REGION }} - awsEfs=${{ secrets.DEVNET_EFS_1 }} - - - name: configure aws credentials - uses: aws-actions/configure-aws-credentials@v1 - with: - role-to-assume: arn:aws:iam::${{ env.AWS_STAGE }}:role/github-actions-${{ env.ENVIRONMENT }}-chainbridge - aws-region: ${{ secrets.AWS_REGION }} - role-session-name: GithubActions - - - name: deploy task definition - uses: aws-actions/amazon-ecs-deploy-task-definition@v1 - with: - task-definition: 'relayers/ecs/task_definition-${{ matrix.relayer_id }}_${{ env.ENVIRONMENT }}.json' - service: 'relayer-${{ matrix.relayer_id }}-service-${{ env.ENVIRONMENT }}' - cluster: 'relayer-${{ env.ENVIRONMENT }}' - wait-for-service-stability: true - - - name: slack notify - uses: 8398a7/action-slack@v3 - with: - status: ${{ job.status }} - fields: repo,message,commit,author,action,job,eventName,ref,workflow # selectable (default: repo,message) - env: - SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} # required - if: always() - - ######################## region 2 ######################## - deploy_reg_2: - needs: push - name: deploy region 2 - runs-on: ubuntu-latest - strategy: - matrix: - relayer_id: [3] - - permissions: - contents: read - id-token: write - - steps: - - name: checkout the source code - uses: actions/checkout@v3 - - - name: checkout ecs repo - uses: actions/checkout@v3 - with: - repository: sygmaprotocol/devops - token: ${{ secrets.GHCR_TOKEN }} - - - name: render jinja2 templates to task definition json files - uses: cuchi/jinja2-action@v1.2.0 - with: - template: 'relayers/ecs/task_definition-${{ env.ENVIRONMENT }}.j2' - output_file: 'relayers/ecs/task_definition-${{ matrix.relayer_id }}_${{ env.ENVIRONMENT }}.json' - data_format: json - variables: | - relayerId=${{ matrix.relayer_id }} - awsAccountId=${{ env.AWS_STAGE }} - awsRegion=${{ secrets.AWS_REGION_2 }} - awsEfs=${{ secrets.DEVNET_EFS_2 }} - - - name: configure aws credentials - uses: aws-actions/configure-aws-credentials@v1 - with: - role-to-assume: arn:aws:iam::${{ env.AWS_STAGE }}:role/github-actions-${{ env.ENVIRONMENT }}-chainbridge - aws-region: ${{ secrets.AWS_REGION_2 }} - role-session-name: GithubActions - - - name: deploy task definition - uses: aws-actions/amazon-ecs-deploy-task-definition@v1 - with: - task-definition: 'relayers/ecs/task_definition-${{ matrix.relayer_id }}_${{ env.ENVIRONMENT }}.json' - service: 'relayer-${{ matrix.relayer_id }}-service-${{ env.ENVIRONMENT }}' - cluster: 'relayer-${{ env.ENVIRONMENT }}' - wait-for-service-stability: true - - - name: slack notify - uses: 8398a7/action-slack@v3 - with: - status: ${{ job.status }} - fields: repo,message,commit,author,action,job,eventName,ref,workflow # selectable (default: repo,message) - env: - SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} # required - if: always() - - ######################## region 3 ######################## - deploy_reg_3: - needs: push - name: deploy region 3 - runs-on: ubuntu-latest - strategy: - matrix: - relayer_id: [4] - - permissions: - contents: read - id-token: write - - steps: - - name: checkout the source code - uses: actions/checkout@v3 - - - name: checkout ecs repo - uses: actions/checkout@v3 - with: - repository: sygmaprotocol/devops - token: ${{ secrets.GHCR_TOKEN }} - - - name: render jinja2 templates to task definition json files - uses: cuchi/jinja2-action@v1.2.0 - with: - template: 'relayers/ecs/task_definition-${{ env.ENVIRONMENT }}.j2' - output_file: 'relayers/ecs/task_definition-${{ matrix.relayer_id }}_${{ env.ENVIRONMENT }}.json' - data_format: json - variables: | - relayerId=${{ matrix.relayer_id }} - awsAccountId=${{ env.AWS_STAGE }} - awsRegion=${{ secrets.AWS_REGION_3 }} - awsEfs=${{ secrets.DEVNET_EFS_3 }} - - - name: configure aws credentials - uses: aws-actions/configure-aws-credentials@v1 - with: - role-to-assume: arn:aws:iam::${{ env.AWS_STAGE }}:role/github-actions-${{ env.ENVIRONMENT }}-chainbridge - aws-region: ${{ secrets.AWS_REGION_3 }} - role-session-name: GithubActions - - - name: deploy task definition - uses: aws-actions/amazon-ecs-deploy-task-definition@v1 - with: - task-definition: 'relayers/ecs/task_definition-${{ matrix.relayer_id }}_${{ env.ENVIRONMENT }}.json' - service: 'relayer-${{ matrix.relayer_id }}-service-${{ env.ENVIRONMENT }}' - cluster: 'relayer-${{ env.ENVIRONMENT }}' - wait-for-service-stability: true - - - name: slack notify - uses: 8398a7/action-slack@v3 - with: - status: ${{ job.status }} - fields: repo,message,commit,author,action,job,eventName,ref,workflow # selectable (default: repo,message) - env: - SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} # required - if: always() \ No newline at end of file diff --git a/.github/workflows/deploy_testnet.yml b/.github/workflows/deploy_testnet.yml index 614ec761..5def8ee8 100644 --- a/.github/workflows/deploy_testnet.yml +++ b/.github/workflows/deploy_testnet.yml @@ -1,7 +1,7 @@ # The Licensed Work is (c) 2022 Sygma # SPDX-License-Identifier: LGPL-3.0-only -name: Sygma Testnet +name: Earth Relayer Testnet on: release: @@ -70,7 +70,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - relayer_id: [0, 1] + relayer_id: [1, 2, 3] permissions: contents: read @@ -89,14 +89,14 @@ jobs: - name: render jinja2 templates to task definition json files uses: cuchi/jinja2-action@v1.2.0 with: - template: 'relayers/ecs/task_definition-${{ env.ENVIRONMENT }}.j2' - output_file: 'relayers/ecs/task_definition-${{ matrix.relayer_id }}_${{ env.ENVIRONMENT }}.json' + template: 'earth-relayers/ecs/task_definition-${{ env.ENVIRONMENT }}.j2' + output_file: 'earth-relayers/ecs/task_definition-${{ matrix.relayer_id }}_${{ env.ENVIRONMENT }}.json' data_format: json variables: | relayerId=${{ matrix.relayer_id }} awsAccountId=${{ env.AWS_TESTNET }} awsRegion=${{ secrets.AWS_REGION }} - awsEfs=${{ secrets.TESTNET_EFS_1 }} + awsEfs=${{ secrets.EARTH_TESTNET_EFS }} - name: configure aws credentials uses: aws-actions/configure-aws-credentials@v1 @@ -108,69 +108,8 @@ jobs: - name: deploy task definition uses: aws-actions/amazon-ecs-deploy-task-definition@v1 with: - task-definition: 'relayers/ecs/task_definition-${{ matrix.relayer_id }}_${{ env.ENVIRONMENT }}.json' - service: 'relayer-${{ matrix.relayer_id }}-service-${{ env.ENVIRONMENT }}' - cluster: 'relayer-${{ env.ENVIRONMENT }}' - wait-for-service-stability: true - - - name: slack notify - uses: 8398a7/action-slack@v3 - with: - status: ${{ job.status }} - fields: repo,message,commit,author,action,job,eventName,ref,workflow # selectable (default: repo,message) - env: - SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} # required - if: always() - - ######################## region 2 ######################## - - ######################## region 3 ######################## - deploy_reg_3: - needs: push - name: deploy region 3 - runs-on: ubuntu-latest - strategy: - matrix: - relayer_id: [2] - - permissions: - contents: read - id-token: write - - steps: - - name: checkout the source code - uses: actions/checkout@v3 - - - name: checkout ecs repo - uses: actions/checkout@v3 - with: - repository: sygmaprotocol/devops - token: ${{ secrets.GHCR_TOKEN }} - - - name: render jinja2 templates to task definition json files - uses: cuchi/jinja2-action@v1.2.0 - with: - template: 'relayers/ecs/task_definition-${{ env.ENVIRONMENT }}.j2' - output_file: 'relayers/ecs/task_definition-${{ matrix.relayer_id }}_${{ env.ENVIRONMENT }}.json' - data_format: json - variables: | - relayerId=${{ matrix.relayer_id }} - awsAccountId=${{ env.AWS_TESTNET }} - awsRegion=${{ secrets.AWS_REGION_3 }} - awsEfs=${{ secrets.TESTNET_EFS_3 }} - - - name: configure aws credentials - uses: aws-actions/configure-aws-credentials@v1 - with: - role-to-assume: arn:aws:iam::${{ env.AWS_TESTNET }}:role/github-actions-${{ env.ENVIRONMENT }}-chainbridge - aws-region: ${{ secrets.AWS_REGION_3 }} - role-session-name: GithubActions - - - name: deploy task definition - uses: aws-actions/amazon-ecs-deploy-task-definition@v1 - with: - task-definition: 'relayers/ecs/task_definition-${{ matrix.relayer_id }}_${{ env.ENVIRONMENT }}.json' - service: 'relayer-${{ matrix.relayer_id }}-service-${{ env.ENVIRONMENT }}' + task-definition: 'earth-relayers/ecs/task_definition-${{ matrix.relayer_id }}_${{ env.ENVIRONMENT }}.json' + service: 'earth-relayer-${{ matrix.relayer_id }}-service-${{ env.ENVIRONMENT }}' cluster: 'relayer-${{ env.ENVIRONMENT }}' wait-for-service-stability: true diff --git a/Dockerfile b/Dockerfile index e9bddcb6..c61d8f02 100644 --- a/Dockerfile +++ b/Dockerfile @@ -17,5 +17,5 @@ COPY --from=builder /bridge ./ RUN chmod +x ./bridge RUN mkdir -p /mount COPY --from=alpine /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/ - +LABEL org.opencontainers.image.source https://github.com/sygmaprotocol/earth-relayer ENTRYPOINT ["./bridge"]