Flywayの使用
Flyway は、JVM環境でよく使われているデータベースマイグレーションツールです。
Quarkusでは、このガイドで説明するように、Flywayを使用するためのファーストクラスのサポートを提供しています。
Flywayのサポートのセットアップ
Flywayを使った開発 で示されているように、プロジェクトで Flyway を使い始めるには、以下のことを行う必要があります:
-
Flyway で通常行うように、マイグレーションを
src/main/resources/db/migration
フォルダーに追加します。 -
migrate-at-start
オプションを有効にしてスキーマを自動的に移行するか、Flyway
オブジェクトを注入して通常のように移行を実行します。
以下をビルドファイルに追加してください:
-
Flyway エクステンション
-
お使いの JDBC ドライバーのエクステンション (
quarkus-jdbc-postgresql
,quarkus-jdbc-h2
,quarkus-jdbc-mariadb
, …) -
unless you’re using in-memory or file databases (such as H2 or SQLite), you need to add a flyway module dependency corresponding to the database you’re using. (for more details)
<!-- Flyway specific dependencies -->
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-flyway</artifactId>
</dependency>
<!-- JDBC driver dependencies -->
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-jdbc-postgresql</artifactId>
</dependency>
<!-- Flyway SQL Server specific dependencies -->
<dependency>
<groupId>org.flywaydb</groupId>
<artifactId>flyway-sqlserver</artifactId>
</dependency>
<!-- Flyway MariaDB/MySQL specific dependencies -->
<dependency>
<groupId>org.flywaydb</groupId>
<artifactId>flyway-mysql</artifactId>
</dependency>
<!-- Flyway Oracle specific dependencies -->
<dependency>
<groupId>org.flywaydb</groupId>
<artifactId>flyway-database-oracle</artifactId>
</dependency>
<!-- Flyway PostgreSQL specific dependencies -->
<dependency>
<groupId>org.flywaydb</groupId>
<artifactId>flyway-database-postgresql</artifactId>
</dependency>
<!-- Flyway DB2 specific dependencies -->
<dependency>
<groupId>org.flywaydb</groupId>
<artifactId>flyway-database-db2</artifactId>
</dependency>
<!-- Derby specific dependencies -->
<dependency>
<groupId>org.flywaydb</groupId>
<artifactId>flyway-database-derby</artifactId>
</dependency>
<!-- HSQLDB specific dependencies -->
<dependency>
<groupId>org.flywaydb</groupId>
<artifactId>flyway-database-hsqldb</artifactId>
</dependency>
<!-- Informix specific dependencies -->
<dependency>
<groupId>org.flywaydb</groupId>
<artifactId>flyway-database-informix</artifactId>
</dependency>
<!-- Redshift specific dependencies -->
<dependency>
<groupId>org.flywaydb</groupId>
<artifactId>flyway-database-redshift</artifactId>
</dependency>
<!-- Saphana specific dependencies -->
<dependency>
<groupId>org.flywaydb</groupId>
<artifactId>flyway-database-saphana</artifactId>
</dependency>
<!-- Snowflake specific dependencies -->
<dependency>
<groupId>org.flywaydb</groupId>
<artifactId>flyway-database-snowflake</artifactId>
</dependency>
<!-- Sybasease specific dependencies -->
<dependency>
<groupId>org.flywaydb</groupId>
<artifactId>flyway-database-sybasease</artifactId>
</dependency>
<!-- Firebird specific dependencies -->
<dependency>
<groupId>org.flywaydb</groupId>
<artifactId>flyway-firebird</artifactId>
</dependency>
<!-- BigQuery specific dependencies -->
<dependency>
<groupId>org.flywaydb</groupId>
<artifactId>flyway-gcp-bigquery</artifactId>
</dependency>
<!-- Spanner specific dependencies -->
<dependency>
<groupId>org.flywaydb</groupId>
<artifactId>flyway-gcp-spanner</artifactId>
</dependency>
<!-- Singlestore specific dependencies -->
<dependency>
<groupId>org.flywaydb</groupId>
<artifactId>flyway-singlestore</artifactId>
</dependency>
// Flyway specific dependencies
implementation("io.quarkus:quarkus-flyway")
// JDBC driver dependencies
implementation("io.quarkus:quarkus-jdbc-postgresql")
// Flyway SQL Server specific dependencies
implementation("org.flywaydb:flyway-sqlserver")
// Flyway MariaDB/MySQL specific dependencies
implementation("org.flywaydb:flyway-mysql")
// Flyway Oracle specific dependencies
implementation("org.flywaydb:flyway-database-oracle")
// Flyway PostgreSQL specific dependencies
implementation("org.flywaydb:flyway-database-postgresql")
// Flyway DB2 specific dependencies
implementation("org.flywaydb:flyway-database-db2")
// Flyway Derby specific dependencies
implementation("org.flywaydb:flyway-database-derby")
// HSQLDB specific dependencies
implementation("org.flywaydb:flyway-database-hsqldb")
// Informix specific dependencies
implementation("org.flywaydb:flyway-database-informix")
// Redshift specific dependencies
implementation("org.flywaydb:flyway-database-redshift")
// Saphana specific dependencies
implementation("org.flywaydb:flyway-database-saphana")
// Snowflake specific dependencies
implementation("org.flywaydb:flyway-database-snowflake")
// Sybasease specific dependencies
implementation("org.flywaydb:flyway-database-sybasease")
// Firebird specific dependencies
implementation("org.flywaydb:flyway-firebird")
// BigQuery specific dependencies
implementation("org.flywaydb:flyway-gcp-bigquery")
// Spanner specific dependencies
implementation("org.flywaydb:flyway-gcp-spanner")
// Singlestore specific dependencies
implementation("org.flywaydb:flyway-singlestore:10.15.0")
Flyway のサポートは、Quarkus のデータソース設定に依存しています。この設定は、デフォルトのデータソースだけでなく、 すべての 名前の付いたデータソース に対してカスタマイズすることができます。まず、Flyway によるスキーマ管理を可能にするために、データソース設定を application.properties
ファイルに追加する必要があります。また、以下のプロパティーを使用して、Flyway の動作をカスタマイズすることができます。
ビルド時に固定される構成プロパティ - 他のすべての構成プロパティは実行時にオーバーライド可能
Configuration property |
型 |
デフォルト |
---|---|---|
Whether Flyway is enabled during the build. If Flyway is disabled, the Flyway beans won’t be created and Flyway won’t be usable. Environment variable: Show more |
boolean |
|
Comma-separated list of locations to scan recursively for migrations. The location type is determined by its prefix. Unprefixed locations or locations starting with classpath: point to a package on the classpath and may contain both SQL and Java-based migrations. Locations starting with filesystem: point to a directory on the filesystem, may only contain SQL migrations and are only scanned recursively down non-hidden directories. Environment variable: Show more |
list of string |
|
Comma-separated list of fully qualified class names of Callback implementations to use to hook into the Flyway lifecycle. The Environment variable: Show more |
list of string |
|
Flag to activate/deactivate Flyway for a specific datasource at runtime. Environment variable: Show more |
boolean |
|
The maximum number of retries when attempting to connect to the database. After each failed attempt, Flyway will wait up to the configured Environment variable: Show more |
int |
|
The maximum time between retries when attempting to connect to the database. This will cap the interval between connect retries to the value provided. Environment variable: Show more |
|
|
Sets the default schema managed by Flyway. This schema name is case-sensitive. If not specified, but schemas is, Flyway uses the first schema in that list. If that is also not specified, Flyway uses the default schema for the database connection. Consequences:
Environment variable: Show more |
string |
|
The JDBC URL that Flyway uses to connect to the database. Falls back to the datasource URL if not specified. Environment variable: Show more |
string |
|
The username that Flyway uses to connect to the database. If no specific JDBC URL is configured, falls back to the datasource username if not specified. Environment variable: Show more |
string |
|
The password that Flyway uses to connect to the database. If no specific JDBC URL is configured, falls back to the datasource password if not specified. Environment variable: Show more |
string |
|
Comma-separated case-sensitive list of schemas managed by Flyway. The first schema in the list will be automatically set as the default one during the migration. It will also be the one containing the schema history table. Environment variable: Show more |
list of string |
|
The name of Flyway’s schema history table. By default (single-schema mode), the schema history table is placed in the default schema for the connection provided by the datasource. When the flyway.schemas property is set (multi-schema mode), the schema history table is placed in the first schema of the list. Environment variable: Show more |
string |
|
The file name prefix for versioned SQL migrations. Versioned SQL migrations have the following file name structure: prefixVERSIONseparatorDESCRIPTIONsuffix , which using the defaults translates to V1.1__My_description.sql Environment variable: Show more |
string |
|
The file name prefix for repeatable SQL migrations. Repeatable SQL migrations have the following file name structure: prefixSeparatorDESCRIPTIONsuffix , which using the defaults translates to R__My_description.sql Environment variable: Show more |
string |
|
true to execute Flyway clean command automatically when the application starts, false otherwise. Environment variable: Show more |
boolean |
|
true to prevent Flyway clean operations, false otherwise. Environment variable: Show more |
boolean |
|
true to automatically call clean when a validation error occurs, false otherwise. Environment variable: Show more |
boolean |
|
true to execute Flyway automatically when the application starts, false otherwise. Environment variable: Show more |
boolean |
|
true to execute a Flyway repair command when the application starts, false otherwise. Environment variable: Show more |
boolean |
|
true to execute a Flyway validate command when the application starts, false otherwise. Environment variable: Show more |
boolean |
|
true to execute Flyway baseline before migrations This flag is ignored if the flyway_schema_history table exists in the current schema or if the current schema is empty. Note that this will not automatically call migrate, you must either enable baselineAtStart or programmatically call flyway.migrate(). Environment variable: Show more |
boolean |
|
true to execute Flyway baseline automatically when the application starts. This flag is ignored if the flyway_schema_history table exists in the current schema. This will work even if the current schema is empty. Environment variable: Show more |
boolean |
|
The initial baseline version. Environment variable: Show more |
string |
|
The description to tag an existing schema with when executing baseline. Environment variable: Show more |
string |
|
Whether to automatically call validate when performing a migration. Environment variable: Show more |
boolean |
|
Allows migrations to be run "out of order". Environment variable: Show more |
boolean |
|
Ignore missing migrations when reading the history table. When set to true migrations from older versions present in the history table but absent in the configured locations will be ignored (and logged as a warning), when false (the default) the validation step will fail. Environment variable: Show more |
boolean |
|
Ignore future migrations when reading the history table. When set to true migrations from newer versions present in the history table but absent in the configured locations will be ignored (and logged as a warning), when false (the default) the validation step will fail. Environment variable: Show more |
boolean |
|
Sets the placeholders to replace in SQL migration scripts. Environment variable: Show more |
Map<String,String> |
|
Whether Flyway should attempt to create the schemas specified in the schemas property Environment variable: Show more |
boolean |
|
Prefix of every placeholder (default: ${ ) Environment variable: Show more |
string |
|
Suffix of every placeholder (default: } ) Environment variable: Show more |
string |
|
The SQL statements to run to initialize a new database connection immediately after opening it. Environment variable: Show more |
string |
|
Whether to validate migrations and callbacks whose scripts do not obey the correct naming convention. A failure can be useful to check that errors such as case sensitivity in migration prefixes have been corrected. Environment variable: Show more |
boolean |
|
Ignore migrations during validate and repair according to a given list of patterns (see https://flywaydb.org/documentation/configuration/parameters/ignoreMigrationPatterns for more information). When this configuration is set, the ignoreFutureMigrations and ignoreMissingMigrations settings are ignored. Patterns are comma separated. Environment variable: Show more |
list of string |
|
型 |
デフォルト |
|
Comma-separated list of locations to scan recursively for migrations. The location type is determined by its prefix. Unprefixed locations or locations starting with classpath: point to a package on the classpath and may contain both SQL and Java-based migrations. Locations starting with filesystem: point to a directory on the filesystem, may only contain SQL migrations and are only scanned recursively down non-hidden directories. Environment variable: Show more |
list of string |
|
Comma-separated list of fully qualified class names of Callback implementations to use to hook into the Flyway lifecycle. The Environment variable: Show more |
list of string |
|
Flag to activate/deactivate Flyway for a specific datasource at runtime. Environment variable: Show more |
boolean |
|
The maximum number of retries when attempting to connect to the database. After each failed attempt, Flyway will wait up to the configured Environment variable: Show more |
int |
|
The maximum time between retries when attempting to connect to the database. This will cap the interval between connect retries to the value provided. Environment variable: Show more |
|
|
Sets the default schema managed by Flyway. This schema name is case-sensitive. If not specified, but schemas is, Flyway uses the first schema in that list. If that is also not specified, Flyway uses the default schema for the database connection. Consequences:
Environment variable: Show more |
string |
|
The JDBC URL that Flyway uses to connect to the database. Falls back to the datasource URL if not specified. Environment variable: Show more |
string |
|
The username that Flyway uses to connect to the database. If no specific JDBC URL is configured, falls back to the datasource username if not specified. Environment variable: Show more |
string |
|
The password that Flyway uses to connect to the database. If no specific JDBC URL is configured, falls back to the datasource password if not specified. Environment variable: Show more |
string |
|
Comma-separated case-sensitive list of schemas managed by Flyway. The first schema in the list will be automatically set as the default one during the migration. It will also be the one containing the schema history table. Environment variable: Show more |
list of string |
|
The name of Flyway’s schema history table. By default (single-schema mode), the schema history table is placed in the default schema for the connection provided by the datasource. When the flyway.schemas property is set (multi-schema mode), the schema history table is placed in the first schema of the list. Environment variable: Show more |
string |
|
The file name prefix for versioned SQL migrations. Versioned SQL migrations have the following file name structure: prefixVERSIONseparatorDESCRIPTIONsuffix , which using the defaults translates to V1.1__My_description.sql Environment variable: Show more |
string |
|
The file name prefix for repeatable SQL migrations. Repeatable SQL migrations have the following file name structure: prefixSeparatorDESCRIPTIONsuffix , which using the defaults translates to R__My_description.sql Environment variable: Show more |
string |
|
true to execute Flyway clean command automatically when the application starts, false otherwise. Environment variable: Show more |
boolean |
|
true to prevent Flyway clean operations, false otherwise. Environment variable: Show more |
boolean |
|
true to automatically call clean when a validation error occurs, false otherwise. Environment variable: Show more |
boolean |
|
true to execute Flyway automatically when the application starts, false otherwise. Environment variable: Show more |
boolean |
|
true to execute a Flyway repair command when the application starts, false otherwise. Environment variable: Show more |
boolean |
|
true to execute a Flyway validate command when the application starts, false otherwise. Environment variable: Show more |
boolean |
|
true to execute Flyway baseline before migrations This flag is ignored if the flyway_schema_history table exists in the current schema or if the current schema is empty. Note that this will not automatically call migrate, you must either enable baselineAtStart or programmatically call flyway.migrate(). Environment variable: Show more |
boolean |
|
true to execute Flyway baseline automatically when the application starts. This flag is ignored if the flyway_schema_history table exists in the current schema. This will work even if the current schema is empty. Environment variable: Show more |
boolean |
|
The initial baseline version. Environment variable: Show more |
string |
|
The description to tag an existing schema with when executing baseline. Environment variable: Show more |
string |
|
Whether to automatically call validate when performing a migration. Environment variable: Show more |
boolean |
|
Allows migrations to be run "out of order". Environment variable: Show more |
boolean |
|
Ignore missing migrations when reading the history table. When set to true migrations from older versions present in the history table but absent in the configured locations will be ignored (and logged as a warning), when false (the default) the validation step will fail. Environment variable: Show more |
boolean |
|
Ignore future migrations when reading the history table. When set to true migrations from newer versions present in the history table but absent in the configured locations will be ignored (and logged as a warning), when false (the default) the validation step will fail. Environment variable: Show more |
boolean |
|
Sets the placeholders to replace in SQL migration scripts. Environment variable: Show more |
Map<String,String> |
|
Whether Flyway should attempt to create the schemas specified in the schemas property Environment variable: Show more |
boolean |
|
Prefix of every placeholder (default: ${ ) Environment variable: Show more |
string |
|
Suffix of every placeholder (default: } ) Environment variable: Show more |
string |
|
The SQL statements to run to initialize a new database connection immediately after opening it. Environment variable: Show more |
string |
|
Whether to validate migrations and callbacks whose scripts do not obey the correct naming convention. A failure can be useful to check that errors such as case sensitivity in migration prefixes have been corrected. Environment variable: Show more |
boolean |
|
Ignore migrations during validate and repair according to a given list of patterns (see https://flywaydb.org/documentation/configuration/parameters/ignoreMigrationPatterns for more information). When this configuration is set, the ignoreFutureMigrations and ignoreMissingMigrations settings are ignored. Patterns are comma separated. Environment variable: Show more |
list of string |
期間フォーマットについて
To write duration values, use the standard 数字で始まる簡略化した書式を使うこともできます:
その他の場合は、簡略化されたフォーマットが解析のために
|
Flywayを使った開発
application.properties
ファイルの例は以下の通りです。
# configure your datasource
quarkus.datasource.db-kind=postgresql
quarkus.datasource.username=sarah
quarkus.datasource.password=connor
quarkus.datasource.jdbc.url=jdbc:postgresql://localhost:5432/mydatabase
# Run Flyway migrations automatically
quarkus.flyway.migrate-at-start=true
# More Flyway configuration options
# quarkus.flyway.baseline-on-migrate=true
# quarkus.flyway.baseline-version=1.0.0
# quarkus.flyway.baseline-description=Initial version
# quarkus.flyway.connect-retries=10
# quarkus.flyway.schemas=TEST_SCHEMA
# quarkus.flyway.table=flyway_quarkus_history
# quarkus.flyway.locations=db/location1,db/location2
# quarkus.flyway.sql-migration-prefix=X
# quarkus.flyway.repeatable-sql-migration-prefix=K
src/main/resources/db/migration/V1.0.0__Quarkus.sql
のように Flyway の命名規則に従って、デフォルトフォルダーに SQL マイグレーションを追加します。
CREATE TABLE quarkus
(
id INT,
name VARCHAR(20)
);
INSERT INTO quarkus(id, name)
VALUES (1, 'QUARKED');
これでアプリケーションを起動でき、Quarkus は設定に従って Flyway のマイグレーションメソッドを実行します。
上記の例のように quarkus.flyway.migrate-at-start=true とすることで Quarkusは アプリケーションの起動 の一部としてFlywayのマイグレーションを実行します。
|
@ApplicationScoped
public class MigrationService {
// You can Inject the object if you want to use it manually
@Inject
Flyway flyway; (1)
public void checkMigration() {
// This will print 1.0.0
System.out.println(flyway.info().current().getVersion().toString());
}
}
1 | Flyway オブジェクトを直接使用する場合はインジェクトします。 |
開発モードでは、既存のマイグレーションスクリプトが変更された場合、Quarkusは自動的にアプリケーションを再起動します。新しいマイグレーションスクリプトの開発やテスト中にこの機能を利用したい場合は、 %dev.quarkus.flyway.clean-at-start=true を設定し、変更したマイグレーションをFlywayが実際に実行するようにする必要があります。
|
Flywayスキーマ履歴テーブルの修復
Flyway スキーマ履歴テーブルの 修復 が必要となるシナリオはさまざまです。そのようなシナリオの1つは、トランザクションDDL文をサポートしていないデータベースで移行が失敗した場合です。
このような状況では、 Flyway repairコマンド が便利です。Quarkusでは、マイグレーション前に quarkus.flyway.repair-at-start=true
を設定して自動的に実行するか、 Flyway
オブジェクトをインジェクションして Flyway#repair()
を呼び出すことで手動で実行することができます。
複数のデータソース
Flyway は、複数のデータソースに対して設定可能です。Flyway のプロパティーには、例えば、名前の付いたデータソースと全く同じように接頭辞が付けられます。
quarkus.datasource.db-kind=h2
quarkus.datasource.username=username-default
quarkus.datasource.jdbc.url=jdbc:h2:tcp://localhost/mem:default
quarkus.datasource.jdbc.max-size=13
quarkus.datasource.users.db-kind=h2
quarkus.datasource.users.username=username1
quarkus.datasource.users.jdbc.url=jdbc:h2:tcp://localhost/mem:users
quarkus.datasource.users.jdbc.max-size=11
quarkus.datasource.inventory.db-kind=h2
quarkus.datasource.inventory.username=username2
quarkus.datasource.inventory.jdbc.url=jdbc:h2:tcp://localhost/mem:inventory
quarkus.datasource.inventory.jdbc.max-size=12
# Flyway configuration for the default datasource
quarkus.flyway.schemas=DEFAULT_TEST_SCHEMA
quarkus.flyway.locations=db/default/location1,db/default/location2
quarkus.flyway.migrate-at-start=true
# Flyway configuration for the "users" datasource
quarkus.flyway.users.schemas=USERS_TEST_SCHEMA
quarkus.flyway.users.locations=db/users/location1,db/users/location2
quarkus.flyway.users.migrate-at-start=true
# Flyway configuration for the "inventory" datasource
quarkus.flyway.inventory.schemas=INVENTORY_TEST_SCHEMA
quarkus.flyway.inventory.locations=db/inventory/location1,db/inventory/location2
quarkus.flyway.inventory.migrate-at-start=true
キーに余分なビットがあることに注意してください。構文は次の通りです。quarkus.flyway.[optional name.][datasource property]
設定なしの場合、Flyway はデフォルト設定を使用して各データソースに対して設定されます。 |
Flywayのカスタマイズ
Quarkusが提供する設定オプションに加えてFlywayを設定する必要がある場合、 io.quarkus.flyway.FlywayConfigurationCustomizer
クラスが便利です。
Flywayをデフォルトのデータソース用にカスタマイズするには、次のようなBeanを追加するだけです:
@Singleton
public static class MyCustomizer implements FlywayConfigurationCustomizer {
@Override
public void customize(FluentConfiguration configuration) {
// do something with configuration
}
}
名前付きデータソースを使用する場合、 @FlywayDataSource
アノテーションを使用して、カスタマイザーが適用されるデータソースを指定することができます。例えば、複数のデータソースがあり、そのうちの1つが users
という名前で、そのデータソースに対してのみ Flyway のカスタマイズが必要な場合、以下のコードを使用することができます:
@Singleton
@FlywayDataSource("users")
public static class UsersCustomizer implements FlywayConfigurationCustomizer {
@Override
public void customize(FluentConfiguration configuration) {
// do something with configuration
}
}
Flyway オブジェクトの使用
Flyway
オブジェクトを直接使いたい場合は、以下のように注入できます。
@ApplicationScoped
public class MigrationService {
// You can Inject the object if you want to use it manually
@Inject
Flyway flyway; (1)
@Inject
@FlywayDataSource("inventory") (2)
Flyway flywayForInventory;
@Inject
@Named("flyway_users") (3)
Flyway flywayForUsers;
public void checkMigration() {
// Use the flyway instance manually
flyway.clean(); (4)
flyway.migrate();
// This will print 1.0.0
System.out.println(flyway.info().current().getVersion().toString());
}
}
1 | Flyway オブジェクトを直接使用する場合はインジェクトします。 |
2 | Quarkus FlywayDataSource 修飾子を使用して、指定されたデータソースに Flyway を注入します。 |
3 | 名前の付いたデータソースへの Flyway の注入 |
4 | Flyway インスタンスの直接使用 |
FlywayとHibernate ORM
FlywayをHibernate ORMと一緒に使用する場合、Dev UIを使用して初期スキーマ作成スクリプトを生成できます。
この機能の詳細については、 Hibernate ORM ガイドを参照してください。
Flyway and Reactive datasources
Flyway internally relies on a JDBC datasource, whereas reactive use cases will rely on reactive SQL clients, either directly or through Hibernate Reactive. This is not a problem in Quarkus, because a single configured datasource can be made available both through reactive clients and JDBC.
To use Flyway on a datasource you otherwise access reactively,
simply make sure to configure that datasource
both as JDBC
and reactive.
This involves in particular adding dependencies to Quarkus extensions
for both the JDBC driver and the reactive client,
for instance quarkus-jdbc-postgresql
and quarkus-reactive-pg-client
.
KubernetesでFlyway
アプリケーションの起動ごとにFlywayの初期化を実行しない方が便利な場合があります。そのような例の一つがデプロイ時です。
Kubernetes上では、すべてのレプリカでFlywayを実行することは意味がありません。
代わりに、Flywayを一度実行してから、Flywayなしで実際のアプリケーションを起動することが望ましいです。
このユースケースをサポートするために、Kubernetes用のマニフェストを生成するとき、生成されたマニフェストにはFlyway用のKubernetes初期化 Job
が含まれます。 Job
は初期化を実行し、 Job
が正常に完了すると、実際の Pod
が開始されます。
無効化
この機能はデフォルトで有効になっており、以下を使用してグローバルに無効にすることができます:
quarkus.kubernetes.init-task-defaults.enabled=false
あるいはOpenShift上では次を使用することができます:
quarkus.openshift.init-task-defaults.enabled=false
ジョブ待機をコントロールするカスタム画像の使用
デフォルトでは groundnuty/k8s-wait-for:no-root-v1.7
である wait-for
イメージを変更するには、次を使用できます。
quarkus.kubernetes.init-task-defaults.wait-for-container.image=my/wait-for-image:1.0
あるいはOpenShift上では次を使用することができます:
quarkus.openshift.init-task-defaults.wait-for-container.image=my/wait-for-image:1.0
注: この文脈では、グローバルとは、 初期化タスクの外部化をサポートする全てのエクステンションに対して
を意味します。