Add container registry pull, image source settings, and global AWS config
All checks were successful
Build Container / build-container (push) Successful in 1m59s

Support pulling images from registry (default: repo.anhonesthost.net/cybercovellc/triple-c/triple-c-sandbox:latest),
local builds, or custom images via a new settings UI. Add global AWS configuration
(config path auto-detect, profile picker, region) that serves as defaults overridable
per-project for Bedrock auth.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-02-27 15:22:49 +00:00
parent 6e68374604
commit 0f188783e1
22 changed files with 772 additions and 87 deletions

View File

@@ -1,2 +1 @@
export const APP_NAME = "Triple-C";
export const IMAGE_NAME = "triple-c:latest";

View File

@@ -1,5 +1,5 @@
import { invoke } from "@tauri-apps/api/core";
import type { Project, ContainerInfo, SiblingContainer } from "./types";
import type { Project, ContainerInfo, SiblingContainer, AppSettings } from "./types";
// Docker
export const checkDocker = () => invoke<boolean>("check_docker");
@@ -30,6 +30,15 @@ export const setApiKey = (key: string) =>
invoke<void>("set_api_key", { key });
export const hasApiKey = () => invoke<boolean>("has_api_key");
export const deleteApiKey = () => invoke<void>("delete_api_key");
export const getSettings = () => invoke<AppSettings>("get_settings");
export const updateSettings = (settings: AppSettings) =>
invoke<AppSettings>("update_settings", { settings });
export const pullImage = (imageName: string) =>
invoke<void>("pull_image", { imageName });
export const detectAwsConfig = () =>
invoke<string | null>("detect_aws_config");
export const listAwsProfiles = () =>
invoke<string[]>("list_aws_profiles");
// Terminal
export const openTerminalSession = (projectId: string, sessionId: string) =>

View File

@@ -58,3 +58,21 @@ export interface TerminalSession {
projectId: string;
projectName: string;
}
export type ImageSource = "registry" | "local_build" | "custom";
export interface GlobalAwsSettings {
aws_config_path: string | null;
aws_profile: string | null;
aws_region: string | null;
}
export interface AppSettings {
default_ssh_key_path: string | null;
default_git_user_name: string | null;
default_git_user_email: string | null;
docker_socket_path: string | null;
image_source: ImageSource;
custom_image_name: string | null;
global_aws: GlobalAwsSettings;
}