summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornicolargo <nicolas@nicolargo.com>2023-12-21 15:53:27 +0100
committernicolargo <nicolas@nicolargo.com>2023-12-21 15:53:27 +0100
commit70250981b9ebabd3212c9e3d01c1fced49e1a33e (patch)
tree09569f96e0a7c0dfa2cd851e597f96379964e8a4
parente936a38dde886f151d75977b4ec947a8f5da2259 (diff)
parent380888a5648d914439f9b221dfd5ce589b2ffd54 (diff)
Merge branch 'develop' into issue2183issue2183
-rw-r--r--.github/workflows/build.yml8
-rw-r--r--Makefile11
-rw-r--r--NEWS.rst13
-rw-r--r--README.rst10
-rw-r--r--conf/glances.conf28
-rw-r--r--docker-compose/Dockerfile2
-rw-r--r--docker-compose/docker-compose-with-traefik.yml19
-rw-r--r--docker-compose/docker-compose.yml19
-rw-r--r--docker-compose/glances.conf8
-rw-r--r--docker-files/alpine.Dockerfile2
-rw-r--r--docker-files/ubuntu.Dockerfile2
-rw-r--r--docker-requirements.txt4
-rw-r--r--docs/_static/glances-flame.svg4
-rw-r--r--docs/aoa/containers.rst6
-rw-r--r--docs/aoa/ps.rst2
-rw-r--r--docs/api.rst581
-rw-r--r--docs/cmds.rst48
-rw-r--r--docs/config.rst45
-rw-r--r--docs/docker.rst18
-rw-r--r--docs/glances.rst21
-rw-r--r--docs/index.rst12
-rw-r--r--docs/install.rst16
-rw-r--r--docs/man/glances.1117
-rw-r--r--docs/quickstart.rst24
-rw-r--r--docs/support.rst2
-rw-r--r--glances/README.txt4
-rw-r--r--glances/__init__.py3
-rw-r--r--glances/amps/amp.py (renamed from glances/amps/glances_amp.py)2
-rw-r--r--glances/amps/default/__init__.py (renamed from glances/amps/glances_default.py)2
-rw-r--r--glances/amps/nginx/__init__.py (renamed from glances/amps/glances_nginx.py)2
-rw-r--r--glances/amps/systemd/__init__.py (renamed from glances/amps/glances_systemd.py)2
-rw-r--r--glances/amps/systemv/__init__.py (renamed from glances/amps/glances_systemv.py)2
-rw-r--r--glances/amps_list.py31
-rw-r--r--glances/events.py4
-rw-r--r--glances/exports/couchdb/__init__.py7
-rw-r--r--glances/exports/export.py5
-rw-r--r--glances/exports/mongodb/__init__.py (renamed from glances/exports/glances_mongodb.py)0
-rw-r--r--glances/folder_list.py12
-rw-r--r--glances/globals.py34
-rw-r--r--glances/main.py42
-rw-r--r--glances/outputs/glances_bottle.py668
-rw-r--r--glances/outputs/glances_curses.py73
-rw-r--r--glances/outputs/glances_restful_api.py740
-rw-r--r--glances/outputs/glances_stdout_apidoc.py31
-rw-r--r--glances/outputs/static/README.md2
-rw-r--r--glances/outputs/static/css/style.scss10
-rw-r--r--glances/outputs/static/js/components/help.vue2
-rw-r--r--glances/outputs/static/js/components/plugin-alert.vue6
-rw-r--r--glances/outputs/static/js/components/plugin-fs.vue12
-rw-r--r--glances/outputs/static/js/components/plugin-process.vue6
-rw-r--r--glances/outputs/static/js/components/plugin-processlist.vue106
-rw-r--r--glances/outputs/static/js/filters.js8
-rw-r--r--glances/outputs/static/js/services.js10
-rw-r--r--glances/outputs/static/public/glances.js4
-rw-r--r--glances/outputs/static/templates/index.html22
-rw-r--r--glances/outputs/static/templates/index.html.tpl22
-rw-r--r--glances/password.py8
-rw-r--r--glances/plugins/README.rst21
-rw-r--r--glances/plugins/alert/__init__.py250
-rw-r--r--glances/plugins/alert/model.py251
-rw-r--r--glances/plugins/amps/__init__.py123
-rw-r--r--glances/plugins/amps/model.py123
-rw-r--r--glances/plugins/cloud/__init__.py220
-rw-r--r--glances/plugins/cloud/model.py220
-rw-r--r--glances/plugins/connections/__init__.py176
-rw-r--r--glances/plugins/connections/model.py176
-rw-r--r--glances/plugins/containers/__init__.py430
-rw-r--r--glances/plugins/containers/model.py430
-rw-r--r--glances/plugins/core/__init__.py76
-rw-r--r--glances/plugins/core/model.py76
-rw-r--r--glances/plugins/cpu/__init__.py392
-rw-r--r--glances/plugins/cpu/model.py392
-rw-r--r--glances/plugins/diskio/__init__.py231
-rw-r--r--glances/plugins/diskio/model.py230
-rw-r--r--glances/plugins/folders/__init__.py121
-rw-r--r--glances/plugins/folders/model.py122
-rw-r--r--glances/plugins/fs/__init__.py268
-rw-r--r--glances/plugins/fs/model.py268
-rw-r--r--glances/plugins/gpu/__init__.py346
-rw-r--r--glances/plugins/gpu/model.py347
-rw-r--r--glances/plugins/help/__init__.py221
-rw-r--r--glances/plugins/help/model.py183
-rw-r--r--glances/plugins/ip/__init__.py300
-rw-r--r--glances/plugins/ip/model.py300
-rw-r--r--glances/plugins/irq/__init__.py198
-rw-r--r--glances/plugins/irq/model.py198
-rw-r--r--glances/plugins/load/__init__.py183
-rw-r--r--glances/plugins/load/model.py183
-rw-r--r--glances/plugins/mem/__init__.py282
-rw-r--r--glances/plugins/mem/model.py285
-rw-r--r--glances/plugins/memswap/__init__.py191
-rw-r--r--glances/plugins/memswap/model.py191
-rw-r--r--glances/plugins/network/__init__.py389
-rw-r--r--glances/plugins/network/model.py389
-rw-r--r--glances/plugins/now/__init__.py70
-rw-r--r--glances/plugins/now/model.py70
-rw-r--r--glances/plugins/percpu/__init__.py102
-rw-r--r--glances/plugins/percpu/model.py102
-rw-r--r--glances/plugins/plugin/model.py55
-rw-r--r--glances/plugins/ports/__init__.py352
-rw-r--r--glances/plugins/ports/model.py352
-rw-r--r--glances/plugins/processcount/__init__.py138
-rw-r--r--glances/plugins/processcount/model.py138
-rw-r--r--glances/plugins/processlist/__init__.py834
-rw-r--r--glances/plugins/processlist/model.py833
-rw-r--r--glances/plugins/psutilversion/__init__.py50
-rw-r--r--glances/plugins/quicklook/__init__.py176
-rw-r--r--glances/plugins/quicklook/model.py176
-rw-r--r--glances/plugins/raid/__init__.py161
-rw-r--r--glances/plugins/raid/model.py161
-rw-r--r--glances/plugins/sensors/__init__.py367
-rw-r--r--glances/plugins/sensors/model.py367
-rw-r--r--glances/plugins/smart/__init__.py191
-rw-r--r--glances/plugins/smart/model.py191
-rw-r--r--glances/plugins/system/__init__.py200
-rw-r--r--glances/plugins/system/model.py200
-rw-r--r--glances/plugins/uptime/__init__.py88
-rw-r--r--glances/plugins/uptime/model.py88
-rw-r--r--glances/plugins/version/__init__.py (renamed from glances/plugins/psutilversion/model.py)14
-rw-r--r--glances/plugins/wifi/__init__.py268
-rw-r--r--glances/plugins/wifi/model.py268
-rw-r--r--glances/processes.py24
-rw-r--r--glances/programs.py14
-rw-r--r--glances/standalone.py7
-rw-r--r--glances/stats.py84
-rw-r--r--glances/webserver.py10
-rw-r--r--optional-requirements.txt5
-rw-r--r--requirements.txt5
-rwxr-xr-xsetup.py9
-rw-r--r--snap/snapcraft.yaml44
-rw-r--r--tox.ini5
-rwxr-xr-xunitest-restful.py64
-rwxr-xr-xunitest.py6
-rw-r--r--webui-requirements.txt5
134 files changed, 9221 insertions, 8759 deletions
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index ddd66c67..f5e4565d 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -44,16 +44,16 @@ jobs:
--outdir dist/
- name: Publish distribution package to Test PyPI
- uses: pypa/gh-action-pypi-publish@master
+ uses: pypa/gh-action-pypi-publish@release/v1
with:
user: __token__
password: ${{ secrets.TEST_PYPI_API_TOKEN }}
- repository_url: https://test.pypi.org/legacy/
- skip_existing: true
+ repository-url: https://test.pypi.org/legacy/
+ skip-existing: true
- name: Publish distribution package to PyPI
if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags')
- uses: pypa/gh-action-pypi-publish@master
+ uses: pypa/gh-action-pypi-publish@release/v1
with:
user: __token__
password: ${{ secrets.PYPI_API_TOKEN }}
diff --git a/Makefile b/Makefile
index 4ffc82b9..c8f84a07 100644
--- a/Makefile
+++ b/Makefile
@@ -80,8 +80,11 @@ test-min: ## Run unit tests in minimal environment
test-min-with-upgrade: venv-min-upgrade ## Upgrade deps and run unit tests in minimal environment
./venv-min/bin/python ./unitest.py
+test-restful-api: ## Run unit tests of the RESTful API
+ ./venv/bin/python ./unitest-restful.py
+
# ===================================================================
-# Linters and profilers
+# Linters, profilers and cyber security
# ===================================================================
format: ## Format the code
@@ -99,7 +102,7 @@ codespell: ## Run codespell to fix common misspellings in text files
./venv-dev/bin/codespell -S .git,./docs/_build,./Glances.egg-info,./venv*,./glances/outputs,*.svg -L hart,bu,te,statics
semgrep: ## Run semgrep to find bugs and enforce code standards
- ./venv-dev/bin/semgrep --config=auto --lang python --use-git-ignore ./glances
+ ./venv-dev/bin/semgrep scan --config=auto
profiling: ## How to start the profiling of the Glances software
@echo "Please complete and run: sudo ./venv-dev/bin/py-spy record -o ./docs/_static/glances-flame.svg -d 60 -s --pid <GLANCES PID>"
@@ -123,6 +126,10 @@ memory-profiling: ## Profile memory usage
./venv-dev/bin/mprof plot --output ./docs/_static/glances-memory-profiling-without-history.png
rm -f mprofile_*.dat
+# Trivy installation: https://aquasecurity.github.io/trivy/latest/getting-started/installation/
+trivy: ## Run Trivy to find vulnerabilities in container images
+ trivy fs .
+
# ===================================================================
# Docs
# ===================================================================
diff --git a/NEWS.rst b/NEWS.rst
index e40a63c1..944adf05 100644
--- a/NEWS.rst
+++ b/NEWS.rst
@@ -8,6 +8,17 @@ Version 4.0.0
Under development: https://github.com/nicolargo/glances/issues?q=is%3Aopen+is%3Aissue+milestone%3A%22Glances+4.0.0%22
+**BREAKING CHANGES:**