ApplicationInstance#

pydantic model phalanx.models.applications.ApplicationInstance#

A Phalanx application as configured for a specific environment.

Parameters:

data (Any) –

Show JSON schema
{
   "title": "ApplicationInstance",
   "description": "A Phalanx application as configured for a specific environment.",
   "type": "object",
   "properties": {
      "name": {
         "title": "Name",
         "type": "string"
      },
      "environment": {
         "title": "Environment",
         "type": "string"
      },
      "chart": {
         "title": "Chart",
         "type": "object"
      },
      "values": {
         "title": "Values",
         "type": "object"
      },
      "secrets": {
         "title": "Secrets",
         "default": [],
         "type": "array",
         "items": {
            "$ref": "#/definitions/Secret"
         }
      }
   },
   "required": [
      "name",
      "environment",
      "chart",
      "values"
   ],
   "definitions": {
      "SecretCopyRules": {
         "title": "SecretCopyRules",
         "description": "Rules for copying a secret value from another secret.",
         "type": "object",
         "properties": {
            "application": {
               "title": "Application",
               "type": "string"
            },
            "key": {
               "title": "Key",
               "type": "string"
            }
         },
         "required": [
            "application",
            "key"
         ],
         "additionalProperties": false
      },
      "SimpleSecretGenerateRules": {
         "title": "SimpleSecretGenerateRules",
         "description": "Rules for generating a secret value with no source information.",
         "type": "object",
         "properties": {
            "type": {
               "title": "Type",
               "enum": [
                  "password",
                  "gafaelfawr-token",
                  "fernet-key",
                  "rsa-private-key"
               ],
               "type": "string"
            }
         },
         "required": [
            "type"
         ],
         "additionalProperties": false
      },
      "SourceSecretGenerateRules": {
         "title": "SourceSecretGenerateRules",
         "description": "Rules for generating a secret from another secret.",
         "type": "object",
         "properties": {
            "type": {
               "title": "Type",
               "enum": [
                  "bcrypt-password-hash",
                  "mtime"
               ],
               "type": "string"
            },
            "source": {
               "title": "Source",
               "type": "string"
            }
         },
         "required": [
            "type",
            "source"
         ]
      },
      "Secret": {
         "title": "Secret",
         "description": "Specification for an application secret for a specific environment.\n\nThe same as `SecretConfig` except augmented with the secret application\nand key for internal convenience.",
         "type": "object",
         "properties": {
            "description": {
               "title": "Description",
               "type": "string"
            },
            "copy": {
               "title": "Copy",
               "description": "Rules for where the secret should be copied from",
               "allOf": [
                  {
                     "$ref": "#/definitions/SecretCopyRules"
                  }
               ]
            },
            "generate": {
               "title": "Generate",
               "anyOf": [
                  {
                     "$ref": "#/definitions/SimpleSecretGenerateRules"
                  },
                  {
                     "$ref": "#/definitions/SourceSecretGenerateRules"
                  }
               ]
            },
            "value": {
               "title": "Value",
               "type": "string",
               "writeOnly": true,
               "format": "password"
            },
            "key": {
               "title": "Key",
               "type": "string"
            },
            "application": {
               "title": "Application",
               "type": "string"
            }
         },
         "required": [
            "description",
            "key",
            "application"
         ],
         "additionalProperties": false
      }
   }
}

Fields:
field chart: dict[str, Any] [Required]#

Parsed Helm Chart.yaml file.

field environment: str [Required]#

Name of the environment for which the application is configured.

field name: str [Required]#

Name of the application.

field secrets: list[Secret] = []#

Secrets required for this application in this environment.

field values: dict[str, Any] [Required]#

Merged Helm values for the application in this environment.

is_values_setting_true(setting)#

Determine whether a given Helm values setting is true.

The values setting is considered true if the corresponding values parameter is present and set to a true value (a non-empty array or dictionary or a string, number, or boolean value that evaluates to true in Python).

Parameters:

setting (str) – Setting to check.

Returns:

True if the setting was set to a true value, False otherwise.

Return type:

bool