forked from github-starred/komodo
* feat: add maintenance window management to suppress alerts during planned activities (#550) * feat: add scheduled maintenance windows to server configuration - Add maintenance window configuration to server entities - Implement maintenance window UI components with data table layout - Add maintenance tab to server interface - Suppress alerts during maintenance windows * chore: enhance maintenance windows with types and permission improvements - Add chrono dependency to Rust client core for time handling - Add comprehensive TypeScript types for maintenance windows (MaintenanceWindow, MaintenanceScheduleType, MaintenanceTime, DayOfWeek) - Improve maintenance config component to use usePermissions hook for better permission handling - Update package dependencies * feat: restore alert buffer system to prevent noise * fix yarn fe * fix the merge with new alerting changes * move alert buffer handle out of loop * nit * fix server version changes * unneeded buffer clear --------- Co-authored-by: mbecker20 <becker.maxh@gmail.com> * set version 1.18.2 * failed OIDC provider init doesn't cause panic, just error log * OIDC: use userinfo endpoint to get preffered username for user. * add profile to scopes and account for username already taken * search through server docker lists * move maintenance stuff * refactor maintenance schedules to have more toml compatible structure * daily schedule type use struct * add timezone to core info response * frontend can build with new maintenance types * Action monaco expose KomodoClient to init another client * flatten out the nested enum * update maintenance schedule types * dev-3 * implement maintenance windows on alerters * dev-4 * add IanaTimezone enum * typeshare timezone enum * maintenance modes almost done on servers AND alerters * maintenance schedules working * remove mention of migrator * Procedure / Action schedule timezone selector * improve timezone selector to display configure core TZ * dev-5 * refetch core version * add version to server list item info * add periphery version in server table * dev-6 * capitalize Unknown server status in cache * handle unknown version case * set server table sizes * default resource_poll_interval 1-hr * ensure parent folder exists before cloning * document Build Attach permission * git actions return absolute path * stack linked repos * resource toml replace linked_repo id with name * validate incoming linked repo * add linked repo to stack list item info * stack list item info resolved linked repo information * configure linked repo stack * to repo links * dev-7 * sync: replace linked repo with name for execute compare * obscure provider tokens in table view * clean up stack write w/ refactor * Resource Sync / Build start support Repo attach * add stack clone path config * Builds + syncs can link to repos * dev-9 * update ts * fix linked repo not included in resource sync list item info * add linked repo UI for builds / syncs * fix commit linked repo sync * include linked repo syncs * correct Sync / Build config mode * dev-12 fix resource sync inclusion w/ linked_repo * remove unneed sync commit todo!() * fix other config.repo.is_empty issues * replace ids in all to toml exports * Ensure git pull before commit for linear history, add to update logs * fix fe for linked repo cases * consolidate linked repo config component * fix resource sync commit behavior * dev 17 * Build uses Pull or Clone api to setup build source * capitalize Clone Repo stage * mount PullOrCloneRepo * dev-19 * Expand supported container names and also avoid unnecessary name formatting * dev-20 * add periphery /terminal/execute/container api * periphery client execute_container_exec method * implement execute container, deployment, stack exec * gen types * execute container exec method * clean up client / fix fe * enumerate exec ts methods for each resource type * fix and gen ts client * fix FE use connect_exec * add url log when terminal ws fail to connect * ts client server allow terminal.js * FE preload terminal.js / .d.ts * dev-23 fix stack terminal fail to connect when not explicitly setting container name * update docs on attach perms * 1.18.2 --------- Co-authored-by: Samuel Cardoso <R3D2@users.noreply.github.com>
130 lines
3.4 KiB
TOML
130 lines
3.4 KiB
TOML
[workspace]
|
|
resolver = "2"
|
|
members = [
|
|
"bin/*",
|
|
"lib/*",
|
|
"client/core/rs",
|
|
"client/periphery/rs",
|
|
]
|
|
|
|
[workspace.package]
|
|
version = "1.18.2"
|
|
edition = "2024"
|
|
authors = ["mbecker20 <becker.maxh@gmail.com>"]
|
|
license = "GPL-3.0-or-later"
|
|
repository = "https://github.com/moghtech/komodo"
|
|
homepage = "https://komo.do"
|
|
|
|
[workspace.dependencies]
|
|
# LOCAL
|
|
komodo_client = { path = "client/core/rs" }
|
|
periphery_client = { path = "client/periphery/rs" }
|
|
environment_file = { path = "lib/environment_file" }
|
|
formatting = { path = "lib/formatting" }
|
|
response = { path = "lib/response" }
|
|
command = { path = "lib/command" }
|
|
logger = { path = "lib/logger" }
|
|
cache = { path = "lib/cache" }
|
|
git = { path = "lib/git" }
|
|
|
|
# MOGH
|
|
run_command = { version = "0.0.6", features = ["async_tokio"] }
|
|
serror = { version = "0.5.0", default-features = false }
|
|
slack = { version = "0.4.0", package = "slack_client_rs", default-features = false, features = ["rustls"] }
|
|
derive_default_builder = "0.1.8"
|
|
derive_empty_traits = "0.1.0"
|
|
merge_config_files = "0.1.5"
|
|
async_timing_util = "1.0.0"
|
|
partial_derive2 = "0.4.3"
|
|
derive_variants = "1.0.0"
|
|
mongo_indexed = "2.0.1"
|
|
resolver_api = "3.0.0"
|
|
toml_pretty = "1.1.2"
|
|
mungos = "3.2.0"
|
|
svi = "1.0.1"
|
|
|
|
# ASYNC
|
|
reqwest = { version = "0.12.20", default-features = false, features = ["json", "stream", "rustls-tls-native-roots"] }
|
|
tokio = { version = "1.45.1", features = ["full"] }
|
|
tokio-util = { version = "0.7.15", features = ["io", "codec"] }
|
|
tokio-stream = { version = "0.1.17", features = ["sync"] }
|
|
pin-project-lite = "0.2.16"
|
|
futures = "0.3.31"
|
|
futures-util = "0.3.31"
|
|
arc-swap = "1.7.1"
|
|
|
|
# SERVER
|
|
tokio-tungstenite = { version = "0.27.0", features = ["rustls-tls-native-roots"] }
|
|
axum-extra = { version = "0.10.1", features = ["typed-header"] }
|
|
tower-http = { version = "0.6.4", features = ["fs", "cors"] }
|
|
axum-server = { version = "0.7.2", features = ["tls-rustls"] }
|
|
axum = { version = "0.8.4", features = ["ws", "json", "macros"] }
|
|
|
|
# SER/DE
|
|
indexmap = { version = "2.9.0", features = ["serde"] }
|
|
serde = { version = "1.0.219", features = ["derive"] }
|
|
strum = { version = "0.27.1", features = ["derive"] }
|
|
serde_json = "1.0.140"
|
|
serde_yaml = "0.9.34"
|
|
serde_qs = "0.15.0"
|
|
toml = "0.8.22"
|
|
|
|
# ERROR
|
|
anyhow = "1.0.98"
|
|
thiserror = "2.0.12"
|
|
|
|
# LOGGING
|
|
opentelemetry-otlp = { version = "0.29.0", features = ["tls-roots", "reqwest-rustls"] }
|
|
opentelemetry_sdk = { version = "0.29.0", features = ["rt-tokio"] }
|
|
tracing-subscriber = { version = "0.3.19", features = ["json"] }
|
|
opentelemetry-semantic-conventions = "0.29.0"
|
|
tracing-opentelemetry = "0.30.0"
|
|
opentelemetry = "0.29.1"
|
|
tracing = "0.1.41"
|
|
|
|
# CONFIG
|
|
clap = { version = "4.5.38", features = ["derive"] }
|
|
dotenvy = "0.15.7"
|
|
envy = "0.4.2"
|
|
|
|
# CRYPTO / AUTH
|
|
uuid = { version = "1.17.0", features = ["v4", "fast-rng", "serde"] }
|
|
jsonwebtoken = { version = "9.3.1", default-features = false }
|
|
openidconnect = "4.0.0"
|
|
urlencoding = "2.1.3"
|
|
nom_pem = "4.0.0"
|
|
bcrypt = "0.17.0"
|
|
base64 = "0.22.1"
|
|
rustls = "0.23.27"
|
|
hmac = "0.12.1"
|
|
sha2 = "0.10.9"
|
|
rand = "0.9.1"
|
|
hex = "0.4.3"
|
|
|
|
# SYSTEM
|
|
portable-pty = "0.9.0"
|
|
bollard = "0.19.0"
|
|
sysinfo = "0.35.1"
|
|
|
|
# CLOUD
|
|
aws-config = "1.6.3"
|
|
aws-sdk-ec2 = "1.134.0"
|
|
aws-credential-types = "1.2.3"
|
|
|
|
## CRON
|
|
english-to-cron = "0.1.6"
|
|
chrono-tz = "0.10.3"
|
|
chrono = "0.4.41"
|
|
croner = "2.1.0"
|
|
|
|
# MISC
|
|
derive_builder = "0.20.2"
|
|
typeshare = "1.0.4"
|
|
octorust = "0.10.0"
|
|
dashmap = "6.1.0"
|
|
wildcard = "0.3.0"
|
|
colored = "3.0.0"
|
|
regex = "1.11.1"
|
|
bytes = "1.10.1"
|
|
bson = "2.15.0"
|