-
Notifications
You must be signed in to change notification settings - Fork 140
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
Provide suite of tests for validating Fulcio releases and deployments #612
Comments
The gRPC test suite code is fairly thorough. It tests all endpoints with different types of issuers. For each supported issuer for the production environment (email, SPIFFE, GitHub and K8S currently), we should test a successful certificate issuance. We should also test the other GET endpoints. Tests over HTTP could be considered, but we'd effectively be testing the gRPC-HTTP bridge, which is not necessary. If we did test using HTTP, we should at least test the V1 API. |
Are you proposing we should have the equivalent of the gRPC test suite, but pointed at a live instance? As for supported issuer, do we have documentation on how to test each of the issuer? with the lack of documentation and existing test, do we actually know if the spiffe actually works, other than a user telling us it doesnt? im worried that we have previously added support for issuers but never had a way to continuously verify it works. sounds like HTTP testing would be a nice to have, but not high on the priority list. To better prioritize them, are these all tests that we are willing to block our next release/deployment on, or only some? I'm trying to set a baseline of what are we comfortable doing a release/deployment with, versus what do we want to aim to have. |
Yea, I'd like a subset of the suite tests pointed against the live instance, exercised before a release:
Some of those may be harder than others to set up, particularly GitHub and K8S. If we at least cover Dex initially, that'd be good. I'm removing SPIFFE from the list because it's a federated provider currently.
I can add more docs/help write the test suite, just need to know if there's a certain way to write it - Bash script? Go script? We don't have tests for each supported OIDC issuer, though I would say it's not Fulcio's responsibility to test any federated providers (the SPIFFE ones primarily). We should make sure the default providers - GitHub, Dex, Google, K8S - are working.
The list above is what I'd like to have block a release. Not sure when we're planning to cut a new release. If we need a new release soon, we might need to manually test, but I think automation should be in scope for GA. Does that seem fair? |
I would like to see new tests in Go, as it is easier to maintain, and less likely to grow organically in an unmanageable fashion. Agree on the verifying of GitHub/Dex/Google/K8s providers. I think it is fair to have automation in scope for GA. Moving forward, I would like to push to have e2e integration tests for all new features so we can avoid the situation where we don't feel confident about releases/deployments. When do you think we will have the tests or docs ready, whether it is for the prod migration or just another general release? |
Note to self: We need to also test:
|
Questions/things so I can frame this in the client perspective and then also put man power behind this:
|
|
IMO the probers we have are sufficient for GA, although they can always be improved. |
@lukehinds @dlorenc what are your thoughts on if this needs to be a GA Blocker or not? |
Not a GA blocker IMO. |
I'm not seeing this as a GA blocker, but it would be a good fast-follow issue, possibly for my team to tackle. |
Not a blocker sounds good. |
Description
To better streamline releases and deployments, we need a suite of tests that we can run to validate releases and deployments.
@haydentherapper Can you outline what tests you would like to see and what tests we have and which ones we are lacking.
The text was updated successfully, but these errors were encountered: