mirror of
https://github.com/moghtech/komodo.git
synced 2026-09-11 08:01:13 +00:00
* inc version * Komodo interp in ui compose file * fix auto update when image doesn't specify tag by defaulting to latest * Pull image buttons don't need safety dialog * WIP crosscompile * rename * entrypoint * fix copy * remove example/* from workspace * add targets * multiarch pkg config * use specific COPY * update deps * multiarch build command * pre compile deps * cross compile * enable-linger * remove spammed log when server doesn't have docker * add multiarch.Dockerfile * fix casing * fix tag * try not let COPY fail * try * ARG TARGETPLATFORM * use /app for consistency * try * delete cross-compile approach * add multiarch core build * multiarch Deno * single arch multi arch * typeshare cli note * new typeshare * remove note about aarch64 image * test configs * fix config file headers * binaries dockerfile * update cargo build * docs * simple * just simple * use -p * add configurable binaries tag * add multi-arch * allow copy to fail * fix binary paths * frontend Dockerfiel * use dedicated static frontend build * auto retry getting instance state from aws * retry 5 times * cleanup * simplify binary build * try alpine and musl * install alpine deps * back to debian, try rustls * move fully to rustls * single arch builds using single binary image * default IMAGE_TAG * cleanup * try caching deps * single arch add frontend build * rustls::crypto::ring::default_provider() * back to simple * comment dockerfile * add select options prop, render checkboxes if present * add allowSelectedIf to enable / disable rows where necessary * rename allowSelectIf to isSelectable, allow false as global disable, disable checkboxes when not allowed * rename isSelectable to disableRow (it works the oppsite way lol) * selected resources hook, start deployment batch execute component * add deployment group actions * add deployment group actions * add default (empty) group actions for other resources * fix checkbox header styles * explicitly check if disableRow is passed (this prop is cursed) * don't disable row selection for deployments table * don't need id for groupactions * add group actions to resources page * fix row checkbox (prop not cursed, i dumb) * re-implement group action list using dropdown menu * only make group actions clickable when at least one row selected * add loading indicator * gap betwen new resource and group actions * refactor group actions * remove "Batch" from action labels * add group actions for relevant resources * fix hardcode * add selectOptions to relevant tables * select by name not id * expect selected to be names * add note re selection state init for future reference * multi select working nicely for all resources * configure server health check timeout * config message * refresh processes remove dead processes * simplify the build args * default timeout seconds 3 --------- Co-authored-by: kv <karamvir.singh98@gmail.com>
58 lines
1.6 KiB
TypeScript
58 lines
1.6 KiB
TypeScript
import { Types } from "komodo_client";
|
|
|
|
export type UsableResource = Exclude<Types.ResourceTarget["type"], "System">;
|
|
|
|
type IdComponent = React.FC<{ id: string }>;
|
|
type OptionalIdComponent = React.FC<{ id?: string }>;
|
|
|
|
export interface RequiredResourceComponents {
|
|
list_item: (id: string) => Types.ResourceListItem<unknown> | undefined;
|
|
resource_links: (
|
|
resource: Types.Resource<unknown, unknown>
|
|
) => Array<string> | undefined;
|
|
|
|
Description: React.FC;
|
|
|
|
/** Header for individual resource pages */
|
|
ResourcePageHeader: IdComponent;
|
|
|
|
/** Summary card for use in dashboard */
|
|
Dashboard: React.FC;
|
|
|
|
/** New resource button / dialog */
|
|
New: React.FC<{ server_id?: string; build_id?: string }>;
|
|
|
|
/** A table component to view resource list */
|
|
Table: React.FC<{ resources: Types.ResourceListItem<unknown>[] }>;
|
|
|
|
/** Dropdown menu to trigger group actions for selected resources */
|
|
GroupActions: React.FC;
|
|
|
|
/** Icon for the component */
|
|
Icon: OptionalIdComponent;
|
|
BigIcon: OptionalIdComponent;
|
|
|
|
State: IdComponent;
|
|
|
|
/** status metrics, like deployment state / status */
|
|
Status: { [status: string]: IdComponent };
|
|
|
|
/**
|
|
* Some config items shown in header, like deployment server /image
|
|
* or build repo / branch
|
|
*/
|
|
Info: { [info: string]: IdComponent };
|
|
|
|
/** Action buttons */
|
|
Actions: { [action: string]: IdComponent };
|
|
|
|
/** Resource specific sections */
|
|
Page: { [section: string]: IdComponent };
|
|
|
|
/** Config component for resource */
|
|
Config: IdComponent;
|
|
|
|
/** Danger zone for resource, containing eg rename, delete */
|
|
DangerZone: IdComponent;
|
|
}
|