Skip to content

Conversation

@snkas
Copy link
Contributor

@snkas snkas commented Dec 19, 2025

Adds a new field deployment_resources_status_details with information about the status of the (Kubernetes) resources backing the pipeline.

The deployment_runtime_status_details are now also regularly updated while the pipeline is provisioned.

Remaining tasks

  • Update documentation (specifically, pipeline lifecycle fields)
  • Downstream changes

PR information

  • Documentation not updated
  • Changelog not updated
  • No backward incompatible changes

Copilot AI review requested due to automatic review settings December 19, 2025 18:54
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds detailed status information for deployment resources and runtime status in the pipeline manager. The changes enable tracking of granular status details throughout the pipeline lifecycle (provisioning, provisioned, stopping states) to provide better visibility into pipeline deployment health and progress.

  • Introduces deployment_resources_status_details and deployment_runtime_status_details fields to store JSON status information
  • Refactors the state machine to use Action enum with more granular state transitions including RemainProvisioning, RemainProvisioned, and RemainStopping actions
  • Updates the PipelineExecutor trait to return status details from is_provisioned() and check() methods

Reviewed changes

Copilot reviewed 16 out of 16 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
openapi.json Adds nullable deployment_resources_status_details and deployment_runtime_status_details fields to API schema
crates/pipeline-manager/src/runner/pipeline_executor.rs Introduces ProvisionStatus enum and updates trait methods to return status details
crates/pipeline-manager/src/runner/pipeline_automata.rs Refactors state machine from State to Action enum with detailed transition handling and status detail tracking
crates/pipeline-manager/src/runner/local_runner.rs Updates local runner implementation to provide status details
crates/pipeline-manager/src/runner/error.rs Adds conversion from RunnerError to ErrorResponse
crates/pipeline-manager/src/error.rs Adds conversion from ManagerError to ErrorResponse
crates/pipeline-manager/src/db/types/pipeline.rs Adds status details fields to pipeline descriptor
crates/pipeline-manager/src/db/test.rs Updates test code with new status details parameters
crates/pipeline-manager/src/db/storage_postgres.rs Refactors database operations to handle status details with new remain_* methods
crates/pipeline-manager/src/db/storage.rs Adds trait methods for remaining in current status while updating details
crates/pipeline-manager/src/db/operations/pipeline.rs Splits status transition logic into separate methods for each transition type
crates/pipeline-manager/src/db/error.rs Adds conversion from DBError to ErrorResponse
crates/pipeline-manager/src/api/support_data_collector.rs Updates test calls with new status details parameters
crates/pipeline-manager/src/api/examples.rs Adds status details fields to example data structures
crates/pipeline-manager/src/api/endpoints/pipeline_management.rs Adds status details fields to API response structures
crates/pipeline-manager/migrations/V31__resources_details.sql Adds database migration for new status details column

@snkas snkas requested a review from Copilot December 23, 2025 17:24
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 17 out of 17 changed files in this pull request and generated no new comments.

@snkas snkas requested review from gz, ryzhyk and swanandx December 23, 2025 17:25
@snkas snkas removed the request for review from ryzhyk January 6, 2026 18:15
Copy link
Contributor

@swanandx swanandx left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Lot of places have remain_xx , methods / Action variants, they should be named correctly to signify their purpose ( i.e. update_details )

as the Nothing actions achieves the same goal, only when enough time has passed, we use remain instead of nothing right? I believe that might simplify things a bit.

@snkas snkas force-pushed the monitor-pipeline branch from 4129ad5 to 37e6e5a Compare January 7, 2026 17:52
Copy link
Contributor

@swanandx swanandx left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I still have this question / suggestion #5319 (review)

but looks good overall! thanks! 🚀

@snkas
Copy link
Contributor Author

snkas commented Jan 8, 2026

Lot of places have remain_xx , methods / Action variants, they should be named correctly to signify their purpose ( i.e. update_details )

as the Nothing actions achieves the same goal, only when enough time has passed, we use remain instead of nothing right? I believe that might simplify things a bit.

Hmm, I'll try to think of better naming, but the difficulty is to not have every variable become very verbose. I'll change Nothing to something else for sure though, like RemainNoChange or something along that line.

@snkas snkas force-pushed the monitor-pipeline branch from c19c0d5 to 3761ccf Compare January 8, 2026 14:00
@snkas snkas enabled auto-merge January 8, 2026 14:04
@snkas snkas added this pull request to the merge queue Jan 8, 2026
@snkas snkas removed this pull request from the merge queue due to a manual request Jan 8, 2026
@snkas snkas enabled auto-merge January 8, 2026 14:16
@snkas snkas added this pull request to the merge queue Jan 8, 2026
@snkas snkas removed this pull request from the merge queue due to a manual request Jan 8, 2026
@snkas snkas force-pushed the monitor-pipeline branch from ea73f54 to f15ab67 Compare January 8, 2026 14:41
Adds a new field `deployment_resources_status_details` with information
about the status of the (Kubernetes) resources backing the pipeline.

The `deployment_runtime_status_details` are now also regularly updated
while the pipeline is provisioned.

Signed-off-by: Simon Kassing <[email protected]>
@snkas snkas force-pushed the monitor-pipeline branch from f15ab67 to 7db4acd Compare January 8, 2026 14:44
@snkas snkas enabled auto-merge January 8, 2026 14:44
@snkas snkas added this pull request to the merge queue Jan 8, 2026
Merged via the queue into main with commit 8501373 Jan 8, 2026
1 check passed
@snkas snkas deleted the monitor-pipeline branch January 8, 2026 15:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants