* start 1.19.5
* deploy 1.19.5-dev-1
* avoid execute_and_poll error when update is already complete or has no id
* improve image tagging customization
* 1.19.5 release
* start 1.19.4
* deploy 1.19.4-dev-1
* try smaller binaries with cargo strip
* deploy 1.19.4-dev-2
* smaller binaries with cargo strip
* Fix Submit Dialog Button Behavior with 500 Errors on Duplicate Names (#819)
* Implement enhanced error handling and messaging for resource creation
* Implement improved error handling for resource creation across alerter, build, and sync
* Implement error handling improvements for resource copying and validation feedback
* Adjust error handling for resource creation to distinguish validation errors from unexpected system errors
* Refactor resource creation error handling by removing redundant match statements and simplifying the error propagation in multiple API modules.
* fmt
* bump indexmap
* fix account selector showing empty when account no longer found
* clean up theme logic, ensure monaco and others get up to date current theme
* enforce disable_non_admin_create for tags. Clean up status code responses
* update server cache concurrency controller
* deploy 1.19.4-dev-3
* Allow signing in by pressing enter (#830)
* Improve dialog overflow handling to prevent clipping of content (#828)
* Add Email notification entry to community.md (#824)
* Add clickable file path to show/hide file contents in StackInfo (#827)
* add clickable file path to show/hide file contents in StackInfo
Also added CopyButton due to the new functionality making the file path not selectable.
* Move clicking interaction to CardHeader
* Avoid sync edge cases of having toggle show function capturing showContents from outside
Co-authored-by: Maxwell Becker <49575486+mbecker20@users.noreply.github.com>
* Format previous change
* Add `default_show_contents` to `handleToggleShow`
---------
Co-authored-by: Maxwell Becker <49575486+mbecker20@users.noreply.github.com>
* deploy 1.19.4-dev-4
* avoid stake info ShowHideButton double toggle
* Allow multiple simultaneous Action runs for use with Args
* deploy 1.19.4-dev-5
* feat: persist all table sorting states including unsorted (#832)
- Always save sorting state to localStorage, even when empty/unsorted
- Fixes issue where 'unsorted' state was not persisted across page reloads
- Ensures consistent and predictable sorting behavior for all DataTable components
* autofocus on login username field (#837)
* Fix unnecessary auth queries flooding console on login page (#842)
* Refactor authentication error handling to use serror::Result and status codes
* Enable user query only when JWT is present
* Enable query execution in useRead only if JWT is present
* Revert backend auth changes - keep PR focused on frontend only
* Fix unnecessary API queries to unreachable servers flooding console (#843)
* Implement server availability checks in various components
* Refactor server availability check to ensure only healthy servers are identified
* cargo fmt
* fmt
* Auth error handling with status codes (#841)
* Refactor authentication error handling to use serror::Result and status codes
* Refactor error messages
* Refactor authentication error handling to include status codes and improve error messages
* clean up
* clean
* fmt
* invalid user id also UNAUTHORIZED
* deploy 1.19.4-dev-6
* deploy 1.19.4-dev-7
---------
Co-authored-by: Marcel Pfennig <82059270+MP-Tool@users.noreply.github.com>
Co-authored-by: jack <45038833+jackra1n@users.noreply.github.com>
Co-authored-by: Guten <ywzhaifei@gmail.com>
Co-authored-by: Paulo Roberto Albuquerque <paulora2405@gmail.com>
Co-authored-by: Lorenzo Farnararo <2814802+baldarn@users.noreply.github.com>
* 1.19.2-dev-0
* deploy 1.19.2-dev-1
* Add option to make run command detachable (#766)
* improve missing files log to include the missing paths
* bump mungos for urlencoding mongo creds
* Update permissioning.md - typo: "priviledges" -> "privileges" (#770)
* Add support for monaco-yaml and docker compose spec validatiaon (#772)
* deploy 1.19.2-dev-2
* on delete user, remove from all user groups
* fix Google login issues around `picture`
* unsafe_unsanitized_startup_config
* improve git provider support re #355
* should fix#468
* should fix exit code re #597
* deploy 1.19.2-dev-3
* fix container ports sorting (#776)
* missing serde default
* deploy 1.19.2-dev-4
* ensure git tokens trimmed in remote url
* Add link to Authentik support docs
* Fix incorrect commit branch when using linked repo re #634
* Better display container port ranges (#786)
* ensure build and sync also commit to correct branch. re #634
* deploy 1.19.2-dev-5
* Improve login form (#788)
* Use proper form for login, add autocomplete and names to input fields
* Do not return null if loading
* Remove unused function
* Cleanup and streamline
* improve login screen flash on reload
* first builder given same name as first server
* 1.19.2
---------
Co-authored-by: mbecker20 <max@mogh.tech>
Co-authored-by: Brian Bradley <brian.bradley.p@gmail.com>
Co-authored-by: Ravi Wolter-Krishan <rkn@gedikas.net>
Co-authored-by: Christopher Hoage <iam@chrishoage.com>
Co-authored-by: jack <45038833+jackra1n@users.noreply.github.com>
* start 1.19.1
* deploy 1.19.1-dev-1
* Global Auto Update rustdoc
* support stack additional files
* deploy 1.19.1-dev-2
* Fe support additional file language detection
* fix tsc
* Fix: Example code blocks got interpreted as rust code, leading to compilation errors (#743)
* Enhanced Server Stats Dashboard with Performance Optimizations (#746)
* Improve the layout of server mini stats in the dashboard.
- Server stats and tags made siblings for clearer responsibilities
- Changed margin to padding
- Unreachable indicator made into an overlay of the stats
* feat: optimize dashboard server stats with lazy loading and smart server availability checks
- Add enabled prop to ServerStatsMini for conditional data fetching
- Implement server availability check (only fetch stats for Ok servers, not NotOk/Disabled)
- Prevent 500 errors by avoiding API calls to offline servers
- Increase polling interval from 10s to 15s and add 5s stale time
- Add useMemo for expensive calculations to reduce re-renders
- Add conditional overlay rendering for unreachable servers
- Only render stats when showServerStats preference is enabled
* fix: show disabled servers with overlay instead of hiding component
- Maintain consistent layout by showing disabled state overlay
- Prevent UX inconsistency where disabled servers disappeared entirely
* fix: show button height
* feat: add enhance card animations
* cleanup
* gen types
* deploy 1.19.1-dev-3
* add .ini
* deploy 1.19.1-dev-4
* simple configure action args as JSON
* server enabled actually defaults false
* SendAlert via Action / CLI
* fix clippy if let string
* deploy 1.19.1-dev-5
* improve cli ergonomics
* gen types and fix responses formatting
* Add RunStackService API implementing `docker compose run` (#732)
* Add RunStackService API implementing `docker compose run`
* Add working Procedure configuration
* Remove `km execute run` alias. Remove redundant ``#[serde(default)]` on `Option`.
* Refactor command from `String` to `Vec<String>`
* Implement proper shell escaping
* bump deps
* Update configuration.md - fix typo: "affect" -> "effect" (#747)
* clean up SendAlert doc
* deploy 1.19.1-dev-6
* env file args won't double pass env file
* deploy 1.19.1-dev-7
* Add Enter Key Support for Dialog Confirmations (#750)
* start 1.19.1
* deploy 1.19.1-dev-1
* Implement usePromptHotkeys for enhanced dialog interactions and UX
* Refactor usePromptHotkeys to enhance confirm button detection and improve UX
* Remove forceConfirmDialog prop from ActionWithDialog and related logic for cleaner implementation
* Add dialog descriptions to ConfirmUpdate and ActionWithDialog for better clarity and resolve warnings
* fix
* Restore forceConfirmDialog prop to ActionWithDialog for enhanced confirmation handling
* cleanup
* Remove conditional className logic from ConfirmButton
---------
Co-authored-by: mbecker20 <max@mogh.tech>
* Support complex file depency action resolution
* get FE compile
* deploy 1.19.1-dev-8
* implement additional file dependency configuration
* deploy 1.19.1-dev-9
* UI default file dependency None
* default additional file requires is None
* deploy 1.19.1-dev-10
* rename additional_files => config_files for clarity
* deploy 1.19.1-dev-11
* fix skip serializing if None
* deploy 1.19.1-dev-12
* stack file dependency toml parsing aliases
* fmt
* Add: Server Version Mismatch Warnings & Alert System (#748)
* start 1.19.1
* deploy 1.19.1-dev-1
* feat: implement version mismatch warnings in server UI
- Replace orange warning colors with yellow for better visibility
- Add version mismatch detection that shows warnings instead of OK status
Implement responsive "VERSION MISMATCH" badge layout
- Update server dashboard to include warning counts
- Add backend version comparison logic for GetServersSummary
* feat: add warning count to server summary and update backup documentation link
* feat: add server version mismatch alert handling and update server summary invalidation logic
* fix: correct version mismatch alert config and disabled server display
- Use send_version_mismatch_alerts instead of send_unreachable_alerts
- Show 'Unknown' instead of 'Disabled' for disabled server versions
- Remove commented VersionAlert and Alerts UI components
- Update version to 1.19.0
* cleanup
* Update TypeScript types after merge
* cleanup
* cleanup
* cleanup
* Add "ServerVersionMismatch" to alert types
* Adjust color classes for warning states and revert server update invalidation logic
---------
Co-authored-by: mbecker20 <max@mogh.tech>
* backend for build multi registry push support
* deploy 1.19.1-dev-13
* build multi registry configuration
* deploy 1.19.1-dev-14
* fix invalid tokens JSON
* DeployStackIfChanged restarts also update stack.info.deployed_contents
* update deployed services comments
* deploy 1.19.1-dev-15
* Enhance server monitoring with load average data and new server monitoring table (#761)
* add monitoring page
* initial table
* moving monitoring table to servers
* add cpu load average
* typeshare doesnt allow tuples
* fix GetHistoricalServerStats
* add loadAvg to the server monitoring table
* improve styling
* add load average chart
* multiple colors for average loads chart
* make load average chart line and non-stacked
* cleanup
* use server thresholds
* cleanup
* Change "Dependents:" to "Services:" in config file service dependency
selector
* deploy 1.19.1-dev-16
* 1.19.1
---------
Co-authored-by: mbecker20 <max@mogh.tech>
Co-authored-by: Marcel Pfennig <82059270+MP-Tool@users.noreply.github.com>
Co-authored-by: Brian Bradley <brian.bradley.p@gmail.com>
Co-authored-by: Ravi Wolter-Krishan <rkn@gedikas.net>
Co-authored-by: jack <45038833+jackra1n@users.noreply.github.com>
* start 1.18.5
* prevent empty additional permission check (ie for new resources)
* dev-2
* bump rust to 1.88
* tweaks
* repo based stack commit happens from core repo cache rather than on server to simplify
* clippy auto fix
* clippy lints periphery
* clippy fix komodo_client
* dev-3
* emphasize ferret version pinning
* bump svi with PR fix
* dev-4
* webhook disabled early return
* Fix missing alert types for whitelist
* add "ScheduleRun"
* fix status cache not cleaning on resource delete
* dev-5
* forgot to pipe through poll in previous refactor
* refetch given in ms
* fix configure build extra args
* reorder resource sync config
* Implement ability to run actions at startup (#664)
* Implement ability to run actions at startup
* run post-startup actions after server is listening
* startup use action query
* fmt
* Fix Google Login enabled message (#668)
- it was showing "Github Login" instead of "Google Login"
* Allow CIDR ranges in Allowed IPs (#666)
* Allow CIDR ranges in Allowed IPs
* Catch mixed IPv4/IPv6 mappings that are probably intended to match
* forgiving vec
* dev-6
* forgiving vec log. allowed ips docs
* server stats UI: move current disk breakdown above charts
* searchable container stats, toggle collaple container / disk sections
* Add Clear repo cache method
* fix execute usage docs
* Komodo managed env-file should take precedence in all cases (ie come last in env file list)
* tag include unused flag for future use
* combine users page search
* util backup / restore
* refactor backup/restore duplication
* cleanup restore
* core image include util binary
* dev-7
* back to LinesCodec
* dev-8
* clean up
* clean up logs
* rename to komodo-util
* dev-9
* enable_fance_toml
* dev-10 enable fancy toml
* add user agent to oidc requests (#701)
Co-authored-by: eleith <online-github@eleith.com>
* fmt
* use database library
* clippy lint
* consolidate and standardize cli
* dev-11
* dev-12 implement backup using cli
* dev-13 logs
* command variant fields need to be #[arg]
* tweak cli
* gen client
* fix terminal reconnect issue
* rename cli to `km`
* tweaks for the cli logs
* wait for enter on --yes empty println
* fix --yes
* dev-15
* bump deps
* update croner to latest, use static parser
* dev-16
* cli execute polls updates until complete before logging
* remove repo cache mount
* cli nice
* /backup -> /backups
* dev-17 config loading preserves CONFIG_PATHS precedence
* update dockerfile default docker cli config keywords
* dev-18
* support .kmignore
* add ignores log
* Implement automatic backup pruning, default 14 backups before prune
* db copy / restore uses idempotent upsert
* cli update variable - "km set var VAR value"
* improve cli initial logs
* time the executions
* implement update for most resources
* dev 20
* add update page
* dev 21 support cli update link
* dev-22 test the deploy
* dev-23 use indexmap
* install-cli.py
* Frontend mobile fixes (#714)
* Allow ResourcePageHeader items to wrap
* Allow CardHeader items to wrap
* Increase z-index of sticky TableHeader, fixes#690
* Remove fixed widths from ActionButton, let them flex more to fit more layouts
* Make Section scroll overflow
* Remove grid class from Tabs, seems to prevent them from overflowing at small sizes
* deploy 1.18.5-dev-24
* auto version increment and deploy
* cli: profiles support aliases and merge on top of Default (root) config
* fix page set titles
* rust 1.89 and improve config logs
* skip serializing for proper merge
* fix clippy lints re 1.89
* remove layouts overflow-x-scroll
* deploy 1.18.5-dev-25
* 1.89 docker images not ready yet
* km cfg -a (print all profiles)
* include commit variables
* skip serializing profiles when empty
* skip serialize default db / log configs
* km cfg --debug print mode
* correct defaults for CLI and only can pass restore folder from cli arg
* some more skip serialization
* db restore / copy index optional
* add runfile command aliases
* remove second schedule updating loop, can causes some schedules to be missed
* deploy 1.18.5-dev-26
* add log when target db indexing disabled
* cli: user password reset, update user super admin
* Add manual network interface configuration for multi-NIC Docker environments (#719)
* Add iproute2 to debian-debs
* feat: Add manual network interface configuration for multi-NIC support
Complete implementation of manual interface configuration:
- Add internet_interface config option
- Implement manual gateway routing
- Add NET_ADMIN capability requirement
- Clean up codebase changes
* fix: Update internet interface handling for multi-NIC support
* refactor: Enhance error messages and logging in networking module
* refactor: Simplify interface argument handling and improve logging in network configuration and cleanup
* refactor(network): simplify startup integration and improve error handling
- Move config access and error handling into network::configure_internet_gateway()
- Simplify startup.rs to single function call without parameters
- Remove redundant check_network_privileges() function
- Improve error handling by checking actual command output instead of pre-validation
- Better separation of concerns between startup and network modules
Addresses feedback from PR discussion:
https://github.com/moghtech/komodo/pull/719#discussion_r2261542921
* fix(config): update default internet interface setting
Addresses feedback from PR discussion:
https://github.com/moghtech/komodo/pull/719#discussion_r2261552279
* fix(config): remove custom default for internet interface in CoreConfig
* move mod.rs -> network.rs
Addresses feedback from PR discussion:
https://github.com/moghtech/komodo/pull/719#discussion_r2261558332
* add internet interface example
* docs(build-images): document multi-platform builds with Docker Buildx (#721)
* docs(build-images): add multi-platform buildx guide to builders.md
* docs(build-images): add multi-platform buildx guide and clarify platform selection in Komodo UI Extra Args field
* move to 1.19.0
* core support reading from multiple config files
* config support yaml
* deploy 1.19.0-dev-1
* deploy 1.19.0-dev-2
* add default komodo cli config
* better config merge with base
* no need to panic if empty config paths
* improve km --help
* prog on cli docs
* tweak cli docs
* tweak doc
* split the runfile commands
* update docsite deps
* km ps initial
* km ls
* list resource apis
* km con inspect
* deploy 1.19.0-dev-3
* fix: need serde default
* dev-4 fix container parsing issue
* tweak
* use include-based file finding for much faster discovery
* just move to standard config dir .config/komodo/komodo.cli.*
* update fe w/ new contianer info minimal serialization
* add links to table names
* deploy 1.19.0-dev-5
* links in tables
* backend for Action arguments
* deploy 1.19.0-dev-6
* deploy 1.19.0-dev-7
* deploy 1.19.0-dev-8
* no space at front of KeyValue default args
* webhook branch / body optional
* The incoming arguments
* deploy 1.19.0-dev-9
* con -> cn
* add config -> cf alias
* .kmignore
* .peripheryinclude
* outdated
* optional links, configurable table format
* table_format -> table_borders
* get types
* include docsite in yarn install
* update runnables command in docs
* tweak
* improve km ls only show important stuff
* Add BackupCoreDatabase
* deploy 1.19.0-dev-10
* backup command needs "--yes"
* deploy 1.19.0-dev-11
* update rustc 1.89.0
* cli tweak
* try chef
* Fix chef (after dependencies)
* try other compile command
* fix
* fix comment
* cleanup stats page
* ensure database backup procedure
* UI allow configure Backup Core Database in Procedures
* procedure description
* deploy 1.19.0-dev-12
* deploy 1.19.0-dev-13
* GlobalAutoUpdate
* deploy 1.19.0-dev-14
* default tags and global auto update procedure
* deploy 1.19.0-dev-15
* trim the default procedure descriptions
* deploy 1.19.0-dev-16
* in "system" theme, also poll for updates to the theme based on time.
* Add next run to Action / Procedure column
* km ls support filter by templates
* fix procedure toml serialization when params = {}
* deploy 1.19.0-dev-17
* KOMODO_INIT_ADMIN_USERNAME
* KOMODO_FIRST_SERVER_NAME
* add server.config.external_address for use with links
* deploy 1.19.0-dev-18
* improve auto prune
* fix system theme auto update
* deploy 1.19.0-dev-19
* rename auth/CreateLocalUser -> SignUpLocalUser. Add write/CreateLocalUser for in-ui initialization.
* deploy 1.19.0-dev-20
* UI can handle multiple active logins
* deploy 1.19.0-dev-21
* fix
* add logout function
* fix oauth redirect
* fix multi user exchange token function
* default external address
* just Add
* style account switcher
* backup and restore docs
* rework docsite file / sidebar structure, start auto update docs
* auto update docs
* tweak
* fix doc links
* only pull / update running stacks / deployments images
* deploy 1.19.0-dev-22
* deploy 1.19.0-dev-23
* fix#737
* community docs
* add BackupCoreDatabase link to docs
* update ferret v2 update guide using komodo-cli
* fix data table headers overlapping topbar
* don't alert when deploying
* CommitSync returns Update
* deploy 1.19.0-dev-24
* trim the decoded branch
* action uses file contents deserializer
* deploy 1.19.0-dev-25
* remove Toml from action args format
* clarify External Address purpose
* Fix podman compatibility in `get_container_stats` (#739)
* Add podman compability for querying stats
Podman and docker stats differ in results in significant ways but this filter change they will output the same stats
* syntax fix
* feat(dashboard): display CPU, memory, and disk usage on server cards (#729)
* feat: mini-stats-card: Expose Server CPU , Memory, Disk Usage to Dashboard View
* comment: resolved
* Feat: fix overflow card , DRY stats-mini, add unreachable mini stats
* lint: fix
* deploy 1.19.0-dev-26
* 1.19.0
* linux, macos container install
* cli main config
---------
Co-authored-by: Brian Bradley <brian.bradley.p@gmail.com>
Co-authored-by: Daniel <daniel.barabasa@gmail.com>
Co-authored-by: eleith <eleith@users.noreply.github.com>
Co-authored-by: eleith <online-github@eleith.com>
Co-authored-by: Sam Edwards <sam@samedwards.ca>
Co-authored-by: Marcel Pfennig <82059270+MP-Tool@users.noreply.github.com>
Co-authored-by: itsmesid <693151+arevindh@users.noreply.github.com>
Co-authored-by: mbecker20 <max@mogh.tech>
Co-authored-by: Rhyn <Rhyn@users.noreply.github.com>
Co-authored-by: Anh Nguyen <tuananh131001@gmail.com>
* update easy deps
* update otel deps
* implement template in types + update resource meta
* ts types
* dev-2
* dev-3 default template query is include
* Toggle resource is template in resource header
* dev-4 support CopyServer
* gen ts
* style template selector in New Resource menu
* fix new menu show 0
* add template market in omni search bar
* fix some dynamic import behavior
* template badge on dashboard
* dev-5
* standardize interpolation methods with nice api
* core use new interpolation methods
* refactor git usage
* dev-6 refactor interpolation / git methods
* fix pull stack passed replacers
* new types
* remove redundant interpolation for build secret args
* clean up periphery docker client
* dev-7 include ports in container summary, see if they actually come through
* show container ports in container table
* refresh processes without tasks (more efficient)
* dev-8 keep container stats cache, include with ContainerListItem
* gen types
* display more container ports
* dev-9 fix repo clone when repo doesn't exist initially
* Add ports display to more spots
* fix function name
* add Periphery full container stats api, may be used later
* server container stats list
* dev-10
* 1.18.4 release
* Use reset instead of invalidate to fix GetUser spam on token expiry (#618)
---------
Co-authored-by: Jacky Fong <hello@huzky.dev>
* 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>
* 1.18.1
* improve stack header / all resource links
* disable build config selector
* clean up deployment header
* update build header
* builder header
* update repo header
* start adding repo links from api
* implement list item repo link
* clean up fe
* gen client
* repo links across the board
* include state tracking buffer, so alerts are only triggered by consecutive out of bounds conditions
* add runnables-cli link in runfile
* improve frontend first load time through some code splitting
* add services count to stack header
* fix repo on pull
* Add dedicated Deploying state to Deployments and Stacks
* move predeploy script before compose config (#584)
* Periphery / core version mismatch check / red text
* move builders / alerts out of sidebar, into settings
* remove force push
* list schedules api
* dev-1
* actually dev-3
* fix action
* filter none procedures
* fix schedule api
* dev-5
* basic schedules page
* prog on schedule page
* simplify schedule
* use name to sort target
* add resource tags to schedule
* Schedule page working
* dev-6
* remove schedule table type column
* reorder schedule table
* force confirm dialogs for delete, even if disabled in config
* 1.18.1
---------
Co-authored-by: undaunt <31376520+undaunt@users.noreply.github.com>
* ferretdb v2 now that they support arm64
* remove ignored for sqlite
* tweak
* mongo copier
* 1.17.6
* primary name is ferretdb option
* give doc counts
* fmt
* print document count
* komodo util versioned seperately
* add copy startup sleep
* FerretDB v2 upgrade guide
* tweak docs
* tweak
* tweak
* add link to upgrade guide for ferretdb v1 users
* fix copy batch size
* multi arch util setup
* util use workspace version
* clarify behavior re root_directory
* finished copying database log
* update to rust:1.87.0
* fix: reset rename editor on navigate
* loosen naming restrictions for most resource types
* added support for ntfy email forwarding (#493)
* fix alerter email option docs
* remove logging directive in example compose - can be done at user discretion
* more granular permissions
* fix initial fe type errors
* fix the new perm typing
* add dedicated ws routes to connect to deployment / stack terminal, using the permissioning on those entities
* frontend should convey / respect the perms
* use IndexSet for SpecificPermission
* finish IndexSet
* match regex or wildcard resource name pattern
* gen ts client
* implement new terminal components which use the container / deployment / stack specific permissioned endpoints
* user group backend "everyone" support
* bump to 1.18.0 for significant permissioning changes
* ts 1.18.0
* permissions FE in prog
* FE permissions assignment working
* user group all map uses ordered IndexMap for consistency
* improve user group toml and fix execute bug
* URL encode names in webhook urls
* UI support configure 'everyone' User Group
* sync handle toggling user group everyone
* user group table show everyone enabled
* sync will update user group "everyone"
* Inspect Deployment / Stack containers directly
* fix InspectStackContainer container name
* Deployment / stack service inspect
* Stack / Deployment inherit Logs, Inspect and Terminal from their attached server for user
* fix compose down not capitalized
* don't use tabs
* more descriptive permission table titles
* different localstorage for permissions show all
* network / image / volume inspect don't require inspect perms
* fix container inspect
* fix list container undefined error
* prcesses list gated UI
* remove localstorage on permission table expansion
* fix ug sync handling of all zero permissions
* pretty log startup config
* implement actually pretty logging initial config
* fix user permissions when api returns string
* fix container info table
* util based on bullseye-slim
* permission toml specific skip_serializing_if = "IndexSet::is_empty"
* container tab permissions reversed
* reorder pretty logging stuff to be together
* update docs with permissioning info
* tweak docs
* update roadmap
---------
Co-authored-by: FelixBreitweiser <felix.breitweiser@uni-siegen.de>
* API support new calling syntax
* finish /{variant} api to improve network logs in browser console
* update roadmap
* configure the shell used to start the pty
* start on ExecuteTerminal api
* Rename resources less hidden - click on name in header
* update deps
* execute terminal
* BatchPullStack
* add Types import to Actions, and don't stringify the error
* add --reload for cached deps
* type execute terminal response as AsyncIterable
* execute terminal client api
* KOMODO_EXIT_CODE
* Early exit without code
* action configurable deno dep reload
* remove ServerTemplate resource
* kept disabled
* rework exec terminal command wrapper
* debug: print lines in start sentinel loop
* edit debug / remove ref
* echo
* line compare
* log lengths
* use printf again
* check char compare
* leading \n
* works with leading \n
* extra \n after START_OF_OUTPUT
* add variables / secrets finders to ui defined stacks / builds
* isolate post-db startup procedures
* clean up server templates
* disable websocket reconnect from core config
* change periphery ssl enabled to default to true
* git provider selector config pass through disable to http/s button
* disable terminals while allowing container exec
* disable_container_exec in default config
* update ws reconnect implementation
* Don't show delete tag non admin and non owner
* 1.17.5 complete
* interpolate into slack / discord url
* fix js client docs
* js client should be type: module
* click table tags to toggle tag filter
* git token helper early return when empty provider
* reorder Stack fields
* action support interpolation doc
* Fix for the {account} login fails when the account name contains '$' (#385)
* GetDeploymentsSummary (#386)
* added GetDockerContainersSummary endpoint in rust api
* typescript stuff
* more autogenned typescript stuff
* fixed comments to be in line with actual behaviour
* fixed ReadResponse for GetDockerContainersSummary
* I64 -> u32 for response types
* more accurate error context
* backend for build files on host / ui defined
* core api supports non repo based build
* Ntfy as Alerter (#404)
* add ntfy alerter
* add ntfy alerter
* add ntfy alerter
---------
Co-authored-by: GFXSpeed <github@schafhaupt.com>
* Improve docs around running periphery in a container (#402)
* Add ports that need to be exposed if periphery is remote from core
* Spelling: overide -> override
* Add info about using a custom config file when running periphery in docker
* clean up ntfy alerter
* clean up ResourceSyncConfig
* update build cache after create / update
* refresh stack cache log
* Build UI Defined / file on host frontend
* update clap + rustls
* don't cleanup build files
* clean up dockerfile full path
* update BuildListItemInfo + UI table
* add Other Resources page
* add 5 second ws reconnection timeout
* Make listener address configurable & Add support for IPv6 (#405)
* Make listener address configurable
* Make listener address configurable for periphery
* rename listener_address -> bind_ip
---------
Co-authored-by: Jacky Fong <hello@huzky.dev>
Co-authored-by: Alex Shore <kntrllr@gmail.com>
Co-authored-by: Niklas <108990063+GFXSpeed@users.noreply.github.com>
Co-authored-by: GFXSpeed <github@schafhaupt.com>
Co-authored-by: theRAAPster <theraapster@gmail.com>
Co-authored-by: Daniel Vos <45820840+vosdev@users.noreply.github.com>
* resolver v3
add new ec2 instance types
clean up testing config
document the libraries a bit
clean up main
update sysinfo and otel
update client resolver 3.0
resolver v3 prog
clean up gitignore
implement periphery resolver v3
clean up
core read api v3
more prog
execute api
missing apis
compiling
1.16.13
work on more granular traits
prog on crud
* fmt
* format
* resource2 not really a benefit
* axum to 0.8
* bump aws deps
* just make it 1.17.0
* clean up cors
* the komodo env file should be highest priority over additional files
* add entities / message for test alerter
* test alert implementation
* rust 1.84.0
* axum update :param to {param} syntax
* fix last axum updates
* Add test alerter button
* higher quality / colored icons
* komodo-logo
* simplify network stats
* rename Test Alerter button
* escape incoming sync backslashes (BREAKING)
* clean up rust client websocket subscription
* finish oidc comment
* show update available stack table
* update available deployment table
* feature: use the repo path instead of name in GetLatestCommit (#282)
* Update repo path handling in commit fetching
- Changed `name` to `path` for repository identification.
- Updated cache update function to use the new path field.
- Improved error message for non-directory repo paths.
* feat: use optional name and path in GetLatestCommit
* review: don't use optional for name
* review: use helper
* review: remove redundant to_string()
* 1.17.0-dev
* feature: add post_deploy command (#288)
* feature: add post_deploy command
* review: do not run post_deploy if deploy failed
* feature: interpolate secrets in custom alerter (#289)
* feature: interpolate secrets in custom alerter
* fix rust warning
* review: sanitize errors
* review: sanitize error message
* Remove .git from remote_url (#299)
Remove .git from remote_url
Co-authored-by: Deon Marshall <dmarshall@ccp.com.au>
* mbecker20 -> moghtech
* remove example from cargo toml workspace
* dev-1
* fix login screen logo
* more legible favicon
* fix new compose images
* docs new organization
* typescript subscribe_to_update_websocket
* add donate button docsite
* add config save button in desktop sidebar navigator
* add save button to config bottom
* feature: allow docker image text to overflow in table (#301)
* feature: allow docker image text to overflow in table
* review: use break-words
* wip: revert line break in css file
* feature: update devcontainer node release
* improve First Login docs
* FIx PullStack re #302 and record docker compose config on stack deploy
* requery alerts more often
* improve update indicator style and also put on home screen
* Add all services stack log
* 1.17.0-dev-2
* fix api name chnage
* choose which stack services to include in logs
* feature: improve tables quick actions on mobile (#312)
* feature: improve tables quick actions on mobile
* review: fix gap4
* review: use flex-wrap
* improve pull to git init on existing folder without .git
* Fix unclear ComposePull log re #244
* use komodo_client.subscribe_to_update_websocket, and click indicator to reconnect
* dev-3
* ServerTemplate description
* improve WriteComposeContentsToHost instrument fields
* give server stat charts labels
* filters wrap
* show provider usernames from config file
* Stack: Fix git repo new compose file initialization
* init sync file new repo
* set branch on git init folder
* ResourceSync: pending view toggle between "Execute" vs "Commit" sync direction
* Improve resource sync Execute / Pending view selector
* standardize running commands with interpolation / output sanitizations
* fix all clippy lints
* fix rand
* lock certain users username / password, prevent demo creds from being changed.
* revert to login screen whenever the call to check login fails
* ResourceSync state resolution refinement
* make sure parent directories exist whenever writing files
* don't prune images if server not enabled
* update most deps
* update openidconnect dependency, and use reqwest rustls-tls-native-roots
* dev-4
* resource sync only add escaping on toml between the """
* Stacks executions take list of services -- Auto update only redeploys services with update
* auto update all service deploy option
* dev-5 fix the stack service executions
* clean up service_args
* rust 1.85
* store sync edits on localstorage
* stack edits on localstorage and show last deployed config
* add yarn install to runfile
* Fix actions when core on https
* add update_available query parameter to filter for only stacks /deployments with available update
* rust 2024 and fmt
* rename test.compose.yaml to dev.compose.yaml, and update runfile
* update .devcontainer / dev docs for updated runfile
* use png in topbar logo, svg quality sometimes bad
* OIDC: Support PKCE auth (secret optional)
* update docs on OIDC and client secret
* cycle the oidc client on interval to ensure up to date JWKs
* add KOMODO_LOCK_LOGIN_CREDENTIALS_FOR in config doc
* update deps
* resource sync toggle resource / variable / user group inclusion independantly
* use jsonwebtoken
* improve variable value table overflow
* colored tags
* fix sync summary count ok
* default new tag colors to grey
* soften tag opacity a bit
* Update config.tsx (#358)
* isolate stacks / deployments with pending updates
* update some deps
* use Tooltip component instead of HoverCard for mobile compatibility
* batch Build builds
* link to typescript client in the intro
* add link to main docs from client docs
* doc tweaks
* use moghtech/komodo-core and moghtech/komodo-periphery as images
* remove unnecessary explicit network
* periphery.compose.yaml
* clean up periphery compose
* add link to config
* update periphery container compose config
* rust 1.85.1
* update sync docs
* 1.17.0
---------
Co-authored-by: unsync <1211591+unsync@users.noreply.github.com>
Co-authored-by: Deon Marshall <dmarshall@ccp.com.au>
Co-authored-by: komodo <komodo@komo.do>
Co-authored-by: wlatic <jamesoh@gmail.com>
* 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:💍: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>
* BatchDestroyDeployment
* periphery image pull api
* Add Pull apis
* Add PullStack / PullDeployment
* improve init deploy from container
* stacks + deployments update_available source
* Fix deploy / destroy stack service
* updates available indicator
* add poll for updates and auto update options
* use interval to handle waiting between resource refresh
* stack auto update deploy whole stack
* format
* clean up the docs
* update available alerts
* update alerting format
* fix most clippy
* remove instrument from validate_cancel_build
* use type safe AllResources map - Action not showing omnisearch
* Stack support replicated services
* server docker nested tables
* fix container networks which use network of another container
* bump version
* add 'address' to ServerListItemInfo
* secrets list on variables page wraps
* fix user data script
* update default template user data
* improve sidebar layout styling
* fix network names shown on containers
* improve stack service / container page
* deleted resource log records Toml backup for later reference
* align all the tables
* add Url Builder type
* rust client improvements and docs
* sync rust client
* version 1.16.4
* UI support YAML / TOML utils, typed Deno namespace
* add ResourcesToml to typeshare
* add YAML and TOML convenience
* make the types available globally
* preload container with @std/yaml and @std/toml, clean up genned files
* add deno setup to alpine dockerfile
* consolidate deserializers
* key value list doc
* use string list deserializers for all entity Vec<String>
* add additional env files support
* plumbing for Action resource
* js client readme indentation
* regen lock
* add action UI
* action backend
* start on action frontend
* update lock
* get up to speed
* get action started
* clean up default action file
* seems to work
* toml export include action
* action works
* action works part 2
* bump rust version to 1.82.0
* copy deno bin from bin image
* action use local dir
* update not having changes doesn't return error
* format with prettier
* support yaml formatting with prettier
* variable no change is Ok
* add containers link to mobile dropdown
* fix update / alert not showing permission issue
* prevent disk alert back and forth
* improve user group pending toml
* add close alert threshold to prevent Ok - Warning back and forth
* remove part about repo being deleted, no longer behavior
* resource sync share general common
* remove this changelog. use releases
* remove changelog from readme
* write commit file clean up path
* docs: supports any git provider repo
* fix docs: authorization
* multiline command supports escaped newlines
* move webhook to build config advanced
* parser comments with escaped newline
* improve parser
* save use Enter. escape monaco using escape
* improve logic when deployment / stack action buttons shown
* used_mem = total - available
* Fix unrecognized path have 404
* webhooks will 404 if misconfigured
* move update logger / alerter
* delete migrator
* update examples
* publish typescript client komodo_client
* fix all containers restart and unpause
* add CommitSync to Procedure
* validate resource query tags causes failure on non exist
* files on host init working. match tags fail if tag doesnt exist
* intelligent sync match tag selector
* fix linting
* Wait for user initialize file on host
* fix parser support single quote '
* add stack reclone toggle
* git clone with token uses token:<TOKEN> for gitlab compatability
* support stack pre deploy shell command
* rename compose down update log stage
* deployment configure registry login account
* local testing setup
* bump version to 1.15.3
* new resources auto assign server if only one
* better error log when try to create resource with duplicate name
* end description with .
* ConfirmUpdate multi language
* fix compose write to host logic
* improve instrumentation
* improve update diff when small array
improve 2
* fix compose env file passing when repo_dir is not absolute
* docker builders / buildx prune backend
* seems to work with ferret
* improve UI error messages
* compose files
* update compose variables comment
* update compose files
* update sqlite compose
* env vars and others support end of line comment starting with " #"
* aws and hetzner default user data for hands free setup
* move configs
* new core config
* smth
* implement disable user registration
* clean up compose files
* add DISABLE_USER_REGISTRATION
* 1.14.2
* final
* 1.14.1
* 1.14.1 version
* repo pull use configured repo path
* don't show UI defined file if using Stack files on host mode
* Stack "run build" option
* note on bind mounts
* improve bind mount doc
* add links to schema
* add new stacks configs UI
* interp into stack build_extra_args
* add links UI
* setup network page
* add Network, Image, Container
* Docker ListItems and Inspects
* frontend build
* dev0
* network info working
* fix cargo lock
* dev1
* pages for the things
* implement Active in dashboard
* RunBuild update trigger list refresh
* rename deployment executions to StartDeployment etc
* add server level container control
* dev2
* add Config field to Image
* can get image labels from Config.Labels
* mount container page
* server show resource count
* add GetContainerLog api
* add _AllContainers api
* dev3
* move ResourceTarget to entities mod
* GetResourceMatchingContainer api
* connect container to resource
* dev4 add volume names to container list items
* ts types
* volume / image / network unused management
* add image history to image page
* fix PruneContainers incorret Operation
* update cache for server for server after server actions
* dev5
* add singapore to Hetzner
* implement delete single network / image / volume api
* dev6
* include "in use" on Docker Lists
* add docker resource delete buttons
* is nice
* fix volume all in use
* remove google font dependency
* use host networking in test compose
* implement Secret Variables (hidden in logs)
* remove unneeded borrow
* interpolate variables / secrets into extra args / onclone / onpull / command etc
* validate empty strings before SelectItem
* rename everything to Komodo
* rename workspace to komodo
* rc1