You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Add more structure to our directories, and document it #4851
Our code is hard to navigate, and github search isn't the greatest. It would help if the directory structure weren't so flat. I'm also not sure it makes sense for plugin to not be under pkg. #2306 is related, but separate.
Hm, I'd actually instead consider putting the controllers under plugin along with scheduler. client/ is used by multiple packages, so I think it should go in common. conversion/ is meant to be generic, so that should go under util.
master/
service/
resourcequota/
storage/
etcd/
ui/
node/
kubelet/
proxy/
plugin/
scheduler/
nodecontroller/
replicationcontroller/
cloudprovider/
kubectl/
common/
apischema/
internal/
public/
v1beta1/
v1beta2/
v1beta3/
apiserver/
apiframework/
api/: generic files from pkg/api
meta/
registry/ (generic CRUD)
runtime/
version/
watch/ (Maybe util/ is a better home? I need to see if this grew specific stuff.)
auth/ (what is this auth? how does it differ from the client/auth/?)
Possible counter strawman - send people to the godoc page, which should display nice paragraph summaries of each package (and flog folks to add nice descriptions where there aren't)?
Our code is hard to navigate, and github search isn't the greatest. It would help if the directory structure weren't so flat. I'm also not sure it makes sense for plugin to not be under pkg. #2306 is related, but separate.
Where can we put source (Dockerfiles etc.) for the images we create (e.g. for logging)? It would be good to have one place where all the sources for our images are located. Currently for logging they are under contrib and cluster.
As someone who did not write all that code, I find it very hard to find anything. I too often end up running grep -Ri xxx or find . -name xxxx from the root directory.
Hm, I'd actually instead consider putting the controllers under plugin along with scheduler. client/ is used by multiple packages, so I think it should go in common. conversion/ is meant to be generic, so that should go under util.
master/
service/
resourcequota/
storage/
etcd/
ui/
node/
kubelet/
proxy/
plugin/
scheduler/
nodecontroller/
replicationcontroller/
cloudprovider/
kubectl/
common/
apischema/
internal/
public/
v1beta1/
v1beta2/
v1beta3/
apiserver/
apiframework/
api/: generic files from pkg/api
Hrm - I do think there are api consumption characteristics that don't cross over cleanly. Agree this whole package could do with some reorg.
meta/
registry/ (generic CRUD)
runtime/
version/
watch/ (Maybe util/ is a better home? I need to see if this grew specific stuff.)
auth/ (what is this auth? how does it differ from the client/auth/?)
It's the server side as opposed to client. I think client auth is much more consumer focused, whereas this is almost all server, so very little common code.
client/
auth/
config/
lib/
util/
labels/
probe/
resource/
types/
conversion/
—
Reply to this email directly or view it on GitHub.
I'm far less concerned about hiding packages than I am about organizing
them. :) internal/ is cute, but I don't think we've done a good enough job
of breaking up the packages and grouping them into subtrees to do much with
it yet.
go1.5 adds internal/ package visibility constraints so we can enforce
private packages (at least as long as we, and our downstreams, are using go
build)
—
Reply to this email directly or view it on GitHub #4851 (comment)
.
Activity
lavalamp commentedon Feb 26, 2015
Hm, I'd actually instead consider putting the controllers under plugin along with scheduler. client/ is used by multiple packages, so I think it should go in common. conversion/ is meant to be generic, so that should go under util.
smarterclayton commentedon Feb 26, 2015
Possible counter strawman - send people to the godoc page, which should display nice paragraph summaries of each package (and flog folks to add nice descriptions where there aren't)?
bgrant0607 commentedon Feb 26, 2015
godoc is also necessary, but I don't see how it solves the problem of needing to look at the godoc for a zillion directories to find something.
smarterclayton commentedon Feb 27, 2015
I guess I had not viewed it as a problem so far. I don't object to it being "fixed".
bgrant0607 commentedon Feb 27, 2015
Of course, the person who wrote all the code doesn't need help finding anything. :-)
satnam6502 commentedon Feb 27, 2015
Where can we put source (Dockerfiles etc.) for the images we create (e.g. for logging)? It would be good to have one place where all the sources for our images are located. Currently for logging they are under
contribandcluster.satnam6502 commentedon Feb 27, 2015
As someone who did not write all that code, I find it very hard to find anything. I too often end up running
grep -Ri xxxorfind . -name xxxxfrom the root directory.bgrant0607 commentedon Feb 27, 2015
#2992 would also facilitate grepping.
smarterclayton commentedon Feb 27, 2015
27 remaining items
thockin commentedon Aug 20, 2015
I'm far less concerned about hiding packages than I am about organizing
them. :) internal/ is cute, but I don't think we've done a good enough job
of breaking up the packages and grouping them into subtrees to do much with
it yet.
On Wed, Aug 19, 2015 at 3:50 PM, Mike Danese notifications@github.com
wrote:
smarterclayton commentedon Aug 20, 2015
Also, anything you move to internal/ probably needs to be verified
Openshift isnt using. Internal is cute but not our problem right now.
smarterclayton commentedon Jun 1, 2017
1.6 mostly completed the separation of these into better defined packages.
chore: fix author matching in Mergify configuration (kubernetes#4851)