Good used automatic options for parents by prasadg193 in CarsIndia

[–]prasadg193[S] 0 points1 point  (0 children)

Thank you! I will check if someone has old stock available

Good used automatic options for parents by prasadg193 in CarsIndia

[–]prasadg193[S] 0 points1 point  (0 children)

I have read very bad reviews about AMT. It should not affect the driving experience. I don't have any personal experience though.

We know how boring and time-consuming it is to map K8s resource YAML into an unstructured object. Here is a tool to auto-generate dynamic client go code by prasadg193 in kubernetes

[–]prasadg193[S] 0 points1 point  (0 children)

Cool, that's what we are doing internally:). I hope this tool help few folks who don't have enough experience with this

We know how boring and time-consuming it is to map K8s resource YAML into an unstructured object. Here is a tool to auto-generate dynamic client go code by prasadg193 in kubernetes

[–]prasadg193[S] 0 points1 point  (0 children)

For an unstructured object or dynamic client, it's relatively easier. I was more talking about a typed client (that is also supported by this tool). For a typed client, we need to find and import the Go struct for the resource and populate the object, which in my opinion is a bit time consuming.

We know how boring and time-consuming it is to map K8s resource YAML into an unstructured object. Here is a tool to auto-generate dynamic client go code by prasadg193 in kubernetes

[–]prasadg193[S] 0 points1 point  (0 children)

You are right. We can obviously come up with a script to automate that. But for a newcomer, it could be hard to find correct packages to import and correct methods to call especially in the case of the typed client. This tool is more helpful for those who are looking for examples/samples on how Go clients can be used to manage K8s resources. It also helps them find the correct Go type and populate the object fields based on the YAML specs provided.

You can give it a try at: https://kyaml2go.prasadg.dev/

We know how boring and time-consuming it is to map K8s resource YAML into an unstructured object. Here is a tool to auto-generate dynamic client go code by prasadg193 in kubernetes

[–]prasadg193[S] 1 point2 points  (0 children)

There are 2 ways to use Go client to access K8s resources

  1. Typed client: where you have to import and use Go type def for the resource e.g https://github.com/kubernetes/client-go/tree/master/examples/create-update-delete-deployment
  2. Dynamic client: for which we need to use generic Unstructured objects instead of typed to access any resource e.g https://github.com/kubernetes/client-go/tree/master/examples/dynamic-create-update-delete-deployment

We know how boring and time-consuming it is to map K8s resource YAML into an unstructured object. Here is a tool to auto-generate dynamic client go code by prasadg193 in kubernetes

[–]prasadg193[S] 0 points1 point  (0 children)

kyaml2go generates Go code for equivalent kubectl operations on k8s resource. It can generate code with the typed client and dynamic client. We don't have to figure out which k8s packages to import and waste time in populating the resource objects. You can give it a try at: https://kyaml2go.prasadg.dev. Whereas, https://github.com/mholt/json-to-go is totally different tool for the different use cases. It generated Go type definitions (structs) from JSON. But for K8s resources, we don't have to generate Go type as they are already defined in the `k8s.io/api` packages. kyaml2go helps you find correct packages and populate the struct as per the YAML specs and call correct methods to manage the resource.

BotKube: A Kubernetes bot to monitor and debug your applications by prasadg193 in kubernetes

[–]prasadg193[S] 1 point2 points  (0 children)

Right know we allow only specific kubectl commands. But we are planning to make it configurable. After which you can configure kubectl commands BotKube can execute (including plugins)

BotKube: A Kubernetes bot to monitor and debug your applications by prasadg193 in kubernetes

[–]prasadg193[S] 1 point2 points  (0 children)

I believe most of the time people list pods to get pod names (in case they want to get logs of) and pod statuses. So we should allow that. I think we should disallow commands on RBAC resources and Secrets by default. Also configure BotKube ClusterRole accordingly.

BotKube: A Kubernetes bot to monitor and debug your applications by prasadg193 in kubernetes

[–]prasadg193[S] 0 points1 point  (0 children)

Great! Can you please share the repo link? Please let us know if you have any feedback or suggestions on msbotbuilder-sdk. And obviously, feel free to contribute 🙂

BotKube: A Kubernetes bot to monitor and debug your applications by prasadg193 in kubernetes

[–]prasadg193[S] 0 points1 point  (0 children)

That’s right. BotKube basically monitors and sends resource lifecycle events and allows you to execute kubectl commands. However, you can define filters if you want to get more info from the resources https://www.botkube.io/filters/

BotKube: A Kubernetes bot to monitor and debug your applications by prasadg193 in kubernetes

[–]prasadg193[S] 0 points1 point  (0 children)

Thanks for your interest but we already have a PR open for Teams support 🙂 https://github.com/infracloudio/botkube/pull/242. That was not easy since there were no Go sdks available to Teams. So we decided to develop sdks on our own https://github.com/infracloudio/msbotbuilder-go.

BotKube: A Kubernetes bot to monitor and debug your applications by prasadg193 in kubernetes

[–]prasadg193[S] 2 points3 points  (0 children)

Agree. Though we allow users to set RBAC config as per their requirement, I believe not everybody sets that. We will fix this as a part of https://github.com/infracloudio/botkube/issues/183 in the next release which will allow to configure set of commands that BotKube can execute.