-
Notifications
You must be signed in to change notification settings - Fork 2.3k
Implement PSQL based object storage for Conductor #2683
Implement PSQL based object storage for Conductor #2683
Conversation
@aravindanr Hi, I have rewritten a PR about PostgreSQL external storage. Can we get a review on this? |
- Add PostgreSQl implementation for External Payload Storage and tests for its. Signed-off-by: Vasyl Klevlanyk <vklevlanyk@frinx.io>
...l-storage/src/main/java/com/netflix/conductor/postgres/config/PostgresPayloadProperties.java
Show resolved
Hide resolved
public FlywayConfigurationCustomizer flywayConfigurationCustomizer() { | ||
// override the default location. | ||
return configuration -> configuration.locations("classpath:db/migration_postgres"); | ||
DataSource dataSource; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you provide more details about this change and why its needed?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We need this change because we cannot use the default flyway bean if we choose postgres as the external storage implementation. Before our addition, the flyway bean was created as a single instance and this class only had the path to the SQL commands to create the database. But if we use postgres external storage then we need to create 2 flyway beans and if we leave this class unchanged then Spring will return an error that the default bean cannot be created because a bean with the type Flyway already exists in the Application Context. Therefore, for correct co-existence and work of 2 different Flyway migrations, I had to manually create a bean also for this database.
@Vasyl-9 Please resolve conflicts and run |
- Fix #2679 restart dropdown blocked - Refactor Execution/side panel state management - Remove media-query driven indent - Remove examples not applicable to OSS
- Add Reason for Incompletion to Summary - Add External payload storage path to Task summary - Relabel free text search fields
- Add PostgreSQl implementation for External Payload Storage and tests for its. Signed-off-by: Vasyl Klevlanyk <vklevlanyk@frinx.io>
Signed-off-by: Vasyl Klevlanyk vklevlanyk@frinx.io
Pull Request type
./gradlew generateLock saveLock
to refresh dependencies)Changes in this PR
Adds PostgreSQL implementation for External Payload Storage. Now, makes it available to use PostgreSQL like primary database and external database.
Alternatives considered
This implementation adds the ability to use PostgreSQL as external payload storage. But we can also use Amazon S3 and Azure Blob Storage to implement this storage.
Usage
http://localhost:8080
""
external.external_payload