canonical / canonical/cos-lib

potential issue with TLS configuration and system certificates

Open
#136 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
1
Forks
8
Avg merge
2d 19h
Merged PRs (30d)
1

Description

in the testing and staging envs we usually deal with, we need a self-signed certs operator to enable e2e TLS in our charmed deployments.
In real deployments, however, one may have their ingress certs be signed by an actual CA and therefore the system certs will be enough to validate the signatures.

In #133 we configured the workers/coordinators to block in case we receive an https endpoint from the ingress, but we ourselves don't have a certificates relation.
The charms at the moment don't have logic to verify whether this situation is intentional (because the user wants the coordinated workers to use system certs) or a mistake, and we set blocked.

We may need a more sophisticated way to verify the configuration instead.
A possible solution would be:
when the ingress hands us an endpoint, attempt to curl it with a cert if we have one, else without (thereby using the system certs). If that fails, then we know there is a misconfiguration.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by tracing the HTTPS endpoint handling introduced in issue #133 and inspect how ingress endpoints, system certificates, and the certificates relation are represented in the charms. Done means distinguishing intentional CA-signed ingress, which should not be blocked, from a certificate misconfiguration that should remain blocked; the issue does not name specific files or tests.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
devops, infrastructure, security
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.