Skip to content

Commit

Permalink
change emissary CRDs to non-strict + update the CRDs (#155)
Browse files Browse the repository at this point in the history
  • Loading branch information
FrancoisPoinsot authored Aug 1, 2023
1 parent 8f0604e commit 2abdb7a
Show file tree
Hide file tree
Showing 24 changed files with 1,415 additions and 52 deletions.
134 changes: 132 additions & 2 deletions getambassador.io/authservice_v1.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,135 @@
{
"description": "AuthService is the Schema for the authservices API",
"type": "object",
"x-kubernetes-preserve-unknown-fields": true
"properties": {
"apiVersion": {
"description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources",
"type": "string"
},
"kind": {
"description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
"type": "string"
},
"metadata": {
"type": "object"
},
"spec": {
"description": "AuthServiceSpec defines the desired state of AuthService",
"properties": {
"add_auth_headers": {
"additionalProperties": {
"type": "string"
},
"type": "object"
},
"add_linkerd_headers": {
"type": "boolean"
},
"allow_request_body": {
"type": "boolean"
},
"allowed_authorization_headers": {
"items": {
"type": "string"
},
"type": "array"
},
"allowed_request_headers": {
"items": {
"type": "string"
},
"type": "array"
},
"auth_service": {
"type": "string"
},
"failure_mode_allow": {
"type": "boolean"
},
"include_body": {
"properties": {
"allow_partial": {
"type": "boolean"
},
"max_bytes": {
"description": "These aren't pointer types because they are required.",
"type": "integer"
}
},
"required": [
"allow_partial",
"max_bytes"
],
"type": "object",
"additionalProperties": false
},
"path_prefix": {
"type": "string"
},
"proto": {
"enum": [
"http",
"grpc"
],
"type": "string"
},
"protocol_version": {
"enum": [
"v2",
"v3"
],
"type": "string"
},
"status_on_error": {
"description": "Why isn't this just an int??",
"properties": {
"code": {
"type": "integer"
}
},
"type": "object",
"additionalProperties": false
},
"timeout_ms": {
"type": "integer"
},
"v3CircuitBreakers": {
"items": {
"properties": {
"max_connections": {
"type": "integer"
},
"max_pending_requests": {
"type": "integer"
},
"max_requests": {
"type": "integer"
},
"max_retries": {
"type": "integer"
},
"priority": {
"enum": [
"default",
"high"
],
"type": "string"
}
},
"type": "object",
"additionalProperties": false
},
"type": "array"
},
"v3StatsName": {
"type": "string"
}
},
"required": [
"auth_service"
],
"type": "object",
"x-kubernetes-preserve-unknown-fields": true
}
},
"type": "object"
}
3 changes: 1 addition & 2 deletions getambassador.io/authservice_v2.json
Original file line number Diff line number Diff line change
Expand Up @@ -128,8 +128,7 @@
"auth_service"
],
"type": "object",
"x-kubernetes-preserve-unknown-fields": true,
"additionalProperties": false
"x-kubernetes-preserve-unknown-fields": true
}
},
"type": "object"
Expand Down
29 changes: 27 additions & 2 deletions getambassador.io/consulresolver_v1.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,30 @@
{
"description": "ConsulResolver is the Schema for the ConsulResolver API",
"type": "object",
"x-kubernetes-preserve-unknown-fields": true
"properties": {
"apiVersion": {
"description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources",
"type": "string"
},
"kind": {
"description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
"type": "string"
},
"metadata": {
"type": "object"
},
"spec": {
"description": "ConsulResolver tells Ambassador to use Consul to resolve services. In addition to the AmbassadorID, it needs information about which Consul server and DC to use.",
"properties": {
"address": {
"type": "string"
},
"datacenter": {
"type": "string"
}
},
"type": "object",
"x-kubernetes-preserve-unknown-fields": true
}
},
"type": "object"
}
3 changes: 1 addition & 2 deletions getambassador.io/consulresolver_v2.json
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,7 @@
}
},
"type": "object",
"x-kubernetes-preserve-unknown-fields": true,
"additionalProperties": false
"x-kubernetes-preserve-unknown-fields": true
}
},
"type": "object"
Expand Down
119 changes: 116 additions & 3 deletions getambassador.io/devportal_v1.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,118 @@
{
"description": "DevPortal is the Schema for the DevPortals API",
"type": "object",
"x-kubernetes-preserve-unknown-fields": true
"description": "DevPortal is the Schema for the DevPortals API \n DevPortal resources specify the `what` and `how` is shown in a DevPortal: \n 1. `what` is in a DevPortal can be controlled with \n - a `selector`, that can be used for filtering `Mappings`. \n - a `docs` listing of (services, url) \n 2. `how` is a pointer to some `contents` (a checkout of a Git repository with go-templates/markdown/css). \n Multiple `DevPortal`s can exist in the cluster, and the Dev Portal server will show them at different endpoints. A `DevPortal` resource with a special name, `ambassador`, will be used for configuring the default Dev Portal (served at `/docs/` by default).",
"properties": {
"apiVersion": {
"description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources",
"type": "string"
},
"kind": {
"description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
"type": "string"
},
"metadata": {
"type": "object"
},
"spec": {
"description": "DevPortalSpec defines the desired state of DevPortal",
"properties": {
"content": {
"description": "Content specifies where the content shown in the DevPortal come from",
"properties": {
"branch": {
"type": "string"
},
"dir": {
"type": "string"
},
"url": {
"type": "string"
}
},
"type": "object",
"additionalProperties": false
},
"default": {
"description": "Default must be true when this is the default DevPortal",
"type": "boolean"
},
"docs": {
"description": "Docs is a static docs definition",
"items": {
"description": "DevPortalDocsSpec is a static documentation definition: instead of using a Selector for finding documentation for services, users can provide a static list of <service>:<URL> tuples. These services will be shown in the Dev Portal with the documentation obtained from this URL.",
"properties": {
"service": {
"description": "Service is the service being documented",
"type": "string"
},
"timeout_ms": {
"description": "Timeout specifies the amount of time devportal will wait for the downstream service to report an openapi spec back",
"type": "integer"
},
"url": {
"description": "URL is the URL used for obtaining docs",
"type": "string"
}
},
"type": "object",
"additionalProperties": false
},
"type": "array"
},
"naming_scheme": {
"description": "Describes how to display \"services\" in the DevPortal. Default namespace.name",
"enum": [
"namespace.name",
"name.prefix"
],
"type": "string"
},
"preserve_servers": {
"description": "Configures this DevPortal to use server definitions from the openAPI doc instead of rewriting them based on the url used for the connection.",
"type": "boolean"
},
"search": {
"description": "DevPortalSearchSpec allows configuration over search functionality for the DevPortal",
"properties": {
"enabled": {
"type": "boolean"
},
"type": {
"description": "Type of search. \"title-only\" does a fuzzy search over openapi and page titles \"all-content\" will fuzzy search over all openapi and page content. \"title-only\" is the default. warning: using all-content may incur a larger memory footprint",
"enum": [
"title-only",
"all-content"
],
"type": "string"
}
},
"type": "object",
"additionalProperties": false
},
"selector": {
"description": "Selector is used for choosing what is shown in the DevPortal",
"properties": {
"matchLabels": {
"additionalProperties": {
"type": "string"
},
"description": "MatchLabels specifies the list of labels that must be present in Mappings for being present in this DevPortal.",
"type": "object"
},
"matchNamespaces": {
"description": "MatchNamespaces is a list of namespaces that will be included in this DevPortal.",
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object",
"additionalProperties": false
}
},
"type": "object",
"x-kubernetes-preserve-unknown-fields": true
}
},
"type": "object"
}
3 changes: 1 addition & 2 deletions getambassador.io/devportal_v2.json
Original file line number Diff line number Diff line change
Expand Up @@ -111,8 +111,7 @@
}
},
"type": "object",
"x-kubernetes-preserve-unknown-fields": true,
"additionalProperties": false
"x-kubernetes-preserve-unknown-fields": true
}
},
"type": "object"
Expand Down
3 changes: 1 addition & 2 deletions getambassador.io/host_v2.json
Original file line number Diff line number Diff line change
Expand Up @@ -214,8 +214,7 @@
}
},
"type": "object",
"x-kubernetes-preserve-unknown-fields": true,
"additionalProperties": false
"x-kubernetes-preserve-unknown-fields": true
},
"status": {
"description": "HostStatus defines the observed state of Host",
Expand Down
21 changes: 19 additions & 2 deletions getambassador.io/kubernetesendpointresolver_v1.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,22 @@
{
"description": "KubernetesEndpointResolver is the Schema for the kubernetesendpointresolver API",
"type": "object",
"x-kubernetes-preserve-unknown-fields": true
"properties": {
"apiVersion": {
"description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources",
"type": "string"
},
"kind": {
"description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
"type": "string"
},
"metadata": {
"type": "object"
},
"spec": {
"description": "KubernetesEndpointResolver tells Ambassador to use Kubernetes Endpoints resources to resolve services. It actually has no spec other than the AmbassadorID.",
"type": "object",
"x-kubernetes-preserve-unknown-fields": true
}
},
"type": "object"
}
21 changes: 19 additions & 2 deletions getambassador.io/kubernetesserviceresolver_v1.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,22 @@
{
"description": "KubernetesServiceResolver is the Schema for the kubernetesserviceresolver API",
"type": "object",
"x-kubernetes-preserve-unknown-fields": true
"properties": {
"apiVersion": {
"description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources",
"type": "string"
},
"kind": {
"description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
"type": "string"
},
"metadata": {
"type": "object"
},
"spec": {
"description": "KubernetesServiceResolver tells Ambassador to use Kubernetes Service resources to resolve services. It actually has no spec other than the AmbassadorID.",
"type": "object",
"x-kubernetes-preserve-unknown-fields": true
}
},
"type": "object"
}
Loading

0 comments on commit 2abdb7a

Please sign in to comment.