devfile 0.0.15.pre.alpha1 → 0.0.17.pre.alpha1

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: 739a883993edbb196e10d9254497cb37ff6cbe127c339cc7bee634c1c70cb797
4
- data.tar.gz: 290cdcf0ed586f6f22379258493f1d322dac3e0e0256f6f440e7defbf685d37c
3
+ metadata.gz: 0caaa2073d33653ef8b632c083e866dec6f2d29db102cf7426098ae4fb6120d8
4
+ data.tar.gz: 268b1d8ea8f9f37209129d67de14acb90cb133ac2b1f0e062511e1b5e3de5213
5
5
  SHA512:
6
- metadata.gz: 7949066754c11a31d4b70d04c3389484d23151189b844a954afde42734bbe87beeccd66d9f022af74868b3b031d13a9e7afff7e57e1fa04d92079bfab7a7582f
7
- data.tar.gz: f81e3722a30ca33dfc8832047739956d58c89f7d96791d731619748d07e9ee9ed9c20b1b2d2cabb9d70de2e5350fb65946bbe12d0de3ecc2c3967b4d667e24a4
6
+ metadata.gz: 574fe4a35ba43896753bc97c5dd0a3845bb7669067ddabec583cc913a11a5e97a57f93596e61ccca5eb869f1afda8162bc003a62979c8217e83358b07bbd3a57
7
+ data.tar.gz: f5d4e53057b98eafc7b7f17abb49cb66cdc827ea43536a93ef2fff27f927a0a49a16cb1ce06c56c03298bfd78ad01e075a04530d8ecc875ad1ee9bd4cf13bf30
data/bin/devfile CHANGED
Binary file
data/ext/devfile.go CHANGED
@@ -7,6 +7,7 @@ import (
7
7
  "strconv"
8
8
  "text/template"
9
9
 
10
+ "github.com/devfile/library/v2/pkg/devfile"
10
11
  "github.com/devfile/library/v2/pkg/devfile/generator"
11
12
  "github.com/devfile/library/v2/pkg/devfile/parser"
12
13
  "github.com/devfile/library/v2/pkg/devfile/parser/data/v2/common"
@@ -292,15 +293,21 @@ func (d Devfile) hasContainerComponents() (bool, error) {
292
293
  return false, nil
293
294
  }
294
295
 
295
- func (d Devfile) getFlattenedDevfileContent() string {
296
- return string(d.devfileObj.Ctx.GetDevfileContent())
296
+ func (d Devfile) getFlattenedDevfileContent() (string, error) {
297
+ b, err := yaml.Marshal(d.devfileObj.Data)
298
+ if err != nil {
299
+ return "", err
300
+ }
301
+ return string(b), nil
297
302
  }
298
303
 
299
304
  func parseDevfile(content string) (Devfile, error) {
300
305
  parserArgs := parser.ParserArgs{
301
306
  Data: []byte(content),
302
307
  }
303
- devfileObj, err := parser.ParseDevfile(parserArgs)
308
+ // TODO: figure out how to handle warnings
309
+ // https://gitlab.com/gitlab-org/remote-development/devfile-gem/-/issues/6
310
+ devfileObj, _, err := devfile.ParseDevfileAndValidate(parserArgs)
304
311
  return Devfile{
305
312
  devfileObj: devfileObj,
306
313
  }, err
data/ext/go.mod CHANGED
@@ -1,8 +1,9 @@
1
1
  module gitlab-org/remote-development/devfile-gem
2
2
 
3
- go 1.18
3
+ go 1.19
4
4
 
5
5
  require (
6
+ github.com/devfile/api/v2 v2.2.0
6
7
  github.com/devfile/library/v2 v2.2.0
7
8
  k8s.io/api v0.26.1
8
9
  k8s.io/apimachinery v0.26.1
@@ -19,7 +20,6 @@ require (
19
20
  github.com/cespare/xxhash/v2 v2.1.2 // indirect
20
21
  github.com/containerd/containerd v1.5.9 // indirect
21
22
  github.com/davecgh/go-spew v1.1.1 // indirect
22
- github.com/devfile/api/v2 v2.2.0 // indirect
23
23
  github.com/devfile/registry-support/index/generator v0.0.0-20221018203505-df96d34d4273 // indirect
24
24
  github.com/devfile/registry-support/registry-library v0.0.0-20221018213054-47b3ffaeadba // indirect
25
25
  github.com/docker/cli v20.10.11+incompatible // indirect
data/ext/main.go CHANGED
@@ -232,7 +232,10 @@ func flatten(devfile string) (string, error) {
232
232
  if err != nil {
233
233
  return "", err
234
234
  }
235
- flattenedDevfile := d.getFlattenedDevfileContent()
235
+ flattenedDevfile, err := d.getFlattenedDevfileContent()
236
+ if err != nil {
237
+ return "", err
238
+ }
236
239
  content, err := marshalDevfile(flattenedDevfile)
237
240
  if err != nil {
238
241
  return "", err
data/lib/devfile.rb CHANGED
@@ -10,57 +10,33 @@ module Devfile
10
10
 
11
11
  class << self
12
12
  def get_deployment(devfile, name, namespace, labels, annotations, replicas)
13
- stdout, stderr, status = Open3.capture3(
14
- "#{FILE_PATH} deployment '#{devfile}' #{name} #{namespace} '#{labels}' '#{annotations}' #{replicas}"
15
- )
16
-
17
- raise stderr unless status.success?
18
-
19
- stdout
13
+ call('deployment', devfile, name, namespace, labels, annotations, replicas)
20
14
  end
21
15
 
22
16
  def get_service(devfile, name, namespace, labels, annotations)
23
- stdout, stderr, status = Open3.capture3(
24
- "#{FILE_PATH} service '#{devfile}' #{name} #{namespace} '#{labels}' '#{annotations}'"
25
- )
26
-
27
- raise stderr unless status.success?
28
-
29
- stdout
17
+ call('service', devfile, name, namespace, labels, annotations)
30
18
  end
31
19
 
32
20
  def get_ingress(devfile, name, namespace, labels, annotations, domain_template, ingress_class)
33
- stdout, stderr, status = Open3.capture3(
34
- "#{FILE_PATH} ingress '#{devfile}' #{name} #{namespace} '#{labels}' '#{annotations}' #{domain_template} #{ingress_class}"
35
- )
36
-
37
- raise stderr unless status.success?
38
-
39
- stdout
21
+ call('ingress', devfile, name, namespace, labels, annotations, domain_template, ingress_class)
40
22
  end
41
23
 
42
24
  def get_pvc(devfile, name, namespace, labels, annotations)
43
- stdout, stderr, status = Open3.capture3(
44
- "#{FILE_PATH} deployment '#{devfile}' #{name} #{namespace} '#{labels}' '#{annotations}'"
45
- )
46
-
47
- raise stderr unless status.success?
48
-
49
- stdout
25
+ call('deployment', devfile, name, namespace, labels, annotations)
50
26
  end
51
27
 
52
28
  def get_all(devfile, name, namespace, labels, annotations, replicas, domain_template, ingress_class)
53
- stdout, stderr, status = Open3.capture3(
54
- "#{FILE_PATH} all '#{devfile}' #{name} #{namespace} '#{labels}' '#{annotations}' #{replicas} #{domain_template} #{ingress_class}"
55
- )
56
-
57
- raise stderr unless status.success?
58
-
59
- stdout
29
+ call('all', devfile, name, namespace, labels, annotations, replicas, domain_template, ingress_class)
60
30
  end
61
31
 
62
32
  def flatten(devfile)
63
- stdout, stderr, status = Open3.capture3("#{FILE_PATH} flatten '#{devfile}'")
33
+ call('flatten', devfile)
34
+ end
35
+
36
+ private
37
+
38
+ def call(*cmd)
39
+ stdout, stderr, status = Open3.capture3({}, FILE_PATH, *cmd.map(&:to_s))
64
40
 
65
41
  raise stderr unless status.success?
66
42
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: devfile
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.15.pre.alpha1
4
+ version: 0.0.17.pre.alpha1
5
5
  platform: ruby
6
6
  authors:
7
7
  - GitLab
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-04-27 00:00:00.000000000 Z
11
+ date: 2023-05-08 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Library used to generate kubernetes manifests from a Devfile.
14
14
  email:
@@ -46,7 +46,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
46
46
  - !ruby/object:Gem::Version
47
47
  version: 1.3.1
48
48
  requirements: []
49
- rubygems_version: 3.4.9
49
+ rubygems_version: 3.4.12
50
50
  signing_key:
51
51
  specification_version: 4
52
52
  summary: Parse and generate kubernetes manifests from a Devfile