Skip to content
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

SHIP-0038: Add shipwright-build-strategy-controller #169

Conversation

jkhelil
Copy link

@jkhelil jkhelil commented Oct 3, 2023

Add SHIP to propose the shipwright-build-strategy-controller

@pull-request-size pull-request-size bot added the size/L Denotes a PR that changes 100-499 lines, ignoring generated files. label Oct 3, 2023
@openshift-ci
Copy link

openshift-ci bot commented Oct 3, 2023

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please assign adambkaplan for approval. For more information see the Kubernetes Code Review Process.

The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@jkhelil jkhelil force-pushed the shipwright-build-strategy-controller branch from e4d727b to 5ab6c77 Compare October 3, 2023 08:29
@SaschaSchwarze0 SaschaSchwarze0 changed the title Add shipwright-build-strategy-controller SHIP SHIP-0038: Add shipwright-build-strategy-controller SHIP Oct 4, 2023
Copy link
Member

@SaschaSchwarze0 SaschaSchwarze0 left a comment

Choose a reason for hiding this comment

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

Please rename to 0038. 0037 is #136

@jkhelil
Copy link
Author

jkhelil commented Oct 4, 2023

/cc @adambkaplan


```yaml
apiVersion: operator.shipwright.io/v1alpha1
kind: ShipwrightBuildStrategy
Copy link
Member

Choose a reason for hiding this comment

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

Do we really need a new CRD? Can't we extend the existing ShipwrightBuild CRD instead?

Copy link
Author

Choose a reason for hiding this comment

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

Initially I was thinking about avoiding concurrency issues when updating the CR status, but now that you raise the comment and after thinking about it, We do not need a new CRD, as the controller design is leveraging the optimistic concurrency and if the update fails, we should requeue
I will update the SHIP using the same CRD ShipwrightBuild

Comment on lines 115 to 125
```go
main.go
controllers
controller.go
add_shipwrightbuild.go
add_shipwrightbuildstrategy.go
shipwrightbuild
shipwrightbuild_controller.go
shipwrightbuildstragegy
shipwrightbuildstrategy_controller.go
```
Copy link
Member

Choose a reason for hiding this comment

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

This feels like deeper implementation details - we don't want to be overly prescriptive in the proposal when it comes to how this functionality is delivered.

Copy link
Author

@jkhelil jkhelil Oct 5, 2023

Choose a reason for hiding this comment

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

I will update the SHIP and add only requirement or high level design recommendation
We do want One single manager and multiple controllers assigned to it, which means e require a new controller for installing the strategies

Comment on lines 176 to 178
The default strategy catalog or any url provided catalog can be unreachable if the kubernetes cluster needs
- a proxy to access to the catalog url
- it is a disconnected cluster and doesnt have any access to internet
Copy link
Member

Choose a reason for hiding this comment

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

Long term, do we need to think about providing OCI artifact resolvers, like Tekton does with task catalogs? Mirroring images is a well established practice for network-constrained environments.

- "@qu1queee"
creation-date: 2023-10-02
last-updated: 2023-10-02
status: implementable
Copy link
Member

Choose a reason for hiding this comment

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

@qu1queee for "implementable", should we require that the drawbacks and alternatives sections be filled in? These sections aren't marked as required in the current template.

@jkhelil jkhelil changed the title SHIP-0038: Add shipwright-build-strategy-controller SHIP SHIP-0038: Add shipwright-build-strategy-controller Oct 5, 2023
@jkhelil jkhelil force-pushed the shipwright-build-strategy-controller branch 3 times, most recently from 80d4b77 to 636eaa4 Compare October 6, 2023 06:40
@jkhelil jkhelil force-pushed the shipwright-build-strategy-controller branch from 636eaa4 to b05efc2 Compare October 25, 2023 06:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
size/L Denotes a PR that changes 100-499 lines, ignoring generated files.
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

3 participants