How can a cloud-config script copy a file to a server? write_files requires the file content in the script. How can I specify an external file that contains the content?
Asked
Active
Viewed 1.6k times
7
Derek Mahar
- 991
- 3
- 8
- 16
2 Answers
7
You haven't given enough context to know for sure, but for the purposes of this answer I'll assume you're running in Amazon Web Services.
As per the cloud-init documentation here, the only way to create a file directly via cloud-init is to include the file content in the script, either raw, base64-encoded, gzipped or base-64+gzipped.
Apart from doing that, the most straightforward way to do this would be to download the file - either via HTTP or an API call (for example, to S3).
Another way of getting the file onto the server would be to create a custom OS image (AMI) containing the file, by using something like Packer.
Craig Watson
- 9,790
0
scp in the runcmd section can retrieve files, albeit in the final stage of cloud-init.
Doug Reeder
- 101