* 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>
* 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>
Adds a check at the beginning of setup-periphery.py to verify if
`systemctl` is executable by the current user and if systemd is the
init system in use. These changes will inform the user we've decided
systemd is unavailable and exits before we attempt to use any systemd
functionality, but modify this logic to configure other init systems in
the future.
Relates to (but doesn't close)
https://github.com/mbecker20/komodo/issues/66.
* 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
* 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
* 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>