@@ -438,106 +438,54 @@ jobs:
438
438
google_zone : europe-west1-b
439
439
google_machine_type : e2-highmem-4
440
440
google_compute_instance_data_disk_size : 250
441
-
441
+ environment : ${{ matrix.environment }}
442
442
runs-on : ubuntu-22.04
443
-
444
443
needs :
445
444
- docker-mithril
446
-
447
- environment : ${{ matrix.environment }}
448
-
449
- env :
450
- GOOGLE_APPLICATION_CREDENTIALS : ${{ secrets.GOOGLE_APPLICATION_CREDENTIALS }}
451
- GENESIS_SECRET_KEY : ${{ secrets.GENESIS_SECRET_KEY }}
452
- GENESIS_VERIFICATION_KEY_URL : ${{ vars.GENESIS_VERIFICATION_KEY_URL }}
453
- ERA_READER_ADDRESS_URL : ${{ vars.ERA_READER_ADDRESS_URL }}
454
- ERA_READER_VERIFICATION_KEY_URL : ${{ vars.ERA_READER_VERIFICATION_KEY_URL }}
455
- ERA_READER_SECRET_KEY : ${{ secrets.ERA_READER_SECRET_KEY }}
456
- PROMETHEUS_AUTH_USERNAME : ${{ secrets.PROMETHEUS_AUTH_USERNAME }}
457
- PROMETHEUS_AUTH_PASSWORD : ${{ secrets.PROMETHEUS_AUTH_PASSWORD }}
458
- PROMETHEUS_INGEST_HOST : ${{ vars.PROMETHEUS_INGEST_HOST }}
459
- PROMETHEUS_INGEST_USERNAME : ${{ secrets.PROMETHEUS_INGEST_USERNAME }}
460
- PROMETHEUS_INGEST_PASSWORD : ${{ secrets.PROMETHEUS_INGEST_PASSWORD }}
461
- LOKI_AUTH_USERNAME : ${{ secrets.LOKI_AUTH_USERNAME }}
462
- LOKI_AUTH_PASSWORD : ${{ secrets.LOKI_AUTH_PASSWORD }}
463
- LOKI_INGEST_HOST : ${{ vars.LOKI_INGEST_HOST }}
464
- LOKI_INGEST_USERNAME : ${{ secrets.LOKI_INGEST_USERNAME }}
465
- LOKI_INGEST_PASSWORD : ${{ secrets.LOKI_INGEST_PASSWORD }}
466
-
467
445
defaults :
468
446
run :
469
447
working-directory : mithril-infra
470
-
471
448
steps :
449
+ - name : Checkout sources
450
+ uses : actions/checkout@v3
472
451
473
- - name : Checkout sources
474
- uses : actions/checkout@v3
475
-
476
- - name : Get Docker image id
477
- run : echo "DOCKER_IMAGE_ID=${{ github.base_ref || github.ref_name }}-$(echo ${{ github.sha }} | cut -c1-7)" >> $GITHUB_ENV
478
-
479
- - name : Prepare service account credentials
480
- run : |
481
- echo '${{ env.GOOGLE_APPLICATION_CREDENTIALS}}' > ./google-application-credentials.json
482
- chmod u+x ./assets/tools/utils/google-credentials-public-key.sh
483
- ./assets/tools/utils/google-credentials-public-key.sh ./google-application-credentials.json ./assets/ssh_keys curry
484
-
485
- - name : Prepare terraform variables
486
- run : |
487
- cat > ./env.variables.tfvars << EOF
488
- environment_prefix = "${{ matrix.environment_prefix }}"
489
- cardano_network = "${{ matrix.cardano_network }}"
490
- google_region = "${{ matrix.google_region }}"
491
- google_zone = "${{ matrix.google_zone }}"
492
- google_machine_type = "${{ matrix.google_machine_type }}"
493
- google_compute_instance_data_disk_size = "${{ matrix.google_compute_instance_data_disk_size }}"
494
- google_service_credentials_json_file = "./google-application-credentials.json"
495
- mithril_api_domain = "${{ matrix.mithril_api_domain }}"
496
- mithril_image_id = "${{ env.DOCKER_IMAGE_ID }}"
497
- mithril_genesis_verification_key_url = "${{ env.GENESIS_VERIFICATION_KEY_URL }}"
498
- mithril_genesis_secret_key = "${{ env.GENESIS_SECRET_KEY }}"
499
- mithril_protocol_parameters = ${{ matrix.mithril_protocol_parameters }}
500
- mithril_era_reader_adapter_type = "cardano-chain"
501
- mithril_era_reader_address_url = "${{ env.ERA_READER_ADDRESS_URL }}"
502
- mithril_era_reader_verification_key_url = "${{ env.ERA_READER_VERIFICATION_KEY_URL }}"
503
- mithril_era_reader_secret_key = "${{ env.ERA_READER_SECRET_KEY }}"
504
- mithril_signers = ${{ matrix.mithril_signers }}
505
- prometheus_auth_username = "${{ env.PROMETHEUS_AUTH_USERNAME }}"
506
- prometheus_auth_password = "${{ env.PROMETHEUS_AUTH_PASSWORD }}"
507
- prometheus_ingest_host = "${{ env.PROMETHEUS_INGEST_HOST }}"
508
- prometheus_ingest_username = "${{ env.PROMETHEUS_INGEST_USERNAME }}"
509
- prometheus_ingest_password = "${{ env.PROMETHEUS_INGEST_PASSWORD }}"
510
- loki_auth_username = "${{ env.LOKI_AUTH_USERNAME }}"
511
- loki_auth_password = "${{ env.LOKI_AUTH_PASSWORD }}"
512
- loki_ingest_host = "${{ env.LOKI_INGEST_HOST }}"
513
- loki_ingest_username = "${{ env.LOKI_INGEST_USERNAME }}"
514
- loki_ingest_password = "${{ env.LOKI_INGEST_PASSWORD }}"
515
- EOF
516
- terraform fmt ./env.variables.tfvars
517
- cat ./env.variables.tfvars
518
-
519
- - name : Setup Terraform
520
- uses : hashicorp/setup-terraform@v2
521
- with :
522
- terraform_wrapper : false
523
-
524
- - name : Init Terraform
525
- run : |
526
- GOOGLE_APPLICATION_CREDENTIALS=./google-application-credentials.json terraform init -backend-config="bucket=${{ matrix.terraform_backend_bucket }}" -backend-config="prefix=terraform/mithril-${{ matrix.environment }}"
527
-
528
- - name : Check Terraform
529
- run : terraform fmt -check
530
-
531
- - name : Terraform Plan
532
- run : |
533
- GOOGLE_APPLICATION_CREDENTIALS=./google-application-credentials.json terraform plan --var-file=./env.variables.tfvars
534
-
535
- - name : Terraform Apply
536
- if : github.event_name == 'push' && github.ref == 'refs/heads/main'
537
- run : |
538
- GOOGLE_APPLICATION_CREDENTIALS=./google-application-credentials.json terraform apply -auto-approve --var-file=./env.variables.tfvars
539
-
540
- - name : Cleanup
541
- run : |
542
- rm -f ./env.variables.tfvars
543
- rm -f ./google-application-credentials.json
452
+ - name : Get Docker image id
453
+ run : echo "DOCKER_IMAGE_ID=${{ github.base_ref || github.ref_name }}-$(echo ${{ github.sha }} | cut -c1-7)" >> $GITHUB_ENV
454
+
455
+ - name : ${{ env.DEPLOY == 'true' && 'Apply' || 'Plan' }} terraform infrastructure
456
+ uses : ./.github/workflows/actions/deploy-terraform-infrastructure
457
+ env :
458
+ DEPLOY : ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' }}
459
+ with :
460
+ dry_run : ${{ env.DEPLOY == 'true' && 'false' || 'true' }}
461
+ terraform_backend_bucket : ${{ matrix.terraform_backend_bucket }}
462
+ environment_prefix : ${{ matrix.environment_prefix }}
463
+ environment : ${{ matrix.environment }}
464
+ cardano_network : ${{ matrix.cardano_network }}
465
+ google_region : ${{ matrix.google_region }}
466
+ google_zone : ${{ matrix.google_zone }}
467
+ google_machine_type : ${{ matrix.google_machine_type }}
468
+ google_compute_instance_data_disk_size : ${{ matrix.google_compute_instance_data_disk_size }}
469
+ google_application_credentials : ${{ secrets.GOOGLE_APPLICATION_CREDENTIALS }}
470
+ mithril_api_domain : ${{ matrix.mithril_api_domain }}
471
+ mithril_image_id : ${{ env.DOCKER_IMAGE_ID }}
472
+ mithril_protocol_parameters : ${{ toJSON(matrix.mithril_protocol_parameters) }}
473
+ mithril_signers : ${{ toJSON(matrix.mithril_signers) }}
474
+ mithril_genesis_secret_key : ${{ secrets.GENESIS_SECRET_KEY }}
475
+ mithril_genesis_verification_key_url : ${{ vars.GENESIS_VERIFICATION_KEY_URL }}
476
+ mithril_era_reader_address_url : ${{ vars.ERA_READER_ADDRESS_URL }}
477
+ mithril_era_reader_verification_key_url : ${{ vars.ERA_READER_VERIFICATION_KEY_URL }}
478
+ mithril_era_reader_secret_key : ${{ secrets.ERA_READER_SECRET_KEY }}
479
+ mithril_aggregator_snapshot_compression_algorithm : ${{ vars.AGGREGATOR_SNAPSHOT_COMPRESSION_ALGORITHM }}
480
+ mithril_aggregator_zstandard_parameters_level : ${{ vars.AGGREGATOR_SNAPSHOT_ZSTANDARD_LEVEL }}
481
+ mithril_aggregator_zstandard_parameters_workers : ${{ vars.AGGREGATOR_SNAPSHOT_ZSTANDARD_WORKERS }}
482
+ prometheus_auth_username : ${{ secrets.PROMETHEUS_AUTH_USERNAME }}
483
+ prometheus_auth_password : ${{ secrets.PROMETHEUS_AUTH_PASSWORD }}
484
+ prometheus_ingest_host : ${{ vars.PROMETHEUS_INGEST_HOST }}
485
+ prometheus_ingest_username : ${{ secrets.PROMETHEUS_INGEST_USERNAME }}
486
+ prometheus_ingest_password : ${{ secrets.PROMETHEUS_INGEST_PASSWORD }}
487
+ loki_auth_username : ${{ secrets.LOKI_AUTH_USERNAME }}
488
+ loki_auth_password : ${{ secrets.LOKI_AUTH_PASSWORD }}
489
+ loki_ingest_host : ${{ vars.LOKI_INGEST_HOST }}
490
+ loki_ingest_username : ${{ secrets.LOKI_INGEST_USERNAME }}
491
+ loki_ingest_password : ${{ secrets.LOKI_INGEST_PASSWORD }}
0 commit comments