What's the correct way to share a Juju environment?
I would like to deploy something but I need to be able to have teammates interact with the environment.
How do I do this? Are ssh keys involved?
With juju 1.16 and newer, you should be able to juju bootstrap
to initialize the environment. This will create a ~/.juju/environments/$ENVNAME.jenv
file.
That file has all the information needed to connect to your Juju environment. (admin-secret, control bucket, etc.)
For most uses of Juju, you don't need ssh access, because you can add new services, relate them, etc without SSH.
If you do want shared ssh access (such as for 'juju ssh 1'), then you need to have shared keys. It is possible to set "authorized-keys" in your environment's configuration, or to use juju set authorized-keys=XXX
to a list of keys.
However, authorized-keys is only used when launching new instances, it doesn't retroactively add them to machines that are already running. To do that, you can ask the person who bootstrapped to use ssh-import-id $userid
on any machine that you need to share.