add server-side option for kubectl apply commands (#424)

This commit is contained in:
benjamin
2025-07-03 11:15:06 -04:00
committed by GitHub
parent b9529f8427
commit cc1e193d23
8 changed files with 88 additions and 8 deletions
@@ -270,7 +270,13 @@ export async function deployObjects(
objectsList: any[]
): Promise<DeployResult> {
const manifestFiles = fileHelper.writeObjectsToFile(objectsList)
const execResult = await kubectl.apply(manifestFiles)
const forceDeployment = core.getInput('force').toLowerCase() === 'true'
const serverSideApply = core.getInput('server-side').toLowerCase() === 'true'
const execResult = await kubectl.apply(
manifestFiles,
forceDeployment,
serverSideApply
)
return {execResult, manifestFiles}
}
@@ -95,8 +95,13 @@ export async function deployPodCanary(
core.debug('New objects list: ' + JSON.stringify(newObjectsList))
const manifestFiles = fileHelper.writeObjectsToFile(newObjectsList)
const forceDeployment = core.getInput('force').toLowerCase() === 'true'
const serverSideApply = core.getInput('server-side').toLowerCase() === 'true'
const execResult = await kubectl.apply(manifestFiles, forceDeployment)
const execResult = await kubectl.apply(
manifestFiles,
forceDeployment,
serverSideApply
)
return {execResult, manifestFiles}
}
+18 -3
View File
@@ -106,7 +106,12 @@ export async function deploySMICanary(
)
const newFilePaths = fileHelper.writeObjectsToFile(newObjectsList)
const forceDeployment = core.getInput('force').toLowerCase() === 'true'
const result = await kubectl.apply(newFilePaths, forceDeployment)
const serverSideApply = core.getInput('server-side').toLowerCase() === 'true'
const result = await kubectl.apply(
newFilePaths,
forceDeployment,
serverSideApply
)
const svcDeploymentFiles = await createCanaryService(kubectl, filePaths)
newFilePaths.push(...svcDeploymentFiles)
return {execResult: result, manifestFiles: newFilePaths}
@@ -210,8 +215,13 @@ async function createCanaryService(
const manifestFiles = fileHelper.writeObjectsToFile(newObjectsList)
manifestFiles.push(...trafficObjectsList)
const forceDeployment = core.getInput('force').toLowerCase() === 'true'
const serverSideApply = core.getInput('server-side').toLowerCase() === 'true'
const result = await kubectl.apply(manifestFiles, forceDeployment)
const result = await kubectl.apply(
manifestFiles,
forceDeployment,
serverSideApply
)
checkForErrors([result])
return manifestFiles
}
@@ -275,7 +285,12 @@ async function adjustTraffic(
}
const forceDeployment = core.getInput('force').toLowerCase() === 'true'
const result = await kubectl.apply(trafficSplitManifests, forceDeployment)
const serverSideApply = core.getInput('server-side').toLowerCase() === 'true'
const result = await kubectl.apply(
trafficSplitManifests,
forceDeployment,
serverSideApply
)
checkForErrors([result])
return trafficSplitManifests
}
+9 -2
View File
@@ -84,16 +84,23 @@ export async function deployManifests(
)
const forceDeployment = core.getInput('force').toLowerCase() === 'true'
const serverSideApply =
core.getInput('server-side').toLowerCase() === 'true'
if (trafficSplitMethod === TrafficSplitMethod.SMI) {
const updatedManifests = appendStableVersionLabelToResource(files)
const result = await kubectl.apply(
updatedManifests,
forceDeployment
forceDeployment,
serverSideApply
)
checkForErrors([result])
} else {
const result = await kubectl.apply(files, forceDeployment)
const result = await kubectl.apply(
files,
forceDeployment,
serverSideApply
)
checkForErrors([result])
}