-
Notifications
You must be signed in to change notification settings - Fork 90
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Yet another case of "x509: certificate signed by unknown authority, requeuing" #278
Comments
My guess is that the links inside the directories are messing things up:
I just changed the mount for |
Yeah, sounds like the symlinks outside the mounted path are breaking things. The idea is that the host CA bundle is more likely to be up-to-date than the image, or (as you said) the update channel may not be trusted by public CA bundles. As you noted, use of distros with non-standard filesystem layouts will require adjustments to the deployment manifest. |
Sorry, but SLES15 has that, and this is ancient. So I am not sure how "non-standard" that is. ;-) |
RHEL8 has a link from |
Yeah, the problem here is that content under You can see the paths expected by golang at https://go.dev/src/crypto/x509/root_linux.go |
Yes, that is exactly what I did. I added a kustomization (as there is unfortunately no helm chart for system-upgrade-controller) to patch the deployment and mount |
The default manifest is quite simple but largely inclusive. As such, it makes for a pretty decent, broadly applicable example. I used to hate/fear Helm unreasonably at the time I started this project (now I hate Helm for good reasons, I assure you) and so I never developed a chart! |
Any guidance on workarounds for this? I've tried making the files in the system path match what i expect is inside the container based on the error messages but without a shell in the container it's down to guesswork. |
SUC leverages the default TLS implementation that comes with the golang runtime, therefore it searches for trust store as indicated by: If the host path mounts aren't working this is typically caused by:
So, if curl works on the host but not in the container, you've probably got a symlink problem. There are a number of ways to fix this because the SUC manifests as provided are demonstrative and not authoritative: you have control over its runtime. |
Version
v0.13.1
Platform/Architecture
openSUSE MicroOS 20231126 (immutable based on openSUSE Tumbleweed)
Describe the bug
To Reproduce
Use the following in your plan instead of a
version
:Expected behavior
The TLS certificate should be accepted.
Actual behavior
Something goes wrong when trying to connect via HTTPS
I checked the mounts in the deployment, and all of them are existing on the host:
Additional context
The bug was reported multiple times in different constellations:
What I failed to find is a clear description, which files the image looks for.
Or a reason, why it does not bring its own ca-certificates and just mounts the host's certificates in addition, in case someone is using an internal CA.
The text was updated successfully, but these errors were encountered: