interfaces/ts/data/secret.ts

79 lines
1.5 KiB
TypeScript
Raw Normal View History

2024-01-24 00:35:26 +00:00
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;
}>;
};
}