diff --git a/src/server/lib/codefresh/__fixtures__/codefresh.ts b/src/server/lib/codefresh/__fixtures__/codefresh.ts index 61de44cb..8795055d 100644 --- a/src/server/lib/codefresh/__fixtures__/codefresh.ts +++ b/src/server/lib/codefresh/__fixtures__/codefresh.ts @@ -168,6 +168,7 @@ export const generateYamlOptions = { deploy, ecrDomain, ecrRepo: `lfc/app/lfc`, + deployCluster: undefined, }; export const yamlDefaults = { diff --git a/src/server/lib/codefresh/types.ts b/src/server/lib/codefresh/types.ts index 1e5377b9..b82da823 100644 --- a/src/server/lib/codefresh/types.ts +++ b/src/server/lib/codefresh/types.ts @@ -37,4 +37,5 @@ export type ContainerBuildOptions = { initTag?: string; author?: string; enabledFeatures?: string[]; + deployCluster?: string; }; diff --git a/src/server/lib/codefresh/utils/__tests__/generateYaml.test.ts b/src/server/lib/codefresh/utils/__tests__/generateYaml.test.ts index 5ab46a57..ca06fd3a 100644 --- a/src/server/lib/codefresh/utils/__tests__/generateYaml.test.ts +++ b/src/server/lib/codefresh/utils/__tests__/generateYaml.test.ts @@ -20,6 +20,7 @@ import { afterBuildStep, generateYamlOptions, yamlContent, + annotations, } from 'server/lib/codefresh/__fixtures__/codefresh'; import { generateYaml } from 'server/lib/codefresh/utils/generateYaml'; @@ -49,6 +50,18 @@ describe('generateYaml', () => { const result = generateYaml(generateYamlOptions); expect(result).toEqual({ ...yamlContent, + hooks: { + on_elected: { + annotations: { + set: [ + { + annotations: [...annotations, { eksCluster: 'unknown' }], + display: 'deployUUID', + }, + ], + }, + }, + }, steps: { ...yamlContent.steps, Checkout: { diff --git a/src/server/lib/codefresh/utils/generateYaml.ts b/src/server/lib/codefresh/utils/generateYaml.ts index f513b86c..7927c0cf 100644 --- a/src/server/lib/codefresh/utils/generateYaml.ts +++ b/src/server/lib/codefresh/utils/generateYaml.ts @@ -43,6 +43,7 @@ export const generateYaml = (options: ContainerBuildOptions) => { initTag, author, enabledFeatures = [], + deployCluster, } = options; const buildArgs = constructBuildArgs(envVars); @@ -65,6 +66,7 @@ export const generateYaml = (options: ContainerBuildOptions) => { branch: deploy?.branchName, repo, author, + eksCluster: deployCluster || 'unknown', }; const annotations = Object.keys(annotationsObj) .filter((key) => annotationsObj[key]) diff --git a/src/server/lib/helm/helm.ts b/src/server/lib/helm/helm.ts index 083e58ac..ba51a1ae 100644 --- a/src/server/lib/helm/helm.ts +++ b/src/server/lib/helm/helm.ts @@ -332,6 +332,7 @@ export async function generateHelmCodefreshYamlNoCheckout(deploy: Deploy): Promi const annotationsObj = { uuid: deploy.deployable?.buildUUID, deployUUID: deploy.uuid, + eksCluster: configs?.lifecycleDefaults?.deployCluster || 'unknown', }; const annotations = Object.keys(annotationsObj) .filter((key) => annotationsObj[key]) @@ -387,6 +388,7 @@ export async function generateHelmCodefreshYamlWithCheckout(deploy: Deploy): Pro const annotationsObj = { uuid: deploy.deployable?.buildUUID, deployUUID: deploy.uuid, + eksCluster: configs?.lifecycleDefaults?.deployCluster || 'unknown', }; const annotations = Object.keys(annotationsObj) .filter((key) => annotationsObj[key]) diff --git a/src/server/services/deploy.ts b/src/server/services/deploy.ts index fec9539a..af113299 100644 --- a/src/server/services/deploy.ts +++ b/src/server/services/deploy.ts @@ -669,6 +669,7 @@ export default class DeployService extends BaseService { author, enabledFeatures, ecrDomain, + deployCluster: lifecycleDefaults.deployCluster, }); const buildLogs = `https://g.codefresh.io/build/${codefreshBuildId}`; await this.patchAndUpdateActivityFeed(deploy, { buildLogs }, runUUID); @@ -946,6 +947,7 @@ export default class DeployService extends BaseService { initTag, author, enabledFeatures, + deployCluster: lifecycleDefaults.deployCluster, }; if (['buildkit', 'kaniko'].includes(deployable.builder?.engine)) {