#Files
files is a named registry of files. Every other surface that needs files (floppy, HTTP directory, file provisioner) references entries from this list by name.
files:
- name: hello.txt # name == filename downstream
inline: |
Hello, world!
- name: setup.sh
inline: |
#!/bin/sh
echo "running setup"
- name: large-binary.exe
url: 'https://example.com/large-binary.exe'
- name: cert.pem
inline: |
-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----
Two ways to provide content:
inline— the file content as a YAML string.url— fetched at build start. Good for binaries, drivers, and anything large.
The name is the filename wherever the file ends up. name: Autounattend.xml means the floppy disk has a file called Autounattend.xml and the HTTP directory serves it at /Autounattend.xml. Use full filenames with extensions.
A file in files does nothing on its own — you must reference it from one of:
flowchart LR
F[files] --> Floppy[floppy.files<br/>virtual floppy disk]
F --> HTTP[httpDirectory.files<br/>served over HTTP from Aileron]
F --> Prov[provisioners type:file<br/>fileRef pushes content<br/>into the running VM]