* 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>
* 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>
* 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>
* docs: Add development POC
* docs: Flesh out full build/run steps
* feat: Add mergeable compose file to expose port and internal periphery url
* feat: Add .devcontainer and VSCode Tasks for developing Komodo
* Make cargo cache persistent in devcontainer
* Add deno to devcontainer
* Update tasks to include TS client copy to frontend before run
* Recommend extensions for used dependencies in vscode workspace
All extensions recommended are included in the devcontainer. This makes it easier for users not using devcontainer to get lang support.
* Update local `run` sequence for development docs
* 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
* Add webhooks page to docs
* supports
* supports
* periphery Dockerfile
* add comments. Remove unneeded default config
* add FILE SYSTEM log
* remove log
* filter disks included in periphery disk report, on periphery side
* dockerized periphery
* all in one compose file docs
* remove some unused deps
* add some network stuff to container summary
* improve settings tables UI
* periphery build supports additional tags
* fix variable container sizing
* alert types newline wrap
* plumbing for Stack resource
* plumbing for Stack resource
* mount stack api
* stack resource sync
* get remote compose file
* support image_name and image_tag
* add server config placeholders. default server config address
* configure image name and image tag
* deployment work with build image_name and image_tag
* stack UI
* fe builds
* configure registry provider and account
* implement periphery stack api
* stack poll interval
* add UI provider management
* deploy stacks
* build push commit hash tag.
* Destroy stack
* update default core port to 9120
* remove git_account alias
* finish stack (and container) api
* frontend builds
* cant cancel server based builds
* fix
* use git pull -f
* 9120
* start UI updates (#15)
* fix From<Stack> for CloneArgs
* remove unused imports
* UI Updates (#16)
* cleanup dashboard charts for resources
* bring back solid scrollbars
* enable sidebar scrolling
* remove alerts from all resources
* pass jwt secret
* stacks dont delete the target
* parse services from yaml
* stacks deploy
* close
* looking good
* closer
* destroy stack when file missing. onboard stacks
* figure out stack container name matching
* get stack state correct
* work with service views
* UI Updates - Sidebar, Topbar Alerts, and All Resources page (#17)
* move sidebar to use fixed positioning instead of sticky
* add alert details dialog to topbar alerts
* cleanup all resources page layout
* ensure resource links don't propagate clicks
* periphery support passing env with --env-file
* StackServicePage
* default run_directory to ./ for clarify
* add stack webhook listeners
* add default compose name of stack name
* stacks controlled with project name
* migrate to dotenvy
* add stack to dashboard
* remove deploying / destroying stack services
* update config files
* fix getting service logs
* git / docker provider management api
* implement passing git / registry token from db
* rename system user Github to Git Webhook
* seperate deployed and latest services on stack info
* add stack service level operations
* UI Updates - Update Shadcn/UI components, prevent navbar menu layout shift (#20)
* add dashboard pie for resource syncs
* dashboard items same height
* update shadcn components
* ensure centered following sheet update
* cleanup layout, prevent navbar menu layout shifts
* add manual filter, fix toast call
* guard webhooks
* remove deployed_message, latest_message from StackListItemInfo
* stop all containers on server correctly
* support multiple compose files
* cache all containers networks images projects
* remove project missing from db cache
* work on sync deploy stuff
* rework deployment sync deploy to support stacks. they can depend on each other.
* UI Updates - Remove topbar transparency, pretty status badges, tidy resource page layout with a 'back' button (#21)
* remove topbar transparency
* cleanup unused
* responsive dashboard
* better mobile header
* dont need to calc 64px less since header is using position fixed
* add status badge component
* update status badges
* further simplify layout
* allow undefined status as prop
* use new status badges for alerts
* update status badges for all resources
* undo layout change
* tidy up resource page layout, add back button
* no need for button wrapper
* remove unused
* build cancel log
* update ts types
* fix fe type changes
* fe tweaks
* remove on build logs
* core refresh cache immediately on startup
* jwt_ttl
* canonicalize run directory on host
* update canonicalize error message
* core use docker-compose
* fix incorrect project missing, add status string to stack info
* remove entries in "after" that aren't deploying
* fix dockerfiel
* build custom tag postfix
* sync fixes
* ensure UpdateGitProviderAccount doesn't change id
* ensure UpdateDockerRegistryAccount doesn't change id
* configure providers in the UI
* add // comment support to env, conversions
* add updates for provider deletes
* improve sync pending deploy log
* add more deployment actions
* add backward compat with v1.12 for clone repo
* stack deploy format
* fe
* alert menus clone when click resource link
* rename stacks
* don't close on click
* snake case stack state, in line with deployment state
* sync redeploy stack if newer hash (optional behind resource field 'latest_hash')
* remove nav to tree
* RefreshStack/Sync debug instruments
* improve inline UI docs
* implement resource base_permission backend
* plumbing for Repo build
* build repos
* write env file repos
* add latest hash / message to build info
* add optional hash to update
* keep built_hash updated
* add backend for build / repo latest hash management
* remove unused resources
* clean up repo dirs after cache update
* fix repo info deser error
* add build / repo git status
* fix page layouts
* improve layout responsive
* most config incline docs
* add descriptions for all resource types
* default local auth false
* fix omnibar arrow keys issue
* add compose file to example config
* image registry
* dashboard display no resources messge
* update deps.
* show when no config
* resource sync use config git_provider
* fix networks
* fix deploy error due to after
* update lots of docs
* fix server stat charts not working
* update screenshots
* update changelog
* add a disclaimer
* remove file paths docs stuff
* build repo
* v1.13 - Komodo
* update docs for cli
* fill out the compose example more
---------
Co-authored-by: Karamvir Singh <67458484+karamvirsingh98@users.noreply.github.com>