@goldstack/utils-terraform 0.3.41 → 0.3.45

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
- import { TerraformDeployment, TerraformVariables } from './types/utilsTerraformConfig';
1
+ import { TerraformVariables } from './types/utilsTerraformConfig';
2
2
  import { CloudProvider } from './cloudProvider';
3
3
  import { Variables } from './terraformCli';
4
4
  export declare const convertToPythonVariable: (variableName: string) => string;
@@ -8,11 +8,14 @@ export declare const parseVariables: (hcl: string) => string[];
8
8
  export declare const getVariablesFromHCL: (properties: object) => Variables;
9
9
  export declare class TerraformBuild {
10
10
  provider: CloudProvider;
11
- getTfStateVariables: (deployment: TerraformDeployment) => [string, string][];
11
+ private getTfStateVariables;
12
+ private getTfVersion;
12
13
  init: (args: string[]) => void;
13
14
  plan: (args: string[]) => void;
14
15
  apply: (args: string[]) => void;
15
16
  destroy: (args: string[]) => void;
17
+ private performUpgrade;
18
+ upgrade: (args: string[]) => void;
16
19
  constructor(provider: CloudProvider);
17
20
  }
18
21
  //# sourceMappingURL=terraformBuild.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"terraformBuild.d.ts","sourceRoot":"","sources":["../../src/terraformBuild.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EACnB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAU3C,eAAO,MAAM,uBAAuB,iBAAkB,MAAM,KAAG,MAY9D,CAAC;AAEF,eAAO,MAAM,yBAAyB,iBAAkB,MAAM,KAAG,MAWhE,CAAC;AAEF,eAAO,MAAM,0BAA0B,eACzB,MAAM,mEAwBnB,CAAC;AAEF,eAAO,MAAM,cAAc,QAAS,MAAM,KAAG,MAAM,EAQlD,CAAC;AAEF,eAAO,MAAM,mBAAmB,eAAgB,MAAM,cAkErD,CAAC;AAsBF,qBAAa,cAAc;IACzB,QAAQ,EAAE,aAAa,CAAC;IAExB,mBAAmB,eACL,mBAAmB,KAC9B,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAsBnB;IACF,IAAI,SAAU,MAAM,EAAE,KAAG,IAAI,CAwB3B;IAEF,IAAI,SAAU,MAAM,EAAE,KAAG,IAAI,CAwB3B;IAEF,KAAK,SAAU,MAAM,EAAE,KAAG,IAAI,CA2B5B;IAEF,OAAO,SAAU,MAAM,EAAE,KAAG,IAAI,CAiC9B;gBAEU,QAAQ,EAAE,aAAa;CAIpC"}
1
+ {"version":3,"file":"terraformBuild.d.ts","sourceRoot":"","sources":["../../src/terraformBuild.ts"],"names":[],"mappings":"AAGA,OAAO,EAEL,kBAAkB,EAEnB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAa3C,eAAO,MAAM,uBAAuB,iBAAkB,MAAM,KAAG,MAY9D,CAAC;AAEF,eAAO,MAAM,yBAAyB,iBAAkB,MAAM,KAAG,MAWhE,CAAC;AAEF,eAAO,MAAM,0BAA0B,eACzB,MAAM,mEAuBnB,CAAC;AAEF,eAAO,MAAM,cAAc,QAAS,MAAM,KAAG,MAAM,EAQlD,CAAC;AAEF,eAAO,MAAM,mBAAmB,eAAgB,MAAM,cAkErD,CAAC;AAsBF,qBAAa,cAAc;IACzB,QAAQ,EAAE,aAAa,CAAC;IAExB,OAAO,CAAC,mBAAmB,CAwBzB;IAEF,OAAO,CAAC,YAAY,CAkBlB;IAEF,IAAI,SAAU,MAAM,EAAE,KAAG,IAAI,CA8B3B;IAEF,IAAI,SAAU,MAAM,EAAE,KAAG,IAAI,CA+B3B;IAEF,KAAK,SAAU,MAAM,EAAE,KAAG,IAAI,CAkC5B;IAEF,OAAO,SAAU,MAAM,EAAE,KAAG,IAAI,CAoC9B;IAEF,OAAO,CAAC,cAAc,CA4BpB;IAEF,OAAO,SAAU,MAAM,EAAE,KAAG,IAAI,CAgC9B;gBAEU,QAAQ,EAAE,aAAa;CAIpC"}
@@ -13,6 +13,8 @@ const assert_1 = __importDefault(require("assert"));
13
13
  const fs_1 = __importDefault(require("fs"));
14
14
  const crypto_1 = __importDefault(require("crypto"));
15
15
  const infra_1 = require("@goldstack/infra");
16
+ const json_stable_stringify_1 = __importDefault(require("json-stable-stringify"));
17
+ const path_1 = __importDefault(require("path"));
16
18
  const convertToPythonVariable = (variableName) => {
17
19
  let res = '';
18
20
  for (const char of variableName) {
@@ -53,7 +55,6 @@ const getVariablesFromProperties = (properties, terraformVariables) => {
53
55
  vars.push([variableName, variableValue]);
54
56
  }
55
57
  else {
56
- console.log('using ', variableName.toLocaleUpperCase());
57
58
  vars.push([
58
59
  variableName,
59
60
  process.env[variableName.toLocaleUpperCase()] || '',
@@ -108,7 +109,7 @@ const getVariablesFromHCL = (properties) => {
108
109
  else if (typeof variableValue === 'object') {
109
110
  vars.push([
110
111
  variableName,
111
- `${JSON.stringify(variableValue).replace(/"/g, '\\"')}`,
112
+ `${(0, json_stable_stringify_1.default)(variableValue).replace(/"/g, '\\"')}`,
112
113
  ]);
113
114
  }
114
115
  else {
@@ -163,17 +164,37 @@ class TerraformBuild {
163
164
  }
164
165
  return this.provider.getTfStateVariables(deploymentConfig);
165
166
  };
167
+ this.getTfVersion = (args) => {
168
+ const deployment = getDeployment(args);
169
+ if (deployment.tfVersion) {
170
+ return deployment.tfVersion;
171
+ }
172
+ if (fs_1.default.existsSync('./infra/tfConfig.json')) {
173
+ try {
174
+ const tsConfig = JSON.parse((0, utils_sh_1.read)('./infra/tfConfig.json'));
175
+ return tsConfig.tfVersion;
176
+ }
177
+ catch (e) {
178
+ throw new Error('Invalid Terraform configuration in ' +
179
+ path_1.default.resolve('./infra/tfConfig.json'));
180
+ }
181
+ }
182
+ // before Terraform versions were introduced, only version 0.12 was supported
183
+ return '0.12';
184
+ };
166
185
  this.init = (args) => {
167
186
  const deployment = getDeployment(args);
187
+ const version = deployment.tfVersion || '0.12';
168
188
  const backendConfig = this.getTfStateVariables(deployment);
169
189
  (0, utils_sh_1.cd)('./infra/aws');
170
190
  const provider = this.provider;
171
191
  (0, terraformCli_1.tf)('init', {
172
192
  provider,
193
+ version,
173
194
  backendConfig,
174
195
  options: ['-force-copy', '-reconfigure'],
175
196
  });
176
- const workspaces = (0, terraformCli_1.tf)('workspace list', { provider });
197
+ const workspaces = (0, terraformCli_1.tf)('workspace list', { provider, version });
177
198
  const deploymentName = args[0];
178
199
  const workspaceExists = workspaces.split('\n').find((line) => {
179
200
  return line.indexOf(deploymentName) >= 0;
@@ -181,51 +202,69 @@ class TerraformBuild {
181
202
  if (!workspaceExists) {
182
203
  (0, terraformCli_1.tf)(`workspace new ${deploymentName}`, {
183
204
  provider,
205
+ version,
206
+ });
207
+ (0, terraformCli_1.tf)(`workspace select ${deploymentName}`, {
208
+ provider,
209
+ version,
184
210
  });
185
- (0, terraformCli_1.tf)(`workspace select ${deploymentName}`, { provider });
186
211
  }
187
212
  (0, utils_sh_1.cd)('../..');
188
213
  };
189
214
  this.plan = (args) => {
190
215
  const deployment = getDeployment(args);
216
+ const version = deployment.tfVersion || '0.12';
191
217
  const backendConfig = this.getTfStateVariables(deployment);
192
218
  (0, utils_sh_1.cd)('./infra/aws');
193
219
  const provider = this.provider;
194
220
  const variables = [
195
221
  ...(0, exports.getVariablesFromHCL)({ ...deployment, ...deployment.configuration }),
196
222
  ];
197
- const currentWorkspace = (0, terraformCli_1.tf)('workspace show', { provider }).trim();
223
+ const currentWorkspace = (0, terraformCli_1.tf)('workspace show', { provider, version }).trim();
198
224
  if (currentWorkspace !== args[0]) {
199
225
  // init with reconfigure required here in case we are switching to a different
200
226
  // s3 bucket in a different environment for a different deployment
201
- (0, terraformCli_1.tf)('init', { provider, backendConfig, options: ['-reconfigure'] });
202
- (0, terraformCli_1.tf)(`workspace select ${args[0]}`, { provider });
227
+ (0, terraformCli_1.tf)('init', {
228
+ provider,
229
+ backendConfig,
230
+ version,
231
+ options: ['-reconfigure'],
232
+ });
233
+ (0, terraformCli_1.tf)(`workspace select ${args[0]}`, { provider, version });
203
234
  }
204
235
  (0, terraformCli_1.tf)('plan', {
205
236
  provider,
206
237
  variables,
238
+ version,
207
239
  options: ['-input=false', '-out tfplan'],
208
240
  });
209
241
  (0, utils_sh_1.cd)('../..');
210
242
  };
211
243
  this.apply = (args) => {
212
244
  const deployment = getDeployment(args);
245
+ const version = deployment.tfVersion || '0.12';
213
246
  const backendConfig = this.getTfStateVariables(deployment);
214
247
  (0, utils_sh_1.cd)('./infra/aws');
215
248
  const provider = this.provider;
216
249
  const deploymentName = args[0];
217
- const currentWorkspace = (0, terraformCli_1.tf)('workspace show', { provider }).trim();
250
+ const currentWorkspace = (0, terraformCli_1.tf)('workspace show', { provider, version }).trim();
218
251
  if (currentWorkspace !== deploymentName) {
219
252
  // init with reconfigure required here in case we are switching to a different
220
253
  // s3 bucket in a different environment for a different deployment
221
- (0, terraformCli_1.tf)('init', { provider, backendConfig, options: ['-reconfigure'] });
222
- (0, terraformCli_1.tf)(`workspace select ${deploymentName}`, { provider });
254
+ (0, terraformCli_1.tf)('init', {
255
+ provider,
256
+ backendConfig,
257
+ version,
258
+ options: ['-reconfigure'],
259
+ });
260
+ (0, terraformCli_1.tf)(`workspace select ${deploymentName}`, { provider, version });
223
261
  }
224
262
  (0, terraformCli_1.tf)('apply', {
225
263
  provider,
226
264
  options: ['-input=false', 'tfplan'],
265
+ version,
227
266
  });
228
- const res = (0, terraformCli_1.tf)('output', { provider, options: ['-json'] }).trim();
267
+ const res = (0, terraformCli_1.tf)('output', { provider, options: ['-json'], version }).trim();
229
268
  const deploymentState = (0, infra_1.readDeploymentState)('./../../', deploymentName, {
230
269
  createIfNotExist: true,
231
270
  });
@@ -235,6 +274,7 @@ class TerraformBuild {
235
274
  };
236
275
  this.destroy = (args) => {
237
276
  const deployment = getDeployment(args);
277
+ const version = deployment.tfVersion || '0.12';
238
278
  const backendConfig = this.getTfStateVariables(deployment);
239
279
  (0, utils_sh_1.cd)('./infra/aws');
240
280
  const ciConfirmed = args.find((str) => str === '-y');
@@ -249,20 +289,74 @@ class TerraformBuild {
249
289
  const variables = [
250
290
  ...(0, exports.getVariablesFromHCL)({ ...deployment, ...deployment.configuration }),
251
291
  ];
252
- (0, terraformCli_1.tf)('init', { provider, backendConfig, options: ['-reconfigure'] });
253
- (0, terraformCli_1.tf)(`workspace select ${args[0]}`, { provider });
292
+ (0, terraformCli_1.tf)('init', { provider, backendConfig, options: ['-reconfigure'], version });
293
+ (0, terraformCli_1.tf)(`workspace select ${args[0]}`, { provider, version });
254
294
  (0, terraformCli_1.tf)('plan', {
255
295
  provider,
256
296
  variables,
297
+ version,
257
298
  options: ['-input=false', '-out tfplan'],
258
299
  });
259
300
  (0, terraformCli_1.tf)('destroy', {
260
301
  provider,
261
302
  variables,
303
+ version,
262
304
  options: ['-input=false', '-auto-approve'],
263
305
  });
264
306
  (0, utils_sh_1.cd)('../..');
265
307
  };
308
+ this.performUpgrade = (deploymentName, targetVersion) => {
309
+ const provider = this.provider;
310
+ if (targetVersion === '0.13') {
311
+ (0, utils_sh_1.cd)('./infra/aws');
312
+ const upgradeRes = (0, terraformCli_1.tf)(`${targetVersion}upgrade`, {
313
+ version: targetVersion,
314
+ provider,
315
+ options: ['-yes'],
316
+ });
317
+ if (upgradeRes.indexOf('Upgrade complete!') === -1) {
318
+ throw new Error('Upgrade of Terraform version not successful.');
319
+ }
320
+ (0, utils_sh_1.cd)('../..');
321
+ }
322
+ const packageConfig = (0, utils_package_1.readPackageConfig)();
323
+ const deploymentInConfig = packageConfig.deployments.find((e) => e.name === deploymentName);
324
+ (0, assert_1.default)(deploymentInConfig);
325
+ deploymentInConfig.tfVersion = targetVersion;
326
+ (0, utils_package_1.writePackageConfig)(packageConfig);
327
+ this.init([deploymentName]);
328
+ console.log(`Version upgraded to ${targetVersion}. Please run deployment to upgrade remote state before further upgrades.`);
329
+ };
330
+ this.upgrade = (args) => {
331
+ const deployment = getDeployment(args);
332
+ const version = deployment.tfVersion || '0.12';
333
+ const newVersion = args[1];
334
+ if (version === newVersion) {
335
+ console.log('Already on version', newVersion);
336
+ return;
337
+ }
338
+ if (version === '0.12' && newVersion === '0.13') {
339
+ this.performUpgrade(args[0], '0.13');
340
+ return;
341
+ }
342
+ if (version === '0.13' && newVersion === '0.14') {
343
+ this.performUpgrade(args[0], '0.14');
344
+ return;
345
+ }
346
+ if (version === '0.14' && newVersion === '0.15') {
347
+ this.performUpgrade(args[0], '0.15');
348
+ return;
349
+ }
350
+ if (version === '0.15' && newVersion === '1.0') {
351
+ this.performUpgrade(args[0], '1.0');
352
+ return;
353
+ }
354
+ if (version === '1.0' && newVersion === '1.1') {
355
+ this.performUpgrade(args[0], '1.1');
356
+ return;
357
+ }
358
+ throw new Error(`Version upgrade not supported: from [${version}] to [${newVersion}]. Currently only 0.12 -> 0.13 is supported.`);
359
+ };
266
360
  (0, assert_1.default)(provider);
267
361
  this.provider = provider;
268
362
  }
@@ -1 +1 @@
1
- {"version":3,"file":"terraformBuild.js","sourceRoot":"","sources":["../../src/terraformBuild.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"terraformBuild.js","sourceRoot":"","sources":["../../src/terraformBuild.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,12 @@
1
1
  import { CloudProvider } from './cloudProvider';
2
+ import { TerraformVersion } from './types/utilsTerraformConfig';
2
3
  export declare type Variables = [string, string][];
3
4
  interface TerraformOptions {
4
5
  dir?: string;
5
6
  provider: CloudProvider;
6
7
  variables?: Variables;
7
8
  backendConfig?: Variables;
9
+ version: TerraformVersion;
8
10
  options?: string[];
9
11
  }
10
12
  export declare const assertTerraform: () => void;
@@ -1 +1 @@
1
- {"version":3,"file":"terraformCli.d.ts","sourceRoot":"","sources":["../../src/terraformCli.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,oBAAY,SAAS,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;AAiB3C,UAAU,gBAAgB;IACxB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,aAAa,CAAC;IACxB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAuBD,eAAO,MAAM,eAAe,QAAO,IAQlC,CAAC;AAsBF,eAAO,MAAM,EAAE,QAAS,MAAM,WAAW,gBAAgB,KAAG,MAO3D,CAAC"}
1
+ {"version":3,"file":"terraformCli.d.ts","sourceRoot":"","sources":["../../src/terraformCli.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAEhE,oBAAY,SAAS,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;AAiB3C,UAAU,gBAAgB;IACxB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,aAAa,CAAC;IACxB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B,OAAO,EAAE,gBAAgB,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAuBD,eAAO,MAAM,eAAe,QAAO,IAQlC,CAAC;AAgCF,eAAO,MAAM,EAAE,QAAS,MAAM,WAAW,gBAAgB,KAAG,MAO3D,CAAC"}
@@ -27,7 +27,7 @@ const execWithDocker = (cmd, options) => {
27
27
  const cmd3 = `docker run --rm -v "${options.dir}":/app ` +
28
28
  ` ${options.provider.generateEnvVariableString()} ` +
29
29
  '-w /app ' +
30
- `${(0, utils_docker_1.imageTerraform)()} ${cmd} ` +
30
+ `${(0, utils_docker_1.imageTerraform)(options.version)} ${cmd} ` +
31
31
  ` ${renderBackendConfig(options.backendConfig || [])} ` +
32
32
  ` ${renderVariables(options.variables || [])} ` +
33
33
  ` ${((_a = options.options) === null || _a === void 0 ? void 0 : _a.join(' ')) || ''} `;
@@ -49,6 +49,10 @@ const execWithCli = (cmd, options) => {
49
49
  options.dir = (0, utils_sh_1.pwd)();
50
50
  }
51
51
  (0, exports.assertTerraform)();
52
+ const version = (0, utils_sh_1.exec)('terraform version');
53
+ if (version.indexOf(options.version) === -1) {
54
+ throw new Error(`Invalid local Terraform version detected: [${version.split('\n')[0]}], expected version compatible with [${options.version}]. Please install this version locally or install Docker for Goldstack to run the correct Terraform version required for this deployment using Docker.`);
55
+ }
52
56
  options.provider.setEnvVariables();
53
57
  const execCmd = `terraform ${cmd} ` +
54
58
  ` ${renderBackendConfig(options.backendConfig || [])} ` +
@@ -1 +1 @@
1
- {"version":3,"file":"terraformCli.js","sourceRoot":"","sources":["../../src/terraformCli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"terraformCli.js","sourceRoot":"","sources":["../../src/terraformCli.ts"],"names":[],"mappings":"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"}
@@ -8,11 +8,21 @@ const terraformCli_1 = require("./terraformCli");
8
8
  const MockCloudProvider_1 = __importDefault(require("./MockCloudProvider"));
9
9
  const path_1 = __importDefault(require("path"));
10
10
  describe('Terraform CLI', () => {
11
- it('Should accept folder with spaces', async () => {
12
- const testDir = './goldstackLocal/cli-folder-w-space/My Dir';
11
+ it('Should accept folder with spaces (v0.12)', async () => {
12
+ const testDir = './goldstackLocal/cli-folder-w-space/0.12/My Dir';
13
13
  (0, utils_sh_1.mkdir)('-p', testDir);
14
14
  (0, terraformCli_1.tf)('init', {
15
15
  dir: path_1.default.resolve(testDir),
16
+ version: '0.12',
17
+ provider: new MockCloudProvider_1.default(),
18
+ });
19
+ });
20
+ it('Should accept folder with spaces (v0.13', async () => {
21
+ const testDir = './goldstackLocal/cli-folder-w-space/0.13/My Dir';
22
+ (0, utils_sh_1.mkdir)('-p', testDir);
23
+ (0, terraformCli_1.tf)('init', {
24
+ dir: path_1.default.resolve(testDir),
25
+ version: '0.13',
16
26
  provider: new MockCloudProvider_1.default(),
17
27
  });
18
28
  });
@@ -1 +1 @@
1
- {"version":3,"file":"terraformCli.spec.js","sourceRoot":"","sources":["../../src/terraformCli.spec.ts"],"names":[],"mappings":";;;;;AAAA,kDAA4C;AAC5C,iDAAoC;AACpC,4EAAoD;AAEpD,gDAAwB;AAExB,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,EAAE,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;QAChD,MAAM,OAAO,GAAG,4CAA4C,CAAC;QAC7D,IAAA,gBAAK,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACrB,IAAA,iBAAE,EAAC,MAAM,EAAE;YACT,GAAG,EAAE,cAAI,CAAC,OAAO,CAAC,OAAO,CAAC;YAC1B,QAAQ,EAAE,IAAI,2BAAiB,EAAE;SAClC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"terraformCli.spec.js","sourceRoot":"","sources":["../../src/terraformCli.spec.ts"],"names":[],"mappings":";;;;;AAAA,kDAA4C;AAC5C,iDAAoC;AACpC,4EAAoD;AAEpD,gDAAwB;AAExB,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,EAAE,CAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE;QACxD,MAAM,OAAO,GAAG,iDAAiD,CAAC;QAClE,IAAA,gBAAK,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACrB,IAAA,iBAAE,EAAC,MAAM,EAAE;YACT,GAAG,EAAE,cAAI,CAAC,OAAO,CAAC,OAAO,CAAC;YAC1B,OAAO,EAAE,MAAM;YACf,QAAQ,EAAE,IAAI,2BAAiB,EAAE;SAClC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;QACvD,MAAM,OAAO,GAAG,iDAAiD,CAAC;QAClE,IAAA,gBAAK,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACrB,IAAA,iBAAE,EAAC,MAAM,EAAE;YACT,GAAG,EAAE,cAAI,CAAC,OAAO,CAAC,OAAO,CAAC;YAC1B,OAAO,EAAE,MAAM;YACf,QAAQ,EAAE,IAAI,2BAAiB,EAAE;SAClC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -14,6 +14,14 @@ export declare type TerraformVariable = string;
14
14
  * @title Terraform State Key
15
15
  */
16
16
  export declare type TerraformStateKey = string;
17
+ /**
18
+ * Version of Terraform that the remote state for this deployment was created with.
19
+ *
20
+ * Go to the next version using `yarn infra upgrade [deploymentName] [targetVersion]`. Note that Terraform versions should only be increased one at a time, so for instance you can go from v0.12 to v0.13 but not from v0.12 to v0.14.
21
+ *
22
+ * @default '0.12'
23
+ */
24
+ export declare type TerraformVersion = '0.12' | '0.13' | '0.14' | '0.15' | '1.0' | '1.1';
17
25
  /**
18
26
  * Define which of the deployment variables will be made available for terraform.
19
27
  *
@@ -23,5 +31,6 @@ export declare type TerraformVariables = TerraformVariable[];
23
31
  export interface TerraformDeployment extends Deployment {
24
32
  terraformVariables?: TerraformVariables;
25
33
  tfStateKey?: TerraformStateKey;
34
+ tfVersion?: TerraformVersion;
26
35
  }
27
36
  //# sourceMappingURL=utilsTerraformConfig.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utilsTerraformConfig.d.ts","sourceRoot":"","sources":["../../../src/types/utilsTerraformConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C;;;;;GAKG;AACH,oBAAY,iBAAiB,GAAG,MAAM,CAAC;AAEvC;;;;;;GAMG;AACH,oBAAY,iBAAiB,GAAG,MAAM,CAAC;AAEvC;;;;GAIG;AACH,oBAAY,kBAAkB,GAAG,iBAAiB,EAAE,CAAC;AAErD,MAAM,WAAW,mBAAoB,SAAQ,UAAU;IACrD,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC,UAAU,CAAC,EAAE,iBAAiB,CAAC;CAChC"}
1
+ {"version":3,"file":"utilsTerraformConfig.d.ts","sourceRoot":"","sources":["../../../src/types/utilsTerraformConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C;;;;;GAKG;AACH,oBAAY,iBAAiB,GAAG,MAAM,CAAC;AAEvC;;;;;;GAMG;AACH,oBAAY,iBAAiB,GAAG,MAAM,CAAC;AAEvC;;;;;;GAMG;AACH,oBAAY,gBAAgB,GACxB,MAAM,GACN,MAAM,GACN,MAAM,GACN,MAAM,GACN,KAAK,GACL,KAAK,CAAC;AAEV;;;;GAIG;AACH,oBAAY,kBAAkB,GAAG,iBAAiB,EAAE,CAAC;AAErD,MAAM,WAAW,mBAAoB,SAAQ,UAAU;IACrD,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC,UAAU,CAAC,EAAE,iBAAiB,CAAC;IAC/B,SAAS,CAAC,EAAE,gBAAgB,CAAC;CAC9B"}
@@ -1 +1 @@
1
- {"version":3,"file":"utilsTerraform.d.ts","sourceRoot":"","sources":["../../src/utilsTerraform.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,YAAY,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAIrD,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AACpC,OAAO,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAI9D,eAAO,MAAM,aAAa,QAAO,GA6ChC,CAAC;AAEF,eAAO,MAAM,YAAY,SACjB,MAAM,EAAE,WACL;IAAE,QAAQ,EAAE,aAAa,CAAA;CAAE,KACnC,IA+BF,CAAC"}
1
+ {"version":3,"file":"utilsTerraform.d.ts","sourceRoot":"","sources":["../../src/utilsTerraform.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,YAAY,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAIrD,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AACpC,OAAO,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAI9D,eAAO,MAAM,aAAa,QAAO,GAyDhC,CAAC;AAEF,eAAO,MAAM,YAAY,SACjB,MAAM,EAAE,WACL;IAAE,QAAQ,EAAE,aAAa,CAAA;CAAE,KACnC,IAoCF,CAAC"}
@@ -28,6 +28,13 @@ const infraCommands = () => {
28
28
  demandOption: false,
29
29
  type: 'boolean',
30
30
  });
31
+ })
32
+ .command('upgrade <deployment> <targetVersion>', 'Upgrades Terraform version to a new target version (experimental)', (yargs) => {
33
+ return deploymentPositional(yargs).positional('targetVersion', {
34
+ type: 'string',
35
+ description: 'DANGER: If provided, confirmation for deleting infrastructure resources will be skipped.',
36
+ demandOption: true,
37
+ });
31
38
  });
32
39
  };
33
40
  };
@@ -57,6 +64,10 @@ const terraformCli = (args, options) => {
57
64
  build.destroy(opArgs);
58
65
  return;
59
66
  }
67
+ if (operation === 'upgrade') {
68
+ build.upgrade(opArgs);
69
+ return;
70
+ }
60
71
  throw new Error('Unknown infrastructure operation: ' + operation);
61
72
  };
62
73
  exports.terraformCli = terraformCli;
@@ -1 +1 @@
1
- {"version":3,"file":"utilsTerraform.js","sourceRoot":"","sources":["../../src/utilsTerraform.ts"],"names":[],"mappings":";;;AAUA,qDAAkD;AAElD,+CAAoC;AAA3B,kGAAA,EAAE,OAAA;AACX,mDAA8D;AAArD,4HAAA,0BAA0B,OAAA;AAI5B,MAAM,aAAa,GAAG,GAAQ,EAAE;IACrC,MAAM,oBAAoB,GAAG,CAAC,KAAgB,EAAa,EAAE;QAC3D,OAAO,KAAK,CAAC,UAAU,CAAC,YAAY,EAAE;YACpC,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,0DAA0D;YACpE,YAAY,EAAE,IAAI;SACnB,CAAC,CAAC;IACL,CAAC,CAAC;IACF,OAAO,CAAC,KAAgB,EAAa,EAAE;QACrC,OAAO,KAAK;aACT,OAAO,CACN,iBAAiB,EACjB,uDAAuD,EACvD,oBAAoB,CACrB;aACA,OAAO,CACN,mBAAmB,EACnB,wDAAwD,EACxD,oBAAoB,CACrB;aACA,OAAO,CACN,mBAAmB,EACnB,mDAAmD,EACnD,oBAAoB,CACrB;aACA,OAAO,CACN,oBAAoB,EACpB,yEAAyE,EACzE,oBAAoB,CACrB;aACA,OAAO,CACN,sBAAsB,EACtB,iEAAiE,EACjE,CAAC,KAAK,EAAE,EAAE;YACR,OAAO,oBAAoB,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE;gBAC/C,KAAK,EAAE,GAAG;gBACV,WAAW,EACT,0FAA0F;gBAC5F,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,KAAK;gBACnB,IAAI,EAAE,SAAS;aAChB,CAAC,CAAC;QACL,CAAC,CACF,CAAC;IACN,CAAC,CAAC;AACJ,CAAC,CAAC;AA7CW,QAAA,aAAa,iBA6CxB;AAEK,MAAM,YAAY,GAAG,CAC1B,IAAc,EACd,OAAoC,EAC9B,EAAE;IACR,MAAM,CAAC,SAAS,EAAE,GAAG,MAAM,CAAC,GAAG,IAAI,CAAC;IAEpC,MAAM,KAAK,GAAG,IAAI,+BAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAEnD,IAAI,SAAS,KAAK,IAAI,EAAE;QACtB,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACnB,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACnB,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACpB,OAAO;KACR;IAED,IAAI,SAAS,KAAK,MAAM,EAAE;QACxB,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACnB,OAAO;KACR;IACD,IAAI,SAAS,KAAK,MAAM,EAAE;QACxB,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACnB,OAAO;KACR;IACD,IAAI,SAAS,KAAK,OAAO,EAAE;QACzB,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACpB,OAAO;KACR;IAED,IAAI,SAAS,KAAK,SAAS,EAAE;QAC3B,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACtB,OAAO;KACR;IAED,MAAM,IAAI,KAAK,CAAC,oCAAoC,GAAG,SAAS,CAAC,CAAC;AACpE,CAAC,CAAC;AAlCW,QAAA,YAAY,gBAkCvB"}
1
+ {"version":3,"file":"utilsTerraform.js","sourceRoot":"","sources":["../../src/utilsTerraform.ts"],"names":[],"mappings":";;;AAUA,qDAAkD;AAElD,+CAAoC;AAA3B,kGAAA,EAAE,OAAA;AACX,mDAA8D;AAArD,4HAAA,0BAA0B,OAAA;AAI5B,MAAM,aAAa,GAAG,GAAQ,EAAE;IACrC,MAAM,oBAAoB,GAAG,CAAC,KAAgB,EAAa,EAAE;QAC3D,OAAO,KAAK,CAAC,UAAU,CAAC,YAAY,EAAE;YACpC,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,0DAA0D;YACpE,YAAY,EAAE,IAAI;SACnB,CAAC,CAAC;IACL,CAAC,CAAC;IACF,OAAO,CAAC,KAAgB,EAAa,EAAE;QACrC,OAAO,KAAK;aACT,OAAO,CACN,iBAAiB,EACjB,uDAAuD,EACvD,oBAAoB,CACrB;aACA,OAAO,CACN,mBAAmB,EACnB,wDAAwD,EACxD,oBAAoB,CACrB;aACA,OAAO,CACN,mBAAmB,EACnB,mDAAmD,EACnD,oBAAoB,CACrB;aACA,OAAO,CACN,oBAAoB,EACpB,yEAAyE,EACzE,oBAAoB,CACrB;aACA,OAAO,CACN,sBAAsB,EACtB,iEAAiE,EACjE,CAAC,KAAK,EAAE,EAAE;YACR,OAAO,oBAAoB,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE;gBAC/C,KAAK,EAAE,GAAG;gBACV,WAAW,EACT,0FAA0F;gBAC5F,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,KAAK;gBACnB,IAAI,EAAE,SAAS;aAChB,CAAC,CAAC;QACL,CAAC,CACF;aACA,OAAO,CACN,sCAAsC,EACtC,mEAAmE,EACnE,CAAC,KAAK,EAAE,EAAE;YACR,OAAO,oBAAoB,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,eAAe,EAAE;gBAC7D,IAAI,EAAE,QAAQ;gBACd,WAAW,EACT,0FAA0F;gBAC5F,YAAY,EAAE,IAAI;aACnB,CAAC,CAAC;QACL,CAAC,CACF,CAAC;IACN,CAAC,CAAC;AACJ,CAAC,CAAC;AAzDW,QAAA,aAAa,iBAyDxB;AAEK,MAAM,YAAY,GAAG,CAC1B,IAAc,EACd,OAAoC,EAC9B,EAAE;IACR,MAAM,CAAC,SAAS,EAAE,GAAG,MAAM,CAAC,GAAG,IAAI,CAAC;IAEpC,MAAM,KAAK,GAAG,IAAI,+BAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAEnD,IAAI,SAAS,KAAK,IAAI,EAAE;QACtB,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACnB,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACnB,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACpB,OAAO;KACR;IAED,IAAI,SAAS,KAAK,MAAM,EAAE;QACxB,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACnB,OAAO;KACR;IACD,IAAI,SAAS,KAAK,MAAM,EAAE;QACxB,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACnB,OAAO;KACR;IACD,IAAI,SAAS,KAAK,OAAO,EAAE;QACzB,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACpB,OAAO;KACR;IAED,IAAI,SAAS,KAAK,SAAS,EAAE;QAC3B,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACtB,OAAO;KACR;IAED,IAAI,SAAS,KAAK,SAAS,EAAE;QAC3B,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACtB,OAAO;KACR;IAED,MAAM,IAAI,KAAK,CAAC,oCAAoC,GAAG,SAAS,CAAC,CAAC;AACpE,CAAC,CAAC;AAvCW,QAAA,YAAY,gBAuCvB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@goldstack/utils-terraform",
3
- "version": "0.3.41",
3
+ "version": "0.3.45",
4
4
  "description": "Run Terraform commands easily as npm package scripts",
5
5
  "keywords": [
6
6
  "goldstack",
@@ -40,16 +40,18 @@
40
40
  "@goldstack/infra": "0.3.24",
41
41
  "@goldstack/infra-aws": "0.3.31",
42
42
  "@goldstack/utils-config": "0.3.23",
43
- "@goldstack/utils-docker": "0.3.26",
43
+ "@goldstack/utils-docker": "0.3.29",
44
44
  "@goldstack/utils-log": "0.2.9",
45
45
  "@goldstack/utils-package": "0.3.26",
46
46
  "@goldstack/utils-sh": "0.4.22",
47
+ "json-stable-stringify": "^1.0.1",
47
48
  "prompt-sync": "^4.2.0",
48
49
  "yargs": "^15.4.1"
49
50
  },
50
51
  "devDependencies": {
51
52
  "@goldstack/utils-git": "0.1.29",
52
53
  "@types/jest": "^27.0.2",
54
+ "@types/json-stable-stringify": "^1",
53
55
  "@types/node": "^16.11.0",
54
56
  "@types/prompt-sync": "^4.1.0",
55
57
  "@types/yargs": "^15.0.5",