insert secrets dynamically, expect uniqueness to fail

pull/263/head
Frostebite 2021-05-02 02:28:58 +01:00
parent 97d1a5bb54
commit d4099caeff
3 changed files with 71 additions and 63 deletions

18
dist/index.js vendored
View File

@ -478,14 +478,16 @@ class AWS {
`; `;
const taskDefStackName = `${stackName}-${buildUid}`; const taskDefStackName = `${stackName}-${buildUid}`;
let taskDefCloudFormation = fs.readFileSync(`${__dirname}/cloud-formations/task-def-formation.yml`, 'utf8'); let taskDefCloudFormation = fs.readFileSync(`${__dirname}/cloud-formations/task-def-formation.yml`, 'utf8');
for (const secret of secrets) {
const p1string = 'p1 - input'; const p1string = 'p1 - input';
const p2string = 'p2 - secret'; const p2string = 'p2 - secret';
const p3string = 'p3 - container def'; const p3string = 'p3 - container def';
const indexp1 = taskDefCloudFormation.search(p1string) + p1string.length + '\n'.length; const indexp1 = taskDefCloudFormation.search(p1string) + p1string.length + '\n'.length;
const template1 = ` const template1 = `
AWSSecretAccessKeyssss: ${secret.ParameterKey}:
Type: String Type: String
Default: '0'`; Default: ''
`;
taskDefCloudFormation = [ taskDefCloudFormation = [
taskDefCloudFormation.slice(0, indexp1), taskDefCloudFormation.slice(0, indexp1),
template1, template1,
@ -493,11 +495,12 @@ class AWS {
].join(''); ].join('');
const indexp2 = taskDefCloudFormation.search(p2string) + p2string.length + '\n'.length; const indexp2 = taskDefCloudFormation.search(p2string) + p2string.length + '\n'.length;
const template2 = ` const template2 = `
TestSec: ${secret.ParameterKey}Secret:
Type: AWS::SecretsManager::Secret Type: AWS::SecretsManager::Secret
Properties: Properties:
Name: !Join [ "", [ 'testsec', !Ref BUILDID ] ] Name: !Join [ "", [ '${secret.ParameterKey}', !Ref BUILDID ] ]
SecretString: !Ref AWSSecretAccessKey`; SecretString: !Ref ${secret.ParameterKey}
`;
taskDefCloudFormation = [ taskDefCloudFormation = [
taskDefCloudFormation.slice(0, indexp2), taskDefCloudFormation.slice(0, indexp2),
template2, template2,
@ -505,13 +508,14 @@ class AWS {
].join(''); ].join('');
const indexp3 = taskDefCloudFormation.search(p3string) + p3string.length + '\n'.length; const indexp3 = taskDefCloudFormation.search(p3string) + p3string.length + '\n'.length;
const template3 = ` const template3 = `
- Name: 'test' - Name: '${secret.ParameterKey.toUpperCase()}'
ValueFrom: !Ref GithubTokenSecret`; ValueFrom: !Ref ${secret.ParameterKey}Secret`;
taskDefCloudFormation = [ taskDefCloudFormation = [
taskDefCloudFormation.slice(0, indexp3), taskDefCloudFormation.slice(0, indexp3),
template3, template3,
taskDefCloudFormation.slice(indexp3), taskDefCloudFormation.slice(indexp3),
].join(''); ].join('');
}
core.info(taskDefCloudFormation); core.info(taskDefCloudFormation);
yield CF.createStack({ yield CF.createStack({
StackName: taskDefStackName, StackName: taskDefStackName,

2
dist/index.js.map vendored

File diff suppressed because one or more lines are too long

View File

@ -333,14 +333,16 @@ class AWS {
`; `;
const taskDefStackName = `${stackName}-${buildUid}`; const taskDefStackName = `${stackName}-${buildUid}`;
let taskDefCloudFormation = fs.readFileSync(`${__dirname}/cloud-formations/task-def-formation.yml`, 'utf8'); let taskDefCloudFormation = fs.readFileSync(`${__dirname}/cloud-formations/task-def-formation.yml`, 'utf8');
for (const secret of secrets) {
const p1string = 'p1 - input'; const p1string = 'p1 - input';
const p2string = 'p2 - secret'; const p2string = 'p2 - secret';
const p3string = 'p3 - container def'; const p3string = 'p3 - container def';
const indexp1 = taskDefCloudFormation.search(p1string) + p1string.length + '\n'.length; const indexp1 = taskDefCloudFormation.search(p1string) + p1string.length + '\n'.length;
const template1 = ` const template1 = `
AWSSecretAccessKeyssss: ${secret.ParameterKey}:
Type: String Type: String
Default: '0'`; Default: ''
`;
taskDefCloudFormation = [ taskDefCloudFormation = [
taskDefCloudFormation.slice(0, indexp1), taskDefCloudFormation.slice(0, indexp1),
template1, template1,
@ -348,11 +350,12 @@ class AWS {
].join(''); ].join('');
const indexp2 = taskDefCloudFormation.search(p2string) + p2string.length + '\n'.length; const indexp2 = taskDefCloudFormation.search(p2string) + p2string.length + '\n'.length;
const template2 = ` const template2 = `
TestSec: ${secret.ParameterKey}Secret:
Type: AWS::SecretsManager::Secret Type: AWS::SecretsManager::Secret
Properties: Properties:
Name: !Join [ "", [ 'testsec', !Ref BUILDID ] ] Name: !Join [ "", [ '${secret.ParameterKey}', !Ref BUILDID ] ]
SecretString: !Ref AWSSecretAccessKey`; SecretString: !Ref ${secret.ParameterKey}
`;
taskDefCloudFormation = [ taskDefCloudFormation = [
taskDefCloudFormation.slice(0, indexp2), taskDefCloudFormation.slice(0, indexp2),
template2, template2,
@ -360,13 +363,14 @@ class AWS {
].join(''); ].join('');
const indexp3 = taskDefCloudFormation.search(p3string) + p3string.length + '\n'.length; const indexp3 = taskDefCloudFormation.search(p3string) + p3string.length + '\n'.length;
const template3 = ` const template3 = `
- Name: 'test' - Name: '${secret.ParameterKey.toUpperCase()}'
ValueFrom: !Ref GithubTokenSecret`; ValueFrom: !Ref ${secret.ParameterKey}Secret`;
taskDefCloudFormation = [ taskDefCloudFormation = [
taskDefCloudFormation.slice(0, indexp3), taskDefCloudFormation.slice(0, indexp3),
template3, template3,
taskDefCloudFormation.slice(indexp3), taskDefCloudFormation.slice(indexp3),
].join(''); ].join('');
}
core.info(taskDefCloudFormation); core.info(taskDefCloudFormation);