From 33998a0e768263828f497685ae030f585193317f Mon Sep 17 00:00:00 2001 From: GitLab Bot Date: Mon, 6 Feb 2023 18:09:43 +0000 Subject: Add latest changes from gitlab-org/gitlab@master --- tooling/lib/tooling/kubernetes_client.rb | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'tooling') diff --git a/tooling/lib/tooling/kubernetes_client.rb b/tooling/lib/tooling/kubernetes_client.rb index 1d7b924e2c3..ab914db5777 100644 --- a/tooling/lib/tooling/kubernetes_client.rb +++ b/tooling/lib/tooling/kubernetes_client.rb @@ -6,8 +6,9 @@ require_relative '../../../lib/gitlab/popen' unless defined?(Gitlab::Popen) module Tooling class KubernetesClient - RESOURCE_LIST = 'ingress,svc,pdb,hpa,deploy,statefulset,job,pod,secret,configmap,pvc,secret,clusterrole,clusterrolebinding,role,rolebinding,sa,crd' - CommandFailedError = Class.new(StandardError) + RESOURCE_LIST = 'ingress,svc,pdb,hpa,deploy,statefulset,job,pod,secret,configmap,pvc,secret,clusterrole,clusterrolebinding,role,rolebinding,sa,crd' + K8S_ALLOWED_NAMESPACES_REGEX = /^review-(?!apps).+/.freeze + CommandFailedError = Class.new(StandardError) attr_reader :namespace @@ -129,14 +130,16 @@ module Tooling command = [ 'get', 'namespace', - "-l tls=review-apps-tls", # Get only namespaces used for review-apps "--sort-by='{.metadata.creationTimestamp}'", '-o json' ] response = run_command(command) - resources_created_before_date(response, created_before) + stale_namespaces = resources_created_before_date(response, created_before) + + # `kubectl` doesn't allow us to filter namespaces with a regexp. We therefore do the filtering in Ruby. + stale_namespaces.select { |ns| K8S_ALLOWED_NAMESPACES_REGEX.match?(ns) } end def resources_created_before_date(response, date) -- cgit v1.2.3