diff --git a/README.rst b/README.rst
index c0e7921..ac4dee0 100644
--- a/README.rst
+++ b/README.rst
@@ -190,7 +190,8 @@ connect. Therefor you'll also have to supply the following settings:
 * ``PUPPETDB_CERT = /path/to/public/keyfile.crt``
 
 For information about how to generate the correct keys please refer to the
-`pypuppetdb documentation`_.
+`pypuppetdb documentation`_. Alternatively is possible to explicitly specify
+the protocol to be used setting the ``PUPPETDB_PROTO`` variable.
 
 Other settings that might be interesting in no particular order:
 
diff --git a/puppetboard/core.py b/puppetboard/core.py
index 203c373..77f8453 100644
--- a/puppetboard/core.py
+++ b/puppetboard/core.py
@@ -47,7 +47,8 @@ def get_puppetdb():
                            ssl_verify=app.config['PUPPETDB_SSL_VERIFY'],
                            ssl_key=app.config['PUPPETDB_KEY'],
                            ssl_cert=app.config['PUPPETDB_CERT'],
-                           timeout=app.config['PUPPETDB_TIMEOUT'],)
+                           timeout=app.config['PUPPETDB_TIMEOUT'],
+                           protocol=app.config['PUPPETDB_PROTO'],)
         PUPPETDB = puppetdb
 
     return PUPPETDB
diff --git a/puppetboard/default_settings.py b/puppetboard/default_settings.py
index d33126c..e8f3a40 100644
--- a/puppetboard/default_settings.py
+++ b/puppetboard/default_settings.py
@@ -2,6 +2,7 @@ import os
 
 PUPPETDB_HOST = 'localhost'
 PUPPETDB_PORT = 8080
+PUPPETDB_PROTO = None
 PUPPETDB_SSL_VERIFY = True
 PUPPETDB_KEY = None
 PUPPETDB_CERT = None
diff --git a/puppetboard/docker_settings.py b/puppetboard/docker_settings.py
index b797906..f137c6a 100644
--- a/puppetboard/docker_settings.py
+++ b/puppetboard/docker_settings.py
@@ -2,7 +2,7 @@ import os
 
 PUPPETDB_HOST = os.getenv('PUPPETDB_HOST', 'puppetdb')
 PUPPETDB_PORT = int(os.getenv('PUPPETDB_PORT', '8080'))
-# Since this is an env it will alwas be a string, we need
+# Since this is an env it will always be a string, we need
 # to conver that string to a bool
 SSL_VERIFY = os.getenv('PUPPETDB_SSL_VERIFY', 'True')
 if SSL_VERIFY.upper() == 'TRUE':
@@ -14,6 +14,7 @@ else:
 
 PUPPETDB_KEY = os.getenv('PUPPETDB_KEY', None)
 PUPPETDB_CERT = os.getenv('PUPPETDB_CERT', None)
+PUPPETDB_PROTO = os.getenv('PUPPETDB_PROTO', None)
 PUPPETDB_TIMEOUT = int(os.getenv('PUPPETDB_TIMEOUT', '20'))
 DEFAULT_ENVIRONMENT = os.getenv('DEFAULT_ENVIRONMENT', 'production')
 SECRET_KEY = os.getenv('SECRET_KEY', os.urandom(24))

Allow to force the protocol to connect to PuppetDB
When the `PUPPETDB_CERT` and `PUPPETDB_KEY` are not set, the Pypuppetdb library will automatically choose 'http' as the protocol to be used for the connection to PuppetDB.

It seems to me that as of now is not possible to configure PuppetBoard to connect to PuppetDB via HTTPS without a key/cert pair.
I think it's a quick and easy feature to add, so I'm sending a PR for it, if you'll deem acceptable.
diff --git a/test/test_docker_settings.py b/test/test_docker_settings.py
index fe18a48..02ce89a 100644
--- a/test/test_docker_settings.py
+++ b/test/test_docker_settings.py
@@ -40,6 +40,12 @@ def test_set_host_port(cleanUpEnv):
     assert docker_settings.PUPPETDB_PORT == 9081
 
 
+def test_set_proto(cleanUpEnv):
+    os.environ['PUPPETDB_PROTO'] = 'https'
+    reload(docker_settings)
+    assert docker_settings.PUPPETDB_PROTO == 'https'
+
+
 def test_cert_true_test(cleanUpEnv):
     os.environ['PUPPETDB_SSL_VERIFY'] = 'True'
     reload(docker_settings)

pip install -e .[dev]
parse_log_pytest
requirements.txt
pytest pytest-cov pytest-pep8 bandit
apt-get update apt-get install -y gcc
3.6
requirements.txt
pytest --no-header -rA --tb=line --color=no -p no:cacheprovider -W ignore::DeprecationWarning
attrs==22.2.0
bandit==1.7.1
certifi==2021.5.30
charset-normalizer==2.0.12
click==8.0.4
CommonMark==0.7.2
coverage==6.2
dataclasses==0.8
execnet==1.9.0
Flask==2.0.3
Flask-WTF==1.0.1
future==1.0.0
gitdb==4.0.9
GitPython==3.1.18
idna==3.10
importlib-metadata==4.8.3
iniconfig==1.1.1
itsdangerous==2.0.1
Jinja2==3.0.3
MarkupSafe==2.0.1
packaging==21.3
pbr==6.1.1
pep8==1.7.1
pluggy==1.0.0
-e git+https://github.com/voxpupuli/puppetboard.git@1bf3ee679a2e363b4813d76dda632056894fd2d3#egg=puppetboard
py==1.11.0
pyparsing==3.1.4
pypuppetdb==2.5.2
pytest==7.0.1
pytest-cache==1.0
pytest-cov==4.0.0
pytest-pep8==1.0.6
PyYAML==6.0.1
requests==2.27.1
smmap==5.0.0
stevedore==3.5.2
tomli==1.2.3
typing_extensions==4.1.1
urllib3==1.26.20
Werkzeug==2.0.3
WTForms==3.0.0
zipp==3.6.0

name: puppetboard
channels:
  - defaults
  - https://repo.anaconda.com/pkgs/main
  - https://repo.anaconda.com/pkgs/r
  - conda-forge
dependencies:
  - _libgcc_mutex=0.1=main
  - _openmp_mutex=5.1=1_gnu
  - ca-certificates=2025.2.25=h06a4308_0
  - certifi=2021.5.30=py36h06a4308_0
  - ld_impl_linux-64=2.40=h12ee557_0
  - libffi=3.3=he6710b0_2
  - libgcc-ng=11.2.0=h1234567_1
  - libgomp=11.2.0=h1234567_1
  - libstdcxx-ng=11.2.0=h1234567_1
  - ncurses=6.4=h6a678d5_0
  - openssl=1.1.1w=h7f8727e_0
  - pip=21.2.2=py36h06a4308_0
  - python=3.6.13=h12debd9_1
  - readline=8.2=h5eee18b_0
  - setuptools=58.0.4=py36h06a4308_0
  - sqlite=3.45.3=h5eee18b_0
  - tk=8.6.14=h39e8969_0
  - wheel=0.37.1=pyhd3eb1b0_0
  - xz=5.6.4=h5eee18b_1
  - zlib=1.2.13=h5eee18b_1
  - pip:
      - attrs==22.2.0
      - bandit==1.7.1
      - charset-normalizer==2.0.12
      - click==8.0.4
      - commonmark==0.7.2
      - coverage==6.2
      - dataclasses==0.8
      - execnet==1.9.0
      - flask==2.0.3
      - flask-wtf==1.0.1
      - future==1.0.0
      - gitdb==4.0.9
      - gitpython==3.1.18
      - idna==3.10
      - importlib-metadata==4.8.3
      - iniconfig==1.1.1
      - itsdangerous==2.0.1
      - jinja2==3.0.3
      - markupsafe==2.0.1
      - packaging==21.3
      - pbr==6.1.1
      - pep8==1.7.1
      - pluggy==1.0.0
      - py==1.11.0
      - pyparsing==3.1.4
      - pypuppetdb==2.5.2
      - pytest==7.0.1
      - pytest-cache==1.0
      - pytest-cov==4.0.0
      - pytest-pep8==1.0.6
      - pyyaml==6.0.1
      - requests==2.27.1
      - smmap==5.0.0
      - stevedore==3.5.2
      - tomli==1.2.3
      - typing-extensions==4.1.1
      - urllib3==1.26.20
      - werkzeug==2.0.3
      - wtforms==3.0.0
      - zipp==3.6.0
prefix: /opt/conda/envs/puppetboard

test/test_docker_settings.py::test_set_proto
test/test_docker_settings.py::test_default_host_port test/test_docker_settings.py::test_set_host_port test/test_docker_settings.py::test_cert_true_test test/test_docker_settings.py::test_cert_false_test test/test_docker_settings.py::test_cert_path test/test_docker_settings.py::test_inventory_facts_default test/test_docker_settings.py::test_invtory_facts_custom test/test_docker_settings.py::test_graph_facts_defautl test/test_docker_settings.py::test_graph_facts_custom test/test_docker_settings.py::test_default_table_selctor test/test_docker_settings.py::test_env_table_selector test/test_docker_settings.py::test_env_column_options
README.rst puppetboard/core.py puppetboard/docker_settings.py puppetboard/default_settings.py
README.rst puppetboard/core.py puppetboard/docker_settings.py puppetboard/default_settings.py