kubeclient 4.6.0 → 4.9.2

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of kubeclient might be problematic. Click here for more details.

Files changed (116) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/actions.yml +35 -0
  3. data/CHANGELOG.md +37 -0
  4. data/README.md +155 -37
  5. data/RELEASING.md +3 -1
  6. data/kubeclient.gemspec +5 -4
  7. data/lib/kubeclient.rb +1 -1
  8. data/lib/kubeclient/common.rb +35 -6
  9. data/lib/kubeclient/config.rb +17 -4
  10. data/lib/kubeclient/exec_credentials.rb +33 -4
  11. data/lib/kubeclient/google_application_default_credentials.rb +6 -1
  12. data/lib/kubeclient/version.rb +1 -1
  13. metadata +13 -217
  14. data/.travis.yml +0 -26
  15. data/test/cassettes/kubernetes_guestbook.yml +0 -879
  16. data/test/config/allinone.kubeconfig +0 -20
  17. data/test/config/execauth.kubeconfig +0 -62
  18. data/test/config/external-ca.pem +0 -18
  19. data/test/config/external-cert.pem +0 -19
  20. data/test/config/external-key.rsa +0 -27
  21. data/test/config/external.kubeconfig +0 -20
  22. data/test/config/gcpauth.kubeconfig +0 -22
  23. data/test/config/gcpcmdauth.kubeconfig +0 -26
  24. data/test/config/nouser.kubeconfig +0 -16
  25. data/test/config/oidcauth.kubeconfig +0 -25
  26. data/test/config/timestamps.kubeconfig +0 -25
  27. data/test/config/userauth.kubeconfig +0 -28
  28. data/test/json/bindings_list.json +0 -10
  29. data/test/json/component_status.json +0 -17
  30. data/test/json/component_status_list.json +0 -52
  31. data/test/json/config.istio.io_api_resource_list.json +0 -679
  32. data/test/json/config_map_list.json +0 -9
  33. data/test/json/core_api_resource_list.json +0 -181
  34. data/test/json/core_api_resource_list_without_kind.json +0 -129
  35. data/test/json/core_oapi_resource_list_without_kind.json +0 -197
  36. data/test/json/created_endpoint.json +0 -28
  37. data/test/json/created_namespace.json +0 -20
  38. data/test/json/created_secret.json +0 -16
  39. data/test/json/created_security_context_constraint.json +0 -65
  40. data/test/json/created_service.json +0 -31
  41. data/test/json/empty_pod_list.json +0 -9
  42. data/test/json/endpoint_list.json +0 -48
  43. data/test/json/entity_list.json +0 -56
  44. data/test/json/event_list.json +0 -35
  45. data/test/json/extensions_v1beta1_api_resource_list.json +0 -217
  46. data/test/json/limit_range.json +0 -23
  47. data/test/json/limit_range_list.json +0 -31
  48. data/test/json/namespace.json +0 -13
  49. data/test/json/namespace_exception.json +0 -8
  50. data/test/json/namespace_list.json +0 -32
  51. data/test/json/node.json +0 -29
  52. data/test/json/node_list.json +0 -37
  53. data/test/json/node_notice.json +0 -160
  54. data/test/json/persistent_volume.json +0 -37
  55. data/test/json/persistent_volume_claim.json +0 -32
  56. data/test/json/persistent_volume_claim_list.json +0 -40
  57. data/test/json/persistent_volume_claims_nil_items.json +0 -8
  58. data/test/json/persistent_volume_list.json +0 -45
  59. data/test/json/pod.json +0 -92
  60. data/test/json/pod_list.json +0 -79
  61. data/test/json/pod_template_list.json +0 -9
  62. data/test/json/pods_1.json +0 -265
  63. data/test/json/pods_2.json +0 -102
  64. data/test/json/pods_410.json +0 -9
  65. data/test/json/processed_template.json +0 -27
  66. data/test/json/replication_controller.json +0 -57
  67. data/test/json/replication_controller_list.json +0 -66
  68. data/test/json/resource_quota.json +0 -46
  69. data/test/json/resource_quota_list.json +0 -54
  70. data/test/json/secret_list.json +0 -44
  71. data/test/json/security.openshift.io_api_resource_list.json +0 -69
  72. data/test/json/security_context_constraint_list.json +0 -375
  73. data/test/json/service.json +0 -33
  74. data/test/json/service_account.json +0 -25
  75. data/test/json/service_account_list.json +0 -82
  76. data/test/json/service_illegal_json_404.json +0 -1
  77. data/test/json/service_json_patch.json +0 -26
  78. data/test/json/service_list.json +0 -97
  79. data/test/json/service_merge_patch.json +0 -26
  80. data/test/json/service_patch.json +0 -25
  81. data/test/json/service_update.json +0 -22
  82. data/test/json/template.json +0 -27
  83. data/test/json/template.openshift.io_api_resource_list.json +0 -75
  84. data/test/json/template_list.json +0 -35
  85. data/test/json/versions_list.json +0 -6
  86. data/test/json/watch_stream.json +0 -3
  87. data/test/test_common.rb +0 -95
  88. data/test/test_component_status.rb +0 -29
  89. data/test/test_config.rb +0 -222
  90. data/test/test_endpoint.rb +0 -54
  91. data/test/test_exec_credentials.rb +0 -125
  92. data/test/test_gcp_command_credentials.rb +0 -27
  93. data/test/test_google_application_default_credentials.rb +0 -15
  94. data/test/test_guestbook_go.rb +0 -235
  95. data/test/test_helper.rb +0 -18
  96. data/test/test_kubeclient.rb +0 -881
  97. data/test/test_limit_range.rb +0 -25
  98. data/test/test_missing_methods.rb +0 -80
  99. data/test/test_namespace.rb +0 -59
  100. data/test/test_node.rb +0 -70
  101. data/test/test_oidc_auth_provider.rb +0 -103
  102. data/test/test_persistent_volume.rb +0 -29
  103. data/test/test_persistent_volume_claim.rb +0 -28
  104. data/test/test_pod.rb +0 -81
  105. data/test/test_pod_log.rb +0 -157
  106. data/test/test_process_template.rb +0 -80
  107. data/test/test_replication_controller.rb +0 -47
  108. data/test/test_resource_list_without_kind.rb +0 -78
  109. data/test/test_resource_quota.rb +0 -23
  110. data/test/test_secret.rb +0 -62
  111. data/test/test_security_context_constraint.rb +0 -62
  112. data/test/test_service.rb +0 -330
  113. data/test/test_service_account.rb +0 -26
  114. data/test/test_watch.rb +0 -195
  115. data/test/txt/pod_log.txt +0 -6
  116. data/test/valid_token_file +0 -1
@@ -1 +0,0 @@
1
- 404: Page Not Found
@@ -1,26 +0,0 @@
1
- {
2
- "status" : {},
3
- "kind" : "Service",
4
- "apiVersion" : "v1",
5
- "spec" : {
6
- "ports" : [
7
- {
8
- "targetPort" : 80,
9
- "nodePort" : 0,
10
- "port" : 80,
11
- "protocol" : "TCP"
12
- }
13
- ],
14
- "clusterIP" : "1.2.3.4",
15
- "type": "LoadBalancer"
16
- },
17
- "metadata" : {
18
- "name" : "my-service",
19
- "creationTimestamp" : null,
20
- "namespace" : "development",
21
- "resourceVersion" : "2",
22
- "annotations" : {
23
- "key" : "value"
24
- }
25
- }
26
- }
@@ -1,97 +0,0 @@
1
- {
2
- "kind": "ServiceList",
3
- "apiVersion": "v1",
4
- "metadata": {
5
- "selfLink": "/api/v1/services",
6
- "resourceVersion": "36727"
7
- },
8
- "items": [
9
- {
10
- "metadata": {
11
- "name": "kubernetes",
12
- "namespace": "default",
13
- "selfLink": "/api/v1/namespaces/default/services/kubernetes",
14
- "uid": "b6606490-db86-11e4-b293-f8b156af4ae1",
15
- "resourceVersion": "6",
16
- "creationTimestamp": "2015-04-05T11:27:15Z",
17
- "labels": {
18
- "component": "apiserver",
19
- "provider": "kubernetes"
20
- }
21
- },
22
- "spec": {
23
- "ports": [
24
- {
25
- "name": "",
26
- "protocol": "TCP",
27
- "port": 443,
28
- "targetPort": 443
29
- }
30
- ],
31
- "selector": null,
32
- "clusterIP": "10.0.0.2",
33
- "sessionAffinity": "None"
34
- },
35
- "status": {}
36
- },
37
- {
38
- "metadata": {
39
- "name": "kubernetes-ro",
40
- "namespace": "default",
41
- "selfLink": "/api/v1/namespaces/default/services/kubernetes-ro",
42
- "uid": "b6606694-db86-11e4-b293-f8b156af4ae1",
43
- "resourceVersion": "5",
44
- "creationTimestamp": "2015-04-05T11:27:15Z",
45
- "labels": {
46
- "component": "apiserver",
47
- "provider": "kubernetes"
48
- }
49
- },
50
- "spec": {
51
- "ports": [
52
- {
53
- "name": "",
54
- "protocol": "TCP",
55
- "port": 80,
56
- "targetPort": 80
57
- }
58
- ],
59
- "selector": null,
60
- "clusterIP": "10.0.0.1",
61
- "sessionAffinity": "None"
62
- },
63
- "status": {}
64
- },
65
- {
66
- "metadata": {
67
- "name": "redis-slave",
68
- "namespace": "development",
69
- "selfLink": "/api/v1/namespaces/development/services/redis-slave",
70
- "uid": "bdb80a8f-db93-11e4-b293-f8b156af4ae1",
71
- "resourceVersion": "2815",
72
- "creationTimestamp": "2015-04-05T13:00:31Z",
73
- "labels": {
74
- "name": "redis",
75
- "role": "slave"
76
- }
77
- },
78
- "spec": {
79
- "ports": [
80
- {
81
- "name": "",
82
- "protocol": "TCP",
83
- "port": 6379,
84
- "targetPort": "redis-server"
85
- }
86
- ],
87
- "selector": {
88
- "name": "redis",
89
- "role": "slave"
90
- },
91
- "clusterIP": "10.0.0.140",
92
- "sessionAffinity": "None"
93
- },
94
- "status": {}
95
- }
96
- ]
97
- }
@@ -1,26 +0,0 @@
1
- {
2
- "status" : {},
3
- "kind" : "Service",
4
- "apiVersion" : "v1",
5
- "spec" : {
6
- "ports" : [
7
- {
8
- "targetPort" : 80,
9
- "nodePort" : 0,
10
- "port" : 80,
11
- "protocol" : "TCP"
12
- }
13
- ],
14
- "clusterIP" : "1.2.3.4",
15
- "type": "NodePort"
16
- },
17
- "metadata" : {
18
- "name" : "my-service",
19
- "creationTimestamp" : null,
20
- "namespace" : "development",
21
- "resourceVersion" : "2",
22
- "annotations" : {
23
- "key" : "value"
24
- }
25
- }
26
- }
@@ -1,25 +0,0 @@
1
- {
2
- "status" : {},
3
- "kind" : "Service",
4
- "apiVersion" : "v1",
5
- "spec" : {
6
- "ports" : [
7
- {
8
- "targetPort" : 80,
9
- "nodePort" : 0,
10
- "port" : 80,
11
- "protocol" : "TCP"
12
- }
13
- ],
14
- "clusterIP" : "1.2.3.4"
15
- },
16
- "metadata" : {
17
- "name" : "my_service",
18
- "creationTimestamp" : null,
19
- "namespace" : "development",
20
- "resourceVersion" : "2",
21
- "annotations" : {
22
- "key" : "value"
23
- }
24
- }
25
- }
@@ -1,22 +0,0 @@
1
- {
2
- "status" : {},
3
- "kind" : "Service",
4
- "apiVersion" : "v1",
5
- "spec" : {
6
- "ports" : [
7
- {
8
- "targetPort" : 80,
9
- "nodePort" : 0,
10
- "port" : 80,
11
- "protocol" : "TCP"
12
- }
13
- ],
14
- "clusterIP" : "1.2.3.4"
15
- },
16
- "metadata" : {
17
- "name" : "my_service",
18
- "creationTimestamp" : null,
19
- "namespace" : "default",
20
- "resourceVersion" : "2"
21
- }
22
- }
@@ -1,27 +0,0 @@
1
- {
2
- "apiVersion": "template.openshift.io/v1",
3
- "kind": "Template",
4
- "metadata": {
5
- "creationTimestamp": "2018-12-17T16:11:36Z",
6
- "name": "my-template",
7
- "namespace": "default",
8
- "resourceVersion": "21954",
9
- "selfLink": "/apis/template.openshift.io/v1/namespaces/default/templates/my-template",
10
- "uid": "6e03e3e6-0216-11e9-b1e0-68f728fac3ab"
11
- },
12
- "objects": [
13
- {
14
- "apiVersion": "v1",
15
- "kind": "Service",
16
- "metadata": {
17
- "name": "${NAME_PREFIX}my-service"
18
- }
19
- }
20
- ],
21
- "parameters": [
22
- {
23
- "description": "Prefix for names",
24
- "name": "NAME_PREFIX"
25
- }
26
- ]
27
- }
@@ -1,75 +0,0 @@
1
- {
2
- "kind": "APIResourceList",
3
- "apiVersion": "v1",
4
- "groupVersion": "template.openshift.io/v1",
5
- "resources": [
6
- {
7
- "name": "brokertemplateinstances",
8
- "singularName": "",
9
- "namespaced": false,
10
- "kind": "BrokerTemplateInstance",
11
- "verbs": [
12
- "create",
13
- "delete",
14
- "deletecollection",
15
- "get",
16
- "list",
17
- "patch",
18
- "update",
19
- "watch"
20
- ]
21
- },
22
- {
23
- "name": "processedtemplates",
24
- "singularName": "",
25
- "namespaced": true,
26
- "kind": "Template",
27
- "verbs": [
28
- "create"
29
- ]
30
- },
31
- {
32
- "name": "templateinstances",
33
- "singularName": "",
34
- "namespaced": true,
35
- "kind": "TemplateInstance",
36
- "verbs": [
37
- "create",
38
- "delete",
39
- "deletecollection",
40
- "get",
41
- "list",
42
- "patch",
43
- "update",
44
- "watch"
45
- ]
46
- },
47
- {
48
- "name": "templateinstances/status",
49
- "singularName": "",
50
- "namespaced": true,
51
- "kind": "TemplateInstance",
52
- "verbs": [
53
- "get",
54
- "patch",
55
- "update"
56
- ]
57
- },
58
- {
59
- "name": "templates",
60
- "singularName": "",
61
- "namespaced": true,
62
- "kind": "Template",
63
- "verbs": [
64
- "create",
65
- "delete",
66
- "deletecollection",
67
- "get",
68
- "list",
69
- "patch",
70
- "update",
71
- "watch"
72
- ]
73
- }
74
- ]
75
- }
@@ -1,35 +0,0 @@
1
- {
2
- "kind": "TemplateList",
3
- "apiVersion": "template.openshift.io/v1",
4
- "metadata": {
5
- "selfLink": "/apis/template.openshift.io/v1/namespaces/default/templates",
6
- "resourceVersion": "22758"
7
- },
8
- "items": [
9
- {
10
- "metadata": {
11
- "name": "my-template",
12
- "namespace": "default",
13
- "selfLink": "/apis/template.openshift.io/v1/namespaces/default/templates/my-template",
14
- "uid": "6e03e3e6-0216-11e9-b1e0-68f728fac3ab",
15
- "resourceVersion": "21954",
16
- "creationTimestamp": "2018-12-17T16:11:36Z"
17
- },
18
- "objects": [
19
- {
20
- "apiVersion": "v1",
21
- "kind": "Service",
22
- "metadata": {
23
- "name": "${NAME_PREFIX}my-service"
24
- }
25
- }
26
- ],
27
- "parameters": [
28
- {
29
- "name": "NAME_PREFIX",
30
- "description": "Prefix for names"
31
- }
32
- ]
33
- }
34
- ]
35
- }
@@ -1,6 +0,0 @@
1
- {
2
- "versions": [
3
- "v1beta3",
4
- "v1"
5
- ]
6
- }
@@ -1,3 +0,0 @@
1
- {"type":"ADDED","object":{"kind":"Pod","apiVersion":"v1","metadata":{"name":"php","namespace":"default","selfLink":"/api/v1/pods/php","uid":"e75f2c07-b047-11e4-89e4-525400c903c1","resourceVersion":"1389","creationTimestamp":"2015-02-09T05:39:19-05:00","labels":{"name":"foo"}},"spec":{"volumes":null,"containers":[{"name":"nginx","image":"dockerfile/nginx","ports":[{"hostPort":9090,"containerPort":80,"protocol":"TCP"}],"resources":{},"livenessProbe":{"httpGet":{"path":"/index.html","port":"9090"},"initialDelaySeconds":30},"terminationMessagePath":"/dev/termination-log","imagePullPolicy":"IfNotPresent","securityContext":{"capabilities":{}}}],"restartPolicy":{"always":{}},"dnsPolicy":"ClusterFirst"},"status":{"phase":"Pending"}}}
2
- {"type":"MODIFIED","object":{"kind":"Pod","apiVersion":"v1","metadata":{"name":"php","namespace":"default","selfLink":"/api/v1/pods/php","uid":"e75f2c07-b047-11e4-89e4-525400c903c1","resourceVersion":"1390","creationTimestamp":"2015-02-09T05:39:19-05:00","labels":{"name":"foo"}},"spec":{"volumes":null,"containers":[{"name":"nginx","image":"dockerfile/nginx","ports":[{"hostPort":9090,"containerPort":80,"protocol":"TCP"}],"resources":{},"livenessProbe":{"httpGet":{"path":"/index.html","port":"9090"},"initialDelaySeconds":30},"terminationMessagePath":"/dev/termination-log","imagePullPolicy":"IfNotPresent","securityContext":{"capabilities":{}}}],"restartPolicy":{"always":{}},"dnsPolicy":"ClusterFirst"},"status":{"phase":"Pending","host":"127.0.0.1"}}}
3
- {"type":"DELETED","object":{"kind":"Pod","apiVersion":"v1","metadata":{"name":"php","namespace":"default","selfLink":"/api/v1/pods/php","uid":"e75f2c07-b047-11e4-89e4-525400c903c1","resourceVersion":"1398","creationTimestamp":"2015-02-09T05:39:19-05:00","labels":{"name":"foo"}},"spec":{"volumes":null,"containers":[{"name":"nginx","image":"dockerfile/nginx","ports":[{"hostPort":9090,"containerPort":80,"protocol":"TCP"}],"resources":{},"livenessProbe":{"httpGet":{"path":"/index.html","port":"9090"},"initialDelaySeconds":30},"terminationMessagePath":"/dev/termination-log","imagePullPolicy":"IfNotPresent","securityContext":{"capabilities":{}}}],"restartPolicy":{"always":{}},"dnsPolicy":"ClusterFirst"},"status":{"phase":"Pending","host":"127.0.0.1"}}}
data/test/test_common.rb DELETED
@@ -1,95 +0,0 @@
1
-
2
- require_relative 'test_helper'
3
-
4
- # Unit tests for the common module
5
- class CommonTest < MiniTest::Test
6
- class ClientStub
7
- include Kubeclient::ClientMixin
8
- end
9
-
10
- def client
11
- @client ||= ClientStub.new
12
- end
13
-
14
- def test_underscore_entity
15
- %w[
16
- Pod pod
17
- Service service
18
- ReplicationController replication_controller
19
- Node node
20
- Event event
21
- Endpoint endpoint
22
- Namespace namespace
23
- Secret secret
24
- ResourceQuota resource_quota
25
- LimitRange limit_range
26
- PersistentVolume persistent_volume
27
- PersistentVolumeClaim persistent_volume_claim
28
- ComponentStatus component_status
29
- ServiceAccount service_account
30
- Project project
31
- Route route
32
- ClusterRoleBinding cluster_role_binding
33
- Build build
34
- BuildConfig build_config
35
- Image image
36
- ImageStream image_stream
37
- dogstatsd dogstatsd
38
- lowerCamelUPPERCase lower_camel_uppercase
39
- HTTPAPISpecBinding httpapispec_binding
40
- APIGroup apigroup
41
- APIGroupList apigroup_list
42
- APIResourceList apiresource_list
43
- APIService apiservice
44
- APIServiceList apiservice_list
45
- APIVersions apiversions
46
- OAuthAccessToken oauth_access_token
47
- OAuthAccessTokenList oauth_access_token_list
48
- OAuthAuthorizeToken oauth_authorize_token
49
- OAuthAuthorizeTokenList oauth_authorize_token_list
50
- OAuthClient oauth_client
51
- OAuthClientAuthorization oauth_client_authorization
52
- OAuthClientAuthorizationList oauth_client_authorization_list
53
- OAuthClientList oauth_client_list
54
- ].each_slice(2) do |kind, expected_underscore|
55
- underscore = Kubeclient::ClientMixin.underscore_entity(kind)
56
- assert_equal(underscore, expected_underscore)
57
- end
58
- end
59
-
60
- def test_format_datetime_with_string
61
- value = '2018-04-27T18:30:17.480321984Z'
62
- formatted = client.send(:format_datetime, value)
63
- assert_equal(formatted, value)
64
- end
65
-
66
- def test_format_datetime_with_datetime
67
- value = DateTime.new(2018, 4, 30, 19, 20, 33)
68
- formatted = client.send(:format_datetime, value)
69
- assert_equal(formatted, '2018-04-30T19:20:33.000000000+00:00')
70
- end
71
-
72
- def test_format_datetime_with_time
73
- value = Time.new(2018, 4, 30, 19, 20, 33, 0)
74
- formatted = client.send(:format_datetime, value)
75
- assert_equal(formatted, '2018-04-30T19:20:33.000000000+00:00')
76
- end
77
-
78
- def test_parse_definition_with_unconventional_names
79
- %w[
80
- PluralPolicy pluralpolicies plural_policy plural_policies
81
- LatinDatum latindata latin_datum latin_data
82
- Noseparator noseparators noseparator noseparators
83
- lowercase lowercases lowercase lowercases
84
- TestWithDash test-with-dashes test_with_dash test_with_dashes
85
- TestUnderscore test_underscores test_underscore test_underscores
86
- TestMismatch other-odd-name testmismatch otheroddname
87
- MixedDashMinus mixed-dash_minuses mixed_dash_minus mixed_dash_minuses
88
- SameUptoWordboundary sameup-toword-boundarys sameuptowordboundary sameuptowordboundarys
89
- ].each_slice(4) do |kind, plural, expected_single, expected_plural|
90
- method_names = Kubeclient::ClientMixin.parse_definition(kind, plural).method_names
91
- assert_equal(method_names[0], expected_single)
92
- assert_equal(method_names[1], expected_plural)
93
- end
94
- end
95
- end