uffizzi_core 2.1.14 → 2.1.15

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1380e7e0aa6bd806450c7d08e7cc78a4c5af836035b3eaea47f87f94b8cf5fd5
4
- data.tar.gz: f8326479cc942fa3b37ca91782453619872737eb70e9deb7beee61c5e5525082
3
+ metadata.gz: 94c9098ed7f1441574571a0a0122cc4a2b1b2b56a6256eef8d6b78d5457ede4e
4
+ data.tar.gz: 915af52bbcb27d41a7e07ac616e1c7f73b066cebc9683e175fcccf77fde0c223
5
5
  SHA512:
6
- metadata.gz: 5cb6397e68ea9435f3370223450ae8b51829abf9b604b92f4e5bfe9b21cd5fad34c1c80075f8306254cf07a357c4036cc64a40eca0ba749e8e320e9e91c6f77e
7
- data.tar.gz: 0fceb4eac1dd1389c603683bc35ffc5994c61badcb4e4269686e0a330e6b1877356f1a74a7fb591ae24318631cd042e6126721b493babb6241273edfdee2df5c
6
+ metadata.gz: 2b57d446a3e977a324754ec983bc2f91feb8605dc5ef96ab2aa21a90a578e65684c32a6b3c43bf7a4a9bfb1b091b58ebd774f4adc480366e7b54fb5a0e636d0b
7
+ data.tar.gz: 511edb704d22fccd6064417bef6b269e5b9b515d821786fb98d0375ca41a7e0334e071e01eb1947d039a03718e26706ea20ce932fdc3f10485ae0782a148ccfd
@@ -8,6 +8,11 @@ class UffizziCore::ComposeFile::Parsers::ServicesParserService
8
8
  raise UffizziCore::ComposeFile::ParseError, I18n.t('compose.no_services') if services.nil? || services.keys.empty?
9
9
 
10
10
  services.keys.map do |service|
11
+ unless valid_service_name?(service)
12
+ raise UffizziCore::ComposeFile::ParseError,
13
+ I18n.t('compose.invalid_service_name', value: service)
14
+ end
15
+
11
16
  service_data = prepare_service_data(service, services.fetch(service), global_configs_data,
12
17
  global_secrets_data, compose_payload, global_named_volume_names)
13
18
 
@@ -77,5 +82,11 @@ class UffizziCore::ComposeFile::Parsers::ServicesParserService
77
82
 
78
83
  volume_parser_module.parse(volumes, additional_data)
79
84
  end
85
+
86
+ # All services are added as Additional Hosts in Kubernetes and must be RFC 123 compliant
87
+ def valid_service_name?(name)
88
+ rfc_123_pattern = /\A(?!-)[a-z0-9-]{1,63}(?<!-)\z/
89
+ name.match?(rfc_123_pattern)
90
+ end
80
91
  end
81
92
  end
@@ -16,6 +16,7 @@ en:
16
16
  invalid_file: 'Syntax error: %{err} at line %{line} column %{column}'
17
17
  invalid_config_option: Invalid config option '%{value}' - only a-zA-Z0-9._- characters are allowed
18
18
  no_services: Service services has neither an image nor a build context specified. At least one must be provided.
19
+ invalid_service_name: "Invalid service name '%{value}': a service name must consist of lower case alphanumeric characters, ''-'', and must start and end with an alphanumeric character"
19
20
  no_ingress: Service ingress has not been defined.
20
21
  invalid_image_value: Invalid image value '%{value}'
21
22
  unprocessable_image: Invalid credential '%{value} or image does not exist'
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module UffizziCore
4
- VERSION = '2.1.14'
4
+ VERSION = '2.1.15'
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: uffizzi_core
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.14
4
+ version: 2.1.15
5
5
  platform: ruby
6
6
  authors:
7
7
  - Josh Thurman
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2023-03-15 00:00:00.000000000 Z
12
+ date: 2023-03-24 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: aasm