HELP - SSL/TLS Intercept x509 error

I have no choice but to live behind an SSL/TLS interception/inspection solution at work. I have the certificate that they issue me, and the machine I’m running juju on trusts the ca. I am confident the machine itself works fine, I can run apt, etc… but I cannot get juju to use the cert to trust the ca to then trust the streams.cannonical.com server. Whenever I try to bootstrap I get the following error:

WARNING Got error requesting “https://streams.canonical.com/juju/tools/streams/v1/index2.sjson”: x509: certificate signed by unknown authority WARNING Got error requesting

I believe this thread may provide you some useful information about importing the additional CA into the bootstrap process with cloudinit-userdata model-config for your controller:

1 Like

EXACTLY what I needed. Thank you! I will update this thread when I try it out.

1 Like

Well, that didn’t work as planned. The command ‘juju model-config cloudinit-userdata.yaml’ assumes you’re already bootstrapped. I’m trying to bootstrap.

I’m going to look for a similar command for the bootstrap.

I did a little digging on this subject as well, and it appears that the controller-config does not support cloudinit-metadata (which makes sense, since the cloud provider is the one that does the configuration of cloudinit for the machines the controller is deployed to.)

If you are using MAAS, you will need to setup a custom snippet to deploy the CA on the machines. If using an openstack cloud provider, you may be able to configure ca-credentials to include additional CA certs in the bundle, or add cloud-wide vendor-metadata that includes the CA on every openstack instance deployed.

Okay, I will do that, but I just want to make sure you’re understanding that this is failing at the bootstrap command. I cannot get bootstrapped, because the juju bootstrap command is failing on the cert issue.

Have you installed the CA cert on the system where you are using the juju CLI tools?

yes, the machine has the certs in /usr/share/ca-certificates & I ran update-ca-certificates. The machine runs apt just fine.

Hi John

Are you trying to bootstrap a LXD controller?

Could you post the output of ‘juju —debug bootstrap…’ so we can see the error in more detail?

It turns out I’m having proxy issues…

I need the proxy to pull images/files from the internet, but I need to NOT use the proxy for 192.168.11.x/24.

As far as the host machine that I’m running juju on goes, it works great. Apt, get, curl, etc. all understand the settings in /etc/environment

As for juju, I’m running it with --config=config.yaml and I have this in my config.yaml

no-proxy: 192.168.11.200
http-proxy: “http://FQDHost:80
https-proxy: “http://FQDHost:80

I keep getting this when I run the bootstrap:

Get “http://192.168.11.200:5240/MAAS/api/2.0/version/”: read tcp 192.168.11.200:34970->x.x.x.x:80: read: connection reset by peer

(Obfuscating the routable IP of my proxy server)

I’m stumped