service: getBlueGreenResourceName()

in src/strategyHelpers/blueGreen/smiBlueGreenHelper.ts [108:158]


               service: getBlueGreenResourceName(name, GREEN_SUFFIX),
               weight: greenWeight
            }
         ]
      }
   }

   return trafficSplitObject
}

export function getStableSMIServiceResource(inputObject: K8sObject): K8sObject {
   const newObject = JSON.parse(JSON.stringify(inputObject))
   // adding stable suffix to service name
   newObject.metadata.name = getBlueGreenResourceName(
      inputObject.metadata.name,
      STABLE_SUFFIX
   )
   return getNewBlueGreenObject(newObject, NONE_LABEL_VALUE)
}

export function getGreenSMIServiceResource(inputObject: K8sObject): K8sObject {
   const newObject = JSON.parse(JSON.stringify(inputObject))
   return getNewBlueGreenObject(newObject, GREEN_LABEL_VALUE)
}

export async function validateTrafficSplitsState(
   kubectl: Kubectl,
   serviceEntityList: any[]
): Promise<boolean> {
   let trafficSplitsInRightState: boolean = true

   for (const serviceObject of serviceEntityList) {
      const name = serviceObject.metadata.name
      let trafficSplitObject = await fetchResource(
         kubectl,
         TRAFFIC_SPLIT_OBJECT,
         getBlueGreenResourceName(name, TRAFFIC_SPLIT_OBJECT_NAME_SUFFIX),
         serviceObject?.metadata?.namespace
      )
      core.debug(
         `ts object extracted was ${JSON.stringify(trafficSplitObject)}`
      )
      if (!trafficSplitObject) {
         core.debug(`no traffic split exits for ${name}`)
         trafficSplitsInRightState = false
         continue
      }

      trafficSplitObject.spec.backends.forEach((element) => {
         // checking if trafficsplit in right state to deploy
         if (element.service === getBlueGreenResourceName(name, GREEN_SUFFIX)) {