-
Notifications
You must be signed in to change notification settings - Fork 727
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
Simplify setup of Enterprise Search access through Kibana UI #4598
Conversation
|
||
// NoAuthRequiredValue is the value set for AuthSecretName if no authentication | ||
// credentials are necessary for that association. | ||
NoAuthRequiredValue = "-" |
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.
I'm assuming here that no secret will ever be named "-". Since this is a value we set with our own secret naming scheme it should be OK.
It's somewhat nice because it doesn't break the existing schema and is quite easy to manipulate in the code.
However it also feels a bit "implicit", we could also modify the assoc conf schema to make things more explicit. WDYT?
Jenkins test this please |
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.
Looks good! I like the association refactoring beyond adding the required capabilities I think it is an improvement in general.
We now explicitly check whether the referenced resource (not always Elasticsearch!) exists at the very beginning of the association reconciliation. An additional ReferencedResourceExists() function needs to be implemented by each association controller that knows about the referenced object type.
I think you gave up on that idea and found a generic way with k8s.ObjectExists
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 but I think we need to regenerate the API docs.
Jenkins test this please |
Starting version 7.14.0, Kibana becomes the default UI for Enterprise Search.
This PR introduces an
enterpriseSearchRef
in the Kibana CRD, to simplify the Kibana -> Enterprise Search connection configuration.Sample manifests to try it out:
You can then access Enterprise Search by clicking the "Enterprise Search" button in Kibana UI.
Some technical details:
This is the first time we introduce an association between two resources that does not involve creating an Elasticsearch user along the way. Therefore, aside from the "simple" additional Kibana -> Enterprise Search association, this PR refactors the association controller to allow associations with no transitive Elasticsearch resource, and no additional user creation.
A few noticeable changes:
AssociationInfo
now contains an optionalElasticsearchUserCreation
section to embed the Elasticsearch user creation details (nil
in the Kibana -> Enterprise Search association).authSecretName: "-"
(as opposed to""
which means the value has not been set yet).SetDynamicWatches
in theAssociationInfo
anymore.The PR also adds an integration test to cover the Kibana -> Enterprise Search association, and checks whether the Enterprise Search API is correctly available through Kibana.
Remaining to be done: