kubelet component configs
Go to file
Tim Hockin 189da6f245 Set proto go_package: podresources API
This creates some diff to the *.pb.go files to note that
in the "options".

You can dump the gzipped blob with the following program (thanks
StackOverflow!):

```go
package main

import (
	"bytes"
	"compress/gzip"
	"encoding/json"
	"fmt"
	"os"

	"io/ioutil"

	proto "github.com/golang/protobuf/proto"
	dpb "github.com/golang/protobuf/protoc-gen-go/descriptor"
)

func main() {
	m := map[string][]byte{
		"before": blobv1,
		"after": blobv2,
	}
	arg := os.Args[1]
	dump(m[arg])
}

func dump(bytes []byte) {
	fd, err := decodeFileDesc(bytes)
	if err != nil {
		panic(err)
	}
	b, err := json.MarshalIndent(fd, "", "  ")
	if err != nil {
		panic(err)
	}
	fmt.Println(string(b))
}

// decompress does gzip decompression.
func decompress(b []byte) ([]byte, error) {
	r, err := gzip.NewReader(bytes.NewReader(b))
	if err != nil {
		return nil, fmt.Errorf("bad gzipped descriptor: %v", err)
	}
	out, err := ioutil.ReadAll(r)
	if err != nil {
		return nil, fmt.Errorf("bad gzipped descriptor: %v", err)
	}
	return out, nil
}

func decodeFileDesc(enc []byte) (*dpb.FileDescriptorProto, error) {
	raw, err := decompress(enc)
	if err != nil {
		return nil, fmt.Errorf("failed to decompress enc: %v", err)
	}

	fd := new(dpb.FileDescriptorProto)
	if err := proto.Unmarshal(raw, fd); err != nil {
		return nil, fmt.Errorf("bad descriptor: %v", err)
	}
	return fd, nil
}
```

Kubernetes-commit: a2603fdb81ab2160ec80f2063a258d18854e80e3
2023-01-14 10:22:56 -08:00
.github Add skeleton new repo files 2018-09-02 14:23:12 +03:00
config remove a flag check that was introduced in #112542; address several comments 2022-10-12 02:09:19 +08:00
pkg/apis Set proto go_package: podresources API 2023-01-14 10:22:56 -08:00
CONTRIBUTING.md Update deprecated links 2019-02-04 13:28:31 -05:00
LICENSE Add skeleton new repo files 2018-09-02 14:23:12 +03:00
OWNERS Check in OWNERS modified by update-yamlfmt.sh 2021-12-09 21:31:26 -05:00
README.md staging: add dummy commit to trigger gomod update (#106794) 2021-12-03 10:23:17 +00:00
SECURITY_CONTACTS Update SECURITY_CONTACTS with current PSC 2019-05-29 15:22:35 +05:30
code-of-conduct.md Add skeleton new repo files 2018-09-02 14:23:12 +03:00
doc.go Make package paths referenced by import boss valid 2021-09-28 13:06:39 -04:00
go.mod Merge pull request #115238 from thockin/codegen-8-proto-bindings 2023-01-22 01:26:40 +00:00
go.sum Merge pull request #115238 from thockin/codegen-8-proto-bindings 2023-01-22 01:26:40 +00:00

README.md

kubelet

Implements KEP 14 - Moving ComponentConfig API types to staging repos

This repo provides external, versioned ComponentConfig API types for configuring the kubelet. These external types can easily be vendored and used by any third-party tool writing Kubernetes ComponentConfig objects.

Compatibility

HEAD of this repo will match HEAD of k8s.io/apiserver, k8s.io/apimachinery, and k8s.io/client-go.

Where does it come from?

This repo is synced from https://github.com/kubernetes/kubernetes/tree/master/staging/src/k8s.io/kubelet. Code changes are made in that location, merged into k8s.io/kubernetes and later synced here by a bot.