Skip to content

Commit

Permalink
Add CRD for k0s, dex and Grafana Operator (#285)
Browse files Browse the repository at this point in the history
  • Loading branch information
Skaronator authored Jun 1, 2024
1 parent d4434f9 commit 69a6a7e
Show file tree
Hide file tree
Showing 18 changed files with 8,047 additions and 0 deletions.
46 changes: 46 additions & 0 deletions autopilot.k0sproject.io/controlnode_v1beta2.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
{
"description": "ControlNode is a node which behaves as a controller, able to receive autopilot\nsignaling updates.",
"properties": {
"apiVersion": {
"description": "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore 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.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
"type": "string"
},
"metadata": {
"type": "object"
},
"status": {
"description": "ControlNodeStatus has the runtime status info of the controller such as address etc.",
"properties": {
"addresses": {
"items": {
"description": "NodeAddress contains information for the node's address.",
"properties": {
"address": {
"description": "The node address.",
"type": "string"
},
"type": {
"description": "Node address type, one of Hostname, ExternalIP or InternalIP.",
"type": "string"
}
},
"required": [
"address",
"type"
],
"type": "object",
"additionalProperties": false
},
"type": "array"
}
},
"type": "object",
"additionalProperties": false
}
},
"type": "object"
}
464 changes: 464 additions & 0 deletions autopilot.k0sproject.io/plan_v1beta2.json

Large diffs are not rendered by default.

308 changes: 308 additions & 0 deletions autopilot.k0sproject.io/updateconfig_v1beta2.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,308 @@
{
"properties": {
"apiVersion": {
"description": "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore 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.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
"type": "string"
},
"metadata": {
"type": "object"
},
"spec": {
"properties": {
"channel": {
"default": "stable",
"description": "Channel defines the update channel to use for this update config",
"type": "string"
},
"planSpec": {
"description": "PlanSpec defines the plan spec to use for this update config",
"properties": {
"commands": {
"description": "Commands are a collection of all of the commands that need to be executed\nin order for this plan to transition to Completed.",
"items": {
"description": "AutopilotPlanCommand is a command that can be run within a `Plan`",
"properties": {
"airgapupdate": {
"description": "AirgapUpdate is the `AirgapUpdate` command which is responsible for updating a k0s airgap bundle.",
"properties": {
"workers": {
"description": "Workers defines how the k0s workers will be discovered and airgap updated.",
"properties": {
"discovery": {
"description": "Discovery details how nodes for this target should be discovered.",
"properties": {
"selector": {
"description": "Selector provides a kubernetes 'selector' means of identifying target signal nodes.",
"properties": {
"fields": {
"description": "Fields is a standard kubernetes field selector (key=value,key=value,...)",
"type": "string"
},
"labels": {
"description": "Labels is a standard kubernetes label selector (key=value,key=value,...)",
"type": "string"
}
},
"type": "object",
"additionalProperties": false
},
"static": {
"description": "Static provides a static means of identifying target signal nodes.",
"properties": {
"nodes": {
"description": "Nodes provides a static set of target signal nodes.",
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object",
"additionalProperties": false
}
},
"type": "object",
"additionalProperties": false
},
"limits": {
"default": {
"concurrent": 1
},
"description": "Limits impose various limits and restrictions on how discovery and execution should behave.",
"properties": {
"concurrent": {
"default": 1,
"description": "Concurrent specifies the number of concurrent target executions that can be performed\nwithin this target. (ie. '2' == at most have 2 execute at the same time)",
"type": "integer"
}
},
"type": "object",
"additionalProperties": false
}
},
"required": [
"discovery"
],
"type": "object",
"additionalProperties": false
}
},
"required": [
"workers"
],
"type": "object",
"additionalProperties": false
},
"k0supdate": {
"description": "K0sUpdate is the `K0sUpdate` command which is responsible for updating a k0s node (controller/worker)",
"properties": {
"forceupdate": {
"description": "ForceUpdate ensures that version checking is ignored and that all updates are applied.",
"type": "boolean"
},
"targets": {
"description": "Targets defines how the controllers/workers should be discovered and upgraded.",
"properties": {
"controllers": {
"description": "Controllers defines how k0s controllers will be discovered and executed.",
"properties": {
"discovery": {
"description": "Discovery details how nodes for this target should be discovered.",
"properties": {
"selector": {
"description": "Selector provides a kubernetes 'selector' means of identifying target signal nodes.",
"properties": {
"fields": {
"description": "Fields is a standard kubernetes field selector (key=value,key=value,...)",
"type": "string"
},
"labels": {
"description": "Labels is a standard kubernetes label selector (key=value,key=value,...)",
"type": "string"
}
},
"type": "object",
"additionalProperties": false
},
"static": {
"description": "Static provides a static means of identifying target signal nodes.",
"properties": {
"nodes": {
"description": "Nodes provides a static set of target signal nodes.",
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object",
"additionalProperties": false
}
},
"type": "object",
"additionalProperties": false
},
"limits": {
"default": {
"concurrent": 1
},
"description": "Limits impose various limits and restrictions on how discovery and execution should behave.",
"properties": {
"concurrent": {
"default": 1,
"description": "Concurrent specifies the number of concurrent target executions that can be performed\nwithin this target. (ie. '2' == at most have 2 execute at the same time)",
"type": "integer"
}
},
"type": "object",
"additionalProperties": false
}
},
"required": [
"discovery"
],
"type": "object",
"additionalProperties": false
},
"workers": {
"description": "Workers defines how k0s workers will be discovered and executed.",
"properties": {
"discovery": {
"description": "Discovery details how nodes for this target should be discovered.",
"properties": {
"selector": {
"description": "Selector provides a kubernetes 'selector' means of identifying target signal nodes.",
"properties": {
"fields": {
"description": "Fields is a standard kubernetes field selector (key=value,key=value,...)",
"type": "string"
},
"labels": {
"description": "Labels is a standard kubernetes label selector (key=value,key=value,...)",
"type": "string"
}
},
"type": "object",
"additionalProperties": false
},
"static": {
"description": "Static provides a static means of identifying target signal nodes.",
"properties": {
"nodes": {
"description": "Nodes provides a static set of target signal nodes.",
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object",
"additionalProperties": false
}
},
"type": "object",
"additionalProperties": false
},
"limits": {
"default": {
"concurrent": 1
},
"description": "Limits impose various limits and restrictions on how discovery and execution should behave.",
"properties": {
"concurrent": {
"default": 1,
"description": "Concurrent specifies the number of concurrent target executions that can be performed\nwithin this target. (ie. '2' == at most have 2 execute at the same time)",
"type": "integer"
}
},
"type": "object",
"additionalProperties": false
}
},
"required": [
"discovery"
],
"type": "object",
"additionalProperties": false
}
},
"type": "object",
"additionalProperties": false
}
},
"required": [
"targets"
],
"type": "object",
"additionalProperties": false
}
},
"type": "object",
"additionalProperties": false
},
"type": "array"
}
},
"required": [
"commands"
],
"type": "object",
"additionalProperties": false
},
"updateServer": {
"default": "https://updates.k0sproject.io",
"description": "UpdateServer defines the update server to use for this update config",
"type": "string"
},
"upgradeStrategy": {
"description": "UpdateStrategy defines the update strategy to use for this update config",
"properties": {
"cron": {
"description": "Cron defines the cron expression for the cron upgrade strategy",
"type": "string"
},
"periodic": {
"description": "Periodic defines the periodic upgrade strategy",
"properties": {
"days": {
"items": {
"type": "string"
},
"type": "array"
},
"length": {
"type": "string"
},
"startTime": {
"type": "string"
}
},
"type": "object",
"additionalProperties": false
},
"type": {
"description": "Type defines the type of upgrade strategy",
"enum": [
"periodic",
"cron"
],
"type": "string"
}
},
"type": "object",
"additionalProperties": false
}
},
"type": "object",
"additionalProperties": false
}
},
"required": [
"spec"
],
"type": "object"
}
4 changes: 4 additions & 0 deletions dex.coreos.com/authcode_v1.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"type": "object",
"x-kubernetes-preserve-unknown-fields": true
}
4 changes: 4 additions & 0 deletions dex.coreos.com/authrequest_v1.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"type": "object",
"x-kubernetes-preserve-unknown-fields": true
}
4 changes: 4 additions & 0 deletions dex.coreos.com/connector_v1.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"type": "object",
"x-kubernetes-preserve-unknown-fields": true
}
4 changes: 4 additions & 0 deletions dex.coreos.com/devicerequest_v1.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"type": "object",
"x-kubernetes-preserve-unknown-fields": true
}
4 changes: 4 additions & 0 deletions dex.coreos.com/devicetoken_v1.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"type": "object",
"x-kubernetes-preserve-unknown-fields": true
}
4 changes: 4 additions & 0 deletions dex.coreos.com/oauth2client_v1.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"type": "object",
"x-kubernetes-preserve-unknown-fields": true
}
4 changes: 4 additions & 0 deletions dex.coreos.com/offlinesessions_v1.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"type": "object",
"x-kubernetes-preserve-unknown-fields": true
}
4 changes: 4 additions & 0 deletions dex.coreos.com/password_v1.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"type": "object",
"x-kubernetes-preserve-unknown-fields": true
}
Loading

0 comments on commit 69a6a7e

Please sign in to comment.