Description

A route allows developers to expose services through an HTTP(S) aware load balancing and proxy layer via a public DNS entry. The route may further specify TLS options and a certificate, or specify a public CNAME that the router should also accept for HTTP and HTTPS traffic. An administrator typically configures their router to be visible outside the cluster firewall, and may also add additional security, caching, or traffic controls on the service content. Routers usually talk directly to the service endpoints.

Once a route is created, the host field may not be changed. Generally, routers use the oldest route with a given host when resolving conflicts.

Routers are subject to additional customization and may support additional controls via the annotations field.

Because administrators may configure multiple routers, the route status field is used to return information to clients about the names and states of the route under each router. If a client chooses a duplicate name, for instance, the route status conditions are used to indicate the route cannot be chosen.

Object Schema

Expand or mouse-over a field for more information about it.

apiVersion:
kind:
metadata:
annotations:
[string]:
clusterName:
creationTimestamp:
deletionGracePeriodSeconds:
deletionTimestamp:
finalizers:
- [string]:
generateName:
generation:
initializers:
pending:
- name:
result:
apiVersion:
code:
details:
causes:
- field:
message:
reason:
group:
kind:
name:
retryAfterSeconds:
uid:
kind:
message:
metadata:
resourceVersion:
selfLink:
reason:
status:
labels:
[string]:
name:
namespace:
ownerReferences:
- apiVersion:
blockOwnerDeletion:
controller:
kind:
name:
uid:
resourceVersion:
selfLink:
uid:
spec:
alternateBackends:
- kind:
name:
weight:
host:
path:
port:
targetPort:
tls:
caCertificate:
certificate:
destinationCACertificate:
insecureEdgeTerminationPolicy:
key:
termination:
to:
kind:
name:
weight:
wildcardPolicy:
status:
ingress:
- conditions:
- - lastTransitionTime:
message:
reason:
status:
type:
host:
routerCanonicalHostname:
routerName:
wildcardPolicy:

Operations

Create a Route

Create a Route

HTTP request

POST /oapi/v1/routes HTTP/1.1
Authorization: Bearer $TOKEN
Accept: application/json
Connection: close
Content-Type: application/json'

{
  "kind": "Route",
  "apiVersion": "v1",
  ...
}

Curl request

$ curl -k \
    -X POST \
    -d @- \
    -H "Authorization: Bearer $TOKEN" \
    -H 'Accept: application/json' \
    -H 'Content-Type: application/json' \
    https://$ENDPOINT/oapi/v1/routes <<'EOF'
{
  "kind": "Route",
  "apiVersion": "v1",
  ...
}
EOF

HTTP body

Parameter Schema

body

v1.Route

Query parameters

Parameter Description

pretty

If 'true', then the output is pretty printed.

Responses

HTTP Code Schema

200 OK

v1.Route

401 Unauthorized

Consumes

  • */*

Produces

  • application/json

  • application/yaml

  • application/vnd.kubernetes.protobuf

Create a Route in a namespace

Create a Route

HTTP request

POST /oapi/v1/namespaces/$NAMESPACE/routes HTTP/1.1
Authorization: Bearer $TOKEN
Accept: application/json
Connection: close
Content-Type: application/json'

{
  "kind": "Route",
  "apiVersion": "v1",
  ...
}

Curl request

$ curl -k \
    -X POST \
    -d @- \
    -H "Authorization: Bearer $TOKEN" \
    -H 'Accept: application/json' \
    -H 'Content-Type: application/json' \
    https://$ENDPOINT/oapi/v1/namespaces/$NAMESPACE/routes <<'EOF'
{
  "kind": "Route",
  "apiVersion": "v1",
  ...
}
EOF

HTTP body

Parameter Schema

body

v1.Route

Path parameters

Parameter Description

namespace

object name and auth scope, such as for teams and projects

Query parameters

Parameter Description

pretty

If 'true', then the output is pretty printed.

Responses

HTTP Code Schema

200 OK

v1.Route

401 Unauthorized

Consumes

  • */*

Produces

  • application/json

  • application/yaml

  • application/vnd.kubernetes.protobuf

Get a Route in a namespace

Read the specified Route

HTTP request

GET /oapi/v1/namespaces/$NAMESPACE/routes/$NAME HTTP/1.1
Authorization: Bearer $TOKEN
Accept: application/json
Connection: close

Curl request

$ curl -k \
    -H "Authorization: Bearer $TOKEN" \
    -H 'Accept: application/json' \
    https://$ENDPOINT/oapi/v1/namespaces/$NAMESPACE/routes/$NAME

Path parameters

Parameter Description

name

name of the Route

namespace

object name and auth scope, such as for teams and projects

Query parameters

Parameter Description

pretty

If 'true', then the output is pretty printed.

exact

Should the export be exact. Exact export maintains cluster-specific fields like 'Namespace'.

export

Should this value be exported. Export strips fields that a user can not specify.

Responses

HTTP Code Schema

200 OK

v1.Route

401 Unauthorized

Consumes

  • */*

Produces

  • application/json

  • application/yaml

  • application/vnd.kubernetes.protobuf

Get all Routes

List or watch objects of kind Route

HTTP request

GET /oapi/v1/routes HTTP/1.1
Authorization: Bearer $TOKEN
Accept: application/json
Connection: close

Curl request

$ curl -k \
    -H "Authorization: Bearer $TOKEN" \
    -H 'Accept: application/json' \
    https://$ENDPOINT/oapi/v1/routes

Query parameters

Parameter Description

pretty

If 'true', then the output is pretty printed.

fieldSelector

A selector to restrict the list of returned objects by their fields. Defaults to everything.

includeUninitialized

If true, partially initialized resources are included in the response.

labelSelector

A selector to restrict the list of returned objects by their labels. Defaults to everything.

resourceVersion

When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it’s 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.

timeoutSeconds

Timeout for the list/watch call.

watch

Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.

Responses

HTTP Code Schema

200 OK

v1.RouteList

401 Unauthorized

Consumes

  • */*

Produces

  • application/json

  • application/yaml

  • application/vnd.kubernetes.protobuf

  • application/json;stream=watch

  • application/vnd.kubernetes.protobuf;stream=watch

Get all Routes in a namespace

List or watch objects of kind Route

HTTP request

GET /oapi/v1/namespaces/$NAMESPACE/routes HTTP/1.1
Authorization: Bearer $TOKEN
Accept: application/json
Connection: close

Curl request

$ curl -k \
    -H "Authorization: Bearer $TOKEN" \
    -H 'Accept: application/json' \
    https://$ENDPOINT/oapi/v1/namespaces/$NAMESPACE/routes

Path parameters

Parameter Description

namespace

object name and auth scope, such as for teams and projects

Query parameters

Parameter Description

pretty

If 'true', then the output is pretty printed.

fieldSelector

A selector to restrict the list of returned objects by their fields. Defaults to everything.

includeUninitialized

If true, partially initialized resources are included in the response.

labelSelector

A selector to restrict the list of returned objects by their labels. Defaults to everything.

resourceVersion

When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it’s 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.

timeoutSeconds

Timeout for the list/watch call.

watch

Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.

Responses

HTTP Code Schema

200 OK

v1.RouteList

401 Unauthorized

Consumes

  • */*

Produces

  • application/json

  • application/yaml

  • application/vnd.kubernetes.protobuf

  • application/json;stream=watch

  • application/vnd.kubernetes.protobuf;stream=watch

Watch a Route in a namespace

Watch changes to an object of kind Route

HTTP request

GET /oapi/v1/watch/namespaces/$NAMESPACE/routes/$NAME HTTP/1.1
Authorization: Bearer $TOKEN
Accept: application/json
Connection: close

Curl request

$ curl -k \
    -H "Authorization: Bearer $TOKEN" \
    -H 'Accept: application/json' \
    https://$ENDPOINT/oapi/v1/watch/namespaces/$NAMESPACE/routes/$NAME

Path parameters

Parameter Description

name

name of the Route

namespace

object name and auth scope, such as for teams and projects

Query parameters

Parameter Description

fieldSelector

A selector to restrict the list of returned objects by their fields. Defaults to everything.

includeUninitialized

If true, partially initialized resources are included in the response.

labelSelector

A selector to restrict the list of returned objects by their labels. Defaults to everything.

pretty

If 'true', then the output is pretty printed.

resourceVersion

When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it’s 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.

timeoutSeconds

Timeout for the list/watch call.

watch

Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.

Responses

HTTP Code Schema

200 OK

v1.WatchEvent

401 Unauthorized

Consumes

  • */*

Produces

  • application/json

  • application/yaml

  • application/vnd.kubernetes.protobuf

  • application/json;stream=watch

  • application/vnd.kubernetes.protobuf;stream=watch

Watch all Routes

Watch individual changes to a list of Route

HTTP request

GET /oapi/v1/watch/routes HTTP/1.1
Authorization: Bearer $TOKEN
Accept: application/json
Connection: close

Curl request

$ curl -k \
    -H "Authorization: Bearer $TOKEN" \
    -H 'Accept: application/json' \
    https://$ENDPOINT/oapi/v1/watch/routes

Query parameters

Parameter Description

fieldSelector

A selector to restrict the list of returned objects by their fields. Defaults to everything.

includeUninitialized

If true, partially initialized resources are included in the response.

labelSelector

A selector to restrict the list of returned objects by their labels. Defaults to everything.

pretty

If 'true', then the output is pretty printed.

resourceVersion

When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it’s 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.

timeoutSeconds

Timeout for the list/watch call.

watch

Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.

Responses

HTTP Code Schema

200 OK

v1.WatchEvent

401 Unauthorized

Consumes

  • */*

Produces

  • application/json

  • application/yaml

  • application/vnd.kubernetes.protobuf

  • application/json;stream=watch

  • application/vnd.kubernetes.protobuf;stream=watch

Watch all Routes in a namespace

Watch individual changes to a list of Route

HTTP request

GET /oapi/v1/watch/namespaces/$NAMESPACE/routes HTTP/1.1
Authorization: Bearer $TOKEN
Accept: application/json
Connection: close

Curl request

$ curl -k \
    -H "Authorization: Bearer $TOKEN" \
    -H 'Accept: application/json' \
    https://$ENDPOINT/oapi/v1/watch/namespaces/$NAMESPACE/routes

Path parameters

Parameter Description

namespace

object name and auth scope, such as for teams and projects

Query parameters

Parameter Description

fieldSelector

A selector to restrict the list of returned objects by their fields. Defaults to everything.

includeUninitialized

If true, partially initialized resources are included in the response.

labelSelector

A selector to restrict the list of returned objects by their labels. Defaults to everything.

pretty

If 'true', then the output is pretty printed.

resourceVersion

When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it’s 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.

timeoutSeconds

Timeout for the list/watch call.

watch

Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.

Responses

HTTP Code Schema

200 OK

v1.WatchEvent

401 Unauthorized

Consumes

  • */*

Produces

  • application/json

  • application/yaml

  • application/vnd.kubernetes.protobuf

  • application/json;stream=watch

  • application/vnd.kubernetes.protobuf;stream=watch

Update a Route in a namespace

Replace the specified Route

HTTP request

PUT /oapi/v1/namespaces/$NAMESPACE/routes/$NAME HTTP/1.1
Authorization: Bearer $TOKEN
Accept: application/json
Connection: close
Content-Type: application/json'

{
  "kind": "Route",
  "apiVersion": "v1",
  ...
}

Curl request

$ curl -k \
    -X PUT \
    -d @- \
    -H "Authorization: Bearer $TOKEN" \
    -H 'Accept: application/json' \
    -H 'Content-Type: application/json' \
    https://$ENDPOINT/oapi/v1/namespaces/$NAMESPACE/routes/$NAME <<'EOF'
{
  "kind": "Route",
  "apiVersion": "v1",
  ...
}
EOF

HTTP body

Parameter Schema

body

v1.Route

Path parameters

Parameter Description

name

name of the Route

namespace

object name and auth scope, such as for teams and projects

Query parameters

Parameter Description

pretty

If 'true', then the output is pretty printed.

Responses

HTTP Code Schema

200 OK

v1.Route

401 Unauthorized

Consumes

  • */*

Produces

  • application/json

  • application/yaml

  • application/vnd.kubernetes.protobuf

Patch a Route in a namespace

Partially update the specified Route

HTTP request

PATCH /oapi/v1/namespaces/$NAMESPACE/routes/$NAME HTTP/1.1
Authorization: Bearer $TOKEN
Accept: application/json
Connection: close
Content-Type: application/json-patch+json'

{
  ...
}

Curl request

$ curl -k \
    -X PATCH \
    -d @- \
    -H "Authorization: Bearer $TOKEN" \
    -H 'Accept: application/json' \
    -H 'Content-Type: application/json-patch+json' \
    https://$ENDPOINT/oapi/v1/namespaces/$NAMESPACE/routes/$NAME <<'EOF'
{
  ...
}
EOF

HTTP body

Parameter Schema

body

v1.Patch

Path parameters

Parameter Description

name

name of the Route

namespace

object name and auth scope, such as for teams and projects

Query parameters

Parameter Description

pretty

If 'true', then the output is pretty printed.

Responses

HTTP Code Schema

200 OK

v1.Route

401 Unauthorized

Consumes

  • application/json-patch+json

  • application/merge-patch+json

  • application/strategic-merge-patch+json

Produces

  • application/json

  • application/yaml

  • application/vnd.kubernetes.protobuf

Delete a Route in a namespace

Delete a Route

HTTP request

DELETE /oapi/v1/namespaces/$NAMESPACE/routes/$NAME HTTP/1.1
Authorization: Bearer $TOKEN
Accept: application/json
Connection: close
Content-Type: application/json'

{
  ...
}

Curl request

$ curl -k \
    -X DELETE \
    -d @- \
    -H "Authorization: Bearer $TOKEN" \
    -H 'Accept: application/json' \
    -H 'Content-Type: application/json' \
    https://$ENDPOINT/oapi/v1/namespaces/$NAMESPACE/routes/$NAME <<'EOF'
{
  ...
}
EOF

HTTP body

Parameter Schema

body

v1.DeleteOptions

Path parameters

Parameter Description

name

name of the Route

namespace

object name and auth scope, such as for teams and projects

Query parameters

Parameter Description

pretty

If 'true', then the output is pretty printed.

gracePeriodSeconds

The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.

orphanDependents

Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the "orphan" finalizer will be added to/removed from the object’s finalizers list. Either this field or PropagationPolicy may be set, but not both.

propagationPolicy

Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy.

Responses

HTTP Code Schema

200 OK

v1.Status

401 Unauthorized

Consumes

  • */*

Produces

  • application/json

  • application/yaml

  • application/vnd.kubernetes.protobuf

Delete all Routes in a namespace

Delete collection of Route

HTTP request

DELETE /oapi/v1/namespaces/$NAMESPACE/routes HTTP/1.1
Authorization: Bearer $TOKEN
Accept: application/json
Connection: close

Curl request

$ curl -k \
    -X DELETE \
    -H "Authorization: Bearer $TOKEN" \
    -H 'Accept: application/json' \
    https://$ENDPOINT/oapi/v1/namespaces/$NAMESPACE/routes

Path parameters

Parameter Description

namespace

object name and auth scope, such as for teams and projects

Query parameters

Parameter Description

pretty

If 'true', then the output is pretty printed.

fieldSelector

A selector to restrict the list of returned objects by their fields. Defaults to everything.

includeUninitialized

If true, partially initialized resources are included in the response.

labelSelector

A selector to restrict the list of returned objects by their labels. Defaults to everything.

resourceVersion

When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it’s 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.

timeoutSeconds

Timeout for the list/watch call.

watch

Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.

Responses

HTTP Code Schema

200 OK

v1.Status

401 Unauthorized

Consumes

  • */*

Produces

  • application/json

  • application/yaml

  • application/vnd.kubernetes.protobuf

Get status of a Route in a namespace

Read status of the specified Route

HTTP request

GET /oapi/v1/namespaces/$NAMESPACE/routes/$NAME/status HTTP/1.1
Authorization: Bearer $TOKEN
Accept: application/json
Connection: close

Curl request

$ curl -k \
    -H "Authorization: Bearer $TOKEN" \
    -H 'Accept: application/json' \
    https://$ENDPOINT/oapi/v1/namespaces/$NAMESPACE/routes/$NAME/status

Path parameters

Parameter Description

name

name of the Route

namespace

object name and auth scope, such as for teams and projects

Query parameters

Parameter Description

pretty

If 'true', then the output is pretty printed.

Responses

HTTP Code Schema

200 OK

v1.Route

401 Unauthorized

Consumes

  • */*

Produces

  • application/json

  • application/yaml

  • application/vnd.kubernetes.protobuf

Update status of a Route in a namespace

Replace status of the specified Route

HTTP request

PUT /oapi/v1/namespaces/$NAMESPACE/routes/$NAME/status HTTP/1.1
Authorization: Bearer $TOKEN
Accept: application/json
Connection: close
Content-Type: application/json'

{
  "kind": "Route",
  "apiVersion": "v1",
  ...
}

Curl request

$ curl -k \
    -X PUT \
    -d @- \
    -H "Authorization: Bearer $TOKEN" \
    -H 'Accept: application/json' \
    -H 'Content-Type: application/json' \
    https://$ENDPOINT/oapi/v1/namespaces/$NAMESPACE/routes/$NAME/status <<'EOF'
{
  "kind": "Route",
  "apiVersion": "v1",
  ...
}
EOF

HTTP body

Parameter Schema

body

v1.Route

Path parameters

Parameter Description

name

name of the Route

namespace

object name and auth scope, such as for teams and projects

Query parameters

Parameter Description

pretty

If 'true', then the output is pretty printed.

Responses

HTTP Code Schema

200 OK

v1.Route

401 Unauthorized

Consumes

  • */*

Produces

  • application/json

  • application/yaml

  • application/vnd.kubernetes.protobuf

Patch status of a Route in a namespace

Partially update status of the specified Route

HTTP request

PATCH /oapi/v1/namespaces/$NAMESPACE/routes/$NAME/status HTTP/1.1
Authorization: Bearer $TOKEN
Accept: application/json
Connection: close
Content-Type: application/json-patch+json'

{
  ...
}

Curl request

$ curl -k \
    -X PATCH \
    -d @- \
    -H "Authorization: Bearer $TOKEN" \
    -H 'Accept: application/json' \
    -H 'Content-Type: application/json-patch+json' \
    https://$ENDPOINT/oapi/v1/namespaces/$NAMESPACE/routes/$NAME/status <<'EOF'
{
  ...
}
EOF

HTTP body

Parameter Schema

body

v1.Patch

Path parameters

Parameter Description

name

name of the Route

namespace

object name and auth scope, such as for teams and projects

Query parameters

Parameter Description

pretty

If 'true', then the output is pretty printed.

Responses

HTTP Code Schema

200 OK

v1.Route

401 Unauthorized

Consumes

  • application/json-patch+json

  • application/merge-patch+json

  • application/strategic-merge-patch+json

Produces

  • application/json

  • application/yaml

  • application/vnd.kubernetes.protobuf