...

Text file src/edge-infra.dev/pkg/edge/api/justfile

Documentation: edge-infra.dev/pkg/edge/api

     1run := "bazel run --config=quiet"
     2
     3# default rule, lists available rules
     4default: list
     5
     6# list available rules
     7list:
     8  @just --list --list-prefix ' -- '
     9
    10chariot port:
    11  kubectl port-forward -n chariot deployment/chariot {{port}}:8080
    12
    13sql-proxy port instance impersonate="" :
    14  {{run}} //hack/tools:cloud_sql_proxy -- {{instance}} \
    15      -i \
    16      -p {{port}} \
    17      {{ if impersonate != "" {"--impersonate-service-account='" + impersonate + "'"} else {""} }} \
    18      --auto-iam-authn
    19alias cloud_sql_proxy := sql-proxy
    20alias cloud-sql := sql-proxy
    21
    22sql-proxy-dev0 port:
    23    just sql-proxy {{port}} "ret-edge-dev0-foreman:us-central1:edge-dev0" bff-sa@ret-edge-dev0-foreman.iam.gserviceaccount.com
    24
    25sql-proxy-dev1 port:
    26    just sql-proxy {{port}} "ret-edge-dev1-foreman:us-east1:edge-dev1-migrated" bff-sa@ret-edge-dev1-foreman.iam.gserviceaccount.com
    27
    28# Connection to use the readonly user with user/pw combo
    29sql-proxy-dev1-readonly port:
    30    just sql-proxy {{port}} "ret-edge-dev1-foreman:us-east1:edge-dev1-migrated"
    31
    32sql-proxy-stage1 port:
    33    just sql-proxy {{port}} "ret-edge-stage1-foreman:us-east1:edge-stage1-migrated" bff-sa@ret-edge-stage1-foreman.iam.gserviceaccount.com
    34
    35sql-proxy-stage2 port:
    36    just sql-proxy {{port}} "ret-edge-stage2-foreman:us-east1:edge-stage2-migrated" bff-sa@ret-edge-stage2-foreman.iam.gserviceaccount.com
    37
    38sql-proxy-prod port:
    39    just sql-proxy {{port}} "ret-edge-prod1-foreman:us-east1:edge-prod1-migrated" bff-sa@ret-edge-prod1-foreman.iam.gserviceaccount.com
    40
    41sql-proxy-sandbox port:
    42    just sql-proxy {{port}} "ret-edge-dev-sandbox1:us-central1:apiplayground" apiplayground-db-user@ret-edge-dev-sandbox1.iam.gserviceaccount.com
    43
    44sql-proxy-backend-sandbox port:
    45    just sql-proxy {{port}} "ret-edge-backend-sandbox0:us-east1:backend-sandbox0-migrated" bff-sa@ret-edge-backend-sandbox0.iam.gserviceaccount.com
    46
    47sql-proxy-napac1 port:
    48    just sql-proxy {{port}} "ret-edge-napac1-foreman:asia-southeast1:edge-napac1-migrated" bff-sa@ret-edge-napac1-foreman.iam.gserviceaccount.com
    49
    50sql-proxy-emea1 port:
    51    just sql-proxy {{port}} "ret-edge-emea1-foreman:europe-west1:edge-emea1-migrated" bff-sa@ret-edge-emea1-foreman.iam.gserviceaccount.com
    52
    53
    54generate-mocks:
    55    #!/usr/bin/env bash
    56    set -e
    57    GENTARGETS=($(bazel query 'filter(".*gomock$", //pkg/...)'))
    58    for target in "${GENTARGETS[@]}"
    59    do
    60      {{run}} "${target}"
    61    done
    62    {{run}} //:gazelle
    63
    64alias update-mocks := generate-mocks
    65
    66generate-gql:
    67    {{run}} graph:gqlgen
    68
    69alias update-gql := generate-gql
    70
    71# verifies graphql generation output is up-to-date
    72verify-gql:
    73  #!/usr/bin/env bash
    74  set -eu
    75  just update-gql
    76  if [ -z "$(git status --porcelain)" ]; then
    77    echo 'graphql code generation is up-to-date'
    78  else
    79    echo 'graphql code generation is not up-to-date, run just update-gql'
    80    echo 'the following files are not up-to-date:'
    81    git status
    82    exit 1
    83  fi
    84
    85sandbox_project_id := "ret-edge-backend-sandbox0"
    86sandbox_warehouse_repo := "us-east1-docker.pkg.dev/" + sandbox_project_id + "/warehouse"
    87edge_infra_path := `bazel info workspace`
    88
    89lift_path := edge_infra_path + "/" + `bazel build //cmd/f8n/warehouse/lift && bazel cquery --output=files //cmd/f8n/warehouse/lift`
    90lift_env := "WAREHOUSE_PATH=" + edge_infra_path + " WAREHOUSE_REPO=" + sandbox_warehouse_repo
    91lift := "cd " + edge_infra_path + " && " + lift_env + " " + lift_path
    92
    93default_tag := "latest"
    94
    95# modify the `hack/build/rules/container/BUILD.bazel` file so lift pushes to the sandbox artifact registry repositories.
    96modify-hack-build-rules-container-for-lift-pack-push:
    97  #!/usr/bin/env bash
    98  set -euxo pipefail
    99  cd {{edge_infra_path}}/hack/build/rules/container 
   100  cat BUILD.bazel | sed "s/ret-edge-pltf-infra/{{sandbox_project_id}}/g" | tee BUILD.bazel > /dev/null
   101
   102lift-pack pallet tag=default_tag:
   103  #!/usr/bin/env bash
   104  set -euxo pipefail
   105  # defer cleanup of the BUILD.bazel file
   106  trap "git -C {{edge_infra_path}} checkout -- hack/build/rules/container/BUILD.bazel" EXIT
   107  just modify-hack-build-rules-container-for-lift-pack-push
   108  {{lift}} pack --push --tag="{{tag}}" {{pallet}}
   109  

View as plain text