We're going to need TLS certificates to interact with network devices in the short (eg. this Q, for testing) to medium (next 2 Q, for production) term.
Most likely through gNMI (RPC, eg. configuration or telemetry) and/or RESTCONF (rest, eg. configuration).
Some notes from a chat with @jbond:
- certs generated by our regular CA
- expire after 4 weeks (not having a renew mechanism is fine for testing but not for prod)
- wouldn't be suitable for client certificate authentication. Not strictly needed as username/password is required anyway.
- One option could be to use an intermediary CA dedicated to network devices (~1h of work)
- This could solve the two limitations above (if we want to solve them)
- Does this bring other advantages? Are there any drawbacks?
- For automatic renewal, some ideas:
- Use Puppet on the SONIC (Debian based) switches to manage the auto-renewal scripts - not compatible with Junos
- Use a docker image on the SONIC switches (they run docker) to handle renewal - not compatible with Junos
- Manage the script ourselves on both platforms (Eg. Homer or dedicated script)
- Use a cookbook that connects to the devices over SSH and does the work (would needs to run periodically)