Update config format
All checks were successful
Lint / lint (20.x) (pull_request) Successful in 4m33s
All checks were successful
Lint / lint (20.x) (pull_request) Successful in 4m33s
This commit is contained in:
parent
8cef21d23c
commit
d469e07eb1
@ -265,7 +265,12 @@ export class Registry {
|
||||
throw new Error(`No record found for ${lrn}`);
|
||||
}
|
||||
|
||||
const envHash = await this.generateConfigHash(data.environmentVariables, data.requesterAddress, data.publicKey, data.apiUrl);
|
||||
const hash = await this.generateConfigHash(
|
||||
data.environmentVariables,
|
||||
data.requesterAddress,
|
||||
data.publicKey,
|
||||
data.apiUrl,
|
||||
);
|
||||
|
||||
// Create record of type ApplicationDeploymentRequest and publish
|
||||
const applicationDeploymentRequest = {
|
||||
@ -277,7 +282,7 @@ export class Registry {
|
||||
|
||||
// https://git.vdb.to/cerc-io/laconic-registry-cli/commit/129019105dfb93bebcea02fde0ed64d0f8e5983b
|
||||
config: JSON.stringify({
|
||||
ref: envHash
|
||||
ref: hash,
|
||||
}),
|
||||
meta: JSON.stringify({
|
||||
note: `Added by Snowball @ ${DateTime.utc().toFormat(
|
||||
@ -539,37 +544,42 @@ export class Registry {
|
||||
return `lrn://${this.registryConfig.authority}/applications/${appName}`;
|
||||
}
|
||||
|
||||
async generateConfigHash(environmentVariables: { [key: string]: string }, requesterAddress: string, pubKey: string, url: string): Promise<string> {
|
||||
async generateConfigHash(
|
||||
environmentVariables: { [key: string]: string },
|
||||
requesterAddress: string,
|
||||
pubKey: string,
|
||||
url: string,
|
||||
): Promise<string> {
|
||||
// Config to be encrypted
|
||||
const config = {
|
||||
"authorized": [requesterAddress],
|
||||
"config": { "env": environmentVariables },
|
||||
}
|
||||
authorized: [requesterAddress],
|
||||
config: { env: environmentVariables },
|
||||
};
|
||||
|
||||
// Serialize the config (convert to YAML)
|
||||
// Serialize the config
|
||||
const serialized = JSON.stringify(config, null, 2);
|
||||
const armoredKey = `-----BEGIN PGP PUBLIC KEY BLOCK-----\n\n${pubKey}\n\n-----END PGP PUBLIC KEY BLOCK-----`;
|
||||
|
||||
const armoredKey = `-----BEGIN PGP PUBLIC KEY BLOCK-----\n\n${pubKey}\n\n-----END PGP PUBLIC KEY BLOCK-----`;
|
||||
const publicKey = await openpgp.readKey({ armoredKey });
|
||||
|
||||
// Encrypt the config
|
||||
const encrypted = await openpgp.encrypt({
|
||||
message: await openpgp.createMessage({ text: serialized }),
|
||||
encryptionKeys: publicKey,
|
||||
format: 'binary'
|
||||
format: 'binary',
|
||||
});
|
||||
|
||||
// Get the hash after uploading encrypted env
|
||||
// Get the hash after uploading encrypted config
|
||||
const response = await fetch(`${url}/upload/config`, {
|
||||
method: 'POST',
|
||||
headers: {
|
||||
'Content-Type': 'application/octet-stream'
|
||||
'Content-Type': 'application/octet-stream',
|
||||
},
|
||||
body: encrypted
|
||||
body: encrypted,
|
||||
});
|
||||
|
||||
const envHash = await response.json();
|
||||
const configHash = await response.json();
|
||||
|
||||
return envHash.id;
|
||||
};
|
||||
return configHash.id;
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user