diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2020-01-23 15:08:38 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2020-01-23 15:08:38 +0300 |
commit | 5ad0cf26551baff8f08af8562a8d45e6ec14d71a (patch) | |
tree | 57f1a6bad31bcd11efacd3fdfb9cc92f88fb6a86 /lib/gitlab/kubernetes | |
parent | f47c768fad17d4c876e96524f83f8306f071db66 (diff) |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'lib/gitlab/kubernetes')
-rw-r--r-- | lib/gitlab/kubernetes/kube_client.rb | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/lib/gitlab/kubernetes/kube_client.rb b/lib/gitlab/kubernetes/kube_client.rb index 7cb7f46a623..7d2abcdb0a3 100644 --- a/lib/gitlab/kubernetes/kube_client.rb +++ b/lib/gitlab/kubernetes/kube_client.rb @@ -16,6 +16,7 @@ module Gitlab SUPPORTED_API_GROUPS = { core: { group: 'api', version: 'v1' }, rbac: { group: 'apis/rbac.authorization.k8s.io', version: 'v1' }, + apps: { group: 'apis/apps', version: 'v1' }, extensions: { group: 'apis/extensions', version: 'v1beta1' }, istio: { group: 'apis/networking.istio.io', version: 'v1alpha3' }, knative: { group: 'apis/serving.knative.dev', version: 'v1alpha1' } @@ -74,10 +75,6 @@ module Gitlab :update_role_binding, to: :rbac_client - # Deployments resource is currently on the apis/extensions api group - delegate :get_deployments, - to: :extensions_client - # non-entity methods that can only work with the core client # as it uses the pods/log resource delegate :get_pod_log, @@ -103,6 +100,21 @@ module Gitlab validate_url! end + # Deployments resource is currently on the apis/extensions api group + # until Kubernetes 1.15. Kubernetest 1.16+ has deployments resources in + # the apis/apps api group. + # + # As we still support Kubernetes 1.12+, we will need to support both. + def get_deployments(**args) + extensions_client.discover unless extensions_client.discovered + + if extensions_client.respond_to?(:get_deployments) + extensions_client.get_deployments(**args) + else + apps_client.get_deployments(**args) + end + end + def create_or_update_cluster_role_binding(resource) if cluster_role_binding_exists?(resource) update_cluster_role_binding(resource) |