Skip to content

Initial dump of Compositions alpha implementation#7

Merged
justinsb merged 4 commits intocloud-native-compositions:mainfrom
barney-s:inital
Nov 18, 2024
Merged

Initial dump of Compositions alpha implementation#7
justinsb merged 4 commits intocloud-native-compositions:mainfrom
barney-s:inital

Conversation

@barney-s
Copy link
Copy Markdown
Collaborator

This is the initial dump of the Compositions code that we have been demoing in the weekly meetings.
Source: https://github.com/GoogleCloudPlatform/k8s-config-connector/tree/master/experiments/compositions

We want to follow up with commits to:

  1. User guide
  2. Setup precommit tests
  3. Proposal/DesignNotes as a light weight KEP alternative

@a-hilaly a-hilaly requested review from a-hilaly and matthchr and removed request for matthchr October 30, 2024 20:44
@barney-s
Copy link
Copy Markdown
Collaborator Author

barney-s commented Oct 31, 2024

#8 << user guide dump

Comment thread composition/.golangci.yml
Comment thread composition/Dockerfile
Comment thread composition/Dockerfile.inline Outdated
Comment thread composition/Dockerfile.inline
const (
Ready ConditionType = "Ready"
// Error implies the last reconcile attempt failed
Error ConditionType = "Error"
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is the implication that this condition is "fatal", as compared to a situation where Ready=False, but that may mean "we're just not done yet"?

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Error is a catch all for any error (temporary or otherwise) when we reconcile a composition. This may be temporary errors such as unable to reach k8s server, grpc server etc. We have a separate Waiting condition value to indicate we are waiting for something (we are not done yet).

Comment thread composition/internal/controller/composition_controller.go Outdated
Comment thread expanders/cel-expander/pkg/cel/engine.go
Comment thread composition/api/v1alpha1/composition_types.go Outdated
Comment thread composition/internal/controller/composition_controller.go Outdated
Comment thread composition/internal/controller/composition_controller.go Outdated
Copy link
Copy Markdown
Contributor

@matthchr matthchr left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I didn't go over this with a fine-tooth comb (there's a lot), but my major comments were resolved or added to TODOs to do later.

Approved.

Comment thread composition/TODO.md
Type ExpanderType `json:"type"`

// ExpanderConfig GVK
Config ExpanderConfigGVK `json:"config"`
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this required?

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It is required for helm

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

My point I guess is, either it should have kubeuilder:required or it should be json:omitempty.

@justinsb justinsb merged commit 337e3a9 into cloud-native-compositions:main Nov 18, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants