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 2020/02/26 18:34:46 UTC
[camel-k] 03/15: feat(openshift): Default to auto-configuring
OpenShift internal container images registry
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 5227b8046d7ca4cb8a4a62fd9b0209b382f515f0
Author: Antonin Stefanutti <an...@stefanutti.fr>
AuthorDate: Mon Feb 24 14:33:21 2020 +0100
feat(openshift): Default to auto-configuring OpenShift internal container images registry
---
pkg/platform/defaults.go | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)
diff --git a/pkg/platform/defaults.go b/pkg/platform/defaults.go
index 30cf3c1..caffed1 100644
--- a/pkg/platform/defaults.go
+++ b/pkg/platform/defaults.go
@@ -20,11 +20,13 @@ package platform
import (
"context"
"fmt"
+ "strings"
"time"
corev1 "k8s.io/api/core/v1"
k8serrors "k8s.io/apimachinery/pkg/api/errors"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ "k8s.io/apimachinery/pkg/types"
v1 "github.com/apache/camel-k/pkg/apis/camel/v1"
"github.com/apache/camel-k/pkg/client"
@@ -82,6 +84,29 @@ func ConfigureDefaults(ctx context.Context, c client.Client, p *v1.IntegrationPl
return err
}
+ // Default to using OpenShift internal container images registry when using a strategy other than S2I
+ if p.Status.Cluster == v1.IntegrationPlatformClusterOpenShift &&
+ p.Status.Build.PublishStrategy != v1.IntegrationPlatformBuildPublishStrategyS2I &&
+ p.Status.Build.Registry.Address == "" {
+ p.Status.Build.Registry.Address = "image-registry.openshift-image-registry.svc:5000"
+
+ // Default to using the registry secret that's configured for the builder service account
+ if p.Status.Build.Registry.Secret == "" {
+ sa := corev1.ServiceAccount{}
+ err := c.Get(ctx, types.NamespacedName{Namespace: p.Namespace, Name: "camel-k-builder"}, &sa)
+ if err != nil {
+ return err
+ }
+ // We may want to read the secret keys instead of relying on the secret name scheme
+ for _, secret := range sa.Secrets {
+ if strings.Contains(secret.Name, "camel-k-builder-dockercfg") {
+ p.Status.Build.Registry.Secret = secret.Name
+ break
+ }
+ }
+ }
+ }
+
if verbose && p.Status.Build.PublishStrategy != v1.IntegrationPlatformBuildPublishStrategyS2I && p.Status.Build.Registry.Address == "" {
log.Log.Info("No registry specified for publishing images")
}