Skip to content

Commit 1e82adc

Browse files
gharleyglyn
authored andcommitted
Inject manifests into image client
* resolves error seen with riff-distro system download * fixes projectriff#929
1 parent 0f92901 commit 1e82adc

File tree

8 files changed

+116
-113
lines changed

8 files changed

+116
-113
lines changed

cmd/commands/wiring.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@ See https://projectriff.io and https://github.com/knative/docs`,
105105
dockerClient = docker.RealDocker(os.Stdin, cmd.OutOrStdout(), cmd.OutOrStderr())
106106
checker := fileutils.NewChecker()
107107
copier := fileutils.NewCopier(cmd.OutOrStdout(), checker)
108-
imageClient = core.NewImageClient(dockerClient, copier, checker, resource.ListImages, cmd.OutOrStdout())
108+
imageClient = core.NewImageClient(dockerClient, copier, checker, resource.ListImages, cmd.OutOrStdout(), core.Manifests)
109109
return nil
110110
},
111111
}

distro/commands/wiring.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ See https://projectriff.io and https://github.com/knative/docs`,
5151
dockerClient = docker.RealDocker(os.Stdin, cmd.OutOrStdout(), cmd.OutOrStderr())
5252
checker := fileutils.NewChecker()
5353
copier := fileutils.NewCopier(cmd.OutOrStdout(), checker)
54-
imageClient = core.NewImageClient(dockerClient, copier, checker, resource.ListImages, ioutil.Discard)
54+
imageClient = core.NewImageClient(dockerClient, copier, checker, resource.ListImages, ioutil.Discard, core.Manifests)
5555
return nil
5656
},
5757
}

main.go

Lines changed: 2 additions & 105 deletions
Original file line numberDiff line numberDiff line change
@@ -17,120 +17,17 @@
1717
package main
1818

1919
import (
20+
"github.com/projectriff/riff/pkg/core"
2021
"os"
2122

2223
"fmt"
2324

2425
"github.com/projectriff/riff/cmd/commands"
25-
"github.com/projectriff/riff/pkg/core"
26-
)
27-
28-
var (
29-
buildpacks = map[string]string{
30-
"java": "projectriff/buildpack",
31-
}
32-
invokers = map[string]string{
33-
"jar": "https://github.com/projectriff/java-function-invoker/raw/v0.1.1/java-invoker.yaml",
34-
"command": "https://github.com/projectriff/command-function-invoker/raw/v0.0.7/command-invoker.yaml",
35-
"node": "https://github.com/projectriff/node-function-invoker/raw/v0.0.8/node-invoker.yaml",
36-
}
37-
manifests = map[string]*core.Manifest{
38-
"latest": &core.Manifest{
39-
ManifestVersion: "0.1",
40-
Istio: []string{
41-
"https://storage.googleapis.com/knative-releases/serving/latest/istio.yaml",
42-
},
43-
Knative: []string{
44-
"https://storage.googleapis.com/knative-releases/build/latest/release.yaml",
45-
"https://storage.googleapis.com/knative-releases/serving/latest/serving.yaml",
46-
"https://storage.googleapis.com/knative-releases/eventing/latest/release.yaml",
47-
"https://storage.googleapis.com/knative-releases/eventing/latest/release-clusterbus-stub.yaml",
48-
},
49-
Namespace: []string{
50-
"https://storage.googleapis.com/riff-releases/latest/riff-build.yaml",
51-
"https://storage.googleapis.com/riff-releases/riff-cnb-buildtemplate-0.1.0.pre.3.yaml",
52-
},
53-
},
54-
"stable": &core.Manifest{
55-
ManifestVersion: "0.1",
56-
Istio: []string{
57-
"https://storage.googleapis.com/knative-releases/serving/previous/v0.2.0/istio.yaml",
58-
},
59-
Knative: []string{
60-
"https://storage.googleapis.com/knative-releases/build/previous/v0.2.0/release.yaml",
61-
"https://storage.googleapis.com/knative-releases/serving/previous/v20181101-v0.2.0-11-g877523d/serving.yaml",
62-
"https://storage.googleapis.com/knative-releases/eventing/previous/v20181031-a2f9417/release.yaml",
63-
"https://storage.googleapis.com/knative-releases/eventing/previous/v20181031-a2f9417/release-clusterbus-stub.yaml",
64-
},
65-
Namespace: []string{
66-
"https://storage.googleapis.com/riff-releases/previous/riff-build/riff-build-0.1.0.yaml",
67-
"https://storage.googleapis.com/riff-releases/riff-cnb-buildtemplate-0.1.0.yaml",
68-
},
69-
},
70-
"v0.1.3": &core.Manifest{
71-
ManifestVersion: "0.1",
72-
Istio: []string{
73-
"https://storage.googleapis.com/knative-releases/serving/previous/v20180921-69811e7/istio.yaml",
74-
},
75-
Knative: []string{
76-
"https://storage.googleapis.com/knative-releases/serving/previous/v20180921-69811e7/release-no-mon.yaml",
77-
"https://storage.googleapis.com/knative-releases/eventing/previous/v20180921-01f95cb/release.yaml",
78-
"https://storage.googleapis.com/knative-releases/eventing/previous/v20180921-01f95cb/release-clusterbus-stub.yaml",
79-
},
80-
Namespace: []string{
81-
"https://storage.googleapis.com/riff-releases/previous/riff-build/riff-build-0.1.0.yaml",
82-
"https://storage.googleapis.com/riff-releases/riff-cnb-buildtemplate-0.1.0.yaml",
83-
},
84-
},
85-
"v0.1.2": &core.Manifest{
86-
ManifestVersion: "0.1",
87-
Istio: []string{
88-
"https://storage.googleapis.com/knative-releases/serving/previous/v20180828-7c20145/istio.yaml",
89-
},
90-
Knative: []string{
91-
"https://storage.googleapis.com/knative-releases/serving/previous/v20180828-7c20145/release-no-mon.yaml",
92-
"https://storage.googleapis.com/knative-releases/eventing/previous/v20180830-5d35af5/release.yaml",
93-
"https://storage.googleapis.com/knative-releases/eventing/previous/v20180830-5d35af5/release-clusterbus-stub.yaml",
94-
},
95-
Namespace: []string{
96-
"https://storage.googleapis.com/riff-releases/previous/riff-build/riff-build-0.1.0.yaml",
97-
},
98-
},
99-
"v0.1.1": &core.Manifest{
100-
ManifestVersion: "0.1",
101-
Istio: []string{
102-
"https://storage.googleapis.com/riff-releases/istio/istio-1.0.0-riff-crds.yaml",
103-
"https://storage.googleapis.com/riff-releases/istio/istio-1.0.0-riff-main.yaml",
104-
},
105-
Knative: []string{
106-
"https://storage.googleapis.com/knative-releases/serving/previous/v20180809-6b01d8e/release-no-mon.yaml",
107-
"https://storage.googleapis.com/knative-releases/eventing/previous/v20180809-34ab480/release.yaml",
108-
"https://storage.googleapis.com/knative-releases/eventing/previous/v20180809-34ab480/release-clusterbus-stub.yaml",
109-
},
110-
Namespace: []string{
111-
"https://storage.googleapis.com/riff-releases/previous/riff-build/riff-build-0.1.0.yaml",
112-
},
113-
},
114-
"v0.1.0": &core.Manifest{
115-
ManifestVersion: "0.1",
116-
Istio: []string{
117-
"https://storage.googleapis.com/riff-releases/istio-riff-0.1.0.yaml",
118-
},
119-
Knative: []string{
120-
"https://storage.googleapis.com/riff-releases/release-no-mon-riff-0.1.0.yaml",
121-
"https://storage.googleapis.com/riff-releases/release-eventing-riff-0.1.0.yaml",
122-
"https://storage.googleapis.com/riff-releases/release-eventing-clusterbus-stub-riff-0.1.0.yaml",
123-
},
124-
Namespace: []string{
125-
"https://storage.googleapis.com/riff-releases/previous/riff-build/riff-build-0.1.0.yaml",
126-
},
127-
},
128-
}
12926
)
13027

13128
func main() {
13229

133-
root := commands.CreateAndWireRootCommand(manifests, invokers, buildpacks)
30+
root := commands.CreateAndWireRootCommand(core.Manifests, core.Invokers, core.Buildpacks)
13431

13532
sub, err := root.ExecuteC()
13633
if err != nil {

pkg/core/config.go

Lines changed: 105 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,105 @@
1+
package core
2+
3+
var (
4+
Buildpacks = map[string]string{
5+
"java": "projectriff/buildpack",
6+
}
7+
Invokers = map[string]string{
8+
"jar": "https://github.com/projectriff/java-function-invoker/raw/v0.1.1/java-invoker.yaml",
9+
"command": "https://github.com/projectriff/command-function-invoker/raw/v0.0.7/command-invoker.yaml",
10+
"node": "https://github.com/projectriff/node-function-invoker/raw/v0.0.8/node-invoker.yaml",
11+
}
12+
Manifests = map[string]*Manifest{
13+
"latest": &Manifest{
14+
ManifestVersion: "0.1",
15+
Istio: []string{
16+
"https://storage.googleapis.com/knative-releases/serving/latest/istio.yaml",
17+
},
18+
Knative: []string{
19+
"https://storage.googleapis.com/knative-releases/build/latest/release.yaml",
20+
"https://storage.googleapis.com/knative-releases/serving/latest/serving.yaml",
21+
"https://storage.googleapis.com/knative-releases/eventing/latest/release.yaml",
22+
"https://storage.googleapis.com/knative-releases/eventing/latest/release-clusterbus-stub.yaml",
23+
},
24+
Namespace: []string{
25+
"https://storage.googleapis.com/riff-releases/latest/riff-build.yaml",
26+
"https://storage.googleapis.com/riff-releases/riff-cnb-buildtemplate-0.1.0.pre.3.yaml",
27+
},
28+
},
29+
"stable": &Manifest{
30+
ManifestVersion: "0.1",
31+
Istio: []string{
32+
"https://storage.googleapis.com/knative-releases/serving/previous/v20181029-1d5c521/istio.yaml",
33+
},
34+
Knative: []string{
35+
"https://storage.googleapis.com/knative-releases/build/previous/v20181029-e9f5b24/release.yaml",
36+
"https://storage.googleapis.com/knative-releases/serving/previous/v20181029-1d5c521/serving.yaml",
37+
"https://storage.googleapis.com/knative-releases/eventing/previous/v20181029-642bfc1/release.yaml",
38+
"https://storage.googleapis.com/knative-releases/eventing/previous/v20181029-642bfc1/release-clusterbus-stub.yaml",
39+
},
40+
Namespace: []string{
41+
"https://storage.googleapis.com/riff-releases/previous/riff-build/riff-build-0.1.0.yaml",
42+
"https://storage.googleapis.com/riff-releases/riff-cnb-buildtemplate-0.1.0.yaml",
43+
},
44+
},
45+
"v0.1.3": &Manifest{
46+
ManifestVersion: "0.1",
47+
Istio: []string{
48+
"https://storage.googleapis.com/knative-releases/serving/previous/v20180921-69811e7/istio.yaml",
49+
},
50+
Knative: []string{
51+
"https://storage.googleapis.com/knative-releases/serving/previous/v20180921-69811e7/release-no-mon.yaml",
52+
"https://storage.googleapis.com/knative-releases/eventing/previous/v20180921-01f95cb/release.yaml",
53+
"https://storage.googleapis.com/knative-releases/eventing/previous/v20180921-01f95cb/release-clusterbus-stub.yaml",
54+
},
55+
Namespace: []string{
56+
"https://storage.googleapis.com/riff-releases/previous/riff-build/riff-build-0.1.0.yaml",
57+
"https://storage.googleapis.com/riff-releases/riff-cnb-buildtemplate-0.1.0.yaml",
58+
},
59+
},
60+
"v0.1.2": &Manifest{
61+
ManifestVersion: "0.1",
62+
Istio: []string{
63+
"https://storage.googleapis.com/knative-releases/serving/previous/v20180828-7c20145/istio.yaml",
64+
},
65+
Knative: []string{
66+
"https://storage.googleapis.com/knative-releases/serving/previous/v20180828-7c20145/release-no-mon.yaml",
67+
"https://storage.googleapis.com/knative-releases/eventing/previous/v20180830-5d35af5/release.yaml",
68+
"https://storage.googleapis.com/knative-releases/eventing/previous/v20180830-5d35af5/release-clusterbus-stub.yaml",
69+
},
70+
Namespace: []string{
71+
"https://storage.googleapis.com/riff-releases/previous/riff-build/riff-build-0.1.0.yaml",
72+
},
73+
},
74+
"v0.1.1": &Manifest{
75+
ManifestVersion: "0.1",
76+
Istio: []string{
77+
"https://storage.googleapis.com/riff-releases/istio/istio-1.0.0-riff-crds.yaml",
78+
"https://storage.googleapis.com/riff-releases/istio/istio-1.0.0-riff-main.yaml",
79+
},
80+
Knative: []string{
81+
"https://storage.googleapis.com/knative-releases/serving/previous/v20180809-6b01d8e/release-no-mon.yaml",
82+
"https://storage.googleapis.com/knative-releases/eventing/previous/v20180809-34ab480/release.yaml",
83+
"https://storage.googleapis.com/knative-releases/eventing/previous/v20180809-34ab480/release-clusterbus-stub.yaml",
84+
},
85+
Namespace: []string{
86+
"https://storage.googleapis.com/riff-releases/previous/riff-build/riff-build-0.1.0.yaml",
87+
},
88+
},
89+
"v0.1.0": &Manifest{
90+
ManifestVersion: "0.1",
91+
Istio: []string{
92+
"https://storage.googleapis.com/riff-releases/istio-riff-0.1.0.yaml",
93+
},
94+
Knative: []string{
95+
"https://storage.googleapis.com/riff-releases/release-no-mon-riff-0.1.0.yaml",
96+
"https://storage.googleapis.com/riff-releases/release-eventing-riff-0.1.0.yaml",
97+
"https://storage.googleapis.com/riff-releases/release-eventing-clusterbus-stub-riff-0.1.0.yaml",
98+
},
99+
Namespace: []string{
100+
"https://storage.googleapis.com/riff-releases/previous/riff-build/riff-build-0.1.0.yaml",
101+
},
102+
},
103+
}
104+
)
105+

pkg/core/image.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -146,7 +146,7 @@ func (c *imageClient) relocateManifest(manifestPath string, mapper *imageMapper,
146146
return err
147147
}
148148

149-
manifest, err := NewManifest(manifestPath)
149+
manifest, err := ResolveManifest(c.manifests, manifestPath)
150150
if err != nil {
151151
return err
152152
}

pkg/core/image_client.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,7 @@ type imageClient struct {
7070
checker fileutils.Checker
7171
listImages imageLister
7272
log io.Writer
73+
manifests map[string]*Manifest
7374
}
7475

7576
func (c *imageClient) LoadAndTagImages(options LoadAndTagImagesOptions) error {
@@ -193,8 +194,8 @@ func (c *imageClient) ListImages(options ListImagesOptions) error {
193194
return im.Save(imPath)
194195
}
195196

196-
func NewImageClient(docker docker.Docker, copier fileutils.Copier, checker fileutils.Checker, listImages imageLister, log io.Writer) ImageClient {
197-
return &imageClient{docker: docker, copier: copier, checker: checker, listImages: listImages, log: log}
197+
func NewImageClient(docker docker.Docker, copier fileutils.Copier, checker fileutils.Checker, listImages imageLister, log io.Writer, manifests map[string]*Manifest) ImageClient {
198+
return &imageClient{docker: docker, copier: copier, checker: checker, listImages: listImages, log: log, manifests: manifests}
198199
}
199200

200201
func (c *imageClient) printf(format string, a ...interface{}) (n int, err error) {

pkg/core/image_client_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ var _ = Describe("ImageClient", func() {
5555
})
5656

5757
JustBeforeEach(func() {
58-
imageClient = core.NewImageClient(mockDocker, mockCopier, mockChecker, mockImageLister, ioutil.Discard)
58+
imageClient = core.NewImageClient(mockDocker, mockCopier, mockChecker, mockImageLister, ioutil.Discard, core.Manifests)
5959
})
6060

6161
AfterEach(func() {

pkg/core/image_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ var _ = Describe("RelocateImages", func() {
2929
BeforeEach(func() {
3030
mockFutils = new(mocks.Copier)
3131
mockChecker = new(mocks.Checker)
32-
client = NewImageClient(nil, mockFutils, mockChecker, resource.ListImages, ioutil.Discard)
32+
client = NewImageClient(nil, mockFutils, mockChecker, resource.ListImages, ioutil.Discard, Manifests)
3333
options.Registry = "reg.org"
3434
options.RegistryUser = "user"
3535
testErr = errors.New("test error")
@@ -297,7 +297,7 @@ var _ = Describe("SystemDownload", func() {
297297
BeforeEach(func() {
298298
mockCopier = new(mocks.Copier)
299299
mockChecker = new(mocks.Checker)
300-
client = NewImageClient(nil, mockCopier, mockChecker, resource.ListImages, ioutil.Discard)
300+
client = NewImageClient(nil, mockCopier, mockChecker, resource.ListImages, ioutil.Discard, Manifests)
301301
})
302302

303303
JustBeforeEach(func() {

0 commit comments

Comments
 (0)