Skip to content

Conversation

@jacekn
Copy link
Contributor

@jacekn jacekn commented Jan 21, 2026

What

Note: this code was generated using AI but I confirmed it works by running a few missions.

This PR will new "mission" label to all pods.

Why

The label should help us filter logs or metrics for pods which should be useful for troubleshooting failures.

### What

Note: this code was generated using AI but I confirmed it works by
running a few missions.

This PR will new "mission" label to all pods.

### Why

The label should help us filter logs or metrics for pods which
should be useful for troubleshooting failures.
Copilot AI review requested due to automatic review settings January 21, 2026 16:03
Copy link

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 a "mission" label to all Kubernetes pods created by the Stellar Supercluster tool to improve observability and troubleshooting capabilities. The label allows filtering logs and metrics by mission type.

Changes:

  • Added missionName field to MissionContext type
  • Created PodLabels() helper method that combines existing labels with mission label
  • Updated all pod template specifications to use the new mission-aware labels
  • Initialized mission names in all MissionContext instantiations ("Tests", "Clean", and actual mission names)

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 1 comment.

File Description
src/FSLibrary/StellarMissionContext.fs Adds missionName field to MissionContext type definition
src/FSLibrary/StellarKubeSpecs.fs Implements PodLabels() method and updates pod metadata to include mission label
src/FSLibrary.Tests/Tests.fs Initializes test context with missionName "Tests"
src/App/Program.fs Sets missionName for Clean operation and runtime missions

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines 414 to 415
member self.PodLabels() : Map<string, string> =
Map.add "mission" self.missionContext.missionName CfgVal.labels
Copy link

Copilot AI Jan 21, 2026

Choose a reason for hiding this comment

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

The mission name is used directly as a Kubernetes label value without validation. Kubernetes label values must be 63 characters or less and can only contain alphanumeric characters, dashes, underscores, or dots, and must begin and end with an alphanumeric character. While the current mission names in the codebase appear to comply with these restrictions, consider adding validation to prevent runtime errors if invalid mission names are provided in the future.

Copilot uses AI. Check for mistakes.
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.

1 participant