diff --git a/src/cmd/apply-as-apps.ts b/src/cmd/apply-as-apps.ts index 3125e41435..ffaf7d8d32 100644 --- a/src/cmd/apply-as-apps.ts +++ b/src/cmd/apply-as-apps.ts @@ -12,6 +12,7 @@ import { getParsedArgs, HelmArguments, helmOptions, setParsedArgs } from 'src/co import { Argv, CommandModule } from 'yargs' import { $ } from 'zx' import { V1ResourceRequirements } from '@kubernetes/client-node' +import { env } from '../common/envalid' const cmdName = getFilename(__filename) const dir = '/tmp/otomi' @@ -44,7 +45,7 @@ const getAppName = (release: HelmRelease): string => { return `${release.namespace}-${release.name}` } -const getArgocdAppManifest = (release: HelmRelease, values: Record, otomiVersion) => { +const getArgocdAppManifest = (release: HelmRelease, values: Record, otomiVersion: string) => { const name = getAppName(release) const patch = appPatches[name] || genericPatch return { @@ -72,8 +73,8 @@ const getArgocdAppManifest = (release: HelmRelease, values: Record, project: 'default', source: { path: release.chart.replace('../', ''), - repoURL: 'https://github.com/linode/apl-core.git', - targetRevision: otomiVersion, + repoURL: env.APPS_REPO_URL, + targetRevision: env.APPS_REVISION || otomiVersion, helm: { releaseName: release.name, values: objectToYaml(values), diff --git a/src/cmd/apply.ts b/src/cmd/apply.ts index 2d86454749..207d173d6b 100644 --- a/src/cmd/apply.ts +++ b/src/cmd/apply.ts @@ -163,15 +163,19 @@ const apply = async (): Promise => { } d.info('Start apply') const skipCleanup = argv.skipCleanup ? '--skip-cleanup' : '' - await hf( - { - fileOpts: argv.file, - labelOpts: argv.label, - logLevel: logLevelString(), - args: ['apply', '--include-needs', skipCleanup], - }, - { streams: { stdout: d.stream.log, stderr: d.stream.error } }, - ) + if (argv.tekton) { + await applyAsApps(argv) + } else { + await hf( + { + fileOpts: argv.file, + labelOpts: argv.label, + logLevel: logLevelString(), + args: ['apply', '--include-needs', skipCleanup], + }, + { streams: { stdout: d.stream.log, stderr: d.stream.error } }, + ) + } } export const module: CommandModule = { diff --git a/src/common/envalid.ts b/src/common/envalid.ts index c9fbf1005a..d2588c4313 100644 --- a/src/common/envalid.ts +++ b/src/common/envalid.ts @@ -35,6 +35,14 @@ export const cliEnvSpec = { GIT_URL: str({ default: 'gitea-http.gitea.svc.cluster.local' }), GIT_PORT: str({ default: '3000' }), GIT_PROTOCOL: str({ default: 'http' }), + APPS_REPO_URL: str({ + desc: 'Repository to set for ArgoCD applications', + default: 'https://github.com/linode/apl-core.git', + }), + APPS_REVISION: str({ + desc: 'Target revision to set for ArgoCD applications. If not set, uses the current image tag.', + default: undefined, + }), } export function cleanEnv(spec: { [K in keyof T]: ValidatorSpec }, options?: CleanOptions) {