in pkg/platform/defaults.go [48:117]
func ConfigureDefaults(ctx context.Context, c client.Client, p *v1.IntegrationPlatform, verbose bool) error {
// Reset the state to initial values
p.ResyncStatusFullConfig()
// Set the operator version controlling this resource
p.Status.Version = defaults.Version
// Apply settings from global integration platform that is bound to this operator
if err := applyGlobalPlatformDefaults(ctx, c, p); err != nil {
return err
}
if p.Status.Build.RuntimeProvider == "" {
p.Status.Build.RuntimeProvider = v1.RuntimeProviderQuarkus
log.Debugf("Integration Platform %s [%s]: setting default runtime provider %s", p.Name, p.Namespace, v1.RuntimeProviderQuarkus)
}
if p.Status.Build.RuntimeVersion == "" {
p.Status.Build.RuntimeVersion = defaults.DefaultRuntimeVersion
log.Debugf("Integration Platform %s [%s]: setting default runtime version %s", p.Name, p.Namespace, p.Status.Build.PublishStrategy)
}
// update missing fields in the resource
if p.Status.Cluster == "" {
log.Debugf("Integration Platform %s [%s]: setting cluster status", p.Name, p.Namespace)
// determine the kind of cluster the platform is installed into
isOpenShift, err := openshift.IsOpenShift(c)
switch {
case err != nil:
return err
case isOpenShift:
p.Status.Cluster = v1.IntegrationPlatformClusterOpenShift
default:
p.Status.Cluster = v1.IntegrationPlatformClusterKubernetes
}
}
if p.Status.Build.PublishStrategy == "" {
p.Status.Build.PublishStrategy = v1.IntegrationPlatformBuildPublishStrategyJib
log.Debugf("Integration Platform %s [%s]: setting publishing strategy %s", p.Name, p.Namespace, p.Status.Build.PublishStrategy)
}
if p.Status.Build.BuildConfiguration.Strategy == "" {
defaultStrategy := v1.BuildStrategyRoutine
p.Status.Build.BuildConfiguration.Strategy = defaultStrategy
log.Debugf("Integration Platform %s [%s]: setting build strategy %s", p.Name, p.Namespace, p.Status.Build.BuildConfiguration.Strategy)
}
if p.Status.Build.BuildConfiguration.OrderStrategy == "" {
p.Status.Build.BuildConfiguration.OrderStrategy = v1.BuildOrderStrategyDependencies
log.Debugf("Integration Platform %s [%s]: setting build order strategy %s", p.Name, p.Namespace, p.Status.Build.BuildConfiguration.OrderStrategy)
}
err := setPlatformDefaults(p, verbose)
if err != nil {
return err
}
err = configureRegistry(ctx, c, p)
if err != nil {
return err
}
if verbose && p.Status.Build.PublishStrategy != v1.IntegrationPlatformBuildPublishStrategyS2I && p.Status.Build.Registry.Address == "" {
log.Log.Info("No registry specified for publishing images")
}
if verbose && p.Status.Build.GetTimeout().Duration != 0 {
log.Log.Infof("Maven Timeout set to %s", p.Status.Build.GetTimeout().Duration)
}
return nil
}