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