- health: When wait is done, print empty line to cleanup print traces (
e8098ae
)
- Differentiate between exited with exit code 0 (degraded/yellow) or higher (red/critical) (
bcdb7d7
)
- health: Add optional 'health' section to .toml (as a default for
edwh health
) (b6e676d
) - Add
--wait
toedwh health
to wait for containers to be done starting (up/dead) (37d4938
) - Colored printing on
edwh health
, include failing reason by default (hide with-q
) (6120e03
) - health: Load docker health statuses (
a64b5b3
) - Started on
edwh health
command which works with docker (compose) health checks (20d041b
)
- Improved unicode output in
inspect-health
(b55a46d
) - health: Don't crash if all containers are down (
9626819
) - Call
inspect()
withdocker compose ps -aq
to prevent issues when docker containers stop in between invoke commands (0c93d27
) - health: Simplify and increase performance by doing 1 docker inspect on multiple containers instead of multiple separate inspects (
4b93430
) - Skip health status if it is None (e.g. when container is removed during check) (
2db3fa7
) - Report containers as dead if they're missing; + pty on ew up for nicer rendering (
915a5a1
) - Don't force list for
flags
, also support e.g. tuple (39c0caa
)
- Add
__main__.py
so the program can be run viapython -m edwh
, which is needed to make the pycharm debugger work properly (eb2e981
)
- fmt: Show stderr on
ew fmt
errors (408ea6c
)
- Allow passing
--select <code>
and--fix
to lint/ruff (97a0ece
) - Add
edwh lint
subcommand, also based onruff
(76a468f
) - Replace
su6[black,isort
withruff
foredwh fmt
(ff89c28
)
- Replaced old
ansi
prints withtermcolor
(6d44fec
) - Change
No 'edwh' packages found. That can't be right
into a yellow print instead of an exception, so the script still continues instead of showing a traceback (40d5d66
) - Path.glob yields paths instead of strings (
a98dacc
) - Add
psa
alias forps-all
(e2ff06d
) - Yarl was replaced with yayarl in the dependencies but not in the plugin.py code (
73ce7f5
) - Improved output for
ew fmt/ew lint
(d7f9523
)
- Still run local tasks.py:setup if docker-compose.yml is missing (
dbf6748
) - (Y/n) -> [Yn] for consistency (
e288263
)
- Don't crash when accepting default if allowed_values is set (
305d521
)
- Rename new
check_env
options to be more clear (df95292
)
- Allow custom local dependencies in ~/.config/edwh (
c2ff06e
)
- Allow setting
--dice
foredwh generate-password
(05ce574
)
- Add missing dependency; document what each depenency does (
3287767
) - If state_of_development is empty, show a warning instead of error (
066d0fc
)
- sleep: '1' ended immediately, so added 'flush' to print instantly instead of waiting for buffer and added 'sleeping 0 seconds' for sanity (
dfd0a96
)
- Add
ew ps-all
to show all active docker projects. Used as a fallback forew ps
when you're not in a docker compose project (9461193
)
- Allow
-f/--force
formigrate
to remove existing flags (3a07740
)
- Doing ctrl-c during sudo will not bypass it anymore ✨ (
6f66529
)
- Added migrations task, so you could get the 'migrate --list' command in edwh. (
b8d0bb7
)
- Removed the 'migrate --list' file, because it served no purpose (
f7bcf97
) - Removed migrations printing it's content a second time. (
7d1f15a
)
ew fmt
to format code prettily (e15258d
)
- logs: Wait 100ms if no new log data was found, to preserve cpu (
064b409
) - Pass -f to self-update as --no-cache (
7ba6b41
)
- Allow -f for plugin.update to run with cleaned cache (-> more chance for updating) (
bc67a5d
)
- Ew sleep functie heeft nu een afteller in de terminal (
70af754
)
- Don't crash on tail if missing file (
f07d62c
)
- Exit on sudo failure because why bother continuing (
b14c4ab
)
- If docker log isn't valid json for some reason, just continue instead of crashing (
8ddfdca
)
ew discover
broke again (0451ed8
)
- If container goes down (ew down, not stop or restart) -> stop watching logs (because nothing new will appear) (
e398498
)
- Improved personal task loading, add add_alias helper function (
d61d6ba
)
- Explained all the ways commands can be added to edwh (
57282ec
)
- Allow defining personal tasks in ~/.config/edwh. Removed
sul
because it was a personal task (4a65638
)
- wipe: Don't crash on unnamed mounts, just skip those (
3812245
)
- Allow
-s db
to up/log/... all db services (0299010
)
- setup: Allow selecting no database containers (
4f002ee
)
- Make
ew discover
work again (122a8d1
)
- Shut up annoying cryptography deprecation warning (from paramiko) (
1fa94db
)
- Add
ew sleep <n: int>
(40bffbf
)
- Also include typing_extensions in 3.12 (
4390446
)
- Don't auto-up after wipe-db, use
edwh wipe-db migrate up
instead (7adce33
)
- Added comment explaining exit behavior for log (
c0eb10e
)
- Use tuple instead of list for unmutable iterator (
82feabb
)
ew logs
now also works for containers that are shut down (e.g. migrate) (794141e
)
- Show more readable error if trying to log shut down services (
c02ef97
)
edwh plugin.add True
-> not_all_installed should be optional str instead of bool (ae85912
)
- setup: Reload config after setup to prevent 'missing key' error immediately after asking for that exact key (
8cdc16e
)
- sul: Construct command for c.sudo instead of elevate which runs everything as root (
c57c87a
)
service
as tuple broke single -s!!! (39c766d
)
- A single
-s
should NOT be splitted into characters!!! (281bfc5
)
- Improved typing (mypy) (
41a2395
)
- Fabric_read and fabric_write helpers to work with remote files (
9b9893d
) - Added
edwh sul
shortcut command (bf29e86
) - Allow choosing services as 'db', so wipe-db knows which volumes to purge (
f92d285
) - log: Show current command (
1e5308c
) - Included 'improved logging' functionality in the regular 'logs' subcommand, changed naming of options (
528edab
) - Added filtering to improved log (
101032b
) - In progress on improved logging (
3f85f27
) - Copied omgeving wipe-db (#1971) (
506bad9
)
- Remove deprecated extendable_fab which broke named args (
3c337c0
) - files: Make fabric_ file functions also work locally (incl throw and parents options) (
5d0e655
) - files: Make fabric_ file functions also work locally (
372693a
) - fab.file: Improved remote file handing (
807ca1f
) - log: Since and default services (-> from 'log' section in toml) (
54c064e
) - log: Id and service mapping was incorrect (
d2d9a9d
) - Improved --since (
76a1ab6
) - Since+filter improvements for logging (
3a33bf7
) - ps: Actually show full command when using -f + add -a/---all like
dc ps -a
(68b5459
) - up: Service is a list[str], not a single one (
88abd66
) - Better type hints, split string into args (
ebfaddc
)
- Replace uvx with uvenv (
b36fc96
)
- Improved wipe-db (don't crash on missing pg-stats, faster start with
dc create
instead ofstart + stop
) (b03043c
)
- Expose 'get_hosts_for_service' via edwh.tasks again (
1733a08
)
ew ew
subcommand that does nothing, for improved command chaining #2352 (d8e163d
)
- Improved
ew build
by setting it to pty -> nice docker build in colors (70b9123
) - up: Service is a list[str], not a single one (
e5e9cee
) - Better type hints, split string into args (
e96b94c
)
ew logs
should look at the log section of config, not minimal (3f10042
)
- Require plumbum (
ad6599b
)
- self-update: Allow --no-cache (
a51271a
)
- config: Write celeries=False if no celery services available (
40993fe
)
- Add json output option for settings (
defb609
)
- Added more info to
plugin.add
(9205cee
)
- plugins: Pypi changed quotes from ' to " for extras (
50a6b11
) - Work in progress on
ew build
(depends on state-of-development flag to be implemented) (db54ef9
)
- Make change-config more user-friendly (
c451f81
)
- Make require_sudo return a bool (
b33e1ac
) - Add 'change-config' subcommand to change the values in .toml (
a3f64b1
)
- Automatically set 'services' to 'discover' if not set (
6b29542
)
- Don't crash on services without celery (-> include_celeries_in_minimal missing) (
c727837
)
- Replace raw uv bin with python -m uv because that will use the right environment (
dc2e9f6
)
- #2043: Use
uv
in self-update and plugin.add for blazingly fast performance 🚀 (6adb1d3
)
- check_env: Set default of
toml_path
to None so you don't get a warning when not explicitly stating toml_path (775957b
)
- Introduce 'warn_once' so
Deprecated: toml_path (.toml is not used by check_env anymore.)
doesn't get spammed anymore (098b330
)
- Don't crash on
ew ps
if no dc-file (there already is a warning beforehand); + docs (ecb9d02
)
- Functionality to clean w2p sessions (to speed up permisisons setup) (
cc89b7f
)
- Add --verbose to setup to find out which permissions are so slow (
dca6437
) - Implement default.toml, rename config.toml to .toml, allow aliases like "-s celeries" (
498ef2b
) ew version
now includes Python version (bf0d64e
)
- Better colored prints instead of warnings, don't crash on editable local/git install (
e496a37
) - Strip / from services (#1972) (
be476fd
) - Improved 'setup': no 'discovery', don't query for celeries when no celeries were found (
0147530
)
- Added missing dependency (click) that was only installed for dev before (
b2dae24
)
- Added newline to docstring (
9589bb0
)
- interactive-select: Added a variant with a radio select instead of checkboxes (
e33826b
) - checkboxes: Options can now be a dict of value: label and you can add a list of pre-selected values via
selected=
(60001a9
)
- process_env_file: If .env file is missing, don't crash but simply return an empty dict (
6a79a24
)
- setup:
require_sudo
andinteractive_selected_checkbox_values
functionality (404dd64
)
- dc: Dc_config now always returns a dict (possibly empty) instead of maybe None (
3e0a7ab
)
- dotenv: Make
read_dotenv
work even with an invalid dc.yml (86aeee4
)
- discover: Add humanize as regular dependency instead of extra (
a0d49df
)
- help: Include namespace in command example (pip.compile instead of compile) (
de4a4b2
) - --help BEFORE the subcommand because otherwise it doesn't always work (
6546876
)
- changelog: Merge prerelease and actual release changelogs (
3ebb8c3
)
- help: Deal with missing help docstring in plugin/namespace (
b5e139f
) - plugin: Deal with unreleased plugins (
a2cc4d5
)
- Added
edwh[uptime]
extra andedwh[server-plugins]
(because some plugins don't have to be installed on our servers, slowing them down) (57385b0
) - Added
edwh help
command to show help information about whole plugins/namespaces (instead of just --help for everything or one command) (f870f37
)
- Don't show None if no global module docstring, just print an empty string instead (
6081872
)
ew up
now also looks for localup
tasks + shows related config (725db25
)
- Pass list of services to local
up
(65e8c11
) - Invoke 2.1 requires fabic 3.1+, not 3.0 (
8c47abd
) - Bump invoke so it should work with 3.12 (
ba9421d
)
- Only one newline between env vars; require humanize since its imported in edwh (
328e546
)
- Added --as-json to ew discover (
23e8e98
)
- plugin: Don't crash if no new version to publish, but warn (
6ccc166
)
- plugin: Unless you say --yes,
release
now asks you to confirm a new publication (324886c
) - build: Slightly improved UX for
ew build
+ use get_task instead of import (53befa9
)
- Added more info about plugins (
286d843
) - Merge prerelease versions into actual release changes (
3568750
)
- plugin: Ew plugin.publish alias for plugin.release (
0d7ead7
) - ew logs now accepts --errors and --ycecream to filter on y| and e| prefix (
7209f89
) - self-update: Allow --prerelease to update to beta versions (
54fe3bf
)
plugin.release
command (d00cd9b
)
ew plugin.release
now properly prints the package name and new version! (50159b7
)
- Get_task en task_for_namespace functies om makkelijk andere tasks uit te kunnen voeren (ipv zelf met imports lopen klooien) (
0faeda5
)
- setup: Don't crash if missing local tasks.py (
0f80851
)
- pyproject: Added whitelabel plugin as extra's (
b4d493d
)
- Local tasks in the format
namespace.tasks.py
are now also loaded (3e0fdd8
)
- Remove add_global_flag pt2 (
b8e7648
)
- Removed add_global_flag because it breaks normal flags (
f1fcda6
)
- setup: Hopefully no more infinite loop when calling
ew setup
in a newly installed omgeving (aa64c1c
)
- changelog: Prerelease changes onder patch release gezet (
006358f
)
- dc: Replace yaml.load(docker-compose.yml) with
docker compose config
to properly handle includes (8311aa4
)
- changelog: Remove prerelease changes and merge them to 0.29.2 (
fef301e
)
- dc: Replace yaml.load(docker-compose.yml) with
docker compose config
to properly handle includes (8311aa4
)
- ps: Don't show all columns from docker compose ps (
1d2bb19
)
- 'hide' on ctx.run because we print the result afterwards; --short option to show less info (
ae7dcf6
)
- Ew_self_update as a command to update self-update twice. (
f280e82
)
- Newer black! & DOCKER_COMPOSE variable used. (
64152db
)
- Fixed ctx.run for local usage (
9d1612a
)
- Discover added to iterate different hosts and find the services, mapped hostnames, ports, exposed ports and disk usage. (
c6a91c7
)
- Exclude all directories starting with venv (
35859be
)
- If loading dc.yml fails, still try local tasks (because that might fix it) (
251fa53
)
- types: Minor changes (py.typed file + some annotations) to make type checkers a bit happier (-> work better as a library) (
b6adf30
)
docker compose ls
support, usingew ls
orew ls -q
(1a3f73e
)
- Removed an unused argument to
ew ls
(8d447c5
)
- Work with
docker compose
by default (4da67a8
)
- Removing test print statement. (
d9864ec
)
- Handle crashing plugins nicely. (
47f7db1
)
- Next_value can handle more keys instead of just one. (
5e9fe72
)
- [eod] in progress logging to check why it's so slow sometimes (
1b2945e
)
- core: Allow --new-docker-compose to use
docker compose
instead ofdocker-compose
. (8f6f39b
) - core:
add_global_flag
functionality to add a flag to inv/fab core opts. (4e18491
)
- dc: Core flag -o also enables old docker-compose (
4294002
)
- edwh: No crash if missing config toml or docker-compose file, but warn instead (
3044854
)
- settings: Added fuzzy matching when no results: 'redesh' or 'redahs' will match REDASH_SECRET (
6f94062
)
- permissions: Set_permissions now also works on an empty directory thanks to
xargs --no-run-if-empty
(7482ad4
)
- env: TomlConfig is now a 'singleton' based on fname (toml file name) and dotenv_path instead of only one instance. (
bef13f8
)
- env: Also create missing parent directory of custom .env path (
d77b78c
)
- changelog: Translate changelog to English (
2cf7a2d
)
- env: Moved password generator to helpers; added 'suffix' (to be used instead of incorrect 'postfix') and 'path'/'toml_path' to check_env (
f121d02
)
check_env
now also creates the default .env if it does not exist yet. (253e93c
)- env: TomlConfig now also handles an alternative .env path well. (
82601c7
)
- Manually update changelog to remove beta release (
baae20b
)
- logs: Extra --all option (alias for -s "*") (
475ce58
)
- Actually look at [services.log] in config.toml when running
ew log
without providing a service name (fc04d6a
)
- Changed
print(colored(
tocprint(
(92b34a2
)
- Allow multiple plugins (separated with ',') in plugin.add, plugin.update and plugin.remove (
69ce19c
)
- plugin: Add
files
plugin as an option (0b343dc
)
- deps: Missing python-dateutil dependency (
63ff229
)
- Made the message for minimal services a bit clearer in setup and made it so that the celeries aren't listed in the selection of services. (
31be024
)
- For service discovery the setup will no longer use docker-compose (as that may result in cyclic dependencies of the docker-compose depending on settings in the .env file). It will simply find the
services
key from thedocker-compose.yaml
(97146e8
)
- changelog: Shortcut: ew plugins --changelog = ew plugin.changelog --new (
b4e1c52
)
- plugin: Uninstall doesn't prompt anymore (
627894e
)
- Follow now works again with
ew logs
(3d43fbe
)
- Added sshfs to pyproject.toml so it can be installed using edwh.self-update and can be listen in the plugin (
2b99fcd
)
--sort
now disables--follow
instead of warning. (09c6ca1
)
- Allow
edwh logs --sort
to sort on timestamp. (bfc18b7
)
- plugin: Allow updating 'edwh' via plugin.update (
a27adaa
)
- Added upgrade feature taiga#1385 (
72b85e2
)
- setup: Docker-compose config --services depends on .env, so run local_setup on crash (
542a6db
)
- Added sshfs docs to README.md (
1cdf1e4
)
- local: Warn instead of crash if local tasks.py is incorrect (raises importerror) (
614ced6
)
- Renamed removed edwh-demo-tasks-plugin to existing (new) edwh-demo-plugin (
cc4b2e8
)
- Added sshkey info to readme.md (
1a9ff59
)
- Added edwh-sshkey-plugin to pyproject.toml (
afdb0e9
)
- plugins: Swapped latest and custom version, docs for upgrade arguments (
350aacc
)
- Fix grammar in case of 1 out of date plugin (are -> is) (
009f531
)
- plugin: Aliases for add/remove and allow --version for upgrade (
e3f63ef
) - plugins: Add 'plugin' namespace (as internal extra) to manage installed plugins (
7270273
)
- plugin: Add explaination about plugin.add when running plugins and not all are present (
c0ecebd
) - changelog: Manual editing to remove prerelease commits (
002e798
)
- plugins: used threading to speed up package metadata collection and split meta tasks to own file (
cbc8a6d
)
- plugins: New command
edwh plugins
to show installed and available plugins (669d923
)
- Added self-update and self-update-pipx to manage plugin updates (
2fa61ff
)
- locust: Added edwh-locust-plugin as plugin extra (
c33dd33
)
- b2: Added b2 as possible plugin (
7cd7378
)
- Split helpers to own file and imported functions in init, so
edwh
can be used better as a Python lib (e6b540e
)
- env: Get_env_value added + warn instead of crash if opengraph code is missing from local (
992ab97
)
next_value
andset_permissions
transfered from other repositories tasks.py (7bcb749
)- ew:
ew completions
to generate bash script (c1c6a1f
) - ew:
ew completions
to generate bash script (c1c6a1f
)
- dep: Invoke 2.1 does not work well with some of our plugins (
bb5d450
)
- toml: Tomlkit instead of tomllib for 3.11+ + refactoring (
8de80f0
) - deps: Invoke 2.0 works with python 3.11 (
bbd2d69
)
- -n will remove the config file so that you can reconfigure it. NOTE IT WILL REMOVE THE EXISTING CONFIG.TOML (
33a8f5c
) - -n will remove the config file so that you can reconfigure it. NOTE IT WILL REMOVE THE EXISTING CONFIG.TOML (
9e2dc42
) - Fixed color coding (
4e1c7ca
)
- Celeries will only be included in minimal when include_celeries_in_minimal == "true". (
b12b997
) - When a key is not found en config.toml it will run edwh setup (
742902a
) - Wrong indexing of services (
1e8a601
) - Color codes and type (
8d0674c
)
- Copy/paste error (
197975f
)
apply_dotenv_vars_to_yaml_templates
added for traefik. (cc65abe
)
- Semver testing + demo plugin re-included (
3e96848
) exec_setup_in_other_task
has changed a little to search further up parent folders, until atasks.py
is found. (1675d8b
)
- dev: Remove demo plugin from [plugins] extra (
582dc89
)
- project: Update dependency versions for invoke 2.0 so py3.11+ works again (
cd406be
)
- readme: Added Server Provisioning plugin in overview of plugins (
1c20334
)
- core: Replaced invoke with fabric for possibly more plugin functionality (
85838ea
)
- project: Remove theoretical support for Python versions below 3.10 since that has never worked (
2f567e2
) - dependencies: Importilb is only a package for python 2, not needed as dependency for py 3 (
f5e0745
)
- changelog: Manual fix changelog for missing versions pt2 (
488982d
) - changelog: Manual fix changelog for missing versions (
fba6cc2
)
- edwh: Include bundler-plugin in
edwh[plugins]
as well (df4424d
)
- allow bundle(r) extra and alias for pip-compile extra. (
82079ec
)
- allow installing edwh-pipcompile-plugin as
edwh[pip]
. (2ebf9a6
)
- added python-semantic-release as dev dependency. (
60d6b1c
)
- allow pip install
edwh[multipass,restic]
. (2c43c47
)
- Diceware was included as a dependency, but used as a pipx installed application. (
2f6bc9f
)
- Missing changelog entry (
4fe91e4
)
- Added and upgraded: settings, up, ps, logs, stop, down, build, rebuild, docs, search_adjacent_setting, generate_password, settings, volumes and helpers. (
9f80e25
)
- pyproject.toml: Use
hatch run publish
to use python-semantic-release to patch the changelog and versioning. (639dbff
)
- Removed old redundant demo methods and added
zen
(f5be9c6
)
- Removed CHANGELOG.txt and reduced semantic-versioning responsibilities (
e9e26d9
)