just looking at outputs of CBOR for comparison
pulled the serving-crds.yaml for knative, then made a json form of it, for marshaling to cbor for comparison Signed-off-by: Vincent Batts <vbatts@hashbangbash.com>
This commit is contained in:
commit
80fe32f52e
7 changed files with 1508 additions and 0 deletions
8
Makefile
Normal file
8
Makefile
Normal file
|
@ -0,0 +1,8 @@
|
|||
|
||||
|
||||
default: test
|
||||
|
||||
|
||||
test: $(wildcard *.go) serving-crds.json
|
||||
go test -v .
|
||||
|
9
go.mod
Normal file
9
go.mod
Normal file
|
@ -0,0 +1,9 @@
|
|||
module mtest
|
||||
|
||||
go 1.15
|
||||
|
||||
require (
|
||||
github.com/fxamacker/cbor v1.5.1
|
||||
github.com/fxamacker/cbor/v2 v2.2.0
|
||||
github.com/sirupsen/logrus v1.7.0
|
||||
)
|
16
go.sum
Normal file
16
go.sum
Normal file
|
@ -0,0 +1,16 @@
|
|||
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
|
||||
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||
github.com/fxamacker/cbor v1.5.1 h1:XjQWBgdmQyqimslUh5r4tUGmoqzHmBFQOImkWGi2awg=
|
||||
github.com/fxamacker/cbor v1.5.1/go.mod h1:3aPGItF174ni7dDzd6JZ206H8cmr4GDNBGpPa971zsU=
|
||||
github.com/fxamacker/cbor/v2 v2.2.0 h1:6eXqdDDe588rSYAi1HfZKbx6YYQO4mxQ9eC6xYpU/JQ=
|
||||
github.com/fxamacker/cbor/v2 v2.2.0/go.mod h1:TA1xS00nchWmaBnEIxPSE5oHLuJBAVvqrtAnWBwBCVo=
|
||||
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
|
||||
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
|
||||
github.com/sirupsen/logrus v1.7.0 h1:ShrD1U9pZB12TX0cVy0DtePoCH97K8EtX+mg7ZARUtM=
|
||||
github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0=
|
||||
github.com/stretchr/testify v1.2.2 h1:bSDNvY7ZPG5RlJ8otE/7V6gMiyenm9RtJ7IUVIAoJ1w=
|
||||
github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
|
||||
github.com/x448/float16 v0.8.4 h1:qLwI1I70+NjRFUR3zs1JPUCgaCXSh3SW62uAKT1mSBM=
|
||||
github.com/x448/float16 v0.8.4/go.mod h1:14CWIYCyZA/cWjXOioeEpHeN/83MdbZDRQHoFcYsOfg=
|
||||
golang.org/x/sys v0.0.0-20191026070338-33540a1f6037 h1:YyJpGZS1sBuBCzLAR1VEpK193GlqGZbnPFnPV/5Rsb4=
|
||||
golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
104
mtest.go
Normal file
104
mtest.go
Normal file
|
@ -0,0 +1,104 @@
|
|||
package mtest
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"io/ioutil"
|
||||
"os"
|
||||
|
||||
"github.com/fxamacker/cbor/v2"
|
||||
"github.com/sirupsen/logrus"
|
||||
)
|
||||
|
||||
type Sample struct {
|
||||
User struct {
|
||||
Name string `json:"n",cbor:"n"`
|
||||
Email string `json:"e",cbor:"e"`
|
||||
} `json:"n",cbor:"n"`
|
||||
Annotations map[string]string `json:"a",cbor:"a"`
|
||||
}
|
||||
|
||||
func OtherThings() {
|
||||
opts := cbor.CanonicalEncOptions()
|
||||
// If needed, modify opts. For example: opts.Time = cbor.TimeUnix
|
||||
|
||||
// Create reusable EncMode interface with immutable options, safe for concurrent use.
|
||||
em, err := opts.EncMode()
|
||||
if err != nil {
|
||||
logrus.Fatal(err)
|
||||
}
|
||||
|
||||
jbuf, err := ioutil.ReadFile("serving-crds.json")
|
||||
if err != nil {
|
||||
logrus.Fatal(err)
|
||||
}
|
||||
d := []map[string]interface{}{}
|
||||
err = json.Unmarshal(jbuf, &d)
|
||||
if err != nil {
|
||||
logrus.Fatal(err)
|
||||
}
|
||||
|
||||
logrus.Info("writing to serving-crds.cbor")
|
||||
fd, err := os.OpenFile("serving-crds.cbor", os.O_CREATE|os.O_WRONLY|os.O_TRUNC, os.FileMode(0644))
|
||||
if err != nil {
|
||||
logrus.Fatal(err)
|
||||
}
|
||||
defer fd.Close()
|
||||
|
||||
encoder := em.NewEncoder(fd) // create encoder with io.Writer w
|
||||
err = encoder.Encode(d) // encode v to io.Writer w
|
||||
if err != nil {
|
||||
logrus.Fatal(err)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
func Things() {
|
||||
opts := cbor.CanonicalEncOptions()
|
||||
// If needed, modify opts. For example: opts.Time = cbor.TimeUnix
|
||||
|
||||
// Create reusable EncMode interface with immutable options, safe for concurrent use.
|
||||
em, err := opts.EncMode()
|
||||
if err != nil {
|
||||
logrus.Fatal(err)
|
||||
}
|
||||
|
||||
s := Sample{}
|
||||
s.User.Name = "Vincent Batts"
|
||||
s.User.Email = "vbatts@hashbangbash.com"
|
||||
s.Annotations = map[string]string{
|
||||
"farts": "a lot",
|
||||
}
|
||||
|
||||
// Use EncMode like encoding/json, with same function signatures.
|
||||
b, err := em.Marshal(s) // encode v to []byte b
|
||||
if err != nil {
|
||||
logrus.Fatal(err)
|
||||
}
|
||||
_ = b
|
||||
|
||||
logrus.Info("writing to output.cbor")
|
||||
fd1, err := os.OpenFile("output.cbor", os.O_CREATE|os.O_WRONLY|os.O_TRUNC, os.FileMode(0644))
|
||||
if err != nil {
|
||||
logrus.Fatal(err)
|
||||
}
|
||||
defer fd1.Close()
|
||||
|
||||
encoder := em.NewEncoder(fd1) // create encoder with io.Writer w
|
||||
err = encoder.Encode(s) // encode v to io.Writer w
|
||||
if err != nil {
|
||||
logrus.Fatal(err)
|
||||
}
|
||||
|
||||
logrus.Info("writing to output.json")
|
||||
fd2, err := os.OpenFile("output.json", os.O_CREATE|os.O_WRONLY, os.FileMode(0644))
|
||||
if err != nil {
|
||||
logrus.Fatal(err)
|
||||
}
|
||||
defer fd2.Close()
|
||||
|
||||
jenc := json.NewEncoder(fd2) // create encoder with io.Writer w
|
||||
err = jenc.Encode(s) // encode v to io.Writer w
|
||||
if err != nil {
|
||||
logrus.Fatal(err)
|
||||
}
|
||||
}
|
8
mtest_test.go
Normal file
8
mtest_test.go
Normal file
|
@ -0,0 +1,8 @@
|
|||
package mtest
|
||||
|
||||
import "testing"
|
||||
|
||||
func TestMarshal(t *testing.T) {
|
||||
Things()
|
||||
OtherThings()
|
||||
}
|
690
serving-crds.json
Normal file
690
serving-crds.json
Normal file
|
@ -0,0 +1,690 @@
|
|||
[
|
||||
{
|
||||
"apiVersion": "apiextensions.k8s.io/v1",
|
||||
"kind": "CustomResourceDefinition",
|
||||
"metadata": {
|
||||
"name": "certificates.networking.internal.knative.dev",
|
||||
"labels": {
|
||||
"serving.knative.dev/release": "v0.19.0",
|
||||
"knative.dev/crd-install": "true"
|
||||
}
|
||||
},
|
||||
"spec": {
|
||||
"group": "networking.internal.knative.dev",
|
||||
"versions": [
|
||||
{
|
||||
"name": "v1alpha1",
|
||||
"served": true,
|
||||
"storage": true,
|
||||
"subresources": {
|
||||
"status": {
|
||||
}
|
||||
},
|
||||
"schema": {
|
||||
"openAPIV3Schema": {
|
||||
"type": "object",
|
||||
"x-kubernetes-preserve-unknown-fields": true
|
||||
}
|
||||
},
|
||||
"additionalPrinterColumns": [
|
||||
{
|
||||
"name": "Ready",
|
||||
"type": "string",
|
||||
"jsonPath": ".status.conditions[?(@.type==\"Ready\")].status"
|
||||
},
|
||||
{
|
||||
"name": "Reason",
|
||||
"type": "string",
|
||||
"jsonPath": ".status.conditions[?(@.type==\"Ready\")].reason"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"names": {
|
||||
"kind": "Certificate",
|
||||
"plural": "certificates",
|
||||
"singular": "certificate",
|
||||
"categories": [
|
||||
"knative-internal",
|
||||
"networking"
|
||||
],
|
||||
"shortNames": [
|
||||
"kcert"
|
||||
]
|
||||
},
|
||||
"scope": "Namespaced"
|
||||
}
|
||||
},
|
||||
{
|
||||
"apiVersion": "apiextensions.k8s.io/v1",
|
||||
"kind": "CustomResourceDefinition",
|
||||
"metadata": {
|
||||
"name": "configurations.serving.knative.dev",
|
||||
"labels": {
|
||||
"serving.knative.dev/release": "v0.19.0",
|
||||
"knative.dev/crd-install": "true",
|
||||
"duck.knative.dev/podspecable": "true"
|
||||
}
|
||||
},
|
||||
"spec": {
|
||||
"group": "serving.knative.dev",
|
||||
"versions": [
|
||||
{
|
||||
"name": "v1",
|
||||
"served": true,
|
||||
"storage": true,
|
||||
"subresources": {
|
||||
"status": {
|
||||
}
|
||||
},
|
||||
"schema": {
|
||||
"openAPIV3Schema": {
|
||||
"type": "object",
|
||||
"x-kubernetes-preserve-unknown-fields": true
|
||||
}
|
||||
},
|
||||
"additionalPrinterColumns": [
|
||||
{
|
||||
"name": "LatestCreated",
|
||||
"type": "string",
|
||||
"jsonPath": ".status.latestCreatedRevisionName"
|
||||
},
|
||||
{
|
||||
"name": "LatestReady",
|
||||
"type": "string",
|
||||
"jsonPath": ".status.latestReadyRevisionName"
|
||||
},
|
||||
{
|
||||
"name": "Ready",
|
||||
"type": "string",
|
||||
"jsonPath": ".status.conditions[?(@.type=='Ready')].status"
|
||||
},
|
||||
{
|
||||
"name": "Reason",
|
||||
"type": "string",
|
||||
"jsonPath": ".status.conditions[?(@.type=='Ready')].reason"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"names": {
|
||||
"kind": "Configuration",
|
||||
"plural": "configurations",
|
||||
"singular": "configuration",
|
||||
"categories": [
|
||||
"all",
|
||||
"knative",
|
||||
"serving"
|
||||
],
|
||||
"shortNames": [
|
||||
"config",
|
||||
"cfg"
|
||||
]
|
||||
},
|
||||
"scope": "Namespaced"
|
||||
}
|
||||
},
|
||||
{
|
||||
"apiVersion": "apiextensions.k8s.io/v1",
|
||||
"kind": "CustomResourceDefinition",
|
||||
"metadata": {
|
||||
"name": "ingresses.networking.internal.knative.dev",
|
||||
"labels": {
|
||||
"serving.knative.dev/release": "v0.19.0",
|
||||
"knative.dev/crd-install": "true"
|
||||
}
|
||||
},
|
||||
"spec": {
|
||||
"group": "networking.internal.knative.dev",
|
||||
"versions": [
|
||||
{
|
||||
"name": "v1alpha1",
|
||||
"served": true,
|
||||
"storage": true,
|
||||
"subresources": {
|
||||
"status": {
|
||||
}
|
||||
},
|
||||
"schema": {
|
||||
"openAPIV3Schema": {
|
||||
"type": "object",
|
||||
"x-kubernetes-preserve-unknown-fields": true
|
||||
}
|
||||
},
|
||||
"additionalPrinterColumns": [
|
||||
{
|
||||
"name": "Ready",
|
||||
"type": "string",
|
||||
"jsonPath": ".status.conditions[?(@.type=='Ready')].status"
|
||||
},
|
||||
{
|
||||
"name": "Reason",
|
||||
"type": "string",
|
||||
"jsonPath": ".status.conditions[?(@.type=='Ready')].reason"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"names": {
|
||||
"kind": "Ingress",
|
||||
"plural": "ingresses",
|
||||
"singular": "ingress",
|
||||
"categories": [
|
||||
"knative-internal",
|
||||
"networking"
|
||||
],
|
||||
"shortNames": [
|
||||
"kingress",
|
||||
"king"
|
||||
]
|
||||
},
|
||||
"scope": "Namespaced"
|
||||
}
|
||||
},
|
||||
{
|
||||
"apiVersion": "apiextensions.k8s.io/v1",
|
||||
"kind": "CustomResourceDefinition",
|
||||
"metadata": {
|
||||
"name": "metrics.autoscaling.internal.knative.dev",
|
||||
"labels": {
|
||||
"serving.knative.dev/release": "v0.19.0",
|
||||
"knative.dev/crd-install": "true"
|
||||
}
|
||||
},
|
||||
"spec": {
|
||||
"group": "autoscaling.internal.knative.dev",
|
||||
"versions": [
|
||||
{
|
||||
"name": "v1alpha1",
|
||||
"served": true,
|
||||
"storage": true,
|
||||
"subresources": {
|
||||
"status": {
|
||||
}
|
||||
},
|
||||
"schema": {
|
||||
"openAPIV3Schema": {
|
||||
"type": "object",
|
||||
"x-kubernetes-preserve-unknown-fields": true
|
||||
}
|
||||
},
|
||||
"additionalPrinterColumns": [
|
||||
{
|
||||
"name": "Ready",
|
||||
"type": "string",
|
||||
"jsonPath": ".status.conditions[?(@.type=='Ready')].status"
|
||||
},
|
||||
{
|
||||
"name": "Reason",
|
||||
"type": "string",
|
||||
"jsonPath": ".status.conditions[?(@.type=='Ready')].reason"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"names": {
|
||||
"kind": "Metric",
|
||||
"plural": "metrics",
|
||||
"singular": "metric",
|
||||
"categories": [
|
||||
"knative-internal",
|
||||
"autoscaling"
|
||||
]
|
||||
},
|
||||
"scope": "Namespaced"
|
||||
}
|
||||
},
|
||||
{
|
||||
"apiVersion": "apiextensions.k8s.io/v1",
|
||||
"kind": "CustomResourceDefinition",
|
||||
"metadata": {
|
||||
"name": "podautoscalers.autoscaling.internal.knative.dev",
|
||||
"labels": {
|
||||
"serving.knative.dev/release": "v0.19.0",
|
||||
"knative.dev/crd-install": "true"
|
||||
}
|
||||
},
|
||||
"spec": {
|
||||
"group": "autoscaling.internal.knative.dev",
|
||||
"versions": [
|
||||
{
|
||||
"name": "v1alpha1",
|
||||
"served": true,
|
||||
"storage": true,
|
||||
"subresources": {
|
||||
"status": {
|
||||
}
|
||||
},
|
||||
"schema": {
|
||||
"openAPIV3Schema": {
|
||||
"type": "object",
|
||||
"x-kubernetes-preserve-unknown-fields": true
|
||||
}
|
||||
},
|
||||
"additionalPrinterColumns": [
|
||||
{
|
||||
"name": "DesiredScale",
|
||||
"type": "integer",
|
||||
"jsonPath": ".status.desiredScale"
|
||||
},
|
||||
{
|
||||
"name": "ActualScale",
|
||||
"type": "integer",
|
||||
"jsonPath": ".status.actualScale"
|
||||
},
|
||||
{
|
||||
"name": "Ready",
|
||||
"type": "string",
|
||||
"jsonPath": ".status.conditions[?(@.type=='Ready')].status"
|
||||
},
|
||||
{
|
||||
"name": "Reason",
|
||||
"type": "string",
|
||||
"jsonPath": ".status.conditions[?(@.type=='Ready')].reason"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"names": {
|
||||
"kind": "PodAutoscaler",
|
||||
"plural": "podautoscalers",
|
||||
"singular": "podautoscaler",
|
||||
"categories": [
|
||||
"knative-internal",
|
||||
"autoscaling"
|
||||
],
|
||||
"shortNames": [
|
||||
"kpa",
|
||||
"pa"
|
||||
]
|
||||
},
|
||||
"scope": "Namespaced"
|
||||
}
|
||||
},
|
||||
{
|
||||
"apiVersion": "apiextensions.k8s.io/v1",
|
||||
"kind": "CustomResourceDefinition",
|
||||
"metadata": {
|
||||
"name": "revisions.serving.knative.dev",
|
||||
"labels": {
|
||||
"serving.knative.dev/release": "v0.19.0",
|
||||
"knative.dev/crd-install": "true"
|
||||
}
|
||||
},
|
||||
"spec": {
|
||||
"group": "serving.knative.dev",
|
||||
"versions": [
|
||||
{
|
||||
"name": "v1",
|
||||
"served": true,
|
||||
"storage": true,
|
||||
"subresources": {
|
||||
"status": {
|
||||
}
|
||||
},
|
||||
"schema": {
|
||||
"openAPIV3Schema": {
|
||||
"type": "object",
|
||||
"x-kubernetes-preserve-unknown-fields": true
|
||||
}
|
||||
},
|
||||
"additionalPrinterColumns": [
|
||||
{
|
||||
"name": "Config Name",
|
||||
"type": "string",
|
||||
"jsonPath": ".metadata.labels['serving\\.knative\\.dev/configuration']"
|
||||
},
|
||||
{
|
||||
"name": "K8s Service Name",
|
||||
"type": "string",
|
||||
"jsonPath": ".status.serviceName"
|
||||
},
|
||||
{
|
||||
"name": "Generation",
|
||||
"type": "string",
|
||||
"jsonPath": ".metadata.labels['serving\\.knative\\.dev/configurationGeneration']"
|
||||
},
|
||||
{
|
||||
"name": "Ready",
|
||||
"type": "string",
|
||||
"jsonPath": ".status.conditions[?(@.type=='Ready')].status"
|
||||
},
|
||||
{
|
||||
"name": "Reason",
|
||||
"type": "string",
|
||||
"jsonPath": ".status.conditions[?(@.type=='Ready')].reason"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"names": {
|
||||
"kind": "Revision",
|
||||
"plural": "revisions",
|
||||
"singular": "revision",
|
||||
"categories": [
|
||||
"all",
|
||||
"knative",
|
||||
"serving"
|
||||
],
|
||||
"shortNames": [
|
||||
"rev"
|
||||
]
|
||||
},
|
||||
"scope": "Namespaced"
|
||||
}
|
||||
},
|
||||
{
|
||||
"apiVersion": "apiextensions.k8s.io/v1",
|
||||
"kind": "CustomResourceDefinition",
|
||||
"metadata": {
|
||||
"name": "routes.serving.knative.dev",
|
||||
"labels": {
|
||||
"serving.knative.dev/release": "v0.19.0",
|
||||
"knative.dev/crd-install": "true",
|
||||
"duck.knative.dev/addressable": "true"
|
||||
}
|
||||
},
|
||||
"spec": {
|
||||
"group": "serving.knative.dev",
|
||||
"versions": [
|
||||
{
|
||||
"name": "v1",
|
||||
"served": true,
|
||||
"storage": true,
|
||||
"subresources": {
|
||||
"status": {
|
||||
}
|
||||
},
|
||||
"schema": {
|
||||
"openAPIV3Schema": {
|
||||
"type": "object",
|
||||
"x-kubernetes-preserve-unknown-fields": true
|
||||
}
|
||||
},
|
||||
"additionalPrinterColumns": [
|
||||
{
|
||||
"name": "URL",
|
||||
"type": "string",
|
||||
"jsonPath": ".status.url"
|
||||
},
|
||||
{
|
||||
"name": "Ready",
|
||||
"type": "string",
|
||||
"jsonPath": ".status.conditions[?(@.type=='Ready')].status"
|
||||
},
|
||||
{
|
||||
"name": "Reason",
|
||||
"type": "string",
|
||||
"jsonPath": ".status.conditions[?(@.type=='Ready')].reason"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"names": {
|
||||
"kind": "Route",
|
||||
"plural": "routes",
|
||||
"singular": "route",
|
||||
"categories": [
|
||||
"all",
|
||||
"knative",
|
||||
"serving"
|
||||
],
|
||||
"shortNames": [
|
||||
"rt"
|
||||
]
|
||||
},
|
||||
"scope": "Namespaced"
|
||||
}
|
||||
},
|
||||
{
|
||||
"apiVersion": "apiextensions.k8s.io/v1",
|
||||
"kind": "CustomResourceDefinition",
|
||||
"metadata": {
|
||||
"name": "serverlessservices.networking.internal.knative.dev",
|
||||
"labels": {
|
||||
"serving.knative.dev/release": "v0.19.0",
|
||||
"knative.dev/crd-install": "true"
|
||||
}
|
||||
},
|
||||
"spec": {
|
||||
"group": "networking.internal.knative.dev",
|
||||
"versions": [
|
||||
{
|
||||
"name": "v1alpha1",
|
||||
"served": true,
|
||||
"storage": true,
|
||||
"subresources": {
|
||||
"status": {
|
||||
}
|
||||
},
|
||||
"schema": {
|
||||
"openAPIV3Schema": {
|
||||
"type": "object",
|
||||
"x-kubernetes-preserve-unknown-fields": true
|
||||
}
|
||||
},
|
||||
"additionalPrinterColumns": [
|
||||
{
|
||||
"name": "Mode",
|
||||
"type": "string",
|
||||
"jsonPath": ".spec.mode"
|
||||
},
|
||||
{
|
||||
"name": "Activators",
|
||||
"type": "integer",
|
||||
"jsonPath": ".spec.numActivators"
|
||||
},
|
||||
{
|
||||
"name": "ServiceName",
|
||||
"type": "string",
|
||||
"jsonPath": ".status.serviceName"
|
||||
},
|
||||
{
|
||||
"name": "PrivateServiceName",
|
||||
"type": "string",
|
||||
"jsonPath": ".status.privateServiceName"
|
||||
},
|
||||
{
|
||||
"name": "Ready",
|
||||
"type": "string",
|
||||
"jsonPath": ".status.conditions[?(@.type=='Ready')].status"
|
||||
},
|
||||
{
|
||||
"name": "Reason",
|
||||
"type": "string",
|
||||
"jsonPath": ".status.conditions[?(@.type=='Ready')].reason"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"names": {
|
||||
"kind": "ServerlessService",
|
||||
"plural": "serverlessservices",
|
||||
"singular": "serverlessservice",
|
||||
"categories": [
|
||||
"knative-internal",
|
||||
"networking"
|
||||
],
|
||||
"shortNames": [
|
||||
"sks"
|
||||
]
|
||||
},
|
||||
"scope": "Namespaced"
|
||||
}
|
||||
},
|
||||
{
|
||||
"apiVersion": "apiextensions.k8s.io/v1",
|
||||
"kind": "CustomResourceDefinition",
|
||||
"metadata": {
|
||||
"name": "services.serving.knative.dev",
|
||||
"labels": {
|
||||
"serving.knative.dev/release": "v0.19.0",
|
||||
"knative.dev/crd-install": "true",
|
||||
"duck.knative.dev/addressable": "true",
|
||||
"duck.knative.dev/podspecable": "true"
|
||||
}
|
||||
},
|
||||
"spec": {
|
||||
"group": "serving.knative.dev",
|
||||
"versions": [
|
||||
{
|
||||
"name": "v1",
|
||||
"served": true,
|
||||
"storage": true,
|
||||
"subresources": {
|
||||
"status": {
|
||||
}
|
||||
},
|
||||
"schema": {
|
||||
"openAPIV3Schema": {
|
||||
"type": "object",
|
||||
"x-kubernetes-preserve-unknown-fields": true,
|
||||
"properties": {
|
||||
"spec": {
|
||||
"type": "object",
|
||||
"x-kubernetes-preserve-unknown-fields": true,
|
||||
"properties": {
|
||||
"template": {
|
||||
"type": "object",
|
||||
"x-kubernetes-preserve-unknown-fields": true,
|
||||
"description": "A template for the current desired application state.\nChanges to `template` will cause a new Revision to be created as\ndefined in the lifecycle section. The contents of the Service's\nRevisionTemplateSpec is used to create a corresponding Configuration.\n"
|
||||
},
|
||||
"traffic": {
|
||||
"x-kubernetes-preserve-unknown-fields": true,
|
||||
"type": "array",
|
||||
"description": "Traffic specifies how to distribute traffic over a\ncollection of Revisions belonging to the Service. If traffic is\nempty or not provided, defaults to 100% traffic to the latest\n`Ready` Revision. The contents of the Service's TrafficTarget is\nused to create a corresponding Route.\n",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"x-kubernetes-preserve-unknown-fields": true,
|
||||
"properties": {
|
||||
"revisionName": {
|
||||
"type": "string",
|
||||
"description": "A specific revision to which to send this portion\nof traffic.\nThis is mutually exclusive with configurationName.\n"
|
||||
},
|
||||
"configurationName": {
|
||||
"type": "string",
|
||||
"description": "ConfigurationName of a configuration to whose latest revision we will send\nthis portion of traffic. When the \"status.latestReadyRevisionName\" of the\nreferenced configuration changes, we will automatically migrate traffic\nfrom the prior \"latest ready\" revision to the new one. This field is never\nset in Route's status, only its spec.\nThis is mutually exclusive with RevisionName.\n"
|
||||
},
|
||||
"latestRevision": {
|
||||
"type": "boolean",
|
||||
"description": "`latestRevision` may be optionally provided to indicate\nthat the latest ready Revision of the Configuration should be used\nfor this traffic target. When provided latestRevision MUST be true\nif revisionName is empty, and it MUST be false when revisionName is non-empty.\n"
|
||||
},
|
||||
"tag": {
|
||||
"type": "string",
|
||||
"description": "Tag is optionally used to expose a dedicated URL for\nreferencing this target exclusively. The dedicated URL MUST include\nin it the string provided by tag.\n"
|
||||
},
|
||||
"percent": {
|
||||
"type": "integer",
|
||||
"description": "The percentage of requests which should be allocated\nfrom the main Route domain name to the specified `revisionName` or\n`configurationName`.\nAll `percent` values in `traffic` MUST sum to 100.\n",
|
||||
"minimum": 0,
|
||||
"maximum": 100
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"status": {
|
||||
"type": "object",
|
||||
"x-kubernetes-preserve-unknown-fields": true
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"additionalPrinterColumns": [
|
||||
{
|
||||
"name": "URL",
|
||||
"type": "string",
|
||||
"jsonPath": ".status.url"
|
||||
},
|
||||
{
|
||||
"name": "LatestCreated",
|
||||
"type": "string",
|
||||
"jsonPath": ".status.latestCreatedRevisionName"
|
||||
},
|
||||
{
|
||||
"name": "LatestReady",
|
||||
"type": "string",
|
||||
"jsonPath": ".status.latestReadyRevisionName"
|
||||
},
|
||||
{
|
||||
"name": "Ready",
|
||||
"type": "string",
|
||||
"jsonPath": ".status.conditions[?(@.type=='Ready')].status"
|
||||
},
|
||||
{
|
||||
"name": "Reason",
|
||||
"type": "string",
|
||||
"jsonPath": ".status.conditions[?(@.type=='Ready')].reason"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"names": {
|
||||
"kind": "Service",
|
||||
"plural": "services",
|
||||
"singular": "service",
|
||||
"categories": [
|
||||
"all",
|
||||
"knative",
|
||||
"serving"
|
||||
],
|
||||
"shortNames": [
|
||||
"kservice",
|
||||
"ksvc"
|
||||
]
|
||||
},
|
||||
"scope": "Namespaced"
|
||||
}
|
||||
},
|
||||
{
|
||||
"apiVersion": "apiextensions.k8s.io/v1",
|
||||
"kind": "CustomResourceDefinition",
|
||||
"metadata": {
|
||||
"name": "images.caching.internal.knative.dev",
|
||||
"labels": {
|
||||
"knative.dev/crd-install": "true"
|
||||
}
|
||||
},
|
||||
"spec": {
|
||||
"group": "caching.internal.knative.dev",
|
||||
"names": {
|
||||
"kind": "Image",
|
||||
"plural": "images",
|
||||
"singular": "image",
|
||||
"categories": [
|
||||
"knative-internal",
|
||||
"caching"
|
||||
],
|
||||
"shortNames": [
|
||||
"img"
|
||||
]
|
||||
},
|
||||
"scope": "Namespaced",
|
||||
"versions": [
|
||||
{
|
||||
"name": "v1alpha1",
|
||||
"served": true,
|
||||
"storage": true,
|
||||
"subresources": {
|
||||
"status": {
|
||||
}
|
||||
},
|
||||
"schema": {
|
||||
"openAPIV3Schema": {
|
||||
"type": "object",
|
||||
"x-kubernetes-preserve-unknown-fields": true
|
||||
}
|
||||
},
|
||||
"additionalPrinterColumns": [
|
||||
{
|
||||
"name": "Image",
|
||||
"type": "string",
|
||||
"jsonPath": ".spec.image"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
673
serving-crds.yaml
Normal file
673
serving-crds.yaml
Normal file
|
@ -0,0 +1,673 @@
|
|||
# Copyright 2020 The Knative Authors
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# https://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
apiVersion: apiextensions.k8s.io/v1
|
||||
kind: CustomResourceDefinition
|
||||
metadata:
|
||||
name: certificates.networking.internal.knative.dev
|
||||
labels:
|
||||
serving.knative.dev/release: "v0.19.0"
|
||||
knative.dev/crd-install: "true"
|
||||
spec:
|
||||
group: networking.internal.knative.dev
|
||||
versions:
|
||||
- name: v1alpha1
|
||||
served: true
|
||||
storage: true
|
||||
subresources:
|
||||
status: {}
|
||||
schema:
|
||||
openAPIV3Schema:
|
||||
type: object
|
||||
# this is a work around so we don't need to flush out the
|
||||
# schema for each version at this time
|
||||
#
|
||||
# see issue: https://github.com/knative/serving/issues/912
|
||||
x-kubernetes-preserve-unknown-fields: true
|
||||
additionalPrinterColumns:
|
||||
- name: Ready
|
||||
type: string
|
||||
jsonPath: ".status.conditions[?(@.type==\"Ready\")].status"
|
||||
- name: Reason
|
||||
type: string
|
||||
jsonPath: ".status.conditions[?(@.type==\"Ready\")].reason"
|
||||
names:
|
||||
kind: Certificate
|
||||
plural: certificates
|
||||
singular: certificate
|
||||
categories:
|
||||
- knative-internal
|
||||
- networking
|
||||
shortNames:
|
||||
- kcert
|
||||
scope: Namespaced
|
||||
|
||||
---
|
||||
# Copyright 2019 The Knative Authors
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# https://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
apiVersion: apiextensions.k8s.io/v1
|
||||
kind: CustomResourceDefinition
|
||||
metadata:
|
||||
name: configurations.serving.knative.dev
|
||||
labels:
|
||||
serving.knative.dev/release: "v0.19.0"
|
||||
knative.dev/crd-install: "true"
|
||||
duck.knative.dev/podspecable: "true"
|
||||
spec:
|
||||
group: serving.knative.dev
|
||||
versions:
|
||||
- name: v1
|
||||
served: true
|
||||
storage: true
|
||||
subresources:
|
||||
status: {}
|
||||
schema:
|
||||
openAPIV3Schema:
|
||||
type: object
|
||||
# this is a work around so we don't need to flush out the
|
||||
# schema for each version at this time
|
||||
#
|
||||
# see issue: https://github.com/knative/serving/issues/912
|
||||
x-kubernetes-preserve-unknown-fields: true
|
||||
additionalPrinterColumns:
|
||||
- name: LatestCreated
|
||||
type: string
|
||||
jsonPath: .status.latestCreatedRevisionName
|
||||
- name: LatestReady
|
||||
type: string
|
||||
jsonPath: .status.latestReadyRevisionName
|
||||
- name: Ready
|
||||
type: string
|
||||
jsonPath: ".status.conditions[?(@.type=='Ready')].status"
|
||||
- name: Reason
|
||||
type: string
|
||||
jsonPath: ".status.conditions[?(@.type=='Ready')].reason"
|
||||
names:
|
||||
kind: Configuration
|
||||
plural: configurations
|
||||
singular: configuration
|
||||
categories:
|
||||
- all
|
||||
- knative
|
||||
- serving
|
||||
shortNames:
|
||||
- config
|
||||
- cfg
|
||||
scope: Namespaced
|
||||
|
||||
---
|
||||
# Copyright 2020 The Knative Authors
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# https://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
apiVersion: apiextensions.k8s.io/v1
|
||||
kind: CustomResourceDefinition
|
||||
metadata:
|
||||
name: ingresses.networking.internal.knative.dev
|
||||
labels:
|
||||
serving.knative.dev/release: "v0.19.0"
|
||||
knative.dev/crd-install: "true"
|
||||
spec:
|
||||
group: networking.internal.knative.dev
|
||||
versions:
|
||||
- name: v1alpha1
|
||||
served: true
|
||||
storage: true
|
||||
subresources:
|
||||
status: {}
|
||||
schema:
|
||||
openAPIV3Schema:
|
||||
type: object
|
||||
# this is a work around so we don't need to flush out the
|
||||
# schema for each version at this time
|
||||
#
|
||||
# see issue: https://github.com/knative/serving/issues/912
|
||||
x-kubernetes-preserve-unknown-fields: true
|
||||
additionalPrinterColumns:
|
||||
- name: Ready
|
||||
type: string
|
||||
jsonPath: ".status.conditions[?(@.type=='Ready')].status"
|
||||
- name: Reason
|
||||
type: string
|
||||
jsonPath: ".status.conditions[?(@.type=='Ready')].reason"
|
||||
names:
|
||||
kind: Ingress
|
||||
plural: ingresses
|
||||
singular: ingress
|
||||
categories:
|
||||
- knative-internal
|
||||
- networking
|
||||
shortNames:
|
||||
- kingress
|
||||
- king
|
||||
scope: Namespaced
|
||||
|
||||
---
|
||||
# Copyright 2019 The Knative Authors
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# https://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
apiVersion: apiextensions.k8s.io/v1
|
||||
kind: CustomResourceDefinition
|
||||
metadata:
|
||||
name: metrics.autoscaling.internal.knative.dev
|
||||
labels:
|
||||
serving.knative.dev/release: "v0.19.0"
|
||||
knative.dev/crd-install: "true"
|
||||
spec:
|
||||
group: autoscaling.internal.knative.dev
|
||||
versions:
|
||||
- name: v1alpha1
|
||||
served: true
|
||||
storage: true
|
||||
subresources:
|
||||
status: {}
|
||||
schema:
|
||||
openAPIV3Schema:
|
||||
type: object
|
||||
# this is a work around so we don't need to flush out the
|
||||
# schema for each version at this time
|
||||
#
|
||||
# see issue: https://github.com/knative/serving/issues/912
|
||||
x-kubernetes-preserve-unknown-fields: true
|
||||
additionalPrinterColumns:
|
||||
- name: Ready
|
||||
type: string
|
||||
jsonPath: ".status.conditions[?(@.type=='Ready')].status"
|
||||
- name: Reason
|
||||
type: string
|
||||
jsonPath: ".status.conditions[?(@.type=='Ready')].reason"
|
||||
names:
|
||||
kind: Metric
|
||||
plural: metrics
|
||||
singular: metric
|
||||
categories:
|
||||
- knative-internal
|
||||
- autoscaling
|
||||
scope: Namespaced
|
||||
|
||||
---
|
||||
# Copyright 2018 The Knative Authors
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# https://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
apiVersion: apiextensions.k8s.io/v1
|
||||
kind: CustomResourceDefinition
|
||||
metadata:
|
||||
name: podautoscalers.autoscaling.internal.knative.dev
|
||||
labels:
|
||||
serving.knative.dev/release: "v0.19.0"
|
||||
knative.dev/crd-install: "true"
|
||||
spec:
|
||||
group: autoscaling.internal.knative.dev
|
||||
versions:
|
||||
- name: v1alpha1
|
||||
served: true
|
||||
storage: true
|
||||
subresources:
|
||||
status: {}
|
||||
schema:
|
||||
openAPIV3Schema:
|
||||
type: object
|
||||
# this is a work around so we don't need to flush out the
|
||||
# schema for each version at this time
|
||||
#
|
||||
# see issue: https://github.com/knative/serving/issues/912
|
||||
x-kubernetes-preserve-unknown-fields: true
|
||||
additionalPrinterColumns:
|
||||
- name: DesiredScale
|
||||
type: integer
|
||||
jsonPath: ".status.desiredScale"
|
||||
- name: ActualScale
|
||||
type: integer
|
||||
jsonPath: ".status.actualScale"
|
||||
- name: Ready
|
||||
type: string
|
||||
jsonPath: ".status.conditions[?(@.type=='Ready')].status"
|
||||
- name: Reason
|
||||
type: string
|
||||
jsonPath: ".status.conditions[?(@.type=='Ready')].reason"
|
||||
names:
|
||||
kind: PodAutoscaler
|
||||
plural: podautoscalers
|
||||
singular: podautoscaler
|
||||
categories:
|
||||
- knative-internal
|
||||
- autoscaling
|
||||
shortNames:
|
||||
- kpa
|
||||
- pa
|
||||
scope: Namespaced
|
||||
|
||||
---
|
||||
# Copyright 2019 The Knative Authors
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# https://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
apiVersion: apiextensions.k8s.io/v1
|
||||
kind: CustomResourceDefinition
|
||||
metadata:
|
||||
name: revisions.serving.knative.dev
|
||||
labels:
|
||||
serving.knative.dev/release: "v0.19.0"
|
||||
knative.dev/crd-install: "true"
|
||||
spec:
|
||||
group: serving.knative.dev
|
||||
versions:
|
||||
- name: v1
|
||||
served: true
|
||||
storage: true
|
||||
subresources:
|
||||
status: {}
|
||||
schema:
|
||||
openAPIV3Schema:
|
||||
type: object
|
||||
# this is a work around so we don't need to flush out the
|
||||
# schema for each version at this time
|
||||
#
|
||||
# see issue: https://github.com/knative/serving/issues/912
|
||||
x-kubernetes-preserve-unknown-fields: true
|
||||
additionalPrinterColumns:
|
||||
- name: Config Name
|
||||
type: string
|
||||
jsonPath: ".metadata.labels['serving\\.knative\\.dev/configuration']"
|
||||
- name: K8s Service Name
|
||||
type: string
|
||||
jsonPath: ".status.serviceName"
|
||||
- name: Generation
|
||||
type: string # int in string form :(
|
||||
jsonPath: ".metadata.labels['serving\\.knative\\.dev/configurationGeneration']"
|
||||
- name: Ready
|
||||
type: string
|
||||
jsonPath: ".status.conditions[?(@.type=='Ready')].status"
|
||||
- name: Reason
|
||||
type: string
|
||||
jsonPath: ".status.conditions[?(@.type=='Ready')].reason"
|
||||
names:
|
||||
kind: Revision
|
||||
plural: revisions
|
||||
singular: revision
|
||||
categories:
|
||||
- all
|
||||
- knative
|
||||
- serving
|
||||
shortNames:
|
||||
- rev
|
||||
scope: Namespaced
|
||||
|
||||
---
|
||||
# Copyright 2019 The Knative Authors
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# https://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
apiVersion: apiextensions.k8s.io/v1
|
||||
kind: CustomResourceDefinition
|
||||
metadata:
|
||||
name: routes.serving.knative.dev
|
||||
labels:
|
||||
serving.knative.dev/release: "v0.19.0"
|
||||
knative.dev/crd-install: "true"
|
||||
duck.knative.dev/addressable: "true"
|
||||
spec:
|
||||
group: serving.knative.dev
|
||||
versions:
|
||||
- name: v1
|
||||
served: true
|
||||
storage: true
|
||||
subresources:
|
||||
status: {}
|
||||
schema:
|
||||
openAPIV3Schema:
|
||||
type: object
|
||||
# this is a work around so we don't need to flush out the
|
||||
# schema for each version at this time
|
||||
#
|
||||
# see issue: https://github.com/knative/serving/issues/912
|
||||
x-kubernetes-preserve-unknown-fields: true
|
||||
additionalPrinterColumns:
|
||||
- name: URL
|
||||
type: string
|
||||
jsonPath: .status.url
|
||||
- name: Ready
|
||||
type: string
|
||||
jsonPath: ".status.conditions[?(@.type=='Ready')].status"
|
||||
- name: Reason
|
||||
type: string
|
||||
jsonPath: ".status.conditions[?(@.type=='Ready')].reason"
|
||||
names:
|
||||
kind: Route
|
||||
plural: routes
|
||||
singular: route
|
||||
categories:
|
||||
- all
|
||||
- knative
|
||||
- serving
|
||||
shortNames:
|
||||
- rt
|
||||
scope: Namespaced
|
||||
|
||||
---
|
||||
# Copyright 2019 The Knative Authors
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# https://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
apiVersion: apiextensions.k8s.io/v1
|
||||
kind: CustomResourceDefinition
|
||||
metadata:
|
||||
name: serverlessservices.networking.internal.knative.dev
|
||||
labels:
|
||||
serving.knative.dev/release: "v0.19.0"
|
||||
knative.dev/crd-install: "true"
|
||||
spec:
|
||||
group: networking.internal.knative.dev
|
||||
versions:
|
||||
- name: v1alpha1
|
||||
served: true
|
||||
storage: true
|
||||
subresources:
|
||||
status: {}
|
||||
schema:
|
||||
openAPIV3Schema:
|
||||
type: object
|
||||
# this is a work around so we don't need to flush out the
|
||||
# schema for each version at this time
|
||||
#
|
||||
# see issue: https://github.com/knative/serving/issues/912
|
||||
x-kubernetes-preserve-unknown-fields: true
|
||||
additionalPrinterColumns:
|
||||
- name: Mode
|
||||
type: string
|
||||
jsonPath: ".spec.mode"
|
||||
- name: Activators
|
||||
type: integer
|
||||
jsonPath: ".spec.numActivators"
|
||||
- name: ServiceName
|
||||
type: string
|
||||
jsonPath: ".status.serviceName"
|
||||
- name: PrivateServiceName
|
||||
type: string
|
||||
jsonPath: ".status.privateServiceName"
|
||||
- name: Ready
|
||||
type: string
|
||||
jsonPath: ".status.conditions[?(@.type=='Ready')].status"
|
||||
- name: Reason
|
||||
type: string
|
||||
jsonPath: ".status.conditions[?(@.type=='Ready')].reason"
|
||||
names:
|
||||
kind: ServerlessService
|
||||
plural: serverlessservices
|
||||
singular: serverlessservice
|
||||
categories:
|
||||
- knative-internal
|
||||
- networking
|
||||
shortNames:
|
||||
- sks
|
||||
scope: Namespaced
|
||||
|
||||
---
|
||||
# Copyright 2019 The Knative Authors
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# https://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
apiVersion: apiextensions.k8s.io/v1
|
||||
kind: CustomResourceDefinition
|
||||
metadata:
|
||||
name: services.serving.knative.dev
|
||||
labels:
|
||||
serving.knative.dev/release: "v0.19.0"
|
||||
knative.dev/crd-install: "true"
|
||||
duck.knative.dev/addressable: "true"
|
||||
duck.knative.dev/podspecable: "true"
|
||||
spec:
|
||||
group: serving.knative.dev
|
||||
versions:
|
||||
- name: v1
|
||||
served: true
|
||||
storage: true
|
||||
subresources:
|
||||
status: {}
|
||||
schema:
|
||||
openAPIV3Schema:
|
||||
type: object
|
||||
x-kubernetes-preserve-unknown-fields: true
|
||||
properties:
|
||||
spec:
|
||||
type: object
|
||||
x-kubernetes-preserve-unknown-fields: true
|
||||
properties:
|
||||
template:
|
||||
type: object
|
||||
x-kubernetes-preserve-unknown-fields: true
|
||||
description: |
|
||||
A template for the current desired application state.
|
||||
Changes to `template` will cause a new Revision to be created as
|
||||
defined in the lifecycle section. The contents of the Service's
|
||||
RevisionTemplateSpec is used to create a corresponding Configuration.
|
||||
traffic:
|
||||
x-kubernetes-preserve-unknown-fields: true
|
||||
type: array
|
||||
description: |
|
||||
Traffic specifies how to distribute traffic over a
|
||||
collection of Revisions belonging to the Service. If traffic is
|
||||
empty or not provided, defaults to 100% traffic to the latest
|
||||
`Ready` Revision. The contents of the Service's TrafficTarget is
|
||||
used to create a corresponding Route.
|
||||
items:
|
||||
type: object
|
||||
x-kubernetes-preserve-unknown-fields: true
|
||||
properties:
|
||||
revisionName:
|
||||
type: string
|
||||
description: |
|
||||
A specific revision to which to send this portion
|
||||
of traffic.
|
||||
This is mutually exclusive with configurationName.
|
||||
configurationName:
|
||||
type: string
|
||||
description: |
|
||||
ConfigurationName of a configuration to whose latest revision we will send
|
||||
this portion of traffic. When the "status.latestReadyRevisionName" of the
|
||||
referenced configuration changes, we will automatically migrate traffic
|
||||
from the prior "latest ready" revision to the new one. This field is never
|
||||
set in Route's status, only its spec.
|
||||
This is mutually exclusive with RevisionName.
|
||||
latestRevision:
|
||||
type: boolean
|
||||
description: |
|
||||
`latestRevision` may be optionally provided to indicate
|
||||
that the latest ready Revision of the Configuration should be used
|
||||
for this traffic target. When provided latestRevision MUST be true
|
||||
if revisionName is empty, and it MUST be false when revisionName is non-empty.
|
||||
tag:
|
||||
type: string
|
||||
description: |
|
||||
Tag is optionally used to expose a dedicated URL for
|
||||
referencing this target exclusively. The dedicated URL MUST include
|
||||
in it the string provided by tag.
|
||||
percent:
|
||||
type: integer
|
||||
description: |
|
||||
The percentage of requests which should be allocated
|
||||
from the main Route domain name to the specified `revisionName` or
|
||||
`configurationName`.
|
||||
All `percent` values in `traffic` MUST sum to 100.
|
||||
minimum: 0
|
||||
maximum: 100
|
||||
status:
|
||||
type: object
|
||||
x-kubernetes-preserve-unknown-fields: true
|
||||
additionalPrinterColumns:
|
||||
- name: URL
|
||||
type: string
|
||||
jsonPath: .status.url
|
||||
- name: LatestCreated
|
||||
type: string
|
||||
jsonPath: .status.latestCreatedRevisionName
|
||||
- name: LatestReady
|
||||
type: string
|
||||
jsonPath: .status.latestReadyRevisionName
|
||||
- name: Ready
|
||||
type: string
|
||||
jsonPath: ".status.conditions[?(@.type=='Ready')].status"
|
||||
- name: Reason
|
||||
type: string
|
||||
jsonPath: ".status.conditions[?(@.type=='Ready')].reason"
|
||||
names:
|
||||
kind: Service
|
||||
plural: services
|
||||
singular: service
|
||||
categories:
|
||||
- all
|
||||
- knative
|
||||
- serving
|
||||
shortNames:
|
||||
- kservice
|
||||
- ksvc
|
||||
scope: Namespaced
|
||||
|
||||
---
|
||||
# Copyright 2018 The Knative Authors
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# https://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
apiVersion: apiextensions.k8s.io/v1
|
||||
kind: CustomResourceDefinition
|
||||
metadata:
|
||||
name: images.caching.internal.knative.dev
|
||||
labels:
|
||||
knative.dev/crd-install: "true"
|
||||
spec:
|
||||
group: caching.internal.knative.dev
|
||||
names:
|
||||
kind: Image
|
||||
plural: images
|
||||
singular: image
|
||||
categories:
|
||||
- knative-internal
|
||||
- caching
|
||||
shortNames:
|
||||
- img
|
||||
scope: Namespaced
|
||||
versions:
|
||||
- name: v1alpha1
|
||||
served: true
|
||||
storage: true
|
||||
subresources:
|
||||
status: {}
|
||||
schema:
|
||||
openAPIV3Schema:
|
||||
type: object
|
||||
# this is a work around so we don't need to flush out the
|
||||
# schema for each version at this time
|
||||
#
|
||||
# see issue: https://github.com/knative/serving/issues/912
|
||||
x-kubernetes-preserve-unknown-fields: true
|
||||
additionalPrinterColumns:
|
||||
- name: Image
|
||||
type: string
|
||||
jsonPath: .spec.image
|
||||
|
||||
---
|
Loading…
Reference in a new issue