feat: allow signing git commits from scaffolder

adds support to sign git commits with configured PGP key in scaffolder
actions. configuration can be done either by integration or by using the
default signing key in the scaffolder config. note that this
pgp-plugin is used for signing and that it is limited to using RSA keys
and signatures made with SHA1 hashing algorithm.

this change does not support github commit signing as it cannot be done
the same way due to GitHub app and REST API being used.

closes #25934

refers to #26333

Signed-off-by: Heikki Hellgren <heikki.hellgren@op.fi>
This commit is contained in:
Heikki Hellgren
2024-08-29 08:40:14 +03:00
committed by Hellgren Heikki
parent 37416e06d6
commit 4f8b5b66a1
34 changed files with 473 additions and 26 deletions
+32
View File
@@ -62,6 +62,10 @@ export interface Config {
tenantId?: string;
personalAccessToken?: string;
}[];
/**
* PGP signing key for signing commits.
*/
commitSigningKey?: string;
}>;
/**
@@ -94,6 +98,10 @@ export interface Config {
* @visibility secret
*/
appPassword?: string;
/**
* PGP signing key for signing commits.
*/
commitSigningKey?: string;
}>;
/** Integration configuration for Bitbucket Cloud */
@@ -108,6 +116,10 @@ export interface Config {
* @visibility secret
*/
appPassword: string;
/**
* PGP signing key for signing commits.
*/
commitSigningKey?: string;
}>;
/** Integration configuration for Bitbucket Server */
@@ -137,6 +149,10 @@ export interface Config {
* @visibility frontend
*/
apiBaseUrl?: string;
/**
* PGP signing key for signing commits.
*/
commitSigningKey?: string;
}>;
/** Integration configuration for Gerrit */
@@ -172,6 +188,10 @@ export interface Config {
* @visibility secret
*/
password?: string;
/**
* PGP signing key for signing commits.
*/
commitSigningKey?: string;
}>;
/** Integration configuration for GitHub */
@@ -233,6 +253,10 @@ export interface Config {
*/
allowedInstallationOwners?: string[];
}>;
/**
* PGP signing key for signing commits.
*/
commitSigningKey?: string;
}>;
/** Integration configuration for GitLab */
@@ -269,6 +293,10 @@ export interface Config {
* @visibility frontend
*/
baseUrl?: string;
/**
* PGP signing key for signing commits.
*/
commitSigningKey?: string;
}>;
/** Integration configuration for Google Cloud Storage */
@@ -349,6 +377,10 @@ export interface Config {
* @visibility secret
*/
password?: string;
/**
* PGP signing key for signing commits.
*/
commitSigningKey?: string;
}>;
/** Integration configuration for Harness Code */
harness?: Array<{