Class ContainerImageOpenshiftConfig

java.lang.Object
io.quarkus.container.image.openshift.deployment.ContainerImageOpenshiftConfig

@ConfigRoot(name="openshift", phase=BUILD_TIME) public class ContainerImageOpenshiftConfig extends Object
  • Field Details

    • DEFAULT_BASE_JVM_JDK17_IMAGE

      public static final String DEFAULT_BASE_JVM_JDK17_IMAGE
      See Also:
    • DEFAULT_BASE_JVM_JDK21_IMAGE

      public static final String DEFAULT_BASE_JVM_JDK21_IMAGE
      See Also:
    • DEFAULT_BASE_NATIVE_IMAGE

      public static final String DEFAULT_BASE_NATIVE_IMAGE
      See Also:
    • DEFAULT_NATIVE_TARGET_FILENAME

      public static final String DEFAULT_NATIVE_TARGET_FILENAME
      See Also:
    • DEFAULT_JVM_DOCKERFILE

      public static final String DEFAULT_JVM_DOCKERFILE
      See Also:
    • DEFAULT_NATIVE_DOCKERFILE

      public static final String DEFAULT_NATIVE_DOCKERFILE
      See Also:
    • DEFAULT_BUILD_LOG_LEVEL

      public static final String DEFAULT_BUILD_LOG_LEVEL
      See Also:
    • FALLBACK_JAR_DIRECTORY

      public static final String FALLBACK_JAR_DIRECTORY
      See Also:
    • FALLBACK_NATIVE_BINARY_DIRECTORY

      public static final String FALLBACK_NATIVE_BINARY_DIRECTORY
      See Also:
    • buildStrategy

      @ConfigItem(defaultValue="binary") public BuildStrategy buildStrategy
      The build config strategy to use.
    • baseJvmImage

      @ConfigItem public Optional<String> baseJvmImage
      The base image to be used when a container image is being produced for the jar build. The value of this property is used to create an ImageStream for the builder image used in the Openshift build. When it references images already available in the internal Openshift registry, the corresponding streams are used instead. When the application is built against Java 21 or higher, registry.access.redhat.com/ubi8/openjdk-21:1.18 is used as the default. Otherwise registry.access.redhat.com/ubi8/openjdk-17:1.18 is used as the default.
    • baseNativeImage

      @ConfigItem(defaultValue="quay.io/quarkus/ubi-quarkus-native-binary-s2i:2.0") public String baseNativeImage
      The base image to be used when a container image is being produced for the native binary build. The value of this property is used to create an ImageStream for the builder image used in the Openshift build. When it references images already available in the internal Openshift registry, the corresponding streams are used instead.
    • jvmDockerfile

      @ConfigItem(defaultValue="src/main/docker/Dockerfile.jvm") public String jvmDockerfile
      The default Dockerfile to use for jvm builds
    • nativeDockerfile

      @ConfigItem(defaultValue="src/main/docker/Dockerfile.native") public String nativeDockerfile
      The default Dockerfile to use for native builds
    • jvmArguments

      @ConfigItem public Optional<List<String>> jvmArguments
      The JVM arguments to pass to the JVM when starting the application
    • nativeArguments

      @ConfigItem public Optional<List<String>> nativeArguments
      Additional arguments to pass when starting the native application
    • jarDirectory

      @ConfigItem public Optional<String> jarDirectory
      The directory where the jar is added during the assemble phase. This is dependent on the S2I image and should be supplied if a non default image is used.
    • jarFileName

      @ConfigItem public Optional<String> jarFileName
      The resulting filename of the jar in the S2I image. This option may be used if the selected S2I image uses a fixed name for the jar.
    • nativeBinaryDirectory

      @ConfigItem public Optional<String> nativeBinaryDirectory
      The directory where the native binary is added during the assemble phase. This is dependent on the S2I image and should be supplied if a non-default image is used.
    • nativeBinaryFileName

      @ConfigItem public Optional<String> nativeBinaryFileName
      The resulting filename of the native binary in the S2I image. This option may be used if the selected S2I image uses a fixed name for the native binary.
    • buildTimeout

      @ConfigItem(defaultValue="PT5M") Duration buildTimeout
      The build timeout.
    • buildLogLevel

      @ConfigItem(defaultValue="INFO") public org.jboss.logging.Logger.Level buildLogLevel
      The log level of OpenShift build log.
    • imagePushSecret

      @ConfigItem public Optional<String> imagePushSecret
      The image push secret to use for pushing to external registries. (see: https://cloud.redhat.com/blog/pushing-application-images-to-an-external-registry)
  • Constructor Details

    • ContainerImageOpenshiftConfig

      public ContainerImageOpenshiftConfig()
  • Method Details

    • getDefaultJvmImage

      public static String getDefaultJvmImage(io.quarkus.deployment.pkg.builditem.CompiledJavaVersionBuildItem.JavaVersion version)
    • hasDefaultBaseJvmImage

      public boolean hasDefaultBaseJvmImage()
      Check if baseJvmImage is the default
    • hasDefaultBaseNativeImage

      public boolean hasDefaultBaseNativeImage()
      Check if baseNativeImage is the default
    • hasDefaultJvmDockerfile

      public boolean hasDefaultJvmDockerfile()
      Check if jvmDockerfile is the default
    • hasDefaultNativeDockerfile

      public boolean hasDefaultNativeDockerfile()
      Check if nativeDockerfile is the default
    • getEffectiveJvmArguments

      public List<String> getEffectiveJvmArguments()
      Returns:
      the effective JVM arguments to use by getting the jvmArguments and the jvmAdditionalArguments properties.