* 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>
* 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>
* 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