diff options
Diffstat (limited to 'app/services/pod_logs/kubernetes_service.rb')
-rw-r--r-- | app/services/pod_logs/kubernetes_service.rb | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/app/services/pod_logs/kubernetes_service.rb b/app/services/pod_logs/kubernetes_service.rb index 0a8072a9037..b573ceae1aa 100644 --- a/app/services/pod_logs/kubernetes_service.rb +++ b/app/services/pod_logs/kubernetes_service.rb @@ -17,6 +17,7 @@ module PodLogs :split_logs, :filter_return_keys + self.reactive_cache_work_type = :external_dependency self.reactive_cache_worker_finder = ->(id, _cache_key, namespace, params) { new(::Clusters::Cluster.find(id), namespace, params: params) } private @@ -46,6 +47,10 @@ module PodLogs ' chars' % { max_length: K8S_NAME_MAX_LENGTH })) end + unless result[:pod_name] =~ Gitlab::Regex.kubernetes_dns_subdomain_regex + return error(_('pod_name can contain only lowercase letters, digits, \'-\', and \'.\' and must start and end with an alphanumeric character')) + end + unless result[:pods].include?(result[:pod_name]) return error(_('Pod does not exist')) end @@ -69,6 +74,10 @@ module PodLogs ' %{max_length} chars' % { max_length: K8S_NAME_MAX_LENGTH })) end + unless result[:container_name] =~ Gitlab::Regex.kubernetes_dns_subdomain_regex + return error(_('container_name can contain only lowercase letters, digits, \'-\', and \'.\' and must start and end with an alphanumeric character')) + end + unless container_names.include?(result[:container_name]) return error(_('Container does not exist')) end |