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
(project, ...)Add the setting for a new application to the environments chart.
List the URLs of all referenced third-party Helm repositories.
get_application_chart_path
(application)Determine the path to an application Helm chart.
get_application_environments
(application)List all environments for which an application is configured.
get_dependency_repositories
(application)Return URLs for dependency Helm repositories for this application.
Determine the path to the top-level environment chart.
get_modified_applications
(branch)Get all modified application and environment pairs.
get_new_application_chart_path
(project, ...)Determine the path to an new application Helm chart.
get_starter_path
(starter)Determine the path to a Helm starter template.
List all available applications and their environments.
List all available applications.
List all of the available environments.
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 the full Phalanx configuration.
update_shared_chart_version
(chart, version)Update the version of a shared chart across all applications.
write_application_template
(project, name, ...)Write the Argo CD application template for a new application.
Methods Documentation
- add_application_setting(project, 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.
- get_all_dependency_repositories()#
List the URLs of all referenced third-party Helm repositories.
- get_application_chart_path(application)#
Determine the path to an application Helm chart.
The application and path should exist.
- Parameters:
application (
str
) – Name of the application.- Returns:
Path to that application’s chart.
- Return type:
- get_application_environments(application)#
List all environments for which an application is configured.
This is based entirely on the presence of
values-environment.yaml
configuration files in the application directory, not on which environments enable the application. This is intentional since this is used to constrain which environments are linted, and we want to lint applications in environments that aren’t currently enabled to ensure they’ve not bitrotted.
- get_dependency_repositories(application)#
Return URLs for dependency Helm repositories for this application.
- get_environment_chart_path()#
Determine the path to the top-level environment chart.
- Returns:
Path to the top-level environment chart.
- Return type:
- get_modified_applications(branch)#
Get all modified application and environment pairs.
Application and environment pairs that have been deleted do not count as modified, since we don’t want to attempt to lint deleted configurations.
- get_new_application_chart_path(project, application)#
Determine the path to an new application Helm chart.
The application and path should not exist since it is used to generate the path to newly-created applications.
- Parameters:
- Returns:
Path to that application’s chart.
- Return type:
- 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:
- list_application_environments()#
List all available applications and their environments.
- list_applications()#
List all available applications.
- list_environments()#
List all of the available environments.
- 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:
- 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:
- Raises:
InvalidEnvironmentConfigError – Raised if the configuration for an environment is invalid.
UnknownEnvironmentError – Raised if the named environment has no configuration.
- load_phalanx_config()#
Load the full Phalanx configuration.
Used primarily for generating docuemntation.
- Returns:
Phalanx configuration for all environments.
- Return type:
- Raises:
InvalidApplicationConfigError – Raised if the namespace for the application could not be found.
InvalidEnvironmentConfigError – Raised if the configuration for an environment is invalid.
Update the version of a shared chart across all applications.
- write_application_template(project, name, template)#
Write the Argo CD application template for a new application.
- Parameters:
- Raises:
ApplicationExistsError – Raised if the application being created already exists.
- Return type: