-
Notifications
You must be signed in to change notification settings - Fork 3
Conversation
074737c
to
7adcbec
Compare
7adcbec
to
ba10d9a
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@shubhanilBag Is it possible to change this so that JMX-SSL is separated from the TRANSPORT_ENCRYPTION_ENABLED? I think there might be reasonable use cases to have each of those enabled separately.
Yeah it is possible. Then the responsibility lies on the user to enable TLS when local JMX is disabled. I tied TLS with SSL JMX in order to implement similar to this:
yeah people may want to do this, for this to be done TLS logic needs to be enabled in the operator only for generating tls artifacts but not enable node-node encryption in c* yaml (needs to be tested if this setup will not cause any errors), also fyi SSL JMX is indirectly enabled by disabling |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah, we should separate TRANSPORT_ENCRYPTION_ENABLED
and JMX_LOCAL_ONLY
. E.g., what if as user wants node-to-node encryption but a local-only JMX port? While this might create a possibility for users to shoot themselves in the foot, we shouldn't make assumptions on the users configuration. Though, we need to make sure that we provide default values for these parameters that don't contradict themselves.
Please merge the latest master
, liveness probes have been added that call nodetool info
. Their call has to be updated to take a possible SSL connection into account.
ba10d9a
to
e90199b
Compare
@nfnt User can do this with the current setup. The only thing that this PR binds is to force TLS encryption (node to node only) only when user wants remote JMX (i.e local-only JMX set to "false"). I think it's also best practice to enable encryption when remote JMX is enabled and also without any JMX authentication right now. |
|
The node-to-node encryption is configured here https://github.com/mesosphere/kudo-cassandra-operator/blob/nil/ssl-jmx/operator/templates/cassandra-yaml.yaml#L1162 |
exposing un-secure JMX for remote access should be discouraged and not possible by default. https://jira.d2iq.com/browse/D2IQ-32989 |
Signed-off-by: Shubhanil Bag <[email protected]>
Signed-off-by: Shubhanil Bag <[email protected]>
Signed-off-by: Shubhanil Bag <[email protected]>
Signed-off-by: Shubhanil Bag <[email protected]>
Signed-off-by: Shubhanil Bag <[email protected]>
Signed-off-by: Shubhanil Bag <[email protected]>
Signed-off-by: Shubhanil Bag <[email protected]>
Signed-off-by: Shubhanil Bag <[email protected]>
Signed-off-by: Shubhanil Bag <[email protected]>
Signed-off-by: Shubhanil Bag <[email protected]>
3ad264e
to
0a4b3e2
Compare
Signed-off-by: Shubhanil Bag <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice! One small naming nit, apart from that it looks good.
I'm not a big fan of the ne JMX_LOCAL_ONLY "true"
compare, but I also don't see a better way without renaming the parameter tos something like ENCRYPTED_REMOTE_JMX
and i'm not sure if that's a better name.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM! I share the same opinion about ne $.Params.JMX_LOCAL_ONLY "true
as @ANeumann82. Though I see the consistency this creates and would rather see that. than eq $.Params.JMX_LOCAL_ONLY "false"
. And, it's just nitpicking, so please feel free to ignore if you think that changing this would change things for the worse.
Co-Authored-By: Andreas Neumann <[email protected]>
- cassandra-exporter-config-yml.yaml | ||
- service-monitor.yaml | ||
- node-scripts.yaml | ||
- generate-tls-artifacts-sh.yaml | ||
- generate-cqlshrc-sh.yaml | ||
- pdb.yaml | ||
- nodetool-ssl-properties.yaml | ||
- stateful-set.yaml |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
the order was changed because of any issue?
I'm just asking if the order matters, we shouldn't keep them in same task but use it as two steps of a plan.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah we should do it like KUDO Kafka does, as sometimes the CM are created after the STS. I think a separate PR is better for that change.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM! 👏
This PR-
JMX_LOCAL_ONLY
is disabledandTRANSPORT_ENCRYPTION_ENABLED
is enablednodetool-ssl.properties
JMX_LOCAL
disabled, tests nodetool access from a separate podJIRA: https://jira.d2iq.com/browse/D2IQ-63186