-
Notifications
You must be signed in to change notification settings - Fork 33
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
Feature Request: CRD for Humio Groups #586
Comments
Proposal Add a HumioGroup resource as a CRD.
struct SearchDomainRole { struct Role {
-> Initially, reconciler will try to find a group by |
Been thinking about this further. I think it makes sense to create separate CRD for Role as well. HumioRole itself should be defined separate, so that it can be controlled by Reconciler. EX:
And This also simplifies object like Thoughts? |
This is a draft PR posted on my Fork. |
Hi @CJNA - I appreciate you taking the time to look at this. One thing I'd like to bring up is that the pattern we have established is that the operator does not make direct graphql calls to humio, but rather it makes calls to the humio client api which then makes the graphql calls. The humio client api is part of https://github.com/humio/cli. As you see there, we are missing critical functionality such as managing roles, and adding, deleting or updating groups (though some functionality, like adding users to groups is there). I think developing a guideline here will be important to be able to implement the requirements we need from the client api, but before we can do any real work on the operator we need this functionality on the client api. From the operator perspective, splitting the resources into separate A reconcile for roles, where we add/delete/update based on the defined I suspect the way we would like to "link" these things is by referencing the names of the resources; however, it's possible it may not be that simple, or that there may be a built-in way to do this. For example, how the views manage connections to repos https://github.com/humio/humio-operator/blob/master/api/v1alpha1/humioview_types.go#L53-L54. There may be cases where we have to pass a generated ID as the link, but then first have to look up the resource by name to fetch the ID to make it human-usable. Before deciding on the exact details of how to link these resources, I suspect some discovery needs to be done on the client api, which also relies on the graphql api. Once the base actions of managing roles and groups are established at the client api level, the relationships will become much clearer and as we'll be forced to some degree to abide by the structure presented by the graphql api for the individual resources, and perhaps also to the relationships between them. Hopefully this makes sense. I have not looked deeply at how we manage roles or groups from the graphql api, but I suspect it wont be too different than what we do with other resources already managed by the client api. |
Hi @jswoods . I'll look for adding a graphql call on humio/cli repo first for managing role/group resouces. |
One thing to note tho! What I mean by is that, Group 'can' just look for existing Role by searching for it's name.
And we could just get by running something like
on create/update Groups. Next step of PRs would be to actually create/update/delete Roles, and 'link' roles, but this does not seem to be necessary to get what I need. |
Hi team. I've made a quick PR for Humio Group However, this update feature lacks any real update, as I've listed in description. Also, I noticed Nam has pushed a PR for adding Humio Roles. PTAL! |
Hi @jswoods Could you take a look at #621 and humio/cli#116 This is a pre-requisite to use the Humio Group on |
This is a follow up to https://github.com/humio/cli/pull/114/files Will start writing logic for reconciler once this gets reviewed and merged |
We utilize the Humio Operator to configure Humio Views for different users across the org.
We have okta groups for the different teams accessing the different views.
Currently we're using the Humio Operator to create the Humio Views and then we still need to integrate with the Humio API to do the graphql mutation to add the Okta group and add the respective roles to the Humio Group.
Our ideal would be that we only need to integrate with the Kubernetes API that has the operator installed and not partially use the Kubernetes API and partially use the Humio API via our provisioner.
We think Humio Groups should be represented as CRD object via the Humio Operator. That way we can just create
HumioView
andHumioGroup
custom resources and only need to integrate with the K8s API.The text was updated successfully, but these errors were encountered: