Closed javierdelapuente closed 2 months ago
Test coverage for 34ddaded34ce8cd5cc890c3de60cfc22b38f3d16
Name Stmts Miss Branch BrPart Cover Missing
-------------------------------------------------------------------------------------------
paas_app_charmer/__init__.py 29 14 0 0 52% 13-14, 19-20, 26-27, 33-34, 40-41, 47-48, 54-55
paas_app_charmer/_gunicorn/__init__.py 0 0 0 0 100%
paas_app_charmer/_gunicorn/charm.py 15 0 0 0 100%
paas_app_charmer/_gunicorn/webserver.py 76 4 14 1 94% 162, 174-180
paas_app_charmer/_gunicorn/workload_config.py 8 0 0 0 100%
paas_app_charmer/_gunicorn/wsgi_app.py 18 0 0 0 100%
paas_app_charmer/app.py 120 0 48 2 99% 94->exit, 135->141
paas_app_charmer/charm.py 212 25 46 4 88% 32-33, 40-41, 190-191, 193-194, 215->exit, 227-231, 284-286, 339-340, 345, 350, 355, 365, 370, 375, 380, 385, 410
paas_app_charmer/charm_state.py 107 2 20 2 97% 184, 268
paas_app_charmer/charm_utils.py 23 0 0 0 100%
paas_app_charmer/database_migration.py 35 0 2 0 100%
paas_app_charmer/databases.py 25 2 11 1 92% 89-90
paas_app_charmer/django/__init__.py 2 0 0 0 100%
paas_app_charmer/django/charm.py 34 4 6 2 85% 44, 81, 96-97
paas_app_charmer/exceptions.py 5 0 0 0 100%
paas_app_charmer/flask/__init__.py 2 0 0 0 100%
paas_app_charmer/flask/charm.py 24 0 0 0 100%
paas_app_charmer/go/__init__.py 2 0 0 0 100%
paas_app_charmer/go/charm.py 26 0 0 0 100%
paas_app_charmer/observability.py 16 0 4 1 95% 40->44
paas_app_charmer/secret_storage.py 50 3 16 5 88% 51, 55->54, 56->58, 86, 105
paas_app_charmer/utils.py 11 2 12 2 65% 29, 31
-------------------------------------------------------------------------------------------
TOTAL 840 56 179 20 92%
Static code analysis report
Run started:2024-08-22 07:40:27.774511
Test results:
No issues identified.
Code scanned:
Total lines of code: 1831
Total lines skipped (#nosec): 0
Total potential issues skipped due to specifically being disabled (e.g., #nosec BXXX): 0
Run metrics:
Total issues (by severity):
Undefined: 0
Low: 0
Medium: 0
High: 0
Total issues (by confidence):
Undefined: 0
Low: 0
Medium: 0
High: 0
Files skipped (0):
Applicable spec: ISD153 - 12-Factor Go Support
Overview
This PR add support for Go for paas-app-charmer. The main differences of Go with Flask/Django is that Go is standalone and does not use a webserver like Gunicorn.
The main changes of this PR are:
New Go charm with framework configuration model. A very simple grafana dashboard. Examples and tests for Go. Logs will be implemented with Log forwarding in pebble and is not handled in this PR.
Documentation will be done outside of this PR.
Rationale
Go is widely used in web services and web development. As so, Go support is desired in the 12 factor framework.
Juju Events Changes
Module Changes
Library Changes
Checklist
src-docs
urgent
,trivial
,complex
)