uffizzi_core 2.1.14 → 2.1.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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