Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2020-01-23 15:08:38 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2020-01-23 15:08:38 +0300
commit5ad0cf26551baff8f08af8562a8d45e6ec14d71a (patch)
tree57f1a6bad31bcd11efacd3fdfb9cc92f88fb6a86 /lib/gitlab/kubernetes
parentf47c768fad17d4c876e96524f83f8306f071db66 (diff)
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'lib/gitlab/kubernetes')
-rw-r--r--lib/gitlab/kubernetes/kube_client.rb20
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)