-
Notifications
You must be signed in to change notification settings - Fork 262
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
Crossplane controller code generation using ACK pipeline #449
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
2 tasks
de1f58f
to
eb53c3b
Compare
26 tasks
5 tasks
6d7155b
to
2efc529
Compare
4c9548b
to
b2d1d26
Compare
generated crossplane API types. (cherry picked from commit e016e49) Signed-off-by: Muvaffak Onus <onus.muvaffak@gmail.com>
Signed-off-by: Muvaffak Onus <onus.muvaffak@gmail.com> crossplane: add apis subcommand with provider-dir flag to crossplane subcommand Signed-off-by: Muvaffak Onus <onus.muvaffak@gmail.com> crossplane: update with new subtemplates. Signed-off-by: Muvaffak Onus <onus.muvaffak@gmail.com> crossplane: add a section about Crossplane Provider Generation to dev-docs Signed-off-by: Muvaffak Onus <onus.muvaffak@gmail.com> crossplane: add new crossplane.Generation struct for generating Crossplane types and controllers Signed-off-by: Muvaffak Onus <onus.muvaffak@gmail.com> crossplane: update templates for controller Signed-off-by: Muvaffak Onus <onus.muvaffak@gmail.com> crossplane: add initial controller template Signed-off-by: Muvaffak Onus <onus.muvaffak@gmail.com> crossplane: use kubebuilder required mark in crds Signed-off-by: Muvaffak Onus <onus.muvaffak@gmail.com> crossplane: implement IsNotFound func and use it in wherever necessary Signed-off-by: Muvaffak Onus <onus.muvaffak@gmail.com> crossplane: pre/post hooks are in place for resource-specific custom code Signed-off-by: Muvaffak Onus <onus.muvaffak@gmail.com> crossplane: use SetManyOutput to get only status fields updated Signed-off-by: Muvaffak Onus <onus.muvaffak@gmail.com> crossplane: prefix generated files with zz_ to match kubebuilder behavior Signed-off-by: Muvaffak Onus <onus.muvaffak@gmail.com> crossplane: ready condition should be set by custom code Signed-off-by: Muvaffak Onus <onus.muvaffak@gmail.com> crossplane: run goimports on generated code Signed-off-by: Muvaffak Onus <onus.muvaffak@gmail.com> crossplane: add documentation comments to generated API files Signed-off-by: Muvaffak Onus <onus.muvaffak@gmail.com> crossplane: use generator config file in the target provider directory Signed-off-by: Muvaffak Onus <onus.muvaffak@gmail.com> crossplane: use crd name as module name for its controller Signed-off-by: Muvaffak Onus <onus.muvaffak@gmail.com> crossplane: generate boilerplate only once for custom hooks Signed-off-by: Muvaffak Onus <onus.muvaffak@gmail.com> crossplane: custom default config for SDKHelper used by Crossplane generation pipeline Signed-off-by: Muvaffak Onus <onus.muvaffak@gmail.com> crossplane: licence boilerplates are corrected Signed-off-by: Muvaffak Onus <onus.muvaffak@gmail.com> crossplane: added list filtering for readmany results Signed-off-by: Muvaffak Onus <onus.muvaffak@gmail.com> crossplane: add inline custom parameter struct to Parameters so that we can add additional fields manually in a different file Signed-off-by: Muvaffak Onus <onus.muvaffak@gmail.com> crossplane: use all-lower string for package name of the generated controllers Signed-off-by: Muvaffak Onus <onus.muvaffak@gmail.com> crossplane: region field should not have omitempty tag and connect method does not need to call NewSession Signed-off-by: Muvaffak Onus <onus.muvaffak@gmail.com> crossplane: ReadOne template is implemented Signed-off-by: Muvaffak Onus <onus.muvaffak@gmail.com> crossplane: Make deletion optional and write isUpToDate to hooks Signed-off-by: Muvaffak Onus <onus.muvaffak@gmail.com> crossplane: add fallback for the case where service alias does not match the model name in sdk Signed-off-by: Muvaffak Onus <onus.muvaffak@gmail.com>
5b944e9
to
4cb6df5
Compare
jaypipes
approved these changes
Nov 25, 2020
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.
Went through this with @muvaf on Zoom. Welcome Crossplane to ACK land :)
This was referenced Nov 30, 2020
Closed
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Issue #, if available:
Description of changes: Introduces another pipeline that generates Crossplane controller code. This means that all services ACK supports will also be supported by Crossplane AWS Provider and this is the initial PR.
As of now, 12 API Gateway v2 services, DynamoDB services, Amazon StepFunctions and ECR are generated using this pipeline. Future PRs on templates will expand the support for more services whose controller is generated for both ACK and Crossplane.
Depends on #443 and #501
Fixes crossplane/crossplane#1845
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.