feat(settings): Add runtime settings management, node & baremetal managers, and settings UI
This commit is contained in:
56
ts_interfaces/data/settings.ts
Normal file
56
ts_interfaces/data/settings.ts
Normal file
@@ -0,0 +1,56 @@
|
||||
import * as plugins from '../plugins.js';
|
||||
|
||||
/**
|
||||
* Interface for Cloudly settings stored in EasyStore
|
||||
* These are runtime-configurable settings that can be modified via the UI
|
||||
*/
|
||||
export interface ICloudlySettings {
|
||||
// Cloud Provider Tokens
|
||||
hetznerToken?: string;
|
||||
cloudflareToken?: string;
|
||||
|
||||
// AWS Credentials
|
||||
awsAccessKey?: string;
|
||||
awsSecretKey?: string;
|
||||
awsRegion?: string;
|
||||
|
||||
// DigitalOcean
|
||||
digitalOceanToken?: string;
|
||||
|
||||
// Azure Credentials
|
||||
azureClientId?: string;
|
||||
azureClientSecret?: string;
|
||||
azureTenantId?: string;
|
||||
azureSubscriptionId?: string;
|
||||
|
||||
// Google Cloud
|
||||
googleCloudKeyJson?: string;
|
||||
googleCloudProjectId?: string;
|
||||
|
||||
// Vultr
|
||||
vultrApiKey?: string;
|
||||
|
||||
// Linode
|
||||
linodeToken?: string;
|
||||
|
||||
// OVH
|
||||
ovhApplicationKey?: string;
|
||||
ovhApplicationSecret?: string;
|
||||
ovhConsumerKey?: string;
|
||||
|
||||
// Scaleway
|
||||
scalewayAccessKey?: string;
|
||||
scalewaySecretKey?: string;
|
||||
scalewayOrganizationId?: string;
|
||||
|
||||
// Other settings that might be added in the future
|
||||
[key: string]: string | undefined;
|
||||
}
|
||||
|
||||
/**
|
||||
* Interface for masked settings (used in API responses)
|
||||
* Shows only last 4 characters of sensitive tokens
|
||||
*/
|
||||
export type ICloudlySettingsMasked = {
|
||||
[K in keyof ICloudlySettings]: string | undefined;
|
||||
};
|
Reference in New Issue
Block a user