get-app to replace existing folder would fail due to bad url generation.
Changes
* Archive old repo instead of overwritting
* Resetting flags in App instance
The implementations so far were hacks that worked for the most used
commands but broken down when challenged or expected to maintain
documented usages [eg: custom app commands].
The current implementation consists of a two step approach:
1. figure out command name that user is trying to execute
2. pass the directive to the app (bench, frappe or other) that consists of the cmd
---
For tackling #1, get_cmd_from_sysargv contains exhaustive rules that
cover all (that i know and ive come across) combinations of valid
frappe commands.
For problem #2, a simple check in click's Group object does the trick.
Tested with possible known commands with combinations of context flags
and params, with bench, frappe & external app's commands
This sets the `proxy_http_version` to `1.1`.
The reason this change should be implemented is that when this is deployed in a Kubernetes environment with Istio, the proxy request fails with HTTP error 426 as the HTTP version is too low for envoy to handle. Setting it to `1.1` will solve the issue.
Since support for pyproject.toml exists, Frappe has gotten rid of
requirements.txt file. However, dev-requirements.txt file still existed
in Frappe & other apps. With this, we can get rid of the separate
dev-reqs file as well and replace it by defining the deps in pyproject
under [tool.bench.dev-dependencies]
Example:
For Frappe, this transition will look like moving the contents of
dev-requirements.txt as follows:
```
\# dev-requirements.txt
coverage==5.5
Faker~=13.12.1
pyngrok~=5.0.5
unittest-xml-reporting~=3.0.4
```
```
\# pyproject.toml
[tool.bench.dev-dependencies]
coverage = "==5.5"
Faker = "~=13.12.1"
pyngrok = "~=5.0.5"
unittest-xml-reporting = "~=3.0.4"
```
Note: If dev-dependencies are defined in pyproject.toml, and a
dev-dependencies.txt file exists - the txt file will be ignored.
Release is yet another dead / unmaintained project in bench. It used to
be in action - the tool to release ERPNext & Frappe for years but we've
moved to other automated pipelines (that have been around for a while
too). Time to say good-bye to these commands too 👋
Use virtualenv cli only if found in PATH. Else use
venv package of the invoker's Python installation.
venv was added in the std lib since PY33.
ref: https://docs.python.org/3/library/venv.html
* fix: replace certbot-auto references with certbot and add in prerequesites ansile tasks
* fix: config file flag fix
* fix: certbot path using find_executable instead of hardcoded
* fix: remove easy install entry for certbot
* fix: replace find_executable with which
* fix: no need to check and raise.
* fix: provide user with cerbot install instructions"
* fix: return certbot path
* fix: Use get_certbot_path instead of harcoded path
Co-authored-by: Abhishek Balam <abhishekbalam96@gmail.com>
Co-authored-by: gavin <gavin18d@gmail.com>