Skip to content

Commit 3da1da2

Browse files
Merge pull request #197 from njhale/fix-dockerfile-gen
fix(index): gen index dockerfiles from opm image
2 parents d5d62c2 + 26a20b4 commit 3da1da2

File tree

2 files changed

+15
-29
lines changed

2 files changed

+15
-29
lines changed

pkg/containertools/dockerfilegenerator.go

Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,8 @@ import (
88
)
99

1010
const (
11-
baseImage = "scratch"
1211
defaultBinarySourceImage = "quay.io/operator-framework/upstream-registry-builder"
13-
DefaultDbLocation = "./index.db"
12+
DefaultDbLocation = "/database/index.db"
1413
DbLocationLabel = "operators.operatorframework.io.index.database.v1"
1514
)
1615

@@ -42,22 +41,17 @@ func (g *IndexDockerfileGenerator) GenerateIndexDockerfile(binarySourceImage, da
4241

4342
g.Logger.Info("Generating dockerfile")
4443

45-
// Where to collect the binary
46-
dockerfile += fmt.Sprintf("FROM %s AS builder\n", binarySourceImage)
47-
4844
// From
49-
dockerfile += fmt.Sprintf("\nFROM %s\n", baseImage)
45+
dockerfile += fmt.Sprintf("FROM %s\n", binarySourceImage)
5046

5147
// Labels
5248
dockerfile += fmt.Sprintf("LABEL %s=%s\n", DbLocationLabel, DefaultDbLocation)
5349

5450
// Content
55-
dockerfile += fmt.Sprintf("COPY %s ./\n", databaseFolder)
56-
dockerfile += fmt.Sprintf("COPY --from=builder /bin/opm /opm\n")
57-
dockerfile += fmt.Sprintf("COPY --from=builder /bin/grpc_health_probe /bin/grpc_health_probe\n")
51+
dockerfile += fmt.Sprintf("ADD %s /database\n", databaseFolder)
5852
dockerfile += fmt.Sprintf("EXPOSE 50051\n")
59-
dockerfile += fmt.Sprintf("ENTRYPOINT [\"/opm\"]\n")
60-
dockerfile += fmt.Sprintf("CMD [\"registry\", \"serve\", \"--database\", \"index.db\"]\n")
53+
dockerfile += fmt.Sprintf("ENTRYPOINT [\"/bin/opm\"]\n")
54+
dockerfile += fmt.Sprintf("CMD [\"registry\", \"serve\", \"--database\", \"%s\"]\n", DefaultDbLocation)
6155

6256
return dockerfile
6357
}

pkg/containertools/dockerfilegenerator_test.go

Lines changed: 10 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -16,16 +16,12 @@ func TestGenerateDockerfile(t *testing.T) {
1616

1717
binarySourceImage := "quay.io/operator-framework/builder"
1818
databaseFolder := "database"
19-
expectedDockerfile := `FROM quay.io/operator-framework/builder AS builder
20-
21-
FROM scratch
22-
LABEL operators.operatorframework.io.index.database.v1=./index.db
23-
COPY database ./
24-
COPY --from=builder /bin/opm /opm
25-
COPY --from=builder /bin/grpc_health_probe /bin/grpc_health_probe
19+
expectedDockerfile := `FROM quay.io/operator-framework/builder
20+
LABEL operators.operatorframework.io.index.database.v1=/database/index.db
21+
ADD database /database
2622
EXPOSE 50051
27-
ENTRYPOINT ["/opm"]
28-
CMD ["registry", "serve", "--database", "index.db"]
23+
ENTRYPOINT ["/bin/opm"]
24+
CMD ["registry", "serve", "--database", "/database/index.db"]
2925
`
3026

3127
logger := logrus.NewEntry(logrus.New())
@@ -43,16 +39,12 @@ func TestGenerateDockerfile_EmptyBaseImage(t *testing.T) {
4339
defer controller.Finish()
4440

4541
databaseFolder := "database"
46-
expectedDockerfile := `FROM quay.io/operator-framework/upstream-registry-builder AS builder
47-
48-
FROM scratch
49-
LABEL operators.operatorframework.io.index.database.v1=./index.db
50-
COPY database ./
51-
COPY --from=builder /bin/opm /opm
52-
COPY --from=builder /bin/grpc_health_probe /bin/grpc_health_probe
42+
expectedDockerfile := `FROM quay.io/operator-framework/upstream-registry-builder
43+
LABEL operators.operatorframework.io.index.database.v1=/database/index.db
44+
ADD database /database
5345
EXPOSE 50051
54-
ENTRYPOINT ["/opm"]
55-
CMD ["registry", "serve", "--database", "index.db"]
46+
ENTRYPOINT ["/bin/opm"]
47+
CMD ["registry", "serve", "--database", "/database/index.db"]
5648
`
5749

5850
logger := logrus.NewEntry(logrus.New())

0 commit comments

Comments
 (0)