Skip to content

Architecture

The main functions of acme-portal are:

  • Displaying a list of existing Flows in a project
  • Fetching and displaying deployment information for each Flow
  • Providing a VSCode command & button for creating a deployment of a flow
  • Providing a VSCode command & button for promoting a deployment from a source to target environment.

For an explanation of core concepts like Flows, Deployments, and Environments, see Core Concepts.

The data for first two are provided by calls to configured instances of:

  • FlowFinder.find_flows
  • DeploymentFinder.get_deployments

The actions of last two are performed by calling:

  • DeployWorkflow.run
  • PromoteWorkflow.run

The implementation of those base classes can be provided and configured by user in their project. Moreover, the acme-portal-sdk package provides concrete implementation of all of those classes for a python project based on prefect and using GitHub Actions for CICD.

For explanation on how to configure your project to work with acme-portal using the SDK, checkout Configuring SDK for your project

For explanation of the features provided by default prefect based implementation checkout Default functionality of prefect based implementation