Skip to content

SAD

Overview

The project to build the python client

SAD - System architechture design

Logic View

flowchart LR
  client[Python Submarine Client] -- interactive --> api[API Client]

For the API client, it served at following table

Environment URL
Staging https://staging-submarine-2yrayayjeq-as.a.run.app
Production internal.api.data.innotech.vn

Development

Tech Stack

Operation

For deployment test in schedule

  • Build test based on scheduler that trigger test on production
flowchart LR
  hatch[hatch test]
  otter[otter]
  channel[#0-test-application]
  bucket["bucket"]
  queue["queue"]
  executor["executor"]

  subgraph gb["Cloud Build"]
  hatch
  end

  subgraph gs["Cloud Storage"]
  bucket
  end

  subgraph wf["Workflow"]
  queue --> executor
  end

  subgraph inno_trans["inno-transflow"]
  otter
  end

  subgraph slack["Slack"]
  channel
  end

  gb --> |save output to file json| bucket
  bucket --> |execute| queue
  executor --> |trigger| otter
  otter --> |send message| channel

Service Account and Permissions

SA name Role Description
sa-viper roles/monitoring.metricWriter Writing monitoring data to a metrics scope
roles/serviceusage.serviceUsageConsumer
roles/serviceusage.serviceUsageViewer
roles/errorreporting.writer Send error events to Error Reporting
roles/logging.logWriter Write log entries into Cloud Logging
roles/cloudscheduler.admin Create and update Scheduler job
roles/cloudbuild.builds.builder Run trigger the Cloud Build job
roles/iam.serviceAccountTokenCreator To impersonate a service account
roles/iam.serviceAccountUser Impersonate SA in order to attach that SA to resource
roles/run.viewer View the state of all Cloud Run resources
roles/workflows.invoker Access to execute workflows and manage the executions

Support

Clean the cache and related to build

make clean

Appendix

Appendix A: Record of Changes

Table: Record of changes

Version Date Author Description of Change
0.1.0 06/04/2024 Bao Truong Initation documentation