skipper
api
skipper | api | |
---|---|---|
4 | 8 | |
3,030 | 628 | |
1.0% | 2.7% | |
9.7 | 9.2 | |
4 days ago | 7 days ago | |
Go | Go | |
GNU General Public License v3.0 or later | 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.
skipper
-
Using spring boot for a gateway
So my advice is: Don‘t implement anything someone else already did better and have a look at Skipper: https://github.com/zalando/skipper
-
Validating Admission Requests in a Validating Admission Webhook
That's all! You can find a complete example of an Admit func from the Validating Admission Webhook in Skipper. I've also included an abridged version at the end of this blog post.
-
Making the ValidatingWebhook Testable
This series is based on my experience adding a ValidatingAdmissionWebhook to Skipper, modern HTTP proxy.
-
Parsing Admission Requests in a Validating Admission Webhook
You can find an abridged version of admission.Handler under "Reference". For a complete example of a validating admission webhook being used in production, checkout the validating admission webhook in Skipper, our HTTP reverse proxy.
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?
opera-proxy - Standalone client for proxies of Opera VPN
kubectl-explore - A better kubectl explain with the fuzzy finder
kube-httpcache - Varnish Reverse Proxy on Kubernetes
kubernetes - Production-Grade Container Scheduling and Management
application-gateway-kubernetes-ingress - This is an ingress controller that can be run on Azure Kubernetes Service (AKS) to allow an Azure Application Gateway to act as the ingress for an AKS cluster.
apimachinery
Botkube - An app that helps you monitor your Kubernetes cluster, debug critical deployments & gives recommendations for standard practices
cert-manager - Automatically provision and manage TLS certificates in Kubernetes
haproxy-ingress - HAProxy Ingress
c - Official C client library for Kubernetes
k8tz - Kubernetes admission controller and a CLI tool to inject timezones into Pods and CronJobs
aws-iam-authenticator - A tool to use AWS IAM credentials to authenticate to a Kubernetes cluster