ConfigStorage#

class phalanx.storage.config.ConfigStorage(path)#

Bases: object

Analyze Phalanx configuration and convert it to models.

Parameters:

path (Path) – Path to the root of the Phalanx configuration.

Methods Summary

add_application_setting(application, setting)

Add the setting for a new application to the environments chart.

get_application_chart_path(application)

Determine the path to an application Helm chart.

get_starter_path(starter)

Determine the path to a Helm starter template.

load_environment(environment_name)

Load the configuration of a Phalanx environment from disk.

load_environment_config(environment_name)

Load the top-level configuration for a Phalanx environment.

load_phalanx_config()

Load the full Phalanx configuration.

write_application_template(name, template)

Write the Argo CD application template for a new application.

Methods Documentation

add_application_setting(application, setting)#

Add the setting for a new application to the environments chart.

Adds a block for a new application to values.yaml in the environments directory in the correct alphabetical location.

Parameters:
  • application (str) – Name of the new application.

  • setting (str) – Setting block for the new application. Indentation will be added.

Return type:

None

get_application_chart_path(application)#

Determine the path to an application Helm chart.

The application and path may not exist, since this function is also used to generate the path to newly-created applications.

Parameters:

application (str) – Name of the application.

Returns:

Path to that application’s chart.

Return type:

pathlib.Path

get_starter_path(starter)#

Determine the path to a Helm starter template.

Parameters:

starter (HelmStarter) – Name of the Helm starter template.

Returns:

Path to that Helm starter template.

Return type:

pathlib.Path

load_environment(environment_name)#

Load the configuration of a Phalanx environment from disk.

Parameters:

environment_name (str) – Name of the environment.

Returns:

Environment configuration.

Return type:

Environment

Raises:

UnknownEnvironmentError – Raised if the named environment has no configuration.

load_environment_config(environment_name)#

Load the top-level configuration for a Phalanx environment.

Unlike load_environment, this only loads the top-level environment configuration and its list of enabled applications. It does not load the configuration for all of the applications themselves.

Parameters:

environment_name (str) – Name of the environent.

Returns:

Loaded environment.

Return type:

Environment

Raises:
load_phalanx_config()#

Load the full Phalanx configuration.

Used primarily for generating docuemntation.

Returns:

Phalanx configuration for all environments.

Return type:

PhalanxConfig

Raises:
write_application_template(name, template)#

Write the Argo CD application template for a new application.

Parameters:
  • name (str) – Name of the application.

  • template (str) – Contents of the Argo CD application and namespace Helm template for the new application.

Raises:

ApplicationExistsError – Raised if the application being created already exists.

Return type:

None