Comments (6)
It also serves the purpose of test bed for k8s.io/code-generator and other machinery.
And with many people still following this style intentionally, there is value to keep it. I would be fine with some links in the readme to get to know about the other controller building tools.
from sample-controller.
Who will maintain it outside of k/k? I.e. rebase it to latest client-go each release. In k/k we basically get this for free.
from sample-controller.
@pwittrock Yeah, rebasing it to the latest staging repos (api, apimachinery, client-go, code-generator...) is a huge trouble :( and that's the reason we have it in staging. Also, that's why repos like cluster-bootstrap, cloud-provider are being added into staging today.
Closing this issue. Please reopen if needed.
/close
from sample-controller.
@nikhita: Closing this issue.
In response to this:
@pwittrock Yeah, rebasing it to the latest staging repos (api, apimachinery, client-go, code-generator...) is a huge trouble :( and that's the reason we have it in staging. Also, that's why repos like cluster-bootstrap, cloud-provider are being added into staging today.
Closing this issue. Please reopen if needed.
/close
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.
from sample-controller.
@nikhita @sttts we can probably maintain this as part of the kubebuilder/controller-runtime/controller-tools ecosystem. We probably don't want to actually encourage people to write controllers from scratch like this, copying and pasting all this code around.
This project already falls under the server-sdk subproject, which also is responsible for KB, CR, and CT, so it seems reasonable to have the KB maintainers maintain the sample as a consumer of CR/CT.
WDYT?
from sample-controller.
And with many people still following this style intentionally, there is value to keep it
If people (outside the SIG API Machinery core maintainers) follow this style intentionally for non-legacy reasons, I'd very much like to know why (not trying to be sarcastic there -- I'm genuinely curious as to gaps in CR/CT). AFAICT, most new Go controller projects (both within the kubernetes-sigs umbrella and in the broader community ecosystem) are based on controller-runtime (and several legacy projects have been looking at migrating, IIRC), so significant blockers to further adoption would be super-useful to know.
It also serves the purpose of test bed for k8s.io/code-generator and other machinery.
I'd argue that that reason isn't sufficient for calling this "sample-controller" -- we shouldn't call this repo the sample controller any more than we'd call a controller written without client-go the sample controller. "Sample" implies "this is a good way to start writing your new controller", and I believe we have ample evidence that that's not the case.
It's fine (and a good idea) for us have a testbed for k8s.io/code-generator, but unless we're seriously going to recommend people copy this code to write controllers, then the testbed for k8s.io/code-generator should be "k8s.io/code-generation-test-project" or "k8s.io/code-generator/test-project", or somesuch.
from sample-controller.
Related Issues (20)
- fooLister not achive FooLister interface
- SharedInformer UpdateFunc triggers while Updating status HOT 4
- Got SECURITY ERROR when downloading k8s.io/client-go HOT 6
- Move CRD from `v1beta1` to `v1` HOT 3
- README is wrong on generating code when using Go modules HOT 5
- Please give a more detail readme, there are too many pitfall HOT 8
- `./hack/update-codegen.sh` fails on pristine checkout HOT 4
- go build with error sf.IsExported undefined HOT 8
- [enhancement] Move the code generator logic to a dockerfile HOT 2
- Generate the code with update-codegen.sh in a wrong path HOT 5
- Documentation error: example CRD already exists while trying to apply manually HOT 5
- How is the Deep Copy files are generated ? HOT 5
- Why has not the NewController use a leader election like leaderelection? HOT 4
- 无法执行生成 HOT 8
- How are the files crd.yaml and crd-status-subresource. yaml generated HOT 4
- State of the docs? HOT 4
- Why does fooInformer not register a delete event handling handler?
- code is not generated to correct dir HOT 4
- code generator errors HOT 6
- Some optimization suggestions for code generators HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from sample-controller.