kujtimiihoxha / gk

Go-Kit Genetator
Apache License 2.0
151 stars 28 forks source link

Plans for extending gk #7

Closed kujtimiihoxha closed 7 years ago

kujtimiihoxha commented 7 years ago

I am starting a new project where I will be using go-kit extensively and I am planning to extend gk to make the workflow a bit easier, some of the things that I would like to add are:

These are some of the things I am thinking would make it much easier to develop go-kit apps. @peterbourgon I would appreciate any suggestions you propose that would be beneficial to go-kit users.

kujtimiihoxha commented 7 years ago

The new generator is https://github.com/kujtimiihoxha/kit, I decided to create a new repo for the new generator because I don't want to break compatibility for users using gk

peterbourgon commented 7 years ago

I'm sorry to say I don't really have any suggestions here. If these things are productive for you, please continue! But this is a mode of development (run command, deep Docker integration, autogen middleware as plugins, etc.) that I neither use nor endorse for Go kit generally. (It may make sense for Go kit applied in a specific organization, of course.)

kujtimiihoxha commented 7 years ago

@peterbourgon thanks, the run command would be just intended for dev environment so the developer has an easy way to start the app (the idea is here that all the services will have their own main.go file so there will not be a single main file) and this dev environment will somewhat mimic the real world application... but yeah that's just one use case I would like to have when developing my infrastructure.

Regarding the middleware, by the default middleware, I meant the logging/metrics middleware that most(if not all) the services should have, in my new generator https://github.com/kujtimiihoxha/kit I added the possibility to add those by default to the generated service.

Also, https://github.com/kujtimiihoxha/kit has all improvements I wanted to make with gk (besides the run command) it generates the main.go file of the service and it can even create a client lib that you can use to call your service. At the time only http is supported but I plan to support the other transports until the end of this week.

If you have time check it out ;), Thanks for your feedback.

kujtimiihoxha commented 7 years ago

Closing this since I think that https://github.com/kujtimiihoxha/kit matches most of what I wanted to see in a more advanced version of gk.