in src/run.ts [150:195]
export async function run() {
checkClusterContext()
// Create kubeconfig and load values from 'KUBECONFIG' environment variable
const kc: KubeConfig = new KubeConfig()
core.debug(`loading kubeconfig from defaults...`)
kc.loadFromDefault()
const api: CoreV1Api = kc.makeApiClient(CoreV1Api)
// The name of the new secret
const secretName: string = core.getInput('secret-name', {required: true})
// The namespace in which to place the secret
const namespace: string = core.getInput('namespace') || 'default'
// Delete if exists
let deleteSecretResponse
try {
let deleteRequest: CoreV1ApiDeleteNamespacedSecretRequest = {
name: secretName,
namespace: namespace
}
deleteSecretResponse = await api.deleteNamespacedSecret(deleteRequest)
} catch ({response}) {
core.warning(
`Failed to delete secret with statusCode: ${response?.statusCode}`
)
core.warning(response?.body?.metadata)
}
core.info('Deleting secret:')
core.info(JSON.stringify(deleteSecretResponse?.response?.body, undefined, 2))
const secret = await buildSecret(secretName, namespace)
core.info('Creating secret')
try {
let secretRequest: CoreV1ApiCreateNamespacedSecretRequest = {
namespace: namespace,
body: secret
}
await api.createNamespacedSecret(secretRequest)
} catch (err) {
core.info(JSON.stringify(err))
core.setFailed(err.message)
}
}