You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by as...@apache.org on 2021/03/19 15:18:59 UTC
[camel-k] 13/13: chore: Add constants for image layout directories
This is an automated email from the ASF dual-hosted git repository.
astefanutti pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel-k.git
commit b327f7de7238648b89b664e60df6b281fdd64b1b
Author: Antonin Stefanutti <an...@stefanutti.fr>
AuthorDate: Fri Mar 19 12:00:03 2021 +0100
chore: Add constants for image layout directories
---
pkg/builder/image.go | 8 ++++++--
pkg/builder/quarkus.go | 2 +-
pkg/builder/spectrum.go | 4 ++--
pkg/trait/jvm.go | 26 +++++++++++++-------------
pkg/trait/jvm_test.go | 8 ++++----
5 files changed, 26 insertions(+), 22 deletions(-)
diff --git a/pkg/builder/image.go b/pkg/builder/image.go
index 9ec8bf1..ce01bff 100644
--- a/pkg/builder/image.go
+++ b/pkg/builder/image.go
@@ -31,7 +31,11 @@ import (
"github.com/apache/camel-k/pkg/util/controller"
)
-const ContextDir = "context"
+const (
+ ContextDir = "context"
+ DeploymentDir = "/deployments"
+ DependenciesDir = "dependencies"
+)
type artifactsSelector func(ctx *builderContext) error
@@ -110,7 +114,7 @@ func imageContext(ctx *builderContext, selector artifactsSelector) error {
// #nosec G202
dockerfile := []byte(`
FROM ` + ctx.BaseImage + `
- ADD . /deployments
+ ADD . ` + DeploymentDir + `
USER 1000
`)
diff --git a/pkg/builder/quarkus.go b/pkg/builder/quarkus.go
index e20422e..23ef90a 100644
--- a/pkg/builder/quarkus.go
+++ b/pkg/builder/quarkus.go
@@ -215,7 +215,7 @@ func ProcessQuarkusTransitiveDependencies(mc maven.Context) ([]v1.Artifact, erro
artifacts = append(artifacts, v1.Artifact{
ID: filepath.Base(fileRelPath),
Location: filePath,
- Target: path.Join("dependencies", fileRelPath),
+ Target: path.Join(DependenciesDir, fileRelPath),
Checksum: "sha1:" + sha1,
})
}
diff --git a/pkg/builder/spectrum.go b/pkg/builder/spectrum.go
index 32e8ca6..beb5b25 100644
--- a/pkg/builder/spectrum.go
+++ b/pkg/builder/spectrum.go
@@ -50,7 +50,7 @@ func (t *spectrumTask) Do(ctx context.Context) v1.BuildStatus {
status.BaseImage = baseImage
}
- libraryPath := path.Join(t.task.ContextDir /*, "context"*/, "dependencies")
+ libraryPath := path.Join(t.task.ContextDir, DependenciesDir)
_, err := os.Stat(libraryPath)
if err != nil && os.IsNotExist(err) {
// this can only indicate that there are no more libraries to add to the base image,
@@ -95,7 +95,7 @@ func (t *spectrumTask) Do(ctx context.Context) v1.BuildStatus {
Recursive: true,
}
- digest, err := spectrum.Build(options, libraryPath+":/deployments/dependencies")
+ digest, err := spectrum.Build(options, libraryPath+":"+path.Join(DeploymentDir, DependenciesDir))
if err != nil {
return status.Failed(err)
}
diff --git a/pkg/trait/jvm.go b/pkg/trait/jvm.go
index c7605ba..2d722e2 100644
--- a/pkg/trait/jvm.go
+++ b/pkg/trait/jvm.go
@@ -19,18 +19,24 @@ package trait
import (
"fmt"
+ "path"
"sort"
"strings"
- v1 "github.com/apache/camel-k/pkg/apis/camel/v1"
- "github.com/apache/camel-k/pkg/util"
"github.com/pkg/errors"
"github.com/scylladb/go-set/strset"
+
infp "gopkg.in/inf.v0"
+
corev1 "k8s.io/api/core/v1"
"k8s.io/apimachinery/pkg/api/resource"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- k8sclient "sigs.k8s.io/controller-runtime/pkg/client"
+
+ ctrl "sigs.k8s.io/controller-runtime/pkg/client"
+
+ v1 "github.com/apache/camel-k/pkg/apis/camel/v1"
+ "github.com/apache/camel-k/pkg/builder"
+ "github.com/apache/camel-k/pkg/util"
)
// The JVM trait is used to configure the JVM that runs the integration.
@@ -74,15 +80,9 @@ func (t *jvmTrait) Apply(e *Environment) error {
name := e.Integration.Status.IntegrationKit.Name
ns := e.Integration.GetIntegrationKitNamespace(e.Platform)
k := v1.NewIntegrationKit(ns, name)
- key := k8sclient.ObjectKey{
- Namespace: ns,
- Name: name,
- }
-
- if err := t.Client.Get(t.Ctx, key, &k); err != nil {
+ if err := t.Client.Get(t.Ctx, ctrl.ObjectKeyFromObject(&k), &k); err != nil {
return errors.Wrapf(err, "unable to find integration kit %s/%s, %s", ns, name, err)
}
-
kit = &k
}
@@ -95,7 +95,7 @@ func (t *jvmTrait) Apply(e *Environment) error {
classpath := strset.New()
- classpath.Add("/etc/camel/resources")
+ classpath.Add(resourcesMountPath)
classpath.Add("./resources")
for _, artifact := range kit.Status.Artifacts {
@@ -106,7 +106,7 @@ func (t *jvmTrait) Apply(e *Environment) error {
// In case of an external created kit, we do not have any information about
// the classpath so we assume the all jars in /deployments/dependencies/ have
// to be taken into account
- dependencies := "/deployments/dependencies"
+ dependencies := path.Join(builder.DeploymentDir, builder.DependenciesDir)
classpath.Add(
dependencies+"/*",
dependencies+"/app/*",
@@ -188,7 +188,7 @@ func (t *jvmTrait) Apply(e *Environment) error {
container.Args = args
}
- container.WorkingDir = "/deployments"
+ container.WorkingDir = builder.DeploymentDir
return nil
}
diff --git a/pkg/trait/jvm_test.go b/pkg/trait/jvm_test.go
index 5b55b18..2572dc1 100644
--- a/pkg/trait/jvm_test.go
+++ b/pkg/trait/jvm_test.go
@@ -23,9 +23,6 @@ import (
"strings"
"testing"
- "github.com/apache/camel-k/pkg/util"
- "github.com/apache/camel-k/pkg/util/camel"
-
"github.com/scylladb/go-set/strset"
"github.com/stretchr/testify/assert"
@@ -36,6 +33,9 @@ import (
serving "knative.dev/serving/pkg/apis/serving/v1"
v1 "github.com/apache/camel-k/pkg/apis/camel/v1"
+ "github.com/apache/camel-k/pkg/builder"
+ "github.com/apache/camel-k/pkg/util"
+ "github.com/apache/camel-k/pkg/util/camel"
"github.com/apache/camel-k/pkg/util/kubernetes"
"github.com/apache/camel-k/pkg/util/test"
)
@@ -209,7 +209,7 @@ func TestApplyJvmTraitWithExternalKitType(t *testing.T) {
// classpath JAR location segments must be wildcarded for an external kit
for _, cp := range strings.Split(container.Args[1], ":") {
- if strings.HasPrefix(cp, "/deployments") {
+ if strings.HasPrefix(cp, builder.DeploymentDir) {
assert.True(t, strings.HasSuffix(cp, "/*"))
}
}