Comments (13)
Hi @xunholy, yep this is definitely something we can include.
/assign
from istio-csr.
@xunholy, I think this will also have problems as this Issuer is expecting issued certificates as being used for TLS between the Cloudflare servers and your services.
External issuers that as far as I know would work are aws-privateca-issuer, google-cas-issuer, and step-issuer. Pricing varies! 🙂
from istio-csr.
@JoshVanL did you need any help? I have some arm64 nodes I can test out any images you're building out at present.
from istio-csr.
Hi @xunholy, apologies for the delay. I have opened a PR and will push the image shortly after it merges.
from istio-csr.
@xunholy A multi-arch image and new helm chart version has been pushed. Let me know if things are working for you.
from istio-csr.
Testing it out now. Here was the below findings:
Warning Unhealthy 2m39s (x6499 over 11h) kubelet Readiness probe failed: HTTP probe failed with statuscode: 500
panic: interface conversion: runtime.Object is nil, not *v1.CertificateRequest
goroutine 280 [running]:
github.com/cert-manager/istio-csr/pkg/certmanager.(*manager).waitForCertificateRequest(0x40002c8230, {0x26757d0, 0x400101ad40}, {0x26988f8, 0x4000cbc1e0}, 0x400037bb00)
/workspace/pkg/certmanager/certmanager.go:188 +0x5b8
github.com/cert-manager/istio-csr/pkg/certmanager.(*manager).Sign(0x40002c8230, {0x26757d0, 0x400101ad40}, {0x22ff29c, 0x11}, {0x4001294000, 0x3c8, 0x799}, 0x34630b8a000, {0x4001048080, ...})
/workspace/pkg/certmanager/certmanager.go:138 +0x550
github.com/cert-manager/istio-csr/pkg/tls.(*Provider).fetchCertificate(0x4000fcdea0, {0x26757d0, 0x400101ad40})
/workspace/pkg/tls/tls.go:266 +0x284
github.com/cert-manager/istio-csr/pkg/tls.(*Provider).Start(0x4000fcdea0, {0x26757d0, 0x400101ad40})
/workspace/pkg/tls/tls.go:119 +0x4c
sigs.k8s.io/controller-runtime/pkg/manager.(*controllerManager).startRunnable.func1(0x4001012000, {0x25f74a0, 0x4000fcdea0})
/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/manager/internal.go:697 +0x70
created by sigs.k8s.io/controller-runtime/pkg/manager.(*controllerManager).startRunnable
/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/manager/internal.go:695 +0x68
I should note I didn't integrate it yet with any CA or Istio, just spun up the helm chart as it currently is right now.
from istio-csr.
Error: failed to fetch initial serving certificate: failed to sign serving certificate: failed to wait for CertificateRequest istio-system/istio-csr-89jlq to be signed: created CertificateRequest has failed: [{Approved True 2021-09-05 22:15:41 +0000 UTC cert-manager.io Certificate request has been approved by cert-manager.io} {Ready False 2021-09-05 22:15:42 +0000 UTC Failed Failed to wait for order resource "istio-csr-89jlq-3417425060" to become ready: order is in "errored" state: Failed to create Order: 400 urn:ietf:params:acme:error:rejectedIdentifier: Error creating new order :: Cannot issue for "cert-manager-istio-csr.network.svc": Domain name does not end with a valid public suffix (TLD)}]
from istio-csr.
Hi @xunholy 🙂
panic: interface conversion: runtime.Object is nil, not *v1.CertificateRequest
This edge case is quite surprising to me. I wouldn't have expected that value to ever be nil. Will fix that..
Error: failed to fetch initial serving certificate: failed to sign serving certificate: failed to wait for CertificateRequest istio-system/istio-csr-89jlq to be signed: created CertificateRequest has failed: [{Approved True 2021-09-05 22:15:41 +0000 UTC cert-manager.io Certificate request has been approved by cert-manager.io} {Ready False 2021-09-05 22:15:42 +0000 UTC Failed Failed to wait for order resource "istio-csr-89jlq-3417425060" to become ready: order is in "errored" state: Failed to create Order: 400 urn:ietf:params:acme:error:rejectedIdentifier: Error creating new order :: Cannot issue for "cert-manager-istio-csr.network.svc": Domain name does not end with a valid public suffix (TLD)}]
This looks as though you are attempting to use a public ACME server for your istio-csr issuer which won't work. You will need to use an Issuer which is able to sign certs for private DNS/URIs.
from istio-csr.
@JoshVanL thanks for the advice, so rather than using LE as a public ACME, I will need to have LE create a CA internally and then reference that as an issuer if my understanding is correct?
from istio-csr.
@xunholy no, LE etc. won't issue intermediates since you could then sign yourself google.com which would be publicly trusted 😬
You will need to use something like the CA Issuer like in the demo example, Vault, Venafi, or an appropriate external issuer. These will use a CA that you control and will be the root of trust for your istio mesh.
from istio-csr.
Perfect, thanks for confirming. Gives me a reason to redeploy origin-ca-issuer which appears to be supported.
origin-ca-issuer: Used to request certificates signed by Cloudflare Origin CA to enable TLS between Cloudflare edge and your Kubernetes workloads.
from istio-csr.
Issue has now been resolved and confirmed ARM images are working.
/close
from istio-csr.
@JoshVanL: Closing this issue.
In response to this:
Issue has now been resolved and confirmed ARM images are working.
/close
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.
from istio-csr.
Related Issues (20)
- istio-csr should seperate leases role permissions from cert-manager issuer namespace
- Third-party JWT issue HOT 1
- add the compatibility matrix for Kubernetes versions to README
- Add ability to annotate certificate requests generateed by istio-csr HOT 1
- Add custom annotations to deployment HOT 3
- charts.jetstack.io beding cluster presents a challenge and breaks deployment
- istio-csr vault integration - permission denied - Vault failed to sign certificate HOT 2
- Restarting a namespace with 30+ deployments causes errors in istio-csr which tends to reolve after a while. HOT 1
- Custom DNS support in istio-csr's istiod certificate HOT 1
- False positive warnings from trivy and dependabot HOT 2
- ClusterRole & ClusterRoleBindings for istio-csr
- TODO: tests - carotation creates two kind clusters
- Populate Subject Fields in Certificate HOT 1
- CSR generation always defaults to P256 curve due to missing parameter HOT 4
- It is not possible to provide SAN for istiod certificate HOT 2
- how to build oci image locally using make command HOT 1
- Istio sidecar can only request new cert using istio-token HOT 1
- Document / improve that sometimes the issuer needs to set `ca.crt`
- Image version is v0.0.0 HOT 4
- Getting Readiness probe failed when using cert-manager-istio-csr
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from istio-csr.