56 lines
1.4 KiB
TypeScript
56 lines
1.4 KiB
TypeScript
export interface ISecretBundle {
|
|
id: string;
|
|
data: {
|
|
name: string;
|
|
description: string;
|
|
|
|
/**
|
|
* determines if the secret is a service or an external secret
|
|
* if external secret additional checks are put in place to protect the secret
|
|
*
|
|
* * service:
|
|
* the bundle belongs to a service and can only be used by that service
|
|
* * npmci:
|
|
* the bundle is a secret bundle that is used by an npmci pipeline
|
|
* production secrets will be omitted in any case
|
|
* * gitzone:
|
|
* the bundle is a secret bundle that is used by a gitzone.
|
|
* Only local environment variables are allowed
|
|
* * external:
|
|
* the bundle is a secret bundle that is used by an external service
|
|
*/
|
|
type: 'service' | 'npmci' | 'gitzone' | 'external';
|
|
|
|
/**
|
|
* You can add specific secret groups using this
|
|
*/
|
|
includedSecretGroupIds: string[];
|
|
|
|
/**
|
|
* You can add specific tags using this
|
|
*/
|
|
includedTags: {
|
|
key: string;
|
|
value?: string;
|
|
}[];
|
|
|
|
/**
|
|
* add images
|
|
*/
|
|
includedImages: {
|
|
imageId: string;
|
|
permissions: ('read' | 'write')[];
|
|
}[];
|
|
|
|
/**
|
|
* authrozations select a specific environment of a config bundle
|
|
*/
|
|
authorizations: Array<ISecretBundleAuthorization>;
|
|
};
|
|
}
|
|
|
|
export interface ISecretBundleAuthorization {
|
|
secretAccessKey: string;
|
|
environment: string;
|
|
}
|