Skip to main content

Archipelo System Architecture

The following diagram illustrates Archipelo high level system architecture:

System Architecture Click on the image to go to the original miro board and explore in higher resolution

Main Elements

The main elements of the system includes:

Web Application

The web application is the main entry point for the users of the system. It exposes main Archipelo features for the users to interact with. The web application uses Svelte as the framework of choice.

Unleash Proxy and Server

Archipelo uses feature flags to control the availability of the features in the target environment. For feature flag management we use Unleash, an open source feature management software with support for frontend, backend and extensions.

API Cloud Run Service

The API Cloud Run service is the main entry point for the Archipelo system. It provides APIs and services for the web application, extensions and other components of the system to interact with. The API Cloud Run service is implemented using in Golang.

Webhooks

The Webhooks are system integrations points enabling connection between Archipelo and external systems, i.e. for data exchange.

Cloud Run Services

The following services are run using GCP Cloud Run.

ARSBom

ARSBom is a Cloud Run service providing SBOM related functionality for the Archipelo system using the open source Syft tool deployed as a service.

ARSemgrep

ARSemgrep is a Cloud Run service providing static code analysis functionalities for the Archipelo system using Semgrep open source tool deployed as a service.

ARGitleaks

ARGitleaks is a Cloud Run service providing secret scanning functionalities for the Archipelo system using Gitleaks open source tool deployed as a service.

ARTrivy

ARTrivy is a Cloud Run service providing vulnerability scanning functionalities for the Archipelo system using Trivy open source tool deployed as a service.

ARCheckov

ARCheckov is a Cloud Run service providing ifrastructure as code scanning functionalities for the Archipelo system using Checkov open source tool deployed as a service.

Dataflow pipelines (ETL)

The data layer orf Archipelo is built on top of Apache Beam. This is run on Dataflow at the moment.

GKE Cluster (Kubernetes)

Managed Kubernetes cluster used to host the Archipelo system components.

Control Plane and API

Part of the Archipelo Attestation Engine used to manage the attestation process and built using Chainloop open source project.

Content Addressable Storage and API

Part of the Archipelo Attestation Engine used to store the attestation results and built using Chainloop open source project.

SQL Proxy

Part of the Archipelo Attestation Engine used to provide the persiatance layer for the attestation results.

CERT Manager

Archipelo uses the CERT manager to automatically obtain certificates, ensure certificates validity and control the certificates renewal process before expiry.

NGINX Ingress

Archipelo uses the NGINX Ingress controller monitors NGINX Ingress resources to discover requests for services that require ingress load balancing inside the managed GKE cluster.

GCP Task Queue

Archipelo System takes advantage of the Google Cloud Tasks to help run time-consuming, resource-intensive, and bandwidth-limited tasks asynchronously, outside of the main application flow.

PostgreSQL Databases

Main relational databases used by the Archipelo System to store user and business data. Archipelo uses two separate PostgreSQL databases:

  • Identity DB - used to store user and identity related data,
  • ARDB DB - used to store business data.

GCP Buckets

The S3 compatible storage used by the Archipelo System to store data including, but not limited to:

  • ETL generated data
  • Labelling data
  • Machine learning models

GCP Firestore

The data store managed by GCP and used by the ETL pipelines to store the data.

Flows

The operations inside the system span across multiple components and depend on various data availability. The following section provides the information on some of the flows that touch number of platform elements.

License Retrival

The following flow diagram shows a simplified view of the licence retriaval process illustrating its dependency on the availability of the SBOM data provided by the Syft Cloud Run service.

Licences Retrieval