When is cloud-config.yml file actually acted upon?

I’ve been over the docs many times but I cannot tell -when- the cloud-config.yml file is processed:

  1. It seems to JUST BE COPIED to /var/lib/rancher/conf/cloud-config.d/user-config.yml
    when the following is run:
    $ sudo ros install -c cloud-config.yml -d /dev/sda

  2. But I cannot tell if it is processed only once at the time the system is FIRST BOOTED,
    or if it is reread and processed on EVERY BOOT.

    If processed on EVERY BOOT, any “write_files:” directive is going to overwrite any
    changes to files such as /etc/ntp.conf. At the moment every attempt to change my
    ntp.conf file is just ignored.

I would like to debug the processing of my cloud-config.yml file as several settings seem
to just be ignored. I’m trying to find how to get my hands on that process.

The timing is also important with regard to key generation. If I enable TLS for swarm, will
the keys be generated once at first boot, or when then node joins the swarm? It matters
as I’m trying to create a vSphere VM template I can use to rapidly spin up swarm nodes
but if the keys are generated at first boot, then the keys are baked into the template and
each node will have the same keys.