Skip to content

Create a EnrollmentToken

POST
/apis/nodus.dev/v1/namespaces/{namespace}/enrollmenttokens
curl --request POST \
--url https://example.com/apis/nodus.dev/v1/namespaces/example/enrollmenttokens \
--header 'Content-Type: application/json' \
--data '{ "apiVersion": "example", "kind": "example", "metadata": { "annotations": { "additionalProperty": "example" }, "creationTimestamp": "example", "deletionGracePeriodSeconds": 1, "deletionTimestamp": "example", "finalizers": [ "example" ], "generateName": "example", "generation": 1, "labels": { "additionalProperty": "example" }, "managedFields": [ { "apiVersion": "example", "fieldsType": "example", "fieldsV1": { "additionalProperty": "example" }, "manager": "example", "operation": "example", "subresource": "example", "time": "example" } ], "name": "example", "namespace": "example", "ownerReferences": [ { "apiVersion": "example", "blockOwnerDeletion": true, "controller": true, "kind": "example", "name": "example", "uid": "example" } ], "resourceVersion": "example", "selfLink": "example", "uid": "example" }, "spec": { "labels": { "additionalProperty": "example" }, "pool": "example", "ttl": "example" }, "status": { "expirationTime": "example", "installCommand": "example", "node": "example", "token": "example", "usedTime": "example" } }'
namespace
required
string

The project.

dryRun
string
fieldValidation
string
fieldManager
string
Idempotency-Key
string
If-Match
string
Media type application/json

EnrollmentToken admits one host into a Pool. The create response carries the nodus_et_ token and the one-line installer once; the token is single use, bound to its Pool, and expires after its ttl (at most 24 h).

object
apiVersion
string
kind
string
metadata
object
annotations
object
key
additional properties
string
creationTimestamp
string
deletionGracePeriodSeconds
integer format: int64
deletionTimestamp
string
finalizers
Array<string>
nullable
generateName
string
generation
integer format: int64
labels
object
key
additional properties
string
managedFields
Array<object>
nullable
object
apiVersion
string
fieldsType
string
fieldsV1
object
key
additional properties
manager
string
operation
string
subresource
string
time
string
name
string
namespace
string
ownerReferences
Array<object>
nullable
object
apiVersion
required
string
blockOwnerDeletion
boolean
controller
boolean
kind
required
string
name
required
string
uid
required
string
resourceVersion
string
selfLink
string
uid
string
spec
required

EnrollmentTokenSpec binds a token to a Pool.

object
labels

Labels are copied onto the Node at enrollment.

object
key
additional properties
string
pool
required

Pool is the Pool the host joins.

string
ttl

TTL is how long the token stays usable, at most 24h. Default 24h.

string
status

EnrollmentTokenStatus reports the token’s lifetime and use. The secret is never in it after create.

object
expirationTime
required

ExpirationTime is when the token stops enrolling hosts.

string
installCommand

InstallCommand is the one-line installer, present only in the create response.

string
node

Node is the Node the token enrolled.

string
token

Token is the nodus_et_ secret, present only in the create response.

string
usedTime

UsedTime is when a host consumed the token.

string
Example generated
{
"apiVersion": "example",
"kind": "example",
"metadata": {
"annotations": {
"additionalProperty": "example"
},
"creationTimestamp": "example",
"deletionGracePeriodSeconds": 1,
"deletionTimestamp": "example",
"finalizers": [
"example"
],
"generateName": "example",
"generation": 1,
"labels": {
"additionalProperty": "example"
},
"managedFields": [
{
"apiVersion": "example",
"fieldsType": "example",
"fieldsV1": {
"additionalProperty": "example"
},
"manager": "example",
"operation": "example",
"subresource": "example",
"time": "example"
}
],
"name": "example",
"namespace": "example",
"ownerReferences": [
{
"apiVersion": "example",
"blockOwnerDeletion": true,
"controller": true,
"kind": "example",
"name": "example",
"uid": "example"
}
],
"resourceVersion": "example",
"selfLink": "example",
"uid": "example"
},
"spec": {
"labels": {
"additionalProperty": "example"
},
"pool": "example",
"ttl": "example"
},
"status": {
"expirationTime": "example",
"installCommand": "example",
"node": "example",
"token": "example",
"usedTime": "example"
}
}

OK

Media type application/json

EnrollmentToken admits one host into a Pool. The create response carries the nodus_et_ token and the one-line installer once; the token is single use, bound to its Pool, and expires after its ttl (at most 24 h).

object
apiVersion
string
kind
string
metadata
object
annotations
object
key
additional properties
string
creationTimestamp
string
deletionGracePeriodSeconds
integer format: int64
deletionTimestamp
string
finalizers
Array<string>
nullable
generateName
string
generation
integer format: int64
labels
object
key
additional properties
string
managedFields
Array<object>
nullable
object
apiVersion
string
fieldsType
string
fieldsV1
object
key
additional properties
manager
string
operation
string
subresource
string
time
string
name
string
namespace
string
ownerReferences
Array<object>
nullable
object
apiVersion
required
string
blockOwnerDeletion
boolean
controller
boolean
kind
required
string
name
required
string
uid
required
string
resourceVersion
string
selfLink
string
uid
string
spec
required

EnrollmentTokenSpec binds a token to a Pool.

object
labels

Labels are copied onto the Node at enrollment.

object
key
additional properties
string
pool
required

Pool is the Pool the host joins.

string
ttl

TTL is how long the token stays usable, at most 24h. Default 24h.

string
status

EnrollmentTokenStatus reports the token’s lifetime and use. The secret is never in it after create.

object
expirationTime
required

ExpirationTime is when the token stops enrolling hosts.

string
installCommand

InstallCommand is the one-line installer, present only in the create response.

string
node

Node is the Node the token enrolled.

string
token

Token is the nodus_et_ secret, present only in the create response.

string
usedTime

UsedTime is when a host consumed the token.

string
Example generated
{
"apiVersion": "example",
"kind": "example",
"metadata": {
"annotations": {
"additionalProperty": "example"
},
"creationTimestamp": "example",
"deletionGracePeriodSeconds": 1,
"deletionTimestamp": "example",
"finalizers": [
"example"
],
"generateName": "example",
"generation": 1,
"labels": {
"additionalProperty": "example"
},
"managedFields": [
{
"apiVersion": "example",
"fieldsType": "example",
"fieldsV1": {
"additionalProperty": "example"
},
"manager": "example",
"operation": "example",
"subresource": "example",
"time": "example"
}
],
"name": "example",
"namespace": "example",
"ownerReferences": [
{
"apiVersion": "example",
"blockOwnerDeletion": true,
"controller": true,
"kind": "example",
"name": "example",
"uid": "example"
}
],
"resourceVersion": "example",
"selfLink": "example",
"uid": "example"
},
"spec": {
"labels": {
"additionalProperty": "example"
},
"pool": "example",
"ttl": "example"
},
"status": {
"expirationTime": "example",
"installCommand": "example",
"node": "example",
"token": "example",
"usedTime": "example"
}
}

An error: a metav1.Status whose reason is a registered code.

Media type application/json

Status is the error body of every API response: a Kubernetes metav1.Status (so kubectl and client-go understand it) plus three top-level extensions that those clients ignore (ADR-028).

object
apiVersion
string
code
integer format: int32
details
object
causes
Array<object>
nullable
object
field
string
message
string
reason
string
group
string
kind
string
name
string
retryAfterSeconds
integer format: int32
uid
string
docs

Docs is the URL of the code’s docs page.

string
fix

Fix says what to do next, for example a CLI command or the field to change.

string
kind
string
message
string
metadata
object
continue
string
remainingItemCount
integer format: int64
resourceVersion
string
selfLink
string
shardInfo
object
selector
required
string
reason
string
requestId

RequestID identifies the request in logs and support tickets.

string
status
string
Example generated
{
"apiVersion": "example",
"code": 1,
"details": {
"causes": [
{
"field": "example",
"message": "example",
"reason": "example"
}
],
"group": "example",
"kind": "example",
"name": "example",
"retryAfterSeconds": 1,
"uid": "example"
},
"docs": "example",
"fix": "example",
"kind": "example",
"message": "example",
"metadata": {
"continue": "example",
"remainingItemCount": 1,
"resourceVersion": "example",
"selfLink": "example",
"shardInfo": {
"selector": "example"
}
},
"reason": "example",
"requestId": "example",
"status": "example"
}