{ "$defs": { "TYPE_DictOrStringOrListOfStrings": { "anyOf": [ { "type": "object" }, { "type": "string" }, { "items": { "type": "string" }, "type": "array" } ] }, "TYPE_StringOrListOfStrings": { "anyOf": [ { "type": "string" }, { "items": { "type": "string" }, "type": "array" } ] }, "v1": { "additionalProperties": false, "properties": { "additional_build_steps": { "properties": { "append": { "$ref": "#/$defs/TYPE_StringOrListOfStrings", "examples": ["RUN cat /etc/os-release"] }, "prepend": { "$ref": "#/$defs/TYPE_StringOrListOfStrings", "examples": ["RUN cat /etc/os-release"] } }, "title": "Commands to append or prepend to container build process.", "type": "object" }, "ansible_config": { "examples": ["ansible.cfg"], "title": "Ansible configuration file", "type": "string" }, "build_arg_defaults": { "additionalProperties": true, "properties": { "EE_BASE_IMAGE": { "type": "string" } }, "type": "object" }, "dependencies": { "description": "Allows adding system, python or galaxy dependencies.", "properties": { "galaxy": { "examples": ["requirements.yml"], "markdownDescription": "Example `requirements.yml`", "title": "Optional galaxy file", "type": "string" }, "python": { "examples": ["requirements.txt"], "markdownDescription": "Example `requirements.txt`", "title": "Optional python package dependencies", "type": "string" }, "system": { "examples": ["bindep.txt"], "markdownDescription": "Example `bindep.txt`", "title": "Optional system dependencies using bindep format", "type": "string" } }, "title": "Dependencies", "type": "object" }, "version": { "enum": [1], "title": "Version", "type": "integer" } }, "required": ["version", "dependencies"], "title": "Ansible Execution Environment Schema v1", "type": "object" }, "v3": { "additionalProperties": false, "properties": { "additional_build_files": { "description": "Describes files to add to the build context", "items": { "additionalProperties": false, "properties": { "dest": { "description": "Relative subdirectory under build context to place file", "type": "string" }, "src": { "description": "File to add to build context", "type": "string" } }, "required": ["src", "dest"], "type": "object" }, "type": "array" }, "additional_build_steps": { "properties": { "append_base": { "$ref": "#/$defs/TYPE_StringOrListOfStrings", "examples": ["RUN cat /etc/os-release"] }, "append_builder": { "$ref": "#/$defs/TYPE_StringOrListOfStrings", "examples": ["RUN cat /etc/os-release"] }, "append_final": { "$ref": "#/$defs/TYPE_StringOrListOfStrings", "examples": ["RUN cat /etc/os-release"] }, "append_galaxy": { "$ref": "#/$defs/TYPE_StringOrListOfStrings", "examples": ["RUN cat /etc/os-release"] }, "prepend_base": { "$ref": "#/$defs/TYPE_StringOrListOfStrings", "examples": ["RUN cat /etc/os-release"] }, "prepend_builder": { "$ref": "#/$defs/TYPE_StringOrListOfStrings", "examples": ["RUN cat /etc/os-release"] }, "prepend_final": { "$ref": "#/$defs/TYPE_StringOrListOfStrings", "examples": ["RUN cat /etc/os-release"] }, "prepend_galaxy": { "$ref": "#/$defs/TYPE_StringOrListOfStrings", "examples": ["RUN cat /etc/os-release"] } }, "title": "Commands to append or prepend to container build process.", "type": "object" }, "build_arg_defaults": { "additionalProperties": false, "properties": { "ANSIBLE_GALAXY_CLI_COLLECTION_OPTS": { "type": "string" }, "ANSIBLE_GALAXY_CLI_ROLE_OPTS": { "type": "string" }, "PKGMGR_PRESERVE_CACHE": { "type": "string" } }, "type": "object" }, "dependencies": { "description": "Allows adding system, python or galaxy dependencies.", "properties": { "ansible_core": { "additionalProperties": false, "description": "Ansible package installation", "oneOf": [{ "required": ["package_pip"] }], "properties": { "package_pip": { "description": "Ansible package to install via pip", "type": "string" } }, "type": "object" }, "ansible_runner": { "additionalProperties": false, "description": "Ansible Runner package installation", "oneOf": [{ "required": ["package_pip"] }], "properties": { "package_pip": { "description": "Ansible Runner package to install via pip", "type": "string" } }, "type": "object" }, "galaxy": { "$ref": "#/$defs/TYPE_DictOrStringOrListOfStrings", "examples": ["requirements.yml"], "markdownDescription": "Example `requirements.yml`", "title": "Optional galaxy file" }, "python": { "$ref": "#/$defs/TYPE_StringOrListOfStrings", "examples": ["requirements.txt"], "markdownDescription": "Example `requirements.txt`", "title": "Optional python package dependencies" }, "python_interpreter": { "additionalProperties": false, "description": "Python package name and path", "properties": { "package_system": { "description": "The python package to install via system package manager", "type": "string" }, "python_path": { "description": "Path to the python interpreter", "type": "string" } }, "type": "object" }, "system": { "$ref": "#/$defs/TYPE_StringOrListOfStrings", "examples": ["bindep.txt"], "markdownDescription": "Example `bindep.txt`", "title": "Optional system dependencies using bindep format" } }, "title": "Dependencies", "type": "object" }, "images": { "additionalProperties": false, "properties": { "base_image": { "name": { "examples": [ "registry.redhat.io/ansible-automation-platform-21/ee-minimal-rhel8:latest" ], "type": "string" }, "type": "object" } }, "type": "object" }, "options": { "additionalProperties": false, "description": "Options that effect runtime behavior", "properties": { "container_init": { "additionalProperties": false, "description": "Customize container startup behavior", "properties": { "cmd": { "description": "literal value for CMD Containerfile directive", "type": "string" }, "entrypoint": { "description": "literal value for ENTRYPOINT Containerfile directive", "type": "string" }, "package_pip": { "description": "package to install via pip for entrypoint support", "type": "string" } }, "type": "object" }, "package_manager_path": { "description": "Path to the system package manager to use", "type": "string" }, "relax_passwd_permissions": { "description": "allows GID0 write access to /etc/passwd; currently necessary for many uses", "type": "boolean" }, "skip_ansible_check": { "description": "Disables the check for Ansible/Runner in final image", "type": "boolean" }, "user": { "description": "Sets the username or UID", "type": "string" }, "workdir": { "description": "Default working directory, also often the homedir for ephemeral UIDs", "type": ["string", "null"] } }, "type": "object" }, "version": { "enum": [3], "title": "Version", "type": "integer" } }, "required": ["version", "dependencies"], "title": "Ansible Execution Environment Schema v3", "type": "object" } }, "$id": "https://raw.githubusercontent.com/ansible/ansible-lint/main/src/ansiblelint/schemas/execution-environment.json", "$schema": "http://json-schema.org/draft-07/schema", "description": "See \nV1: https://docs.ansible.com/automation-controller/latest/html/userguide/ee_reference.html\nV3: https://ansible-builder.readthedocs.io/en/latest/definition/", "examples": ["execution-environment.yml"], "oneOf": [{ "$ref": "#/$defs/v3" }, { "$ref": "#/$defs/v1" }], "title": "Ansible Execution Environment Schema v1/v3" }