- Add
--authflag tokoyeb service create,koyeb service update, andkoyeb deployto add security policies (basic auth or API key) to all routes. Supports referencing secrets with{{secret.SECRET_NAME}}syntax. Use--auth-disableto remove all security policies.
- Add
koyeb sandboxsubcommand for managing interactive sandbox environments. Sandboxes are created withkoyeb service create --type=sandboxand support running commands, managing processes, filesystem operations, and port exposure. - Add
koyeb service scalecommands (get,update,delete) for manual scaling of services, with support for per-region scaling using--scale region:instancesformat. - Add
--light-sleep-delayand--deep-sleep-delayflags tokoyeb service create,koyeb service update, andkoyeb deployto configure how long an idle service waits before entering light sleep or deep sleep mode. Set to0to disable. Only available when--min-scaleis0.
- Add lifecycle management flags to automatically delete apps and services:
--delete-when-emptyforkoyeb app createandkoyeb app update- Automatically delete the app after the last service is deleted. Empty apps created without services are not deleted.--delete-after-delayforkoyeb service create,koyeb service update, andkoyeb deploy- Automatically delete the service after a specified duration from creation (e.g.,--delete-after-delay 24h).--delete-after-inactivity-delayforkoyeb service create,koyeb service update, andkoyeb deploy- Automatically delete the service after being inactive (sleeping) for a specified duration (e.g.,--delete-after-inactivity-delay 1h).
- Update the API version to include the new SANDBOX type
- Add
--proxy-portto support the TCP proxy functionality
- Add
--waitand--wait-timeouttoapp init,service create,service update,service redeployanddeploy.- By default the
--wait-timeoutduration will be 5 minutes, but can be changed by using like this:--wait-timeout 1m
- By default the
- Add koyeb compose which is docker compose like functionality.
- Changed the detailed view for the
databaseslist and get subcommand, to display the compute time instead of the active time.
- Fix support for private registry secret update
- Support new log experience
- Query logs time ranges with
--start-timeand--end-time - Query logs with text and regex filters
- Deprecating
--sincein logs commands replacing it with--tail - #279
- Query logs time ranges with
- Fix default min-count for free instances
- Add
--ignore-dirflag tokoyeb archive createcommand and--archive-ignore-dirflag tokoyeb deploycommand to allow overwriting the directories ignored by default.
- Fix
koyeb app update <app> --domain <newname>which was hitting an API error.
- Add the
--config-fileflag to the service create and update commands, to add/remove config files to a service.
- Fix exit status on logs when it's a client timeout.
- Fix release.
koyeb service unapplied-changes <service_id>: display "no changes" when there is no stashed deployment, or when the stashed deployment is the same as the current deployment.koyeb service update: fix when changing the type of an environment variable given with--type
- Add the
snapshotssubcommand to manage volume snapshots. - Add the
--snapshotflag to the volume creation command, to create a volume from a snapshot. - Add command
koyeb service unapplied-changes <service_id>to view the changes that have been made withkoyeb service update --save-only.
- Add
--deployment-strategywhich can have the valuerolling,blue-greenorimmediateto service. - Fix the logic on how validation is performed for
--portto avoid raising an error whenTCPports are used and--routesare not set.
- Breaking change: the application name needs to be provided with
koyeb dbcommands. In the past, the commandkoyeb db create mydbcreated a database namedmydbunder the hardcoded applicationkoyeb-db-preview-app. With this new version, it is mandatory to specify the service name, for example withkoyeb db create myapp/mydborkoyeb db create mydb --app myapp. - Allow to rename a database with
koyeb db update myapp/mydb --name newname.
- Change the
volumessubcommand to handle sizes in GB. - Add
--checks-grace-periodto set the grace period for health checks, for example withkoyeb service update app/service --checks 8000:http:/healtcheck --checks-grace-period 8000=10. - Add
--sincetokoyeb service logs,koyeb deployment logsandkoyeb instance logs. - Reconnect logs when the websocket is closed.
- Add
volumessubcommand. - Allow to edit service volumes with
koyeb service update --volume. - Better error message when performing actions requiring a user context with an organization token.
- Fix release.
- Add
--autoscaling-concurrent-requestsand--autoscaling-requests-response-timetokoyeb service createandkoyeb service update.
- Fix nil dereference in
koyeb deployment logs -t build. - Create new command
koyeb archives create <path>to store an archive. This command will be necessary for the future deployment of a directory. - Add
--archiveparameters tokoyeb service createandkoyeb service updateto deploy an archive instead of a Docker image. The archive is stored in GCS and can be created withkoyeb archives create. - Add command
koyeb deploy <directory> <app_name>/<service_name>. - Allow to specify
--git-shainkoyeb service updateandkoyeb service create. Warning: if the service is deployed with a specific git sha (which is the case if the deployment has been triggered by the "git push" webhook),koyeb service updatewithout--git-shawill no longer deploy the latest commit, but the commit set in the configuration. To deploy the latest commit, usekoyeb service update --git-sha ''.
- Add
koyeb service update <app>/<service> --name <new_name>to rename a service - Fix when changing the source of a project from Docker to Git.
- Add
koyeb apps update --domain <subdomain> <app>to change the autoassigned subdomain
- Add warning when accessing logs of a deployment with skipped build.
- Add instance ID to
koyeb service logs,koyeb deployment logsandkoyeb instance logs - Add the
--save-onlyflag to thekoyeb services updatecommand, that only saves the changes and does not trigger an immediate deploy. - Support
-o jsonforkoyeb service logs,koyeb deployment logsandkoyeb instance logs - Add command
koyeb metrics getto get the metrics of a service or an instance - It is now possible to create services only available from the mesh, for example with
koyeb service create app/service --docker nginx --port 80:tcp. With only--port 80(equivalent to--port 80:http), the service is also exposed to the internet.
- Add the
--skip-buildflag for thekoyeb services redeployandkoyeb services updatecommands. - Add
--appand--serviceflags tokoyeb deployments listto filter deployments by app and service. - Add
--deploymenttokoyeb regional-deployments listto filter regional deployments by deployment ID.
- Display date in
koyeb service logsandkoyeb instance logs - Display the log stream in
koyeb service logsandkoyeb instance logs
- Better help message for
koyeb cp - The version 3.8.0 had never been released because the github action has not been triggered. This version is a re-release of the version 3.8.0.
koyeb service update: remove autoscaling targets when --min-scale is equal to --max-scalekoyeb deployment getandkoyeb deployment describenow display the GIT commit hash for git services types- Check the validity of the docker image when creating or updating a service
- Add
koyeb db update <name> --instance-type <type>to update the instance type of a database
- Add
koyeb regional-deployments listandkoyeb regional-deployments get. Also works with the aliasesrd,rdeploymentandrdeployments. - Stop hardcoding the maximum usage time and the database size displayed by
koyeb db listandkoyeb db get
- Always fetch the latest git commit with
koyeb service update. It should fix the issue where an old commit is deployed instead of the latest one.
koyeb service createandkoyeb service updateaccept the parameters--autoscaling-average-cpu,--autoscaling-average-memand--autoscaling-requests-per-secondto set the autoscaling policy.- Add the option
--skip-cachetokoyeb service update
- Fix
koyeb service update --git-build-commandandkoyeb service update --git-run-commandwhen the service has already a build command or a run command configured.
- Fix build. See v3.5.0 for the other changes.
- Fix nil pointer dereference when
--urlis invalid - Fix error when the token is invalid and the user tries to switch organization
- Stop rendering partial connection string during the provisioning of a database
- Allow to manage registry secrets with
koyeb service create --type registry-<type>andkoyeb service update - Add
koyeb instance cpto copy files from and to an instance, for example withkoyeb instance cp file.txt <instance_id>:/tmp/orkoyeb instance cp <instance_id>:/tmp/file.txt .
This version has never been released and is replaced with v3.5.1.
- Accept the two syntaxes
--app xxxand<app>/<service_name>for koyeb service commands - Update the user agent from 'OpenAPI-Generator/1.0.0/go' to 'koyeb-cli/version'
- The new flag
--overrideofkoyeb service updateallows to override the service configuration instead of merging the other options provided with the existing configuration. - Support
koyeb secret reveal <secret_name>(orkoyeb secret show <secret_name>). The API behind this command is not stable yet and may change in the future. This command can break at any time and will require an update of the CLI. - Fix an issue where running
koyeb organizations switchwithout specifying an organization or specifying more than one organization would crash. - The default --port and --route for
koyeb service createis now the port 8000 to match the default of https://app.koyeb.com koyeb service create: set default branch tomain- Implement
koyeb database list,koyeb database create,koyeb database getandkoyeb database delete
- Dynamically set
--portand--route. Now,koyeb service create xxx --app yyy --port 8000automatically creates the route/:8000. Similarly,koyeb service create xxx --app yyy --route /:9999automatically creates the port9999:http. If--portand--routeare both omitted, as before, the default port80:httpand route/:80are created.
- Fix a bug where
koyeb services exec/koyeb instances execwould not work for users being members of multiple organizations
- Add the flag
--privilegedtokoyeb service createandkoyeb service update
- The option
--min-scaleand--max-scaleofkoyeb service updatewhere ignored, and the service was always scaled to 1. This is now fixed. Also, add the option--scalewhich sets both--min-scaleand--max-scaleto the same value. If--min-scaleor--max-scaleis set, it overrides--scale. - Add completion for fish shell, thanks to @razvanazamfirei
- The option
--git-builderofkoyeb service updatewas ignored when we wanted to update the git builder. This is now fixed. - Add support for organizations. Use command
koyeb organization listto list the organizations you are a member of, andkoyeb organization useto switch to another organization. - Fix
koyeb service logswhen using the non-default organization - Fix
--regionsoptions ofkoyeb service createandkoyeb service update. To deploy an existing service to a new region, usekoyeb service update <app>/<service> --region <region>. To remove a region from a service, usekoyeb service update <app>/<service> --region '!<region>'. On service creation, the service is still deployed tofraif no region is specified. If more than two regions are specified, a warning message is displayed to avoid billing surprises.
Unfortunately, we didn't keep a changelog before v3.0.2. We will try to do better in the future.