79 lines
1.5 KiB
TypeScript
79 lines
1.5 KiB
TypeScript
export interface ISecretGroup {
|
|
/**
|
|
* the insatnce id. This should be a random id, except for default
|
|
*/
|
|
id: string;
|
|
|
|
data: {
|
|
/**
|
|
* the key of the secretgroup like CI_RUNNER_TOKEN
|
|
*/
|
|
key: string;
|
|
|
|
/**
|
|
* the priority of the secretgroup
|
|
* will be used to determine which secretgroup will be used
|
|
* when there are multiple secretgroups with the same key
|
|
*/
|
|
priority?: number;
|
|
|
|
/**
|
|
* any tags that can be used to filter the secretgroup
|
|
* can be used for putting secrets into projects
|
|
*/
|
|
tags: {
|
|
key: string;
|
|
value: string;
|
|
}[];
|
|
/**
|
|
* the values for this secretGroup
|
|
*/
|
|
environments: {
|
|
[key: string]: {
|
|
value: string;
|
|
|
|
/**
|
|
* can be used to update the value
|
|
*/
|
|
updateToken?: string;
|
|
|
|
/**
|
|
* the linux timestamp of the last update
|
|
*/
|
|
lastUpdated: number;
|
|
history: {
|
|
timestamp: string;
|
|
value: string;
|
|
}[];
|
|
};
|
|
};
|
|
};
|
|
}
|
|
|
|
export interface ISecretBundle {
|
|
id: string;
|
|
data: {
|
|
purpose: string;
|
|
/**
|
|
* You can add specific secret groups using this
|
|
*/
|
|
includedSecretGroupIds: string[];
|
|
|
|
/**
|
|
* You can add specific tags using this
|
|
*/
|
|
includedTags: {
|
|
key: string;
|
|
value: string;
|
|
}[];
|
|
|
|
/**
|
|
* authrozations select a specific environment of a config bundle
|
|
*/
|
|
authorizations: Array<{
|
|
secretAccessKey: string;
|
|
environment: string;
|
|
}>;
|
|
};
|
|
}
|