feat: Add settings view for cloud provider configurations

- Implemented CloudlyViewSettings component for managing cloud provider settings including Hetzner, Cloudflare, AWS, DigitalOcean, Azure, and Google Cloud.
- Added functionality to load, save, and test connections for each provider.
- Enhanced UI with loading states and success/error notifications.

feat: Create tasks view with execution history

- Developed CloudlyViewTasks component to display and manage tasks and their executions.
- Integrated auto-refresh functionality for task executions.
- Added filtering and searching capabilities for tasks.

feat: Implement execution details and task panel components

- Created CloudlyExecutionDetails component to show detailed information about task executions including logs and metrics.
- Developed CloudlyTaskPanel component to display individual tasks with execution status and actions to run or cancel tasks.

feat: Utility functions for formatting and categorization

- Added utility functions for formatting dates, durations, and cron expressions.
- Implemented functions to retrieve category icons and hues for task categorization.
This commit is contained in:
2025-09-14 17:28:21 +00:00
parent 5ef8621db7
commit bb313fd9dc
38 changed files with 2363 additions and 5088 deletions

View File

@@ -11,23 +11,23 @@ import {
html,
state
} from '@design.estate/dees-element';
import { CloudlyViewBackups } from './cloudly-view-backups.js';
import { CloudlyViewClusters } from './cloudly-view-clusters.js';
import { CloudlyViewDbs } from './cloudly-view-dbs.js';
import { CloudlyViewDeployments } from './cloudly-view-deployments.js';
import { CloudlyViewDns } from './cloudly-view-dns.js';
import { CloudlyViewDomains } from './cloudly-view-domains.js';
import { CloudlyViewImages } from './cloudly-view-images.js';
import { CloudlyViewLogs } from './cloudly-view-logs.js';
import { CloudlyViewMails } from './cloudly-view-mails.js';
import { CloudlyViewOverview } from './cloudly-view-overview.js';
import { CloudlyViewS3 } from './cloudly-view-s3.js';
import { CloudlyViewSecretBundles } from './cloudly-view-secretbundles.js';
import { CloudlyViewSecretGroups } from './cloudly-view-secretgroups.js';
import { CloudlyViewServices } from './cloudly-view-services.js';
import { CloudlyViewExternalRegistries } from './cloudly-view-externalregistries.js';
import { CloudlyViewSettings } from './cloudly-view-settings.js';
import { CloudlyViewTasks } from './cloudly-view-tasks.js';
import { CloudlyViewBackups } from './views/backups/index.js';
import { CloudlyViewClusters } from './views/clusters/index.js';
import { CloudlyViewDbs } from './views/dbs/index.js';
import { CloudlyViewDeployments } from './views/deployments/index.js';
import { CloudlyViewDns } from './views/dns/index.js';
import { CloudlyViewDomains } from './views/domains/index.js';
import { CloudlyViewImages } from './views/images/index.js';
import { CloudlyViewLogs } from './views/logs/index.js';
import { CloudlyViewMails } from './views/mails/index.js';
import { CloudlyViewOverview } from './views/overview/index.js';
import { CloudlyViewS3 } from './views/s3/index.js';
import { CloudlyViewSecretBundles } from './views/secretbundles/index.js';
import { CloudlyViewSecretGroups } from './views/secretgroups/index.js';
import { CloudlyViewServices } from './views/services/index.js';
import { CloudlyViewExternalRegistries } from './views/externalregistries/index.js';
import { CloudlyViewSettings } from './views/settings/index.js';
import { CloudlyViewTasks } from './views/tasks/index.js';
declare global {
interface HTMLElementTagNameMap {