From 0bc66be418f99b6f3c15a393d7ca80f48154c84b Mon Sep 17 00:00:00 2001 From: Jasmine Schladen Date: Thu, 18 Feb 2021 17:23:02 -0800 Subject: [PATCH] Fix docs and enable fail on warning --- .readthedocs.yml | 1 + CHANGELOG.rst | 2 +- docs/conf.py | 5 +- docs/developer/index.rst | 7 + docs/developer/internals/lemur.defaults.rst | 29 ++++ docs/developer/internals/lemur.deployment.rst | 20 +++ docs/developer/internals/lemur.endpoints.rst | 56 ++++++++ docs/developer/internals/lemur.logs.rst | 47 +++++++ .../internals/lemur.plugins.lemur_acme.rst | 83 ++++++++++++ .../internals/lemur.plugins.lemur_atlas.rst | 20 +++ .../lemur.plugins.lemur_cryptography.rst | 20 +++ .../lemur.plugins.lemur_digicert.rst | 20 +++ .../internals/lemur.plugins.lemur_jks.rst | 20 +++ .../lemur.plugins.lemur_kubernetes.rst | 20 +++ .../internals/lemur.plugins.lemur_openssl.rst | 20 +++ .../internals/lemur.plugins.lemur_slack.rst | 20 +++ docs/developer/internals/lemur.reporting.rst | 38 ++++++ docs/developer/internals/lemur.rst | 11 +- docs/developer/internals/lemur.sources.rst | 56 ++++++++ docs/developer/internals/lemur.tests.rst | 11 ++ docs/license/index.rst | 3 +- lemur/certificates/views.py | 3 +- lemur/dns_providers/service.py | 2 +- lemur/dns_providers/views.py | 125 ++++++++++-------- lemur/domains/views.py | 2 +- lemur/pending_certificates/service.py | 15 +-- lemur/pending_certificates/views.py | 4 +- lemur/plugins/bases/destination.py | 5 + lemur/plugins/bases/notification.py | 5 + lemur/plugins/bases/source.py | 5 + lemur/plugins/lemur_acme/acme_handlers.py | 4 +- lemur/roles/views.py | 4 +- lemur/sources/service.py | 6 +- .../notification/notification.js | 6 - .../app/angular/notifications/services.js | 2 +- lemur/users/views.py | 46 ++++++- requirements-docs.in | 8 ++ requirements-docs.txt | 36 ++++- 38 files changed, 683 insertions(+), 104 deletions(-) create mode 100644 docs/developer/internals/lemur.defaults.rst create mode 100644 docs/developer/internals/lemur.deployment.rst create mode 100644 docs/developer/internals/lemur.endpoints.rst create mode 100644 docs/developer/internals/lemur.logs.rst create mode 100644 docs/developer/internals/lemur.plugins.lemur_acme.rst create mode 100644 docs/developer/internals/lemur.plugins.lemur_atlas.rst create mode 100644 docs/developer/internals/lemur.plugins.lemur_cryptography.rst create mode 100644 docs/developer/internals/lemur.plugins.lemur_digicert.rst create mode 100644 docs/developer/internals/lemur.plugins.lemur_jks.rst create mode 100644 docs/developer/internals/lemur.plugins.lemur_kubernetes.rst create mode 100644 docs/developer/internals/lemur.plugins.lemur_openssl.rst create mode 100644 docs/developer/internals/lemur.plugins.lemur_slack.rst create mode 100644 docs/developer/internals/lemur.reporting.rst create mode 100644 docs/developer/internals/lemur.sources.rst create mode 100644 docs/developer/internals/lemur.tests.rst diff --git a/.readthedocs.yml b/.readthedocs.yml index 54eb8741..d41769a8 100644 --- a/.readthedocs.yml +++ b/.readthedocs.yml @@ -8,6 +8,7 @@ version: 2 # Build documentation in the docs/ directory with Sphinx sphinx: configuration: docs/conf.py + fail_on_warning: true # Build docs in all formats (html, pdf, epub) formats: all diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 22a9341f..24db16d0 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -247,7 +247,7 @@ these keys should be fairly trivial, additionally pull requests have been submit should be easier to determine what authorities are available and when an authority has actually been selected. * Closed `#254 `_ - Forces certificate names to be generally unique. If a certificate name (generated or otherwise) is found to be a duplicate we increment by appending a counter. -* Closed `#254 `_ - Switched to using Fernet generated passphrases for exported items. +* Closed `#275 `_ - Switched to using Fernet generated passphrases for exported items. These are more sounds that pseudo random passphrases generated before and have the nice property of being in base64. * Closed `#278 `_ - Added ability to specify a custom name to certificate creation, previously this was only available in the certificate import wizard. diff --git a/docs/conf.py b/docs/conf.py index 55bd20d2..077b66f4 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -32,6 +32,9 @@ if on_rtd: MOCK_MODULES = ["ldap"] sys.modules.update((mod_name, Mock()) for mod_name in MOCK_MODULES) +autodoc_mock_imports = ["python-ldap", "acme", "certsrv", "dnspython3", "dyn", "factory-boy", "flask_replicated", + "josepy", "logmatic", "pem"] + # -- General configuration ------------------------------------------------ # If your documentation needs a minimal Sphinx version, state it here. @@ -146,7 +149,7 @@ if not on_rtd: # only import and set the theme if we're building docs locally # Add any paths that contain custom static files (such as style sheets) here, # relative to this directory. They are copied after the builtin static files, # so a file named "default.css" will overwrite the builtin "default.css". -html_static_path = ["_static"] +# html_static_path = ["_static"] # Add any extra paths that contain custom files (such as robots.txt or # .htaccess) here, relative to this directory. These files are copied diff --git a/docs/developer/index.rst b/docs/developer/index.rst index 8569dda5..1a08ffb5 100644 --- a/docs/developer/index.rst +++ b/docs/developer/index.rst @@ -43,6 +43,13 @@ Building Documentation Inside the ``docs`` directory, you can run ``make`` to build the documentation. See ``make help`` for available options and the `Sphinx Documentation `_ for more information. +Adding New Modules to Documentation +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +When a new module is added, it will need to be added to the documentation. +Ideally, we might rely on `sphinx-apidoc `_ to autogenerate our documentation. +Unfortunately, this causes some build problems. +Instead, you'll need to add new modules by hand. Developing Against HEAD ----------------------- diff --git a/docs/developer/internals/lemur.defaults.rst b/docs/developer/internals/lemur.defaults.rst new file mode 100644 index 00000000..0b1767ed --- /dev/null +++ b/docs/developer/internals/lemur.defaults.rst @@ -0,0 +1,29 @@ +defaults Package +================ + +:mod:`defaults` Module +---------------------------------------- + +.. automodule:: lemur.defaults + :noindex: + :members: + :undoc-members: + :show-inheritance: + +:mod:`schemas` Module +----------------------------- + +.. automodule:: lemur.defaults.schemas + :noindex: + :members: + :undoc-members: + :show-inheritance: + +:mod:`views` Module +--------------------------- + +.. automodule:: lemur.defaults.views + :noindex: + :members: + :undoc-members: + :show-inheritance: \ No newline at end of file diff --git a/docs/developer/internals/lemur.deployment.rst b/docs/developer/internals/lemur.deployment.rst new file mode 100644 index 00000000..047ec251 --- /dev/null +++ b/docs/developer/internals/lemur.deployment.rst @@ -0,0 +1,20 @@ +deployment Package +=================== + +:mod:`deployment` Module +---------------------------------------- + +.. automodule:: lemur.deployment + :noindex: + :members: + :undoc-members: + :show-inheritance: + +:mod:`service` Module +------------------------------ + +.. automodule:: lemur.deployment.service + :noindex: + :members: + :undoc-members: + :show-inheritance: \ No newline at end of file diff --git a/docs/developer/internals/lemur.endpoints.rst b/docs/developer/internals/lemur.endpoints.rst new file mode 100644 index 00000000..14cb67d6 --- /dev/null +++ b/docs/developer/internals/lemur.endpoints.rst @@ -0,0 +1,56 @@ +endpoints Package +=================== + +:mod:`endpoints` Module +---------------------------------------- + +.. automodule:: lemur.endpoints + :noindex: + :members: + :undoc-members: + :show-inheritance: + +:mod:`cli` Module +-------------------------- + +.. automodule:: lemur.endpoints.cli + :noindex: + :members: + :undoc-members: + :show-inheritance: + +:mod:`models` Module +----------------------------- + +.. automodule:: lemur.endpoints.models + :noindex: + :members: + :undoc-members: + :show-inheritance: + +:mod:`schemas` Module +------------------------------ + +.. automodule:: lemur.endpoints.schemas + :noindex: + :members: + :undoc-members: + :show-inheritance: + +:mod:`service` Module +------------------------------ + +.. automodule:: lemur.endpoints.service + :noindex: + :members: + :undoc-members: + :show-inheritance: + +:mod:`views` Module +---------------------------- + +.. automodule:: lemur.endpoints.views + :noindex: + :members: + :undoc-members: + :show-inheritance: \ No newline at end of file diff --git a/docs/developer/internals/lemur.logs.rst b/docs/developer/internals/lemur.logs.rst new file mode 100644 index 00000000..4e01484a --- /dev/null +++ b/docs/developer/internals/lemur.logs.rst @@ -0,0 +1,47 @@ +logs Package +=================== + +:mod:`logs` Module +-------------------- + +.. automodule:: lemur.logs + :noindex: + :members: + :undoc-members: + :show-inheritance: + +:mod:`models` Module +------------------------------ + +.. automodule:: lemur.logs.models + :noindex: + :members: + :undoc-members: + :show-inheritance: + +:mod:`schemas` Module +------------------------------ + +.. automodule:: lemur.logs.schemas + :noindex: + :members: + :undoc-members: + :show-inheritance: + +:mod:`service` Module +------------------------------ + +.. automodule:: lemur.logs.service + :noindex: + :members: + :undoc-members: + :show-inheritance: + +:mod:`views` Module +------------------------------ + +.. automodule:: lemur.logs.views + :noindex: + :members: + :undoc-members: + :show-inheritance: \ No newline at end of file diff --git a/docs/developer/internals/lemur.plugins.lemur_acme.rst b/docs/developer/internals/lemur.plugins.lemur_acme.rst new file mode 100644 index 00000000..57f5209d --- /dev/null +++ b/docs/developer/internals/lemur.plugins.lemur_acme.rst @@ -0,0 +1,83 @@ +lemur_acme package +================================= + +:mod:`lemur_acme` Module +---------------------------------------- + +.. automodule:: lemur.plugins.lemur_acme + :noindex: + :members: + :undoc-members: + :show-inheritance: + +:mod:`acme_handlers` Module +----------------------------------------------- + +.. automodule:: lemur.plugins.lemur_acme.acme_handlers + :noindex: + :members: + :undoc-members: + :show-inheritance: + +:mod:`challenge_types` Module +------------------------------------------------- + +.. automodule:: lemur.plugins.lemur_acme.challenge_types + :noindex: + :members: + :undoc-members: + :show-inheritance: + +:mod:`cloudflare` Module +------------------------------------------- + +.. automodule:: lemur.plugins.lemur_acme.cloudflare + :noindex: + :members: + :undoc-members: + :show-inheritance: + +:mod:`dyn` Module +------------------------------------ + +.. automodule:: lemur.plugins.lemur_acme.dyn + :noindex: + :members: + :undoc-members: + :show-inheritance: + +:mod:`plugin` Module +--------------------------------------- + +.. automodule:: lemur.plugins.lemur_acme.plugin + :noindex: + :members: + :undoc-members: + :show-inheritance: + +:mod:`powerdns` Module +----------------------------------------- + +.. automodule:: lemur.plugins.lemur_acme.powerdns + :noindex: + :members: + :undoc-members: + :show-inheritance: + +:mod:`route53` Module +---------------------------------------- + +.. automodule:: lemur.plugins.lemur_acme.route53 + :noindex: + :members: + :undoc-members: + :show-inheritance: + +:mod:`ultradns` Module +----------------------------------------- + +.. automodule:: lemur.plugins.lemur_acme.ultradns + :noindex: + :members: + :undoc-members: + :show-inheritance: \ No newline at end of file diff --git a/docs/developer/internals/lemur.plugins.lemur_atlas.rst b/docs/developer/internals/lemur.plugins.lemur_atlas.rst new file mode 100644 index 00000000..01eaaa79 --- /dev/null +++ b/docs/developer/internals/lemur.plugins.lemur_atlas.rst @@ -0,0 +1,20 @@ +lemur_atlas package +================================== + +:mod:`lemur_atlas` Module +---------------------------------------- + +.. automodule:: lemur.plugins.lemur_atlas + :noindex: + :members: + :undoc-members: + :show-inheritance: + +:mod:`plugin` Module +-------------------- + +.. automodule:: lemur.plugins.lemur_atlas.plugin + :noindex: + :members: + :undoc-members: + :show-inheritance: \ No newline at end of file diff --git a/docs/developer/internals/lemur.plugins.lemur_cryptography.rst b/docs/developer/internals/lemur.plugins.lemur_cryptography.rst new file mode 100644 index 00000000..ee9f6c93 --- /dev/null +++ b/docs/developer/internals/lemur.plugins.lemur_cryptography.rst @@ -0,0 +1,20 @@ +lemur_cryptography package +================================== + +:mod:`lemur_cryptography` Module +---------------------------------------- + +.. automodule:: lemur.plugins.lemur_cryptography + :noindex: + :members: + :undoc-members: + :show-inheritance: + +:mod:`plugin` Module +-------------------- + +.. automodule:: lemur.plugins.lemur_cryptography.plugin + :noindex: + :members: + :undoc-members: + :show-inheritance: \ No newline at end of file diff --git a/docs/developer/internals/lemur.plugins.lemur_digicert.rst b/docs/developer/internals/lemur.plugins.lemur_digicert.rst new file mode 100644 index 00000000..232d658b --- /dev/null +++ b/docs/developer/internals/lemur.plugins.lemur_digicert.rst @@ -0,0 +1,20 @@ +lemur_digicert package +================================== + +:mod:`lemur_digicert` Module +---------------------------------------- + +.. automodule:: lemur.plugins.lemur_digicert + :noindex: + :members: + :undoc-members: + :show-inheritance: + +:mod:`plugin` Module +-------------------- + +.. automodule:: lemur.plugins.lemur_digicert.plugin + :noindex: + :members: + :undoc-members: + :show-inheritance: \ No newline at end of file diff --git a/docs/developer/internals/lemur.plugins.lemur_jks.rst b/docs/developer/internals/lemur.plugins.lemur_jks.rst new file mode 100644 index 00000000..a47f653f --- /dev/null +++ b/docs/developer/internals/lemur.plugins.lemur_jks.rst @@ -0,0 +1,20 @@ +lemur_jks package +================================== + +:mod:`lemur_jks` Module +---------------------------------------- + +.. automodule:: lemur.plugins.lemur_jks + :noindex: + :members: + :undoc-members: + :show-inheritance: + +:mod:`plugin` Module +-------------------- + +.. automodule:: lemur.plugins.lemur_jks.plugin + :noindex: + :members: + :undoc-members: + :show-inheritance: \ No newline at end of file diff --git a/docs/developer/internals/lemur.plugins.lemur_kubernetes.rst b/docs/developer/internals/lemur.plugins.lemur_kubernetes.rst new file mode 100644 index 00000000..7173befb --- /dev/null +++ b/docs/developer/internals/lemur.plugins.lemur_kubernetes.rst @@ -0,0 +1,20 @@ +lemur_kubernetes package +================================== + +:mod:`lemur_kubernetes` Module +---------------------------------------- + +.. automodule:: lemur.plugins.lemur_kubernetes + :noindex: + :members: + :undoc-members: + :show-inheritance: + +:mod:`plugin` Module +-------------------- + +.. automodule:: lemur.plugins.lemur_kubernetes.plugin + :noindex: + :members: + :undoc-members: + :show-inheritance: \ No newline at end of file diff --git a/docs/developer/internals/lemur.plugins.lemur_openssl.rst b/docs/developer/internals/lemur.plugins.lemur_openssl.rst new file mode 100644 index 00000000..b94b56b4 --- /dev/null +++ b/docs/developer/internals/lemur.plugins.lemur_openssl.rst @@ -0,0 +1,20 @@ +lemur_openssl package +================================== + +:mod:`lemur_openssl` Module +---------------------------------------- + +.. automodule:: lemur.plugins.lemur_openssl + :noindex: + :members: + :undoc-members: + :show-inheritance: + +:mod:`plugin` Module +-------------------- + +.. automodule:: lemur.plugins.lemur_openssl.plugin + :noindex: + :members: + :undoc-members: + :show-inheritance: \ No newline at end of file diff --git a/docs/developer/internals/lemur.plugins.lemur_slack.rst b/docs/developer/internals/lemur.plugins.lemur_slack.rst new file mode 100644 index 00000000..371a8880 --- /dev/null +++ b/docs/developer/internals/lemur.plugins.lemur_slack.rst @@ -0,0 +1,20 @@ +lemur_slack package +================================== + +:mod:`lemur_slack` Module +---------------------------------------- + +.. automodule:: lemur.plugins.lemur_slack + :noindex: + :members: + :undoc-members: + :show-inheritance: + +:mod:`plugin` Module +-------------------- + +.. automodule:: lemur.plugins.lemur_slack.plugin + :noindex: + :members: + :undoc-members: + :show-inheritance: \ No newline at end of file diff --git a/docs/developer/internals/lemur.reporting.rst b/docs/developer/internals/lemur.reporting.rst new file mode 100644 index 00000000..9056e8b6 --- /dev/null +++ b/docs/developer/internals/lemur.reporting.rst @@ -0,0 +1,38 @@ +reporting Package +=================== + +:mod:`reporting` Module +---------------------------------------- + +.. automodule:: lemur.reporting + :noindex: + :members: + :undoc-members: + :show-inheritance: + +:mod:`cli` Module +------------------------------ + +.. automodule:: lemur.reporting.cli + :noindex: + :members: + :undoc-members: + :show-inheritance: + +:mod:`service` Module +------------------------------ + +.. automodule:: lemur.reporting.service + :noindex: + :members: + :undoc-members: + :show-inheritance: + +:mod:`views` Module +------------------------------ + +.. automodule:: lemur.reporting.views + :noindex: + :members: + :undoc-members: + :show-inheritance: \ No newline at end of file diff --git a/docs/developer/internals/lemur.rst b/docs/developer/internals/lemur.rst index b6517e4b..86b4d000 100644 --- a/docs/developer/internals/lemur.rst +++ b/docs/developer/internals/lemur.rst @@ -28,15 +28,6 @@ lemur Package :undoc-members: :show-inheritance: -:mod:`decorators` Module ------------------------- - -.. automodule:: lemur.decorators - :noindex: - :members: - :undoc-members: - :show-inheritance: - :mod:`exceptions` Module ------------------------ @@ -108,7 +99,7 @@ Subpackages lemur.plugins.lemur_atlas lemur.plugins.lemur_cryptography lemur.plugins.lemur_digicert - lemur.plugins.lemur_java + lemur.plugins.lemur_jks lemur.plugins.lemur_kubernetes lemur.plugins.lemur_openssl lemur.plugins.lemur_slack diff --git a/docs/developer/internals/lemur.sources.rst b/docs/developer/internals/lemur.sources.rst new file mode 100644 index 00000000..6a5c0c42 --- /dev/null +++ b/docs/developer/internals/lemur.sources.rst @@ -0,0 +1,56 @@ +sources Package +=================== + +:mod:`sources` Module +---------------------- + +.. automodule:: lemur.sources + :noindex: + :members: + :undoc-members: + :show-inheritance: + +:mod:`cli` Module +------------------------------ + +.. automodule:: lemur.sources.cli + :noindex: + :members: + :undoc-members: + :show-inheritance: + +:mod:`models` Module +------------------------------ + +.. automodule:: lemur.sources.models + :noindex: + :members: + :undoc-members: + :show-inheritance: + +:mod:`schemas` Module +------------------------------ + +.. automodule:: lemur.sources.schemas + :noindex: + :members: + :undoc-members: + :show-inheritance: + +:mod:`service` Module +------------------------------ + +.. automodule:: lemur.sources.service + :noindex: + :members: + :undoc-members: + :show-inheritance: + +:mod:`views` Module +------------------------------ + +.. automodule:: lemur.sources.views + :noindex: + :members: + :undoc-members: + :show-inheritance: \ No newline at end of file diff --git a/docs/developer/internals/lemur.tests.rst b/docs/developer/internals/lemur.tests.rst new file mode 100644 index 00000000..0c385694 --- /dev/null +++ b/docs/developer/internals/lemur.tests.rst @@ -0,0 +1,11 @@ +tests Package +============= + +:mod:`tests` Module +-------------------- + +.. automodule:: lemur.tests + :noindex: + :members: + :undoc-members: + :show-inheritance: \ No newline at end of file diff --git a/docs/license/index.rst b/docs/license/index.rst index 4df00576..3afc9bc8 100644 --- a/docs/license/index.rst +++ b/docs/license/index.rst @@ -17,4 +17,5 @@ A list of additional contributors can be seen on `GitHub = 19 # pyjks < 19 depends on pycryptodome, which conflicts with dyn's usage of pycrypto pyjwt pyOpenSSL raven[flask] +redis retrying SQLAlchemy-Utils tabulate +vine xmltodict +# Test requirements are needed to allow test docs to build +-r requirements-tests.txt # docs specific sphinx diff --git a/requirements-docs.txt b/requirements-docs.txt index 41d5133b..92962269 100644 --- a/requirements-docs.txt +++ b/requirements-docs.txt @@ -18,6 +18,8 @@ botocore==1.20.7 # manual debug certifi==2020.12.5 # via requests +certsrv==2.1.1 + # manual debug chardet==3.0.4 # via requests cloudflare==2.8.15 @@ -32,10 +34,10 @@ docutils==0.15.2 # via sphinx dyn==1.8.1 # manual debug -idna==2.9 - # via requests -imagesize==1.2.0 - # via sphinx +factory-boy==3.2.0 + # manual debug +fakeredis==1.4.5 + # manual debug flask==1.1.2 # manual debug flask-bcrypt==0.7.1 @@ -56,8 +58,16 @@ flask-script==2.0.6 # manual debug flask-sqlalchemy==2.4.4 # manual debug +freezegun==1.1.0 + # manual debug gunicorn==20.0.4 # manual debug +hvac==0.10.8 + # manual debug +idna==2.9 + # via requests +imagesize==1.2.0 + # via sphinx inflection==0.5.1 # manual debug jinja2==2.11.3 @@ -72,32 +82,46 @@ marshmallow-sqlalchemy==0.23.1 # manual debug marshmallow==2.20.4 # manual debug +moto==1.3.16 + # manual debug packaging==20.3 # via sphinx +paramiko==2.7.2 + # manual debug pem==21.1.0 # manual debug pygments==2.6.1 # via sphinx +pyjks==20.0.0 + # manual debug pyjwt==2.0.1 # manual debug pyopenssl==20.0.1 # manual debug pyparsing==2.4.7 # via packaging +pytest==6.2.2 + # manual debug pytz==2019.3 # via babel raven[flask]==6.10.0 # manual debug +redis==3.5.3 + # manual debug retrying==1.3.3 # manual debug requests==2.25.1 # via sphinx +s3transfer==0.3.3 + # manual debug six==1.15.0 # via # packaging # sphinxcontrib-httpdomain snowballstemmer==2.0.0 # via sphinx +soupsieve==2.0.1 + # manual debug sphinx-rtd-theme==0.5.1 # via -r requirements-docs.in sphinx==3.5.0 @@ -119,12 +143,16 @@ sphinxcontrib-qthelp==1.0.3 # via sphinx sphinxcontrib-serializinghtml==1.1.4 # via sphinx +sqlalchemy==1.3.16 + # manual debug sqlalchemy-utils==0.36.8 # manual debug tabulate==0.8.7 # manual debug urllib3==1.25.8 # via requests +vine==1.3.0 + # manual debug xmltodict==0.12.0 # manual debug