- REST APIs
- built-in go-based APIs
- custom resources
- x-k8s.io - experimental, fast prototyping
- k8s.io - "official", get API reviewed
- most difficult to change over time
- all (non-alpha) versions have to round-trip to each other losslessly
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env bash | |
# Graph at: | |
# https://docs.google.com/spreadsheets/d/1gtfXBuvBbS5OGHDX78Ax7I9ZKwNbn9l895Y6QlhhJGc/edit | |
# | |
# Results at: | |
# https://gist.github.com/liggitt/c85167509c56481c46c7bf602616041f | |
go install github.com/hhatto/gocloc/cmd/gocloc@latest | |
go install github.com/kubernetes-sigs/depstat@latest |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
DEBUG CREATED: | |
{ | |
"metadata": { | |
"name": "test", | |
"namespace": "default", | |
"uid": "1270bfa8-8a02-4e06-862d-08e9e0cca377", | |
"resourceVersion": "2488", | |
"generation": 1, | |
"creationTimestamp": "2025-03-04T19:25:20Z", | |
"managedFields": [ |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
git grep -E '// (INFO|WARNING):.*(requires manual conversion|opted out of conversion generation)' | |
cmd/kubeadm/app/apis/kubeadm/v1beta3/zz_generated.conversion.go: // INFO: in.ComponentConfigs opted out of conversion generation | |
cmd/kubeadm/app/apis/kubeadm/v1beta3/zz_generated.conversion.go: // INFO: in.CIKubernetesVersion opted out of conversion generation | |
cmd/kubeadm/app/apis/kubeadm/v1beta3/zz_generated.conversion.go: // WARNING: in.Proxy requires manual conversion: does not exist in peer-type | |
cmd/kubeadm/app/apis/kubeadm/v1beta3/zz_generated.conversion.go: // INFO: in.CIImageRepository opted out of conversion generation | |
cmd/kubeadm/app/apis/kubeadm/v1beta3/zz_generated.conversion.go: // WARNING: in.EncryptionAlgorithm requires manual conversion: does not exist in peer-type | |
cmd/kubeadm/app/apis/kubeadm/v1beta3/zz_generated.conversion.go: // WARNING: in.ExtraArgs requires manual conversion: inconvertible types (map[string]string vs []k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm.Arg) | |
cmd/kubeadm/app/apis/ |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"int": 1, | |
"bool": true, | |
"string": "This is a test of a string 1", | |
"map": { | |
"a": "1", | |
"b": "2", | |
"c": "3", | |
"d": "4" | |
}, |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"apiVersion": "certificates.k8s.io/v1", | |
"kind": "CertificateSigningRequest", | |
"metadata": { "name": "test" }, | |
"spec": { | |
"signerName": "example.com/signer", | |
"usages": ["any"], | |
"request": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURSBSRVFVRVNULS0tLS0KTUlJQnlqQ0NBVE1DQVFBd2dZa3hDekFKQmdOVkJBWVRBbFZUTVJNd0VRWURWUVFJRXdwRFlXeHBabTl5Ym1saApNUll3RkFZRFZRUUhFdzFOYjNWdWRHRnBiaUJXYVdWM01STXdFUVlEVlFRS0V3cEhiMjluYkdVZ1NXNWpNUjh3CkhRWURWUVFMRXhaSmJtWnZjbTFoZEdsdmJpQlVaV05vYm05c2IyZDVNUmN3RlFZRFZRUURFdzUzZDNjdVoyOXYKWjJ4bExtTnZiVENCbnpBTkJna3Foa2lHOXcwQkFRRUZBQU9CalFBd2dZa0NnWUVBcFp0WUpDSEo0VnBWWEhmVgpJbHN0UVRsTzRxQzAzaGpYK1prUHl2ZFlkMVE0K3FiQWVUd1htQ1VLWUhUaFZSZDVhWFNxbFB6eUlCd2llTVpyCldGbFJRZGRaMUl6WEFsVlJEV3dBbzYwS2VjcWVBWG5uVUsrNWZYb1RJL1VnV3NocmU4dEoreC9UTUhhUUtSL0oKY0lXUGhxYVFoc0p1elpidkFkR0E4MEJMeGRNQ0F3RUFBYUFBTUEwR0NTcUdTSWIzRFFFQkJRVUFBNEdCQUlobAo0UHZGcStlN2lwQVJnSTVaTStHWng2bXBDejQ0RFRvMEprd2ZSRGYrQnRyc2FDMHE2OGVUZjJYaFlPc3E0ZmtIClEwdUEwYVZvZzNmNWlKeENhM0hwNWd4YkpRNnpWNmtKMFRFc3VhYU9oRWtvOXNkcENvUE |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# run on k8s.io/kubernetes checkout at 99190634ab252604a4496882912ac328542d649d | |
# go version 1.20.6 | |
govulncheck -scan module -json -test ./... > module_test.json | |
govulncheck -scan module -json ./... > module.json | |
govulncheck -scan package -json -test ./... > package_test.json | |
govulncheck -scan package -json ./... > package.json | |
govulncheck -scan symbol -json -test ./... > symbol_test.json | |
govulncheck -scan symbol -json ./... > symbol.json |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Apply like this to bypass client-side validation and exercise server-side validation: | |
# | |
# kubectl apply -f cel-type-mismatch.yaml --validate=false | |
apiVersion: apiextensions.k8s.io/v1 | |
kind: CustomResourceDefinition | |
metadata: | |
name: mismatches.example.com | |
spec: | |
group: example.com |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
kind: Pod | |
apiVersion: v1 | |
metadata: | |
name: baseline-pod | |
spec: | |
containers: | |
- name: default | |
image: k8s.gcr.io/pause:3.2 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package main | |
import ( | |
"fmt" | |
"runtime" | |
"sync" | |
"time" | |
) | |
func main() { |
NewerOlder