-
Notifications
You must be signed in to change notification settings - Fork 10
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
Controller Proof of Concept #23
Conversation
Signed-off-by: Marcus Heese <marcus@githedgehog.com>
Signed-off-by: Marcus Heese <marcus@githedgehog.com>
Signed-off-by: Marcus Heese <marcus@githedgehog.com>
Signed-off-by: Marcus Heese <marcus@githedgehog.com>
…rings and the AddrPort type does not work for that Signed-off-by: Marcus Heese <marcus@githedgehog.com>
Signed-off-by: Marcus Heese <marcus@githedgehog.com>
Signed-off-by: Marcus Heese <marcus@githedgehog.com>
Signed-off-by: Marcus Heese <marcus@githedgehog.com>
Signed-off-by: Marcus Heese <marcus@githedgehog.com>
Signed-off-by: Marcus Heese <marcus@githedgehog.com>
Signed-off-by: Marcus Heese <marcus@githedgehog.com>
Signed-off-by: Marcus Heese <marcus@githedgehog.com>
Signed-off-by: Marcus Heese <marcus@githedgehog.com>
Signed-off-by: Marcus Heese <marcus@githedgehog.com>
Signed-off-by: Marcus Heese <marcus@githedgehog.com>
Signed-off-by: Marcus Heese <marcus@githedgehog.com>
Signed-off-by: Marcus Heese <marcus@githedgehog.com>
Signed-off-by: Marcus Heese <marcus@githedgehog.com>
Signed-off-by: Marcus Heese <marcus@githedgehog.com>
Signed-off-by: Marcus Heese <marcus@githedgehog.com>
Signed-off-by: Marcus Heese <marcus@githedgehog.com>
Signed-off-by: Marcus Heese <marcus@githedgehog.com>
Signed-off-by: Marcus Heese <marcus@githedgehog.com>
…TE state Signed-off-by: Marcus Heese <marcus@githedgehog.com>
…figuration Signed-off-by: Marcus Heese <marcus@githedgehog.com>
Signed-off-by: Marcus Heese <marcus@githedgehog.com>
Signed-off-by: Marcus Heese <marcus@githedgehog.com>
Signed-off-by: Marcus Heese <marcus@githedgehog.com>
Signed-off-by: Marcus Heese <marcus@githedgehog.com>
Signed-off-by: Marcus Heese <marcus@githedgehog.com>
I agree that long-term it should be a go-based operator, but doing the initial prototype in helm is useful to make sure all of the pieces fit together the way we want them to. |
@sarroutbi @mpeters what am I missing? This is a go controller. Only its installation is done with helm so that it fits with the rest of the installation. |
@mheese my apologies for the time it is taken for me to evaluate it. It should be done in the next weeks. |
@maugustosilva I have to work on other things at the moment (for the next ~3 weeks I guess), so this is luckily not blocking me at the moment. That said, as I mentioned, I'd really like for someone to look over this (particularly with the direction that this is going) before I start adding additional things like mapping the policy model. |
@mheese : sorry if I did not express myself correctly. I meant I am very interested in this PR to be merged, as I believe it is the way to go. |
mkdir -p $(LOCALBIN) | ||
|
||
## Tool Binaries | ||
KUBECTL ?= kubectl |
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 would rename this variable to something like K8S_CLIENT, just in case other command (such as oc) wants to be used
@@ -0,0 +1,47 @@ | |||
# Build the manager binary | |||
FROM golang:1.20 as builder |
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.
If possible, we could use golang:1.21
control-plane: controller-manager | ||
{{- include "keylime-controller.selectorLabels" . | nindent 4 }} | ||
ports: | ||
{{- .Values.metricsService.ports | toYaml | nindent 2 -}} |
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.
this seems like bad indented. If it is not auto generated, please, fix it
// SPDX-License-Identifier: Apache-2.0 | ||
module github.com/keylime/attestation-operator | ||
|
||
go 1.20 |
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.
We might use go 1.21 version
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.
Change LGTM. I added minor comments
@sarroutbi thanks for the review! 👍 ... just fyi, that I'm also waiting for @maugustosilva and @galmasi to review this. This is supposed to be a proof of concept PR only. And it's at a state where we need to discuss UX of what's there right now, and also the direction on where we want to go next. I will definitely incorporate your changes. But in general I will also restructure the code, go over code comments for documentation particularly, most likely change the data structures quite a bit (at the moment it essentially duplicates what's in the registrar and verifier which it shouldn't), and also write unit tests and integration tests against kubernetes before we can merge this. |
@mheese As promised, with a delay of four months, I finally had time to sit and evaluate the PR.
PS: I agree with changes requested by @sarroutbi btw. |
Hello. Apart from the conflicts, it seems no operator-sdk has been used to implement this Proof of Concept. I am writing this essentially because I see no "bundle" folder has been generated in this PR. @mheese : |
@maugustosilva and @sarroutbi thanks so much for the review! 🙏 I've been on a longer break in December, so let me look at this again in the upcoming days, and ...
|
Hello @mheese : thanks for your quick response. I understand now. Sorry, I was not aware of this option to build controllers. As you correctly indicated, using OLM/Operator-sdk based deployment is helpful to include the operator in OpenShift catalog, but we can postpone this (or even decide if this can be downstream only content). |
@mheese thank you. I really believe this is a very good starting point for the building of an actual operator, and we should incorporate it in to the main code as soon as possible. I am available to test it. |
@maugustosilva @galmasi this is ready. As talked about to George on slack, I can't merge this as squash&merge isn't activated for this repo (which it should imho). If this is a problem, I'll create a new PR for it. I won't force-push a rebase because that's just an awful thing to do. |
@mheese This should be fixed now, can you try again? |
Signed-off-by: Marcus Heese <marcus@acuvity.ai>
0724e0c
to
705987b
Compare
@galmasi @maugustosilva @mpeters I had one more merge conflict with the Also, there are the following helm charts now:
I also don't have a test setup for this anymore at the moment. So I actually cannot test the installation anymore at the moment. I'm going to merge this anyway now, and we'll have to resolve potential problems that I caused with this. I'm already going to apologize in advance 🙏 |
Resolves: keylime#23 Signed-off-by: Sergio Arroutbi <sarroutb@redhat.com>
Not really meant to be merged, however, I really need some feedback on what is there so far.
I really would like to continue to work on this, but I don't really want to do so without any feedback on what's there so far.
@maugustosilva are you or some others able to do that?