Currently, we make use of kernel boot params to pass environment variables for the application execution inside a Linux VM. However, we can easily reach the limits of characters in kernel boot parameters and also non-POSIX environment variables are ignored. As a result, we need to come up with a better way to pass the environment variables inside the VM.
For that reason, there are some Qemu and FC specific options we can make use of:
- In the case of Qemu, we can make use of the smbios options and pass each environment variable as a seabios option. Inside the VM, we can read these information and decode them from `sysfs. Another option would be to use hw_cfg, where we cna create a file with all the environment variables, and pass this file with hw_cfg in the Qemu VM. Inside the VM , we can either through sysfs or interacting with a specific Qemu device retrieve the contents of the file.
- In the case of FC, there is only the option of mmds https://github.com/firecracker-microvm/firecracker/blob/main/docs/mmds/mmds-user-guide.md
This issue is connected with #253, since we can use the methods above to pass the execution environment information to urunit.
Currently, we make use of kernel boot params to pass environment variables for the application execution inside a Linux VM. However, we can easily reach the limits of characters in kernel boot parameters and also non-POSIX environment variables are ignored. As a result, we need to come up with a better way to pass the environment variables inside the VM.
For that reason, there are some Qemu and FC specific options we can make use of:
This issue is connected with #253, since we can use the methods above to pass the execution environment information to urunit.