From 397154a43b3282609ab0753b792d36b90e7d257c Mon Sep 17 00:00:00 2001 From: Jacek N Date: Wed, 21 Jan 2026 15:37:19 +0000 Subject: [PATCH 1/2] Add mission label to pods ### 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. --- src/App/Program.fs | 2 ++ src/FSLibrary.Tests/Tests.fs | 1 + src/FSLibrary/StellarKubeSpecs.fs | 7 +++++-- src/FSLibrary/StellarMissionContext.fs | 1 + 4 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/App/Program.fs b/src/App/Program.fs index df6e6de3..e8fb0560 100644 --- a/src/App/Program.fs +++ b/src/App/Program.fs @@ -649,6 +649,7 @@ let main argv = { kube = kube kubeCfg = clean.KubeConfig destination = Destination("destination") + missionName = "Clean" image = "stellar/stellar-core" oldImage = None netdelayImage = "" @@ -799,6 +800,7 @@ let main argv = { MissionContext.kube = kube kubeCfg = mission.KubeConfig destination = destination + missionName = m image = mission.Image oldImage = mission.OldImage netdelayImage = mission.netdelayImage diff --git a/src/FSLibrary.Tests/Tests.fs b/src/FSLibrary.Tests/Tests.fs index 73b09e11..02ed37bf 100644 --- a/src/FSLibrary.Tests/Tests.fs +++ b/src/FSLibrary.Tests/Tests.fs @@ -34,6 +34,7 @@ let ctx : MissionContext = { kube = null kubeCfg = "" destination = Destination(System.IO.Path.GetTempPath()) + missionName = "Tests" image = "stellar/stellar-core" oldImage = None netdelayImage = "" diff --git a/src/FSLibrary/StellarKubeSpecs.fs b/src/FSLibrary/StellarKubeSpecs.fs index 36ceb877..9c1fcae0 100644 --- a/src/FSLibrary/StellarKubeSpecs.fs +++ b/src/FSLibrary/StellarKubeSpecs.fs @@ -411,6 +411,9 @@ type NetworkCfg with member self.NamespacedMeta(name: string) : V1ObjectMeta = V1ObjectMeta(name = name, labels = CfgVal.labels, namespaceProperty = self.NamespaceProperty) + member self.PodLabels() : Map = + Map.add "mission" self.missionContext.missionName CfgVal.labels + member self.Affinity() : V1Affinity option = let require = List.map requireNodeLabel self.missionContext.requireNodeLabels let avoid = List.map avoidNodeLabel self.missionContext.avoidNodeLabels @@ -667,7 +670,7 @@ type NetworkCfg with ), metadata = V1ObjectMeta( - labels = CfgVal.labels, + labels = self.PodLabels(), annotations = annotations, namespaceProperty = self.NamespaceProperty ) @@ -778,7 +781,7 @@ type NetworkCfg with spec = podSpec, metadata = V1ObjectMeta( - labels = CfgVal.labels, + labels = self.PodLabels(), annotations = annotations, namespaceProperty = self.NamespaceProperty ) diff --git a/src/FSLibrary/StellarMissionContext.fs b/src/FSLibrary/StellarMissionContext.fs index 9c012bc9..ef18ceba 100644 --- a/src/FSLibrary/StellarMissionContext.fs +++ b/src/FSLibrary/StellarMissionContext.fs @@ -35,6 +35,7 @@ type MissionContext = { kube: Kubernetes kubeCfg: string destination: Destination + missionName: string image: string oldImage: string option netdelayImage: string From 9ebe4e3297e6947fec72f995e804b4b92396ec56 Mon Sep 17 00:00:00 2001 From: Jacek N Date: Thu, 22 Jan 2026 15:21:15 +0000 Subject: [PATCH 2/2] Formating fix --- src/FSLibrary/StellarKubeSpecs.fs | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/FSLibrary/StellarKubeSpecs.fs b/src/FSLibrary/StellarKubeSpecs.fs index 9c1fcae0..785d4551 100644 --- a/src/FSLibrary/StellarKubeSpecs.fs +++ b/src/FSLibrary/StellarKubeSpecs.fs @@ -411,8 +411,7 @@ type NetworkCfg with member self.NamespacedMeta(name: string) : V1ObjectMeta = V1ObjectMeta(name = name, labels = CfgVal.labels, namespaceProperty = self.NamespaceProperty) - member self.PodLabels() : Map = - Map.add "mission" self.missionContext.missionName CfgVal.labels + member self.PodLabels() : Map = Map.add "mission" self.missionContext.missionName CfgVal.labels member self.Affinity() : V1Affinity option = let require = List.map requireNodeLabel self.missionContext.requireNodeLabels