kubernetes_references 0.1.0 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Gemfile +2 -0
- data/Gemfile.lock +101 -0
- data/README.md +225 -33
- data/Steepfile +2 -0
- data/lib/kubernetes_references/{exec_action.rb → action/exec_action.rb} +7 -0
- data/lib/kubernetes_references/{grpc_action.rb → action/grpc_action.rb} +8 -0
- data/lib/kubernetes_references/action/http_get_action.rb +24 -0
- data/lib/kubernetes_references/{tcp_socket_action.rb → action/tcp_socket_action.rb} +8 -0
- data/lib/kubernetes_references/affinity.rb +22 -0
- data/lib/kubernetes_references/api.rb +9 -1
- data/lib/kubernetes_references/capabilities.rb +8 -0
- data/lib/kubernetes_references/{config_map_env_source.rb → config_map/config_map_env_source.rb} +8 -0
- data/lib/kubernetes_references/{config_map_key_selector.rb → config_map/config_map_key_selector.rb} +9 -0
- data/lib/kubernetes_references/config_map/config_map_projection.rb +20 -0
- data/lib/kubernetes_references/container/container.rb +79 -0
- data/lib/kubernetes_references/container/container_port.rb +27 -0
- data/lib/kubernetes_references/container/container_state.rb +20 -0
- data/lib/kubernetes_references/container/container_state_running.rb +16 -0
- data/lib/kubernetes_references/container/container_state_terminated.rb +34 -0
- data/lib/kubernetes_references/container/container_state_waiting.rb +18 -0
- data/lib/kubernetes_references/container/container_status.rb +40 -0
- data/lib/kubernetes_references/cron_job/cron_job.rb +28 -0
- data/lib/kubernetes_references/cron_job/cron_job_spec.rb +34 -0
- data/lib/kubernetes_references/cron_job/cron_job_status.rb +22 -0
- data/lib/kubernetes_references/daemon_set/daemon_set.rb +28 -0
- data/lib/kubernetes_references/daemon_set/daemon_set_condition.rb +28 -0
- data/lib/kubernetes_references/daemon_set/daemon_set_spec.rb +28 -0
- data/lib/kubernetes_references/daemon_set/daemon_set_status.rb +43 -0
- data/lib/kubernetes_references/daemon_set/daemon_set_update_strategy.rb +20 -0
- data/lib/kubernetes_references/daemon_set/rolling_update_daemon_set.rb +19 -0
- data/lib/kubernetes_references/deployment/deployment.rb +28 -0
- data/lib/kubernetes_references/deployment/deployment_condition.rb +31 -0
- data/lib/kubernetes_references/deployment/deployment_spec.rb +37 -0
- data/lib/kubernetes_references/deployment/deployment_status.rb +37 -0
- data/lib/kubernetes_references/deployment/deployment_strategy.rb +19 -0
- data/lib/kubernetes_references/deployment/rolling_update_deployment.rb +19 -0
- data/lib/kubernetes_references/downward/downward_api_projection.rb +16 -0
- data/lib/kubernetes_references/downward/downward_api_volume_file.rb +25 -0
- data/lib/kubernetes_references/env/env_from_source.rb +22 -0
- data/lib/kubernetes_references/env/env_var.rb +22 -0
- data/lib/kubernetes_references/env/env_var_source.rb +25 -0
- data/lib/kubernetes_references/ephemeral_container.rb +82 -0
- data/lib/kubernetes_references/errors.rb +1 -0
- data/lib/kubernetes_references/fields.yaml +24 -0
- data/lib/kubernetes_references/fields_v1.rb +16 -0
- data/lib/kubernetes_references/host_alias.rb +19 -0
- data/lib/kubernetes_references/http_header.rb +9 -0
- data/lib/kubernetes_references/job/job.rb +28 -0
- data/lib/kubernetes_references/job/job_condition.rb +31 -0
- data/lib/kubernetes_references/job/job_status.rb +40 -0
- data/lib/kubernetes_references/job/uncounted_terminated_pods.rb +19 -0
- data/lib/kubernetes_references/job_spec.rb +43 -0
- data/lib/kubernetes_references/job_template_spec.rb +19 -0
- data/lib/kubernetes_references/key_to_path.rb +22 -0
- data/lib/kubernetes_references/label_selector.rb +19 -0
- data/lib/kubernetes_references/label_selector_requirement.rb +22 -0
- data/lib/kubernetes_references/lifecycle.rb +9 -0
- data/lib/kubernetes_references/lifecycle_handler.rb +11 -0
- data/lib/kubernetes_references/local_object_reference.rb +16 -0
- data/lib/kubernetes_references/managed_fields_entry.rb +34 -0
- data/lib/kubernetes_references/node/node_affinity.rb +19 -0
- data/lib/kubernetes_references/node/node_selector.rb +16 -0
- data/lib/kubernetes_references/node/node_selector_requirement.rb +22 -0
- data/lib/kubernetes_references/node/node_selector_term.rb +19 -0
- data/lib/kubernetes_references/object_field_selector.rb +9 -0
- data/lib/kubernetes_references/object_meta.rb +61 -0
- data/lib/kubernetes_references/object_reference.rb +34 -0
- data/lib/kubernetes_references/owner_reference.rb +31 -0
- data/lib/kubernetes_references/persistent_volume_claim_spec.rb +37 -0
- data/lib/kubernetes_references/persistent_volume_claim_template.rb +19 -0
- data/lib/kubernetes_references/pod/pod.rb +28 -0
- data/lib/kubernetes_references/pod/pod_affinity.rb +19 -0
- data/lib/kubernetes_references/pod/pod_affinity_term.rb +25 -0
- data/lib/kubernetes_references/pod/pod_anti_affinity.rb +19 -0
- data/lib/kubernetes_references/pod/pod_condition.rb +31 -0
- data/lib/kubernetes_references/pod/pod_dns_config.rb +22 -0
- data/lib/kubernetes_references/pod/pod_dns_config_option.rb +19 -0
- data/lib/kubernetes_references/pod/pod_ip.rb +16 -0
- data/lib/kubernetes_references/pod/pod_os.rb +16 -0
- data/lib/kubernetes_references/pod/pod_readiness_gate.rb +16 -0
- data/lib/kubernetes_references/pod/pod_security_context.rb +42 -0
- data/lib/kubernetes_references/pod/pod_spec.rb +121 -0
- data/lib/kubernetes_references/pod/pod_status.rb +52 -0
- data/lib/kubernetes_references/pod/pod_template_spec.rb +19 -0
- data/lib/kubernetes_references/preferred_scheduling_term.rb +19 -0
- data/lib/kubernetes_references/probe.rb +25 -0
- data/lib/kubernetes_references/quantity.rb +5 -0
- data/lib/kubernetes_references/resource_field_selector.rb +11 -0
- data/lib/kubernetes_references/resource_requirements.rb +9 -0
- data/lib/kubernetes_references/seccomp_profile.rb +9 -0
- data/lib/kubernetes_references/{secret_env_source.rb → secret/secret_env_source.rb} +9 -0
- data/lib/kubernetes_references/{secret_key_selector.rb → secret/secret_key_selector.rb} +11 -0
- data/lib/kubernetes_references/secret/secret_projection.rb +22 -0
- data/lib/kubernetes_references/security_context.rb +27 -0
- data/lib/kubernetes_references/selinux_options.rb +13 -0
- data/lib/kubernetes_references/service_account_token_projection.rb +22 -0
- data/lib/kubernetes_references/sysctl.rb +19 -0
- data/lib/kubernetes_references/toleration.rb +28 -0
- data/lib/kubernetes_references/topology_spread_constraint.rb +25 -0
- data/lib/kubernetes_references/typed_local_object_reference.rb +22 -0
- data/lib/kubernetes_references/version.rb +1 -1
- data/lib/kubernetes_references/volume/volume.rb +103 -0
- data/lib/kubernetes_references/{volume_device.rb → volume/volume_device.rb} +9 -0
- data/lib/kubernetes_references/volume/volume_mount.rb +31 -0
- data/lib/kubernetes_references/volume/volume_projection.rb +25 -0
- data/lib/kubernetes_references/volume_source/aws_elastic_block_store_volume_source.rb +25 -0
- data/lib/kubernetes_references/volume_source/azure_disk_volume_source.rb +31 -0
- data/lib/kubernetes_references/volume_source/azure_file_volume_source.rb +22 -0
- data/lib/kubernetes_references/volume_source/cephfs_volume_source.rb +31 -0
- data/lib/kubernetes_references/volume_source/cinder_volume_source.rb +25 -0
- data/lib/kubernetes_references/volume_source/config_map_volume_source.rb +25 -0
- data/lib/kubernetes_references/volume_source/csi_volume_source.rb +28 -0
- data/lib/kubernetes_references/volume_source/downward_api_volume_source.rb +19 -0
- data/lib/kubernetes_references/volume_source/empty_dir_volume_source.rb +19 -0
- data/lib/kubernetes_references/volume_source/ephemeral_volume_source.rb +16 -0
- data/lib/kubernetes_references/volume_source/fc_volume_source.rb +28 -0
- data/lib/kubernetes_references/volume_source/flex_volume_source.rb +28 -0
- data/lib/kubernetes_references/volume_source/flocker_volume_source.rb +19 -0
- data/lib/kubernetes_references/volume_source/gce_persistent_disk_volume_source.rb +25 -0
- data/lib/kubernetes_references/volume_source/git_repo_volume_source.rb +22 -0
- data/lib/kubernetes_references/volume_source/glusterfs_volume_source.rb +22 -0
- data/lib/kubernetes_references/volume_source/host_path_volume_source.rb +19 -0
- data/lib/kubernetes_references/volume_source/iscsi_volume_source.rb +46 -0
- data/lib/kubernetes_references/volume_source/nfs_volume_source.rb +22 -0
- data/lib/kubernetes_references/volume_source/persistent_volume_claim_volume_source.rb +19 -0
- data/lib/kubernetes_references/volume_source/photon_persistent_disk_volume_source.rb +19 -0
- data/lib/kubernetes_references/volume_source/portworx_volume_source.rb +22 -0
- data/lib/kubernetes_references/volume_source/projected_volume_source.rb +19 -0
- data/lib/kubernetes_references/volume_source/quobyte_volume_source.rb +31 -0
- data/lib/kubernetes_references/volume_source/rbd_volume_source.rb +37 -0
- data/lib/kubernetes_references/volume_source/scaleio_volume_source.rb +43 -0
- data/lib/kubernetes_references/volume_source/secret_volume_source.rb +25 -0
- data/lib/kubernetes_references/volume_source/storageos_volume_source.rb +28 -0
- data/lib/kubernetes_references/volume_source/vsphere_virtual_disk_volume_source.rb +25 -0
- data/lib/kubernetes_references/weighted_pod_affinity_term.rb +19 -0
- data/lib/kubernetes_references/windows_security_context_options.rb +13 -0
- data/lib/kubernetes_references.rb +224 -17
- data/sig/affinity.rbs +9 -0
- data/sig/api.rbs +10 -0
- data/sig/config_map/config_map_key_selector.rbs +9 -0
- data/sig/config_map/config_map_projection.rbs +9 -0
- data/sig/container/container_state.rbs +9 -0
- data/sig/container/container_state_running.rbs +7 -0
- data/sig/container/container_state_terminated.rbs +13 -0
- data/sig/container/container_state_waiting.rbs +8 -0
- data/sig/container/container_status.rbs +15 -0
- data/sig/cron_job/cron_job.rbs +12 -0
- data/sig/cron_job/cron_job_spec.rbs +13 -0
- data/sig/cron_job/cron_job_status.rbs +9 -0
- data/sig/daemon_set/daemon_set.rbs +11 -0
- data/sig/daemon_set/daemon_set_condition.rbs +11 -0
- data/sig/daemon_set/daemon_set_spec.rbs +11 -0
- data/sig/daemon_set/daemon_set_status.rbs +16 -0
- data/sig/daemon_set/daemon_set_update_strategy.rbs +8 -0
- data/sig/daemon_set/rolling_update_daemon_set.rbs +8 -0
- data/sig/deployment/deployment.rbs +11 -0
- data/sig/deployment/deployment_condition.rbs +12 -0
- data/sig/deployment/deployment_spec.rbs +14 -0
- data/sig/deployment/deployment_status.rbs +14 -0
- data/sig/deployment/deployment_strategy.rbs +8 -0
- data/sig/deployment/rolling_update_deployment.rbs +8 -0
- data/sig/downward/downward_api_projection.rbs +7 -0
- data/sig/downward/downward_api_volume_file.rbs +10 -0
- data/sig/env/env_from_source.rbs +9 -0
- data/sig/env/env_var.rbs +9 -0
- data/sig/env/env_var_source.rbs +10 -0
- data/sig/ephemeral_container.rbs +31 -0
- data/sig/errors.rbs +3 -0
- data/sig/fields_v1.rbs +7 -0
- data/sig/host_alias.rbs +8 -0
- data/sig/job/job.rbs +11 -0
- data/sig/job/job_condition.rbs +12 -0
- data/sig/job/job_status.rbs +15 -0
- data/sig/job/uncounted_terminated_pods.rbs +8 -0
- data/sig/job_spec.rbs +17 -0
- data/sig/job_template_spec.rbs +8 -0
- data/sig/key_to_path.rbs +9 -0
- data/sig/label_selector.rbs +8 -0
- data/sig/label_selector_requirement.rbs +9 -0
- data/sig/lifecycle.rbs +6 -4
- data/sig/lifecycle_handler.rbs +7 -5
- data/sig/local_object_reference.rbs +7 -0
- data/sig/managed_fields_entry.rbs +13 -0
- data/sig/node/node_affinity.rbs +8 -0
- data/sig/node/node_selector.rbs +7 -0
- data/sig/node/node_selector_requirement.rbs +9 -0
- data/sig/node/node_selector_term.rbs +8 -0
- data/sig/object_meta.rbs +22 -0
- data/sig/object_reference.rbs +13 -0
- data/sig/owner_reference.rbs +13 -0
- data/sig/persistent_volume_claim_spec.rbs +14 -0
- data/sig/persistent_volume_claim_template.rbs +8 -0
- data/sig/pod/pod.rbs +11 -0
- data/sig/pod/pod_affinity.rbs +8 -0
- data/sig/pod/pod_affinity_term.rbs +10 -0
- data/sig/pod/pod_anti_affinity.rbs +8 -0
- data/sig/pod/pod_condition.rbs +12 -0
- data/sig/pod/pod_dns_config.rbs +9 -0
- data/sig/pod/pod_dns_config_option.rbs +8 -0
- data/sig/pod/pod_ip.rbs +7 -0
- data/sig/pod/pod_os.rbs +7 -0
- data/sig/pod/pod_readiness_gate.rbs +7 -0
- data/sig/pod/pod_security_context.rbs +16 -0
- data/sig/pod/pod_spec.rbs +42 -0
- data/sig/pod/pod_status.rbs +19 -0
- data/sig/pod/pod_template_spec.rbs +8 -0
- data/sig/preferred_scheduling_term.rbs +8 -0
- data/sig/probe.rbs +14 -12
- data/sig/resource_field_selector.rbs +8 -6
- data/sig/secret/secret_projection.rbs +9 -0
- data/sig/security_context.rbs +15 -13
- data/sig/service_account_token_projection.rbs +9 -0
- data/sig/sysctl.rbs +8 -0
- data/sig/toleration.rbs +11 -0
- data/sig/topology_spread_constraint.rbs +10 -0
- data/sig/typed_local_object_reference.rbs +9 -0
- data/sig/volume/volume.rbs +36 -0
- data/sig/volume/volume_projection.rbs +10 -0
- data/sig/volume_source/aws_elastic_block_store_volume_source.rbs +10 -0
- data/sig/volume_source/azure_disk_volume_source.rbs +12 -0
- data/sig/volume_source/azure_file_volume_source.rbs +9 -0
- data/sig/volume_source/cephfs_volume_source.rbs +12 -0
- data/sig/volume_source/cinder_volume_source.rbs +10 -0
- data/sig/volume_source/config_map_volume_source.rbs +10 -0
- data/sig/volume_source/csi_volume_source.rbs +11 -0
- data/sig/volume_source/downward_api_volume_source.rbs +8 -0
- data/sig/volume_source/empty_dir_volume_source.rbs +8 -0
- data/sig/volume_source/ephemeral_volume_source.rbs +7 -0
- data/sig/volume_source/fc_volume_source.rbs +11 -0
- data/sig/volume_source/flex_volume_source.rbs +11 -0
- data/sig/volume_source/flocker_volume_source.rbs +8 -0
- data/sig/volume_source/gce_persistent_disk_volume_source.rbs +10 -0
- data/sig/volume_source/git_repo_volume_source.rbs +9 -0
- data/sig/volume_source/glusterfs_volume_source.rbs +9 -0
- data/sig/volume_source/host_path_volume_source.rbs +8 -0
- data/sig/volume_source/iscsi_volume_source.rbs +17 -0
- data/sig/volume_source/nfs_volume_source.rbs +9 -0
- data/sig/volume_source/persistent_volume_claim_volume_source.rbs +8 -0
- data/sig/volume_source/photon_persistent_disk_volume_source.rbs +8 -0
- data/sig/volume_source/portworx_volume_source.rbs +9 -0
- data/sig/volume_source/projected_volume_source.rbs +8 -0
- data/sig/volume_source/quobyte_volume_sources.rbs +12 -0
- data/sig/volume_source/rbd_volume_source.rbs +14 -0
- data/sig/volume_source/scaleio_volume_source.rbs +16 -0
- data/sig/volume_source/secret_volume_source.rbs +10 -0
- data/sig/volume_source/storageos_volume_source.rbs +11 -0
- data/sig/volume_source/vsphere_virtual_disk_volume_source.rbs +10 -0
- data/sig/weighted_pod_Affinity_term.rbs +8 -0
- data/sig/windows_security_context_options.rbs +8 -6
- metadata +235 -32
- data/lib/kubernetes_references/container.rb +0 -30
- data/lib/kubernetes_references/container_port.rb +0 -13
- data/lib/kubernetes_references/env_from_source.rb +0 -11
- data/lib/kubernetes_references/env_var.rb +0 -11
- data/lib/kubernetes_references/env_var_source.rb +0 -12
- data/lib/kubernetes_references/http_get_action.rb +0 -13
- data/lib/kubernetes_references/volume_mount.rb +0 -14
- data/sig/config_map_key_selector.rbs +0 -7
- data/sig/env_from_source.rbs +0 -7
- data/sig/env_var.rbs +0 -7
- data/sig/env_var_source.rbs +0 -8
- /data/sig/{exec_action.rbs → action/exec_action.rbs} +0 -0
- /data/sig/{grpc_action.rbs → action/grpc_action.rbs} +0 -0
- /data/sig/{http_get_action.rbs → action/http_get_action.rbs} +0 -0
- /data/sig/{tcp_socket_action.rbs → action/tcp_socket_action.rbs} +0 -0
- /data/sig/{config_map_env_source.rbs → config_map/config_map_env_source.rbs} +0 -0
- /data/sig/{container.rbs → container/container.rbs} +0 -0
- /data/sig/{container_port.rbs → container/container_port.rbs} +0 -0
- /data/sig/{secret_env_source.rbs → secret/secret_env_source.rbs} +0 -0
- /data/sig/{secret_key_selector.rbs → secret/secret_key_selector.rbs} +0 -0
- /data/sig/{volume_device.rbs → volume/volume_device.rbs} +0 -0
- /data/sig/{volume_mount.rbs → volume/volume_mount.rbs} +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 140f77c60537f81161b442747444d742ad4f04d9cdf1f2cce952d7a39caca37f
|
4
|
+
data.tar.gz: a0bfb97506691ab7826f251fad574e9e2e8e654a689ea99e5b42a2291ddbb7dd
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a6bad835c6c839bbedffe4078873e9606bb0dd2829d32c3261c05825482fa6b4a8ded42206ffcb71d71442afd6a737a1a181361483d111e5af081a0aee2b58a1
|
7
|
+
data.tar.gz: 64a50e2c8f35f0a40cddcaaf7c9d080e878b25f0672d7307cadb1f922b5bd3ac4ca78b43a16122de39c1976999a372b4e032f38ee722156e9595085f27b82f5a
|
data/Gemfile
CHANGED
data/Gemfile.lock
ADDED
@@ -0,0 +1,101 @@
|
|
1
|
+
PATH
|
2
|
+
remote: .
|
3
|
+
specs:
|
4
|
+
kubernetes_references (0.1.0)
|
5
|
+
|
6
|
+
GEM
|
7
|
+
remote: https://rubygems.org/
|
8
|
+
specs:
|
9
|
+
activesupport (7.0.4.3)
|
10
|
+
concurrent-ruby (~> 1.0, >= 1.0.2)
|
11
|
+
i18n (>= 1.6, < 2)
|
12
|
+
minitest (>= 5.1)
|
13
|
+
tzinfo (~> 2.0)
|
14
|
+
ast (2.4.2)
|
15
|
+
concurrent-ruby (1.2.2)
|
16
|
+
csv (3.2.6)
|
17
|
+
ffi (1.15.5)
|
18
|
+
fileutils (1.7.1)
|
19
|
+
i18n (1.13.0)
|
20
|
+
concurrent-ruby (~> 1.0)
|
21
|
+
json (2.6.3)
|
22
|
+
language_server-protocol (3.17.0.3)
|
23
|
+
lint_roller (1.0.0)
|
24
|
+
listen (3.8.0)
|
25
|
+
rb-fsevent (~> 0.10, >= 0.10.3)
|
26
|
+
rb-inotify (~> 0.9, >= 0.9.10)
|
27
|
+
logger (1.5.3)
|
28
|
+
minitest (5.18.0)
|
29
|
+
parallel (1.23.0)
|
30
|
+
parser (3.2.2.1)
|
31
|
+
ast (~> 2.4.1)
|
32
|
+
rainbow (3.1.1)
|
33
|
+
rake (13.0.6)
|
34
|
+
rb-fsevent (0.11.2)
|
35
|
+
rb-inotify (0.10.1)
|
36
|
+
ffi (~> 1.0)
|
37
|
+
rbs (3.1.0)
|
38
|
+
regexp_parser (2.8.0)
|
39
|
+
rexml (3.2.5)
|
40
|
+
rubocop (1.50.2)
|
41
|
+
json (~> 2.3)
|
42
|
+
parallel (~> 1.10)
|
43
|
+
parser (>= 3.2.0.0)
|
44
|
+
rainbow (>= 2.2.2, < 4.0)
|
45
|
+
regexp_parser (>= 1.8, < 3.0)
|
46
|
+
rexml (>= 3.2.5, < 4.0)
|
47
|
+
rubocop-ast (>= 1.28.0, < 2.0)
|
48
|
+
ruby-progressbar (~> 1.7)
|
49
|
+
unicode-display_width (>= 2.4.0, < 3.0)
|
50
|
+
rubocop-ast (1.28.1)
|
51
|
+
parser (>= 3.2.1.0)
|
52
|
+
rubocop-performance (1.16.0)
|
53
|
+
rubocop (>= 1.7.0, < 2.0)
|
54
|
+
rubocop-ast (>= 0.4.0)
|
55
|
+
ruby-progressbar (1.13.0)
|
56
|
+
securerandom (0.2.2)
|
57
|
+
standard (1.28.3)
|
58
|
+
language_server-protocol (~> 3.17.0.2)
|
59
|
+
lint_roller (~> 1.0)
|
60
|
+
rubocop (~> 1.50.2)
|
61
|
+
standard-custom (~> 1.0.0)
|
62
|
+
standard-performance (~> 1.0.1)
|
63
|
+
standard-custom (1.0.0)
|
64
|
+
lint_roller (~> 1.0)
|
65
|
+
standard-performance (1.0.1)
|
66
|
+
lint_roller (~> 1.0)
|
67
|
+
rubocop-performance (~> 1.16.0)
|
68
|
+
steep (1.4.0)
|
69
|
+
activesupport (>= 5.1)
|
70
|
+
concurrent-ruby (>= 1.2.2)
|
71
|
+
csv (>= 3.0.9)
|
72
|
+
fileutils (>= 1.1.0)
|
73
|
+
json (>= 2.1.0)
|
74
|
+
language_server-protocol (>= 3.15, < 4.0)
|
75
|
+
listen (~> 3.0)
|
76
|
+
logger (>= 1.3.0)
|
77
|
+
parser (>= 3.1)
|
78
|
+
rainbow (>= 2.2.2, < 4.0)
|
79
|
+
rbs (>= 2.8.0)
|
80
|
+
securerandom (>= 0.1)
|
81
|
+
strscan (>= 1.0.0)
|
82
|
+
terminal-table (>= 2, < 4)
|
83
|
+
strscan (3.0.6)
|
84
|
+
terminal-table (3.0.2)
|
85
|
+
unicode-display_width (>= 1.1.1, < 3)
|
86
|
+
tzinfo (2.0.6)
|
87
|
+
concurrent-ruby (~> 1.0)
|
88
|
+
unicode-display_width (2.4.2)
|
89
|
+
|
90
|
+
PLATFORMS
|
91
|
+
arm64-darwin-21
|
92
|
+
|
93
|
+
DEPENDENCIES
|
94
|
+
kubernetes_references!
|
95
|
+
minitest (~> 5.0)
|
96
|
+
rake (~> 13.0)
|
97
|
+
standard (~> 1.3)
|
98
|
+
steep
|
99
|
+
|
100
|
+
BUNDLED WITH
|
101
|
+
2.4.12
|
data/README.md
CHANGED
@@ -1,9 +1,25 @@
|
|
1
1
|
# KubernetesReferences
|
2
2
|
|
3
|
+
[](https://badge.fury.io/rb/kubernetes_references)
|
4
|
+
|
3
5
|
**Current API version: v1.23**
|
4
6
|
|
5
7
|
This Ruby gem attempts to collect all the Kubernetes objects available in the API as Ruby objects. Although not very useful at the moment, it could come in handy if you want to develop tools that need to play with the api's schemas.
|
6
8
|
|
9
|
+
## What is it
|
10
|
+
|
11
|
+
* a dictionary of native Kubernetes objects
|
12
|
+
* a precise definition of object types
|
13
|
+
* a native library without external dependencies
|
14
|
+
|
15
|
+
|
16
|
+
## What it is not
|
17
|
+
|
18
|
+
* a wrapper around kubectl explain
|
19
|
+
* a Kubernetes client
|
20
|
+
* a tool officially managed by the Kubernetes team
|
21
|
+
|
22
|
+
|
7
23
|
## Naming and conventions
|
8
24
|
|
9
25
|
The files in this gem are named in snake_case and the classes are in camelCase.
|
@@ -34,7 +50,7 @@ container = KubernetesReferences::Container.new(
|
|
34
50
|
)
|
35
51
|
```
|
36
52
|
|
37
|
-
Tired of writing "KubernetesReferences::" ?
|
53
|
+
Tired of writing "KubernetesReferences::" ? Classes are also callable with the `Kube` prefix:
|
38
54
|
|
39
55
|
```ruby
|
40
56
|
require "kubernetes_references"
|
@@ -51,6 +67,22 @@ container = KubeContainer.new(
|
|
51
67
|
|
52
68
|
Please check the test files for more examples of how to use this gem.
|
53
69
|
|
70
|
+
## Compatibility with Kubernetes API
|
71
|
+
|
72
|
+
Since Ruby uses snake_case attributes instead of the camelCase used by Go (and therefore by Kubernetes), each object definition (let's call them templates) has a `#schema` method that returns a (native) Ruby hash with the right keys.
|
73
|
+
|
74
|
+
|
75
|
+
**Example**
|
76
|
+
|
77
|
+
```
|
78
|
+
irb(main):001:0> container = KubeContainer.new(image_pull_policy: "Always")
|
79
|
+
=> #<KubernetesReferences::Container:0x0000000100f4ce18 @image_pull_policy="Always">
|
80
|
+
irb(main):002:0> container.schema
|
81
|
+
=> {:imagePullPolicy=>"Always"}
|
82
|
+
```
|
83
|
+
|
84
|
+
when calling the "`#schema`" method, all sub-models on which the called object depends are also rendered with the correct keys. You can basically use the `to_json` method on `schema` to generate ready-to-use Kubernetes `json` manifests.
|
85
|
+
|
54
86
|
## Types
|
55
87
|
|
56
88
|
All objects have type definitions as rbs files, in the "sig" folder. To check types, the project uses Steep.
|
@@ -73,7 +105,7 @@ module KubernetesReferences
|
|
73
105
|
attr_accessor :my_field
|
74
106
|
attr_accessor :another_field
|
75
107
|
|
76
|
-
# obj must be hash
|
108
|
+
# obj must be hash with fields:
|
77
109
|
# {
|
78
110
|
# my_field: "my-value",
|
79
111
|
# another_field: 1
|
@@ -88,9 +120,13 @@ end
|
|
88
120
|
Types of `my_field` and `another_field` are validated by `Steep` (in the `sig` folder):
|
89
121
|
|
90
122
|
```ruby
|
91
|
-
|
92
|
-
|
93
|
-
|
123
|
+
module KubernetesReferences
|
124
|
+
class MyObjectClass < KubernetesReferences::API
|
125
|
+
attr_accessor my_field: String
|
126
|
+
attr_accessor another_field: Integer
|
127
|
+
|
128
|
+
def initialize: (untyped obj) -> void
|
129
|
+
end
|
94
130
|
end
|
95
131
|
```
|
96
132
|
|
@@ -100,35 +136,191 @@ This method avoids the need for additional requires such as OpenStruct or Struct
|
|
100
136
|
|
101
137
|
The Kubernetes api is extremely large and evolves regularly. For the moment, the following objects are supported:
|
102
138
|
|
139
|
+
### Workloads APIs
|
140
|
+
|
141
|
+
- [x] Container v1 core
|
142
|
+
- [x] CronJob v1 batch
|
143
|
+
- [x] DaemonSet v1 apps
|
144
|
+
- [x] Deployment v1 apps
|
145
|
+
- [x] Job v1 batch
|
146
|
+
- [x] Pod v1 core
|
147
|
+
- [] ReplicaSet v1 apps
|
148
|
+
- [] ReplicationController v1 core
|
149
|
+
- [] StatefulSet v1 apps
|
150
|
+
|
151
|
+
### Service APIs
|
152
|
+
|
153
|
+
- [] Endpoints v1 core
|
154
|
+
- [] EndpointSlice v1 discovery.k8s.io
|
155
|
+
- [] Ingress v1 networking.k8s.io
|
156
|
+
- [] IngressClass v1 networking.k8s.io
|
157
|
+
- [] Service v1 core
|
158
|
+
|
159
|
+
### Config and storage APIs
|
160
|
+
|
161
|
+
- [] ConfigMap v1 core
|
162
|
+
- [] CSIDriver v1 storage.k8s.io
|
163
|
+
- [] CSINode v1 storage.k8s.io
|
164
|
+
- [] Secret v1 core
|
165
|
+
- [] PersistentVolumeClaim v1 core
|
166
|
+
- [] StorageClass v1 storage.k8s.io
|
167
|
+
- [] CSIStorageCapacity v1beta1 storage.k8s.io
|
168
|
+
- [] Volume v1 core
|
169
|
+
- [] VolumeAttachment v1 storage.k8s.io
|
170
|
+
|
171
|
+
### Metadata APIs
|
172
|
+
|
173
|
+
- [] ControllerRevision v1 apps
|
174
|
+
- [] CustomResourceDefinition v1 apiextensions.k8s.io
|
175
|
+
- [] Event v1 events.k8s.io
|
176
|
+
- [] LimitRange v1 core
|
177
|
+
- [] HorizontalPodAutoscaler v1 autoscaling
|
178
|
+
- [] MutatingWebhookConfiguration v1 admissionregistration.k8s.io
|
179
|
+
- [] ValidatingWebhookConfiguration v1 admissionregistration.k8s.io
|
180
|
+
- [] PodTemplate v1 core
|
181
|
+
- [] PodDisruptionBudget v1 policy
|
182
|
+
- [] PriorityClass v1 scheduling.k8s.io
|
183
|
+
- [] PodSecurityPolicy v1beta policy
|
184
|
+
|
185
|
+
### Cluster APIs
|
186
|
+
|
187
|
+
- [] APIService v1 apiregistration.k8s.io
|
188
|
+
- [] Binding v1 core
|
189
|
+
- [] CertificateSigningRequest v1 certificats.k8s.io
|
190
|
+
- [] ClusterRole v1 rbac.authorization.k8s.io
|
191
|
+
- [] ClusterRoleBinding v1 rbac.authorization.k8s.io
|
192
|
+
- [] ComponentStatus v1 core
|
193
|
+
- [] FlowSchema v1beta1 flowcontrol.apiserver.k8s.io
|
194
|
+
- [] Lease v1 coordination.k8s.io
|
195
|
+
- [] LocalSubjectAccessReview v1 authorization.k8s.io
|
196
|
+
- [] Namespace v1 core
|
197
|
+
- [] Node v1 core
|
198
|
+
- [] PersistentVolume v1 core
|
199
|
+
- [] PriorityLevelConfiguration v1beta1 flowcontrol.apiserver.k8s.io
|
200
|
+
- [] ResourceQuota v1 core
|
201
|
+
- [] Role v1 rbac.authorization.k8s.io
|
202
|
+
- [] RoleBinding v1 rbac.authorization.k8s.io
|
203
|
+
- [] RuntimeClass v1 nodes.k8s.io
|
204
|
+
- [] SelfSubjectAccessReview v1 authorization.k8s.io
|
205
|
+
- [] SelfSubjectRulesReview v1 authorization.k8s.io
|
206
|
+
- [] ServiceAccount v1 core
|
207
|
+
- [] StorageVersion v1alpha1 internal.apiserver.k8s.io
|
208
|
+
- [] SubjectAccessReview v1 authorization.k8s.io
|
209
|
+
- [] TokenRequest v1 authentication.k8s.io
|
210
|
+
- [] TokenReview v1 authentication.k8s.io
|
211
|
+
- [] NetworkPolicy v1 networking.k8s.io
|
103
212
|
```
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
213
|
+
Affinity
|
214
|
+
AWSElasticBlockStoreVolumeSource
|
215
|
+
AzureDiskVolumeSource
|
216
|
+
AzureFileVolumeSource
|
217
|
+
Capabilities
|
218
|
+
CephFSVolumeSource
|
219
|
+
CinderVolumeSource
|
220
|
+
ConfigMapEnvSource
|
221
|
+
ConfigMapKeySelector
|
222
|
+
ConfigMapProjection
|
223
|
+
ConfigMapVolumeSource
|
224
|
+
Container
|
225
|
+
ContainerPort
|
226
|
+
ContainerState
|
227
|
+
ContainerStateRunning
|
228
|
+
ContainerStateTerminated
|
229
|
+
ContainerStateWaiting
|
230
|
+
ContainerStatus
|
231
|
+
CronJob
|
232
|
+
CronJobSpec
|
233
|
+
CronJobStatus
|
234
|
+
CSIVolumeSource
|
235
|
+
DownwardAPIProjection
|
236
|
+
DownwardAPIVolumeFile
|
237
|
+
DownwardAPIVolumeSource
|
238
|
+
EmptyDirVolumeSource
|
239
|
+
EnvFromSource
|
240
|
+
EnvVar
|
241
|
+
EnvVarSource
|
242
|
+
EphemeralContainer
|
243
|
+
EphemeralVolumeSource
|
244
|
+
ExecAction
|
245
|
+
FCVolumeSource
|
246
|
+
FieldsV1
|
247
|
+
FlexVolumeSource
|
248
|
+
FlockerVolumeSource
|
249
|
+
GCEPersistentDiskVolumeSource
|
250
|
+
GitRepoVolumeSource
|
251
|
+
GlusterfsVolumeSource
|
252
|
+
GRPCAction
|
253
|
+
HostAlias
|
254
|
+
HostPathVolumeSource
|
255
|
+
HTTPGetAction
|
256
|
+
HTTPHeader
|
257
|
+
InvalidObjectFieldError
|
258
|
+
ISCSIVolumeSource
|
259
|
+
JobSpec
|
260
|
+
JobTemplateSpec
|
261
|
+
KeyToPath
|
262
|
+
KubernetesReferences::Quantity
|
263
|
+
LabelSelector
|
264
|
+
LabelSelectorRequirement
|
265
|
+
Lifecycle
|
266
|
+
LifecycleHandler
|
267
|
+
LocalObjectReference
|
268
|
+
ManagedFieldsEntry
|
269
|
+
NFSVolumeSource
|
270
|
+
NodeAffinity
|
271
|
+
NodeSelector
|
272
|
+
NodeSelectorRequirement
|
273
|
+
NodeSelectorTerm
|
274
|
+
ObjectFieldSelector
|
275
|
+
ObjectMeta
|
276
|
+
ObjectReference
|
277
|
+
OwnerReference
|
278
|
+
PersistentVolumeClaimSpec
|
279
|
+
PersistentVolumeClaimTemplate
|
280
|
+
PersistentVolumeClaimVolumeSource
|
281
|
+
PhotonPersistentDiskVolumeSource
|
282
|
+
PodAffinity
|
283
|
+
PodAffinityTerm
|
284
|
+
PodAntiAffinity
|
285
|
+
PodDNSConfig
|
286
|
+
PodDNSConfigOption
|
287
|
+
PodOS
|
288
|
+
PodReadinessGate
|
289
|
+
PodSecurityContext
|
290
|
+
PodSpec
|
291
|
+
PodTemplateSpec
|
292
|
+
PortworxVolumeSource
|
293
|
+
PreferredSchedulingTerm
|
294
|
+
Probe
|
295
|
+
ProjectedVolumeSource
|
296
|
+
Quantity
|
297
|
+
QuobyteVolumeSource
|
298
|
+
RBDVolumeSource
|
299
|
+
ResourceFieldSelector
|
300
|
+
ResourceRequirements
|
301
|
+
ScaleIOVolumeSource
|
302
|
+
SeccompProfile
|
303
|
+
SecretEnvSource
|
304
|
+
SecretKeySelector
|
305
|
+
SecretProjection
|
306
|
+
SecretVolumeSource
|
307
|
+
SecurityContext
|
308
|
+
SELinuxOptions
|
309
|
+
ServiceAccountTokenProjection
|
310
|
+
StorageOSVolumeSource
|
311
|
+
Sysctl
|
312
|
+
TCPSocketAction
|
313
|
+
TestKubernetesReferences
|
314
|
+
Toleration
|
315
|
+
TopologySpreadConstraint
|
316
|
+
TypedLocalObjectReference
|
317
|
+
Volume
|
318
|
+
VolumeDevice
|
319
|
+
VolumeMount
|
320
|
+
VolumeProjection
|
321
|
+
VsphereVirtualDiskVolumeSource
|
322
|
+
WeightedPodAffinityTerm
|
323
|
+
WindowsSecurityContextOptions
|
132
324
|
```
|
133
325
|
|
134
326
|
## Tests
|
data/Steepfile
CHANGED
@@ -1,10 +1,18 @@
|
|
1
1
|
module KubernetesReferences
|
2
2
|
class GRPCAction < KubernetesReferences::API
|
3
|
+
# @dynamic port, port=, service, service=
|
3
4
|
attr_accessor :port
|
4
5
|
attr_accessor :service
|
5
6
|
|
6
7
|
def initialize(obj)
|
7
8
|
_set!(obj)
|
8
9
|
end
|
10
|
+
|
11
|
+
def _schema
|
12
|
+
{
|
13
|
+
port: @port,
|
14
|
+
service: @service
|
15
|
+
}
|
16
|
+
end
|
9
17
|
end
|
10
18
|
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
module KubernetesReferences
|
2
|
+
class HTTPGetAction < KubernetesReferences::API
|
3
|
+
# @dynamic host, host=, http_headers, http_headers=, path, path=, port, port=, scheme, scheme=
|
4
|
+
attr_accessor :host
|
5
|
+
attr_accessor :http_headers
|
6
|
+
attr_accessor :path
|
7
|
+
attr_accessor :port
|
8
|
+
attr_accessor :scheme
|
9
|
+
|
10
|
+
def initialize(obj)
|
11
|
+
_set!(obj)
|
12
|
+
end
|
13
|
+
|
14
|
+
def _schema
|
15
|
+
{
|
16
|
+
host: @host,
|
17
|
+
httpHeaders: @http_headers.each{|r| r.schema},
|
18
|
+
path: @path,
|
19
|
+
port: @port,
|
20
|
+
scheme: @scheme
|
21
|
+
}
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -1,10 +1,18 @@
|
|
1
1
|
module KubernetesReferences
|
2
2
|
class TCPSocketAction < KubernetesReferences::API
|
3
|
+
# @dynamic host, host=, port, port=
|
3
4
|
attr_accessor :host
|
4
5
|
attr_accessor :port
|
5
6
|
|
6
7
|
def initialize(obj)
|
7
8
|
_set!(obj)
|
8
9
|
end
|
10
|
+
|
11
|
+
def _schema
|
12
|
+
{
|
13
|
+
host: @host,
|
14
|
+
port: @port
|
15
|
+
}
|
16
|
+
end
|
9
17
|
end
|
10
18
|
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
module KubernetesReferences
|
2
|
+
class Affinity < KubernetesReferences::API
|
3
|
+
# @dynamic node_affinity, node_affinity=
|
4
|
+
attr_accessor :node_affinity
|
5
|
+
# @dynamic pod_affinity, pod_affinity=
|
6
|
+
attr_accessor :pod_affinity
|
7
|
+
# @dynamic pod_anti_affinity, pod_anti_affinity=
|
8
|
+
attr_accessor :pod_anti_affinity
|
9
|
+
|
10
|
+
def initialize(obj)
|
11
|
+
_set!(obj)
|
12
|
+
end
|
13
|
+
|
14
|
+
def _schema
|
15
|
+
{
|
16
|
+
nodeAffinity: @node_affinity.schema,
|
17
|
+
podAffinity: @pod_affinity.schema,
|
18
|
+
podAntiAffinity: @pod_anti_affinity.schema
|
19
|
+
}
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
@@ -1,8 +1,16 @@
|
|
1
|
+
require "yaml"
|
2
|
+
require "json"
|
3
|
+
require 'json/add/symbol'
|
1
4
|
require "kubernetes_references/errors"
|
2
5
|
|
3
6
|
module KubernetesReferences
|
4
7
|
class API
|
5
|
-
def
|
8
|
+
def to_hash
|
9
|
+
schema
|
10
|
+
end
|
11
|
+
|
12
|
+
def schema
|
13
|
+
_schema.select{|k, v| v}
|
6
14
|
end
|
7
15
|
|
8
16
|
def _set!(obj)
|
@@ -1,10 +1,18 @@
|
|
1
1
|
module KubernetesReferences
|
2
2
|
class Capabilities < KubernetesReferences::API
|
3
|
+
# @dynamic add, add=, drop, drop=
|
3
4
|
attr_accessor :add
|
4
5
|
attr_accessor :drop
|
5
6
|
|
6
7
|
def initialize(obj)
|
7
8
|
_set!(obj)
|
8
9
|
end
|
10
|
+
|
11
|
+
def _schema
|
12
|
+
{
|
13
|
+
add: @add,
|
14
|
+
drop: @drop
|
15
|
+
}
|
16
|
+
end
|
9
17
|
end
|
10
18
|
end
|
data/lib/kubernetes_references/{config_map_env_source.rb → config_map/config_map_env_source.rb}
RENAMED
@@ -1,10 +1,18 @@
|
|
1
1
|
module KubernetesReferences
|
2
2
|
class ConfigMapEnvSource < KubernetesReferences::API
|
3
|
+
# @dynamic name, name=, optional, optional=
|
3
4
|
attr_accessor :name
|
4
5
|
attr_accessor :optional
|
5
6
|
|
6
7
|
def initialize(obj)
|
7
8
|
_set!(obj)
|
8
9
|
end
|
10
|
+
|
11
|
+
def _schema
|
12
|
+
{
|
13
|
+
name: @name,
|
14
|
+
optional: @optional
|
15
|
+
}
|
16
|
+
end
|
9
17
|
end
|
10
18
|
end
|
data/lib/kubernetes_references/{config_map_key_selector.rb → config_map/config_map_key_selector.rb}
RENAMED
@@ -1,5 +1,6 @@
|
|
1
1
|
module KubernetesReferences
|
2
2
|
class ConfigMapKeySelector < KubernetesReferences::API
|
3
|
+
# @dynamic key, key=, name, name=, optional, optional=
|
3
4
|
attr_accessor :key
|
4
5
|
attr_accessor :name
|
5
6
|
attr_accessor :optional
|
@@ -7,5 +8,13 @@ module KubernetesReferences
|
|
7
8
|
def initialize(obj)
|
8
9
|
_set!(obj)
|
9
10
|
end
|
11
|
+
|
12
|
+
def _schema
|
13
|
+
{
|
14
|
+
key: @key,
|
15
|
+
name: @name,
|
16
|
+
optional: @optional
|
17
|
+
}
|
18
|
+
end
|
10
19
|
end
|
11
20
|
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
module KubernetesReferences
|
2
|
+
class ConfigMapProjection < KubernetesReferences::API
|
3
|
+
# @dynamic items, items=, name, name=, optional, optional=
|
4
|
+
attr_accessor :items
|
5
|
+
attr_accessor :name
|
6
|
+
attr_accessor :optional
|
7
|
+
|
8
|
+
def initialize(obj)
|
9
|
+
_set!(obj)
|
10
|
+
end
|
11
|
+
|
12
|
+
def _schema
|
13
|
+
{
|
14
|
+
items: @items.map{|r| r.schema},
|
15
|
+
name: @name,
|
16
|
+
optional: @optional
|
17
|
+
}
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|