mirror of
https://github.com/moghtech/komodo.git
synced 2026-04-28 19:59:46 -05:00
* new ui using mantine * resources page * prog on resource page * resources and resource layouts * confirm button and modal * tweaks * update details * topbar updates * add skeletons for resource implementations * add resource tables * add tags to recents cards * resource page table scrolling * table component + tags filter * export toml * New Resource button * Fix update details capture closing * tweaks * omni search * refine config * config tweaks * implement more configs / resource selector * add profile page * provider / account selectors * container table page * build config * deployment config * fix deployment build version selector * fix secrets selector * resource sync config * mobile topbar and updates * update details fz sm * stack config * terminals page * create terminal in prog * create terminal menu * finish create terminal menu * terminal pages working * stack tabs / info * add executions * add server header info * confirm pubkey modal * improve resource header styling * FileSource component * stack service table, move icons.ts * basic procedure config * tweak procedure config * container / image pages * network / volume pages * clean up docker resource pages * basic log / terminal ui * reusable log section * styling * clean up resource components * delete in resource header * log auto select stderr * fix some bgs * stack logs with service selector * stack terminals * add deployment executions * use correct icon * useResource hooks * build info * build info * tweaks * server tabs * fix terminal section target * prog on server tabs * server stats * light theme * start on historical stats * stack service page * resource sync tabs * sync tabs * more topbar icons * add settings basic * add topbar alerts * tweak stream selector behavior * tweak alert icon topbar * improve styling smaller screen * schedules page and other progress * onboarding keys * improve schedule page descriptions * improve update notifications * schedule timezone selector * tag color selector * finish settings / providers * use shared-text-update component so settings tables aren't janky * updates page * refine updates page * alert page * standardize borders * theme and swarm * swarm tabs * swarm node page * swarm config page * swarm pages * swarm task and secret pages * swarm stack page * fix stack log service selector in swarm mode * standard inspect section * swarm inspect tab * server and swarm resources tab * add disable confirm dialog (modal) option for executions * stack update available indicator * deployment update available * add template switch to resource headers * ResourceHeader + rename * set editing name onclick * repo tabs * server stats table * refine a bit * refine deployment / stack header info * show server stats dashboard. dashboard tables * action last run in config * SettingsUsers page * user page etc * manage api key * user base permissions * color the table multi select * user group page * UserAddUserGroup * active includes deployments / stacks * improve small screen view * fix docker pages execution showing * clean up * rename frontend to UI * align profile page styling * config maintenance windows * finish maintenance windows * builder config * add batch execute dropdown / confirm menu * batch execute styling * deploy 2.0.0-dev-117 * improve stats card light theme * add update page * improve mobile * terminal group nowrap * mobile improvements * allow unused again * improve mobile font sizing * improve mobile updates / alerts * mobile tabs * alert page * add server version mismatch color * new resource, clearable selector * Fix build show info tab * copy resources * keyboard shortcuts * server resource header version mismatch * fix type errors * container page server multi select * confirm button clear timeout * hash compare force uses first 8 for short hash * fix log height * copy webhooks * responsive tweaks * add icons to server stat sections * add historical server stats charts * server stat current card shows usage numbers * refine current stats more * fix shortcuts interfering with monaco brave * clean up unused * remove v1 frontend
58 lines
1.4 KiB
Rust
58 lines
1.4 KiB
Rust
use axum::{Extension, Router, routing::get};
|
|
use komodo_client::entities::user::User;
|
|
use mogh_auth_server::middleware::authenticate_request;
|
|
use mogh_error::Json;
|
|
use mogh_server::{
|
|
cors::cors_layer, session::memory_session_layer,
|
|
ui::serve_static_ui,
|
|
};
|
|
|
|
use crate::{auth::KomodoAuthImpl, config::core_config, ts_client};
|
|
|
|
pub mod execute;
|
|
pub mod read;
|
|
pub mod write;
|
|
|
|
mod listener;
|
|
mod openapi;
|
|
mod terminal;
|
|
mod ws;
|
|
|
|
#[derive(serde::Deserialize)]
|
|
struct Variant {
|
|
variant: String,
|
|
}
|
|
|
|
pub fn app() -> Router {
|
|
let config = core_config();
|
|
Router::new()
|
|
.merge(openapi::serve_docs())
|
|
.route("/version", get(|| async { env!("CARGO_PKG_VERSION") }))
|
|
.nest("/auth", mogh_auth_server::api::router::<KomodoAuthImpl>())
|
|
.nest("/user", user_router())
|
|
.nest("/read", read::router())
|
|
.nest("/write", write::router())
|
|
.nest("/execute", execute::router())
|
|
.nest("/terminal", terminal::router())
|
|
.nest("/listener", listener::router())
|
|
.nest("/ws", ws::router())
|
|
.nest("/client", ts_client::router())
|
|
.layer(memory_session_layer(config))
|
|
.fallback_service(serve_static_ui(
|
|
&config.ui_path,
|
|
config.ui_index_force_no_cache,
|
|
))
|
|
.layer(cors_layer(config))
|
|
}
|
|
|
|
fn user_router() -> Router {
|
|
Router::new()
|
|
.route(
|
|
"/",
|
|
get(|Extension(user): Extension<User>| async { Json(user) }),
|
|
)
|
|
.layer(axum::middleware::from_fn(
|
|
authenticate_request::<KomodoAuthImpl, false>,
|
|
))
|
|
}
|