apimachinery
api
apimachinery | api | |
---|---|---|
5 | 8 | |
781 | 622 | |
0.6% | 1.8% | |
8.8 | 9.2 | |
10 days ago | 10 days ago | |
Go | Go | |
Apache License 2.0 | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
apimachinery
-
AWS open source newsletter, #176
operatorpkg is a set of packages used to develop Kubernetes operators at AWS. It contains opinions on top of existing projects like https://github.com/kubernetes/apimachinery and https://github.com/kubernetes-sigs/controller-runtime. In many cases, we plan to mature packages in operatorpkg before commiting them upstream.
-
Using client-go to `kubectl apply` against the Kubernetes API directly with multiple types in a single YAML file
I found this issue to be helpful: https://github.com/kubernetes/client-go/issues/193The decoder lives here: https://github.com/kubernetes/apimachinery/tree/master/pkg/runtime/serializer
-
Watch and react to Kubernetes objects changes
In all cases, the returned object is an implementation of watch.Interface that looks like this:
- Debug using client-go in kind cluster
- Golang Design Patterns in Kubernetes Codebase
api
-
Exemple of Web API written in Go that you'd consider high quality
Good point, here it is https://github.com/kubernetes/api
-
alternative to kubectl explain?
Better is probably subjective, but you have options. You can run the doc website locally (https://github.com/kubernetes/website) or search the API definitions directly (https://github.com/kubernetes/api). Good ol `git grep` I suppose.
-
Using client-go to `kubectl apply` against the Kubernetes API directly with multiple types in a single YAML file
I understand that I need to do some (un)marshalling of the YAML bytes into the correct API types defined in package: https://github.com/kubernetes/api
-
Why isn't there a good/standard C++ API for kubernetes
Despite that though, someone was generous enough to ensure that there are protobuf files laying around for us to use.
-
Implementing a simple K8s admission controller in Go
Then we have to create the admissionHandler to receive all the requests from our webhooks. These requests are coming with a JSON-encoded AdmissionReview (with the Request field filled) in the request body. The response should be a JSON AdmissionReview with the Response field filled.
-
5 Time saving things about client-go, I didn't know!
k8s.io/client-go isn’t enough to talk to kubernetes API, you need k8s.io/api and k8s.io/apimachinery too You have to match their versions for it to all work! See the client-go versioning for simple instructions!
-
Validating Admission Requests in a Validating Admission Webhook
You can find the definitions of the AdmissionReview object in k8s.io/api repository.
-
Parsing Admission Requests in a Validating Admission Webhook
Note how I am just using the upstream AdmissionReview type from k8s.io/api/admission/v1 here. You can find other Kubernetes types in the k8s.io/api repo as well.
What are some alternatives?
client-go - Go client for Kubernetes.
kubectl-explore - A better kubectl explain with the fuzzy finder
controller-runtime - Repo for the controller-runtime subproject of kubebuilder (sig-apimachinery)
kubernetes - Production-Grade Container Scheduling and Management
kube-openapi - Kubernetes OpenAPI spec generation & serving
cert-manager - Automatically provision and manage TLS certificates in Kubernetes
k8s - A simple Kubernetes Go client
c - Official C client library for Kubernetes
aws-iam-authenticator - A tool to use AWS IAM credentials to authenticate to a Kubernetes cluster
apiserver - Library for writing a Kubernetes-style API server.
skipper - An HTTP router and reverse proxy for service composition, including use cases like Kubernetes Ingress