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;
|
||
|
}>;
|
||
|
};
|
||
|
}
|