ApplicationConfig#
- pydantic model phalanx.models.applications.ApplicationConfig#
Configuration for a Phalanx application.
- Parameters:
data (
Any
) –
Show JSON schema
{ "title": "ApplicationConfig", "description": "Configuration for a Phalanx application.", "type": "object", "properties": { "name": { "title": "Name", "type": "string" }, "namespace": { "title": "Namespace", "type": "string" }, "chart": { "title": "Chart", "type": "object" }, "doc_links": { "items": { "$ref": "#/$defs/DocLink" }, "title": "Doc Links", "type": "array" }, "values": { "title": "Values", "type": "object" }, "environment_values": { "additionalProperties": { "type": "object" }, "title": "Environment Values", "type": "object" }, "secrets": { "additionalProperties": { "$ref": "#/$defs/ConditionalSecretConfig" }, "title": "Secrets", "type": "object" }, "environment_secrets": { "additionalProperties": { "additionalProperties": { "$ref": "#/$defs/ConditionalSecretConfig" }, "type": "object" }, "title": "Environment Secrets", "type": "object" } }, "$defs": { "ConditionalSecretConfig": { "additionalProperties": false, "description": "Possibly conditional specification for an application secret.", "properties": { "if": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "description": "Configuration only applies if this Helm chart setting is set to a true value", "title": "Condition" }, "description": { "title": "Description", "type": "string" }, "copy": { "anyOf": [ { "$ref": "#/$defs/ConditionalSecretCopyRules" }, { "type": "null" } ], "default": null, "description": "Rules for where the secret should be copied from" }, "generate": { "anyOf": [ { "$ref": "#/$defs/ConditionalSimpleSecretGenerateRules" }, { "$ref": "#/$defs/ConditionalSourceSecretGenerateRules" }, { "type": "null" } ], "default": null, "title": "Generate" }, "onepassword": { "allOf": [ { "$ref": "#/$defs/SecretOnepasswordConfig" } ], "default": { "encoded": false } }, "value": { "anyOf": [ { "format": "password", "type": "string", "writeOnly": true }, { "type": "null" } ], "default": null, "title": "Value" } }, "required": [ "description" ], "title": "ConditionalSecretConfig", "type": "object" }, "ConditionalSecretCopyRules": { "additionalProperties": false, "description": "Possibly conditional rules for copying a secret value from another.", "properties": { "if": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "description": "Configuration only applies if this Helm chart setting is set to a true value", "title": "Condition" }, "application": { "title": "Application", "type": "string" }, "key": { "title": "Key", "type": "string" } }, "required": [ "application", "key" ], "title": "ConditionalSecretCopyRules", "type": "object" }, "ConditionalSimpleSecretGenerateRules": { "additionalProperties": false, "description": "Conditional rules for generating a secret value with no source.", "properties": { "if": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "description": "Configuration only applies if this Helm chart setting is set to a true value", "title": "Condition" }, "type": { "enum": [ "password", "gafaelfawr-token", "fernet-key", "rsa-private-key" ], "title": "Type", "type": "string" } }, "required": [ "type" ], "title": "ConditionalSimpleSecretGenerateRules", "type": "object" }, "ConditionalSourceSecretGenerateRules": { "description": "Conditional rules for generating a secret from another secret.", "properties": { "if": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "description": "Configuration only applies if this Helm chart setting is set to a true value", "title": "Condition" }, "type": { "enum": [ "bcrypt-password-hash", "mtime" ], "title": "Type", "type": "string" }, "source": { "title": "Source", "type": "string" } }, "required": [ "type", "source" ], "title": "ConditionalSourceSecretGenerateRules", "type": "object" }, "DocLink": { "description": "A documentation link for an application.\n\nThis represents an individual array item in the ``phalanx.lsst.io/docs``\nHelm chart annotation in :file:`Chart.yaml`.", "properties": { "url": { "title": "Url", "type": "string" }, "title": { "title": "Title", "type": "string" }, "id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Id" } }, "required": [ "url", "title" ], "title": "DocLink", "type": "object" }, "SecretOnepasswordConfig": { "description": "Configuration for how a static secret is stored in 1Password.", "properties": { "encoded": { "default": false, "title": "Encoded", "type": "boolean" } }, "title": "SecretOnepasswordConfig", "type": "object" } }, "required": [ "name", "namespace", "chart", "doc_links", "values", "environment_values", "secrets", "environment_secrets" ] }
- Fields:
- field chart: dict[str, Any] [Required]#
Parsed Helm
Chart.yaml
file.
- field doc_links: list[DocLink] [Required]#
List of links to documentation about this application.
- field environment_secrets: dict[str, dict[str, ConditionalSecretConfig]] [Required]#
Per-environment secrets for the application, by secret key.
- field environment_values: dict[str, dict[str, Any]] [Required]#
Per-environment Helm chart overrides by environment name.
- field name: str [Required]#
Name of the application.
- field namespace: str [Required]#
Namespace to which the application is deployed.
- field secrets: dict[str, ConditionalSecretConfig] [Required]#
Secrets for the application, by secret key.
- field values: dict[str, Any] [Required]#
Base Helm chart values.