Copying arbitrary files to EE
Ansible Builder version 3 schema provides the option to copy files to an EE image. See the version 3 schema for more details.
In the example below, we will take a look at copying arbitrary files to an execution environment.
---
version: 3
images:
base_image:
name: quay.io/centos/centos:stream9 # vanilla image
dependencies:
# Use Python 3.9
python_interpreter:
package_system: python39
python_path: /usr/bin/python3.9
# Collections to be installed
galaxy:
collections:
- ansible.utils
additional_build_files:
# copy arbitrary files next to this EE def into the build context - we can refer to them later...
- src: files/rootCA.crt
dest: configs
additional_build_steps:
prepend_base:
# copy a custom CA cert into the base image and recompute the trust database
# because this is in "base", all stages will inherit (including the final EE)
- COPY _build/configs/rootCA.crt /usr/share/pki/ca-trust-source/anchors
- RUN update-ca-trust
In this example, the additional_build_files section allows you to add rootCA.crt to the build context directory. Once this file is copied to the build context directory, it can be used in the build process. In order to use, the file, we need to copy it from the build context directory using the COPY directive specified in the prepend_base step of additional_build_steps section.
Finally, you can perform any action based upon the copied file, such as in this example updating dynamic configuration of CA certificates by running RUN update-ca-trust.
See also
- Execution Environment Definition version 3
The detailed documentation about EE definition version 3