OpenAperture.Builder.DeploymentRepo

This module provides a data struct to represent an openaperture _docker repository. Initializing the struct will download the contents of the repo and populate the struct with all available information

Summary↑

checkin_pending_changes(repo, message)

Method to run the templating engine against any service files in the repo. Returns true if any changes are made

cleanup(repo)

Method to cleanup any local artifacts associated with the repository

create_docker_image(repo, tag, interrupt_handler \\ nil)

Method to create a docker image from the Deployment repository and store it in a remote docker repository

download!(repo, workflow)

Method to download the repository locally

get_aws_config!(repo)

Method to load any custom AWS configuration

get_ecs_task_definition(repo)

Method to retrieve the ECS task definitino (if present)

get_fleet_config!(repo)

Method to load any custom Fleet configuration

get_units(repo)

Method to retrieve all of the currently associated Units

init_from_request(request)

Method to create a populated DeploymentRepo from a Request

populate_docker_repo!(repo)

Method to retrieve the associated Docker repository name

populate_docker_repo_name!(repo)

Method to retrieve the associated Docker repository name

populate_etcd_token!(repo)

Method to resolve the etcd token

populate_source_repo!(repo, workflow)

Method to download a DeploymentRepo locally

resolve_docker_host(etcd_token)
resolve_dockerfile_template(repo, template_options)

Method to run the templating engine against the templated Dockerfile. Returns true if any changes are made

resolve_ecs_file_template(repo, template_options)

Method to run the templating engine against the optional templated ecs_task_definition.json.eex. Returns true if any changes are made

resolve_service_file_templates(repo, template_options)

Method to run the templating engine against any service files in the repo. Returns true if any changes are made

Types ↑

t :: %OpenAperture.Builder.DeploymentRepo{docker_build_etcd_token: term, docker_repo: term, docker_repo_name: term, etcd_token: term, force_build: term, github_deployment_repo: term, output_dir: term, source_repo: term}

Functions

checkin_pending_changes(repo, message)

Specs:

Method to run the templating engine against any service files in the repo. Returns true if any changes are made.

cleanup(repo)

Specs:

  • cleanup(DeploymentRepo) :: term

Method to cleanup any local artifacts associated with the repository

create_docker_image(repo, tag, interrupt_handler \\ nil)

Specs:

  • create_docker_image(DeploymentRepo, String.t, term) :: {:ok, List, boolean} | {:error, String.t, List}

Method to create a docker image from the Deployment repository and store it in a remote docker repository

Options

The repo option defines the repository

Return values

{:ok, status_messages} or {:error, reason, status_messages}

download!(repo, workflow)

Specs:

Method to download the repository locally

get_aws_config!(repo)

Specs:

  • get_aws_config!(DeploymentRepo) :: String.t

Method to load any custom AWS configuration

get_ecs_task_definition(repo)

Specs:

  • get_ecs_task_definition(DeploymentRepo) :: String.t

Method to retrieve the ECS task definitino (if present)

get_fleet_config!(repo)

Specs:

  • get_fleet_config!(DeploymentRepo) :: String.t

Method to load any custom Fleet configuration

get_units(repo)

Specs:

  • get_units(DeploymentRepo) :: List

Method to retrieve all of the currently associated Units

init_from_request(request)

Specs:

  • init_from_request(OpenAperture.WorkflowOrchestratorApi.Request.t) :: {:ok, DeploymentRepo} | {:error, term}

Method to create a populated DeploymentRepo from a Request

populate_docker_repo!(repo)

Specs:

  • populate_docker_repo!(DeploymentRepo) :: String.t

Method to retrieve the associated Docker repository name

populate_docker_repo_name!(repo)

Specs:

  • populate_docker_repo_name!(DeploymentRepo) :: String.t

Method to retrieve the associated Docker repository name

populate_etcd_token!(repo)

Specs:

  • populate_etcd_token!(DeploymentRepo) :: String.t

Method to resolve the etcd token

populate_source_repo!(repo, workflow)

Specs:

  • populate_source_repo!(DeploymentRepo, OpenAperture.WorkflowOrchestratorApi.Workflow.t) :: OpenAperture.Builder.SourceRepo

Method to download a DeploymentRepo locally

resolve_docker_host(etcd_token)
resolve_dockerfile_template(repo, template_options)

Specs:

  • resolve_dockerfile_template(DeploymentRepo, List) :: term

Method to run the templating engine against the templated Dockerfile. Returns true if any changes are made.

resolve_ecs_file_template(repo, template_options)

Specs:

  • resolve_ecs_file_template(DeploymentRepo, List) :: term

Method to run the templating engine against the optional templated ecs_task_definition.json.eex. Returns true if any changes are made.

resolve_service_file_templates(repo, template_options)

Specs:

  • resolve_service_file_templates(DeploymentRepo, List) :: term

Method to run the templating engine against any service files in the repo. Returns true if any changes are made.