Skip to content

Provisioning

Bootstrap your devices

For now, AFK does not provide any way to generate bootstrap configuration.

The advised workflow is the following:

  1. Generate the minimal configuration to be able to access the device.
  2. Apply the minimal ZTP (or manually).
  3. Use AFK to apply the rest of the configuration.

The minimal configuration cannot be generated by Salt as it requires a salt-minion for the device.

You could use Python scripts for instance to generate them, host the minimal configuration files on a server and serve them via your ZTP process.

One alternative would be to rely on the default configuration of your devices. But this depends on the Network OS used.

Note

We think this minimal configuration should not be maintained by AFK to avoid losing the access in case of misconfiguration in the CMDB.

Use Provisioners

The provisioner is where your business logic is located.

It can take many forms. At Criteo we have two kinds:

  • one shot provisioner provisions the CMDB to have a fully operational datacenter.
  • service provisioner provisions the CMDB on demand. It allows your internal clients to dynamically benefit from network services, like BGP as a service.

Apply the changes

Here you have two options:

  • 😁 not so AFK: just run the SaltStack State manually via the salt <device> state.apply afk command
  • ❤ real AFK: create a schedule to automatically apply the configuration