EnvironmentConfig#
- pydantic model phalanx.models.environments.EnvironmentConfig#
Configuration for a Phalanx environment.
This is a model for the
values-environment.yaml
files for each environment and is also used to validate those files. For the complete configuration for an environment, initialize this model with the merger ofvalues.yaml
andvalues-environment.yaml
.Fields listed here are not available to application linting. If the field value has to be injected during linting, the field needs to be defined in EnvironmentBaseConfig instead.
- Parameters:
data (
Any
) –
Show JSON schema
{ "title": "EnvironmentConfig", "description": "Configuration for a Phalanx environment.\n\nThis is a model for the :file:`values-{environment}.yaml` files for each\nenvironment and is also used to validate those files. For the complete\nconfiguration for an environment, initialize this model with the merger of\n:file:`values.yaml` and :file:`values-{environment}.yaml`.\n\nFields listed here are not available to application linting. If the field\nvalue has to be injected during linting, the field needs to be defined in\n`EnvironmentBaseConfig` instead.", "type": "object", "properties": { "name": { "description": "Name of the environment", "title": "Name", "type": "string" }, "fqdn": { "description": "Fully-qualified domain name on which the environment listens", "title": "Domain name", "type": "string" }, "butlerRepositoryIndex": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "description": "URL to Butler repository index", "title": "Butler repository index URL" }, "onepassword": { "anyOf": [ { "$ref": "#/$defs/OnepasswordConfig" }, { "type": "null" } ], "default": null, "description": "Configuration for using 1Password as a static secrets source", "title": "1Password configuration" }, "vaultUrl": { "anyOf": [ { "format": "uri", "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "URL of the Vault server. This is required in the merged values file that includes environment overrides, but the environment override file doesn't need to set it, so it's marked as optional for schema checking purposes to allow the override file to be schema-checked independently.", "title": "Vault server URL" }, "vaultPathPrefix": { "description": "Prefix of Vault paths, including the KV v2 mount point", "title": "Vault path prefix", "type": "string" }, "applications": { "additionalProperties": { "type": "boolean" }, "description": "List of applications and whether they are enabled", "title": "Enabled applications", "type": "object" }, "repoUrl": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "description": "URL of the Git repository holding Argo CD configuration. This is required in the merged values file that includes environment overrides, but the environment override file doesn't need to set it, so it's marked as optional for schema checking purposes to allow the override file to be schema-checked independently.", "title": "URL of Git repository" }, "targetRevision": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "description": "Branch of the Git repository holding Argo CD configuration. This is required in the merged values file that includes environment overrides, but the environment override file doesn't need to set it, so it's marked as optional for schema checking purposes to allow the override file to be schema-checked independently.", "title": "Git repository branch" } }, "$defs": { "OnepasswordConfig": { "description": "Configuration for 1Password static secrets source.", "properties": { "connectUrl": { "description": "URL to the 1Password Connect API server", "format": "uri", "minLength": 1, "title": "1Password Connect URL", "type": "string" }, "vaultTitle": { "description": "Title of the 1Password vault from which to retrieve secrets", "title": "1Password vault title", "type": "string" } }, "required": [ "connectUrl", "vaultTitle" ], "title": "OnepasswordConfig", "type": "object" } }, "$id": "https://phalanx.lsst.io/schemas/environment.json", "additionalProperties": false, "required": [ "name", "fqdn", "vaultPathPrefix", "applications" ] }
- Config:
alias_generator: function = <function to_camel_case at 0x7f8379ea20c0>
populate_by_name: bool = True
extra: str = forbid
- Fields:
- Validators:
_validate_onepassword
»onepassword
- field applications: dict[str, bool] [Required]#
List of applications and whether they are enabled
- field butler_repository_index: str | None = None (alias 'butlerRepositoryIndex')#
URL to Butler repository index
- field fqdn: str [Required]#
Fully-qualified domain name on which the environment listens
- field name: str [Required]#
Name of the environment
- field onepassword: OnepasswordConfig | None = None#
Configuration for using 1Password as a static secrets source
- Validated by:
_validate_onepassword
- field repo_url: str | None = None (alias 'repoUrl')#
URL of the Git repository holding Argo CD configuration. This is required in the merged values file that includes environment overrides, but the environment override file doesn’t need to set it, so it’s marked as optional for schema checking purposes to allow the override file to be schema-checked independently.
- field target_revision: str | None = None (alias 'targetRevision')#
Branch of the Git repository holding Argo CD configuration. This is required in the merged values file that includes environment overrides, but the environment override file doesn’t need to set it, so it’s marked as optional for schema checking purposes to allow the override file to be schema-checked independently.
- field vault_path_prefix: str [Required] (alias 'vaultPathPrefix')#
Prefix of Vault paths, including the KV v2 mount point
- field vault_url: AnyHttpUrl | None = None (alias 'vaultUrl')#
URL of the Vault server. This is required in the merged values file that includes environment overrides, but the environment override file doesn’t need to set it, so it’s marked as optional for schema checking purposes to allow the override file to be schema-checked independently.
- model_dump(**kwargs)#
Export the model as a dictionary.
Overridden to change the default of
by_alias
from False to True, so that by default the exported dictionary uses camel-case.
- model_dump_json(**kwargs)#
Export the model as JSON.
Overridden to change the default of
by_alias
from False to True, so that by default the exported dictionary uses camel-case.