Skip to content

Commit d332230

Browse files
authored
feat(kubernetes): add State field to kubernetes node-groups (#215)
1 parent e1fbedc commit d332230

5 files changed

Lines changed: 28 additions & 18 deletions

File tree

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,11 @@ See updating [Changelog example here](https://keepachangelog.com/en/1.0.0/)
88
### Added
99
- labels support for storages
1010
- support for network gateways
11+
- `State` field to kubernetes node-groups
1112

1213
### Changed
1314
- errors: all service method now return `Problem` type in case of errors (*BREAKING CHANGE*)
15+
- Type for `NodeGroups` field `CreateKubernetesClusterRequest` is now `request.KubernetesNodeGroup` instead of `upcloud.KubernetesNodeGroup`
1416

1517
### Removed
1618
- errors: `Error` type was removed (*BREAKING CHANGE*)

upcloud/kubernetes.go

Lines changed: 17 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,20 @@ const (
88
KubernetesClusterStateFailed KubernetesClusterState = "failed"
99
KubernetesClusterStateUnknown KubernetesClusterState = "unknown"
1010

11+
KubernetesNodeGroupStatePending KubernetesNodeGroupState = "pending"
12+
KubernetesNodeGroupStateRunning KubernetesNodeGroupState = "running"
13+
KubernetesNodeGroupStateTerminating KubernetesNodeGroupState = "terminating"
14+
KubernetesNodeGroupStateFailed KubernetesNodeGroupState = "failed"
15+
KubernetesNodeGroupStateUnknown KubernetesNodeGroupState = "unknown"
16+
1117
KubernetesClusterTaintEffectNoExecute KubernetesClusterTaintEffect = "NoExecute"
1218
KubernetesClusterTaintEffectNoSchedule KubernetesClusterTaintEffect = "NoSchedule"
1319
KubernetesClusterTaintEffectPreferNoSchedule KubernetesClusterTaintEffect = "PreferNoSchedule"
1420
)
1521

1622
type (
1723
KubernetesClusterState string
24+
KubernetesNodeGroupState string
1825
KubernetesClusterType string
1926
KubernetesClusterTaintEffect string
2027
)
@@ -30,15 +37,16 @@ type KubernetesCluster struct {
3037
}
3138

3239
type KubernetesNodeGroup struct {
33-
Count int `json:"count,omitempty"`
34-
Labels []Label `json:"labels,omitempty"`
35-
Name string `json:"name,omitempty"`
36-
Plan string `json:"plan,omitempty"`
37-
SSHKeys []string `json:"ssh_keys,omitempty"`
38-
Storage string `json:"storage,omitempty"`
39-
KubeletArgs []KubernetesKubeletArg `json:"kubelet_args,omitempty"`
40-
Taints []KubernetesTaint `json:"taints,omitempty"`
41-
AntiAffinity bool `json:"anti_affinity,omitempty"`
40+
AntiAffinity bool `json:"anti_affinity,omitempty"`
41+
Count int `json:"count,omitempty"`
42+
KubeletArgs []KubernetesKubeletArg `json:"kubelet_args,omitempty"`
43+
Labels []Label `json:"labels,omitempty"`
44+
Name string `json:"name,omitempty"`
45+
Plan string `json:"plan,omitempty"`
46+
SSHKeys []string `json:"ssh_keys,omitempty"`
47+
State KubernetesNodeGroupState `json:"state,omitempty"`
48+
Storage string `json:"storage,omitempty"`
49+
Taints []KubernetesTaint `json:"taints,omitempty"`
4250
}
4351

4452
type KubernetesKubeletArg struct {

upcloud/request/kubernetes.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -48,11 +48,11 @@ func (r *GetKubernetesClusterRequest) RequestURL() string {
4848

4949
// CreateKubernetesClusterRequest represents a request to create a Kubernetes cluster
5050
type CreateKubernetesClusterRequest struct {
51-
Name string `json:"name"`
52-
Network string `json:"network"`
53-
NetworkCIDR string `json:"network_cidr"`
54-
NodeGroups []upcloud.KubernetesNodeGroup `json:"node_groups"`
55-
Zone string `json:"zone"`
51+
Name string `json:"name"`
52+
Network string `json:"network"`
53+
NetworkCIDR string `json:"network_cidr"`
54+
NodeGroups []KubernetesNodeGroup `json:"node_groups"`
55+
Zone string `json:"zone"`
5656
}
5757

5858
func (r *CreateKubernetesClusterRequest) RequestURL() string {

upcloud/request/kubernetes_test.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -351,16 +351,16 @@ func exampleCreateKubernetesClusterRequest() CreateKubernetesClusterRequest {
351351
Name: "title",
352352
Network: "00000000-0000-0000-0000-000000000000",
353353
NetworkCIDR: "172.16.0.1/24",
354-
NodeGroups: []upcloud.KubernetesNodeGroup{
354+
NodeGroups: []KubernetesNodeGroup{
355355
exampleKubernetesNodeGroup(),
356356
exampleKubernetesNodeGroup(),
357357
},
358358
Zone: "zone",
359359
}
360360
}
361361

362-
func exampleKubernetesNodeGroup() upcloud.KubernetesNodeGroup {
363-
return upcloud.KubernetesNodeGroup{
362+
func exampleKubernetesNodeGroup() KubernetesNodeGroup {
363+
return KubernetesNodeGroup{
364364
Count: 1,
365365
Labels: []upcloud.Label{
366366
{

upcloud/service/kubernetes_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -207,7 +207,7 @@ func TestCreateKubernetesCluster(t *testing.T) {
207207
Name: "test-name",
208208
Network: "03e4970d-7791-4b80-a892-682ae0faf46b",
209209
Zone: "de-fra1",
210-
NodeGroups: []upcloud.KubernetesNodeGroup{
210+
NodeGroups: []request.KubernetesNodeGroup{
211211
{
212212
Name: "my-group1",
213213
Plan: "2xCPU-4GB",

0 commit comments

Comments
 (0)