-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
Extend TLS support for external scaler #3565
Comments
This would be so nice. Needing to mount the CA certificate into the KEDA pod is a bit of a pain (it's also not terribly well documented). Frankly, I'd like to see support for this in all scalers that are capable of using TLS. |
Make sense, I would vote for using exclusively TriggerAuthentication for this and don't use trigger metadata to hold secrets (3.). |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed in 7 days if no further activity occurs. Thank you for your contributions. |
I'd hope this could be kept open, personally. |
@philomory willing to contribute this? |
If you are trying to connect to a secure / TLS gRPC endpoint terminated by something else like LetsEncrypt, AWS ALB, nginx with ACME, etc., use the following trigger metadata: apiVersion: keda.sh/v1alpha1
kind: ScaledObject
...
spec:
...
triggers:
- type: external-push
...
metadata:
...
tlsCertFile: /etc/ssl/certs/ca-certificates.crt This corresponds to |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed in 7 days if no further activity occurs. Thank you for your contributions. |
This issue has been automatically closed due to inactivity. |
If you dont mind, I could take a look at thsi issue @zroubalik |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed in 7 days if no further activity occurs. Thank you for your contributions. |
Fixed in #4407 |
Current State:
Today external scaler metadata has the following:
the Grpc connection is created using:
This means that is
tlsCertFile
is provided, the grpc connection will be tls.tlsCertFile
is expected to be the CA file the client expect to validate the server cert withcredentials.NewClientTLSFromFile()
If no
tlsCertFile
is defined, KEDA creates the grpc connection usinginsecure.NewCredentials()
which doesn't do auth or encryption (https).Proposal:
tlsCertFile
(only because the naming is confusing considering what it does.If
caCert
,tlsClientCert
, and/ortlsClientKey
are defined, the connection must be TLS.If they are not defined, by default KEDA will do HTTP connection, but with
forceTls
it'll use tls.The code will look like:
TriggerAuthentication
to resolve these values from a secret, rather than needing to mount them on KEDA podUse-Case
Today it's not possible to use mtls or just https without a ca file. This will enable these scenarios for external scalers.
Anything else?
No response
The text was updated successfully, but these errors were encountered: