The error logs in the system-developer
container on the system-app
pod show the following error:
ActionView::Template::Error (No site key specified.):
The error logs in the system-developer
container on the system-app
pod show the following error:
ActionView::Template::Error (No site key specified.):
There are two workarounds for the issue:
Disable Spam Protection on the developer portal
Patch the settings file using the steps described below. Note: you need to have the site key and the secret key for reCAPTCHA v2, and have the developer portal domain domain whitelisted if you want to use domain name validation.
settings.yml
file:oc rsh -c system-developer system-app-1-xyz cat /opt/system/config/settings.yml > settings.yml
(where system-app-1-xyz
is the system-app pod)
cat >> settings.yml << EOF
recaptcha_public_key: <%= ENV['RECAPTCHA_PUBLIC_KEY'] %>
recaptcha_private_key: <%= ENV['RECAPTCHA_PRIVATE_KEY'] %>
EOF
oc create configmap settings-yml --from-file=settings.yml
settings.yml
:oc set volume dc/system-app --add --name=settings-yml --mount-path /opt/system/config/settings.yml --sub-path settings.yml --source='{"configMap":{"name":"settings-yml","items":[{"key":"settings.yml","path":"settings.yml"}]}}'
oc env dc/system-app RECAPTCHA_PUBLIC_KEY={YOUR_SITE_KEY} RECAPTCHA_PRIVATE_KEY={YOUR_SECRET_KEY}
After system-app
is redeployed, the pages that use spam protection on the developer portal should show the reCAPTCHA "I'm not a robot" checkbox.
The spam protection feature uses Google reCAPTCHA service that needs to be configured with the correct site key and secret key. They cannot be configured easily in 3scale on-premises due to the bug reported in THREESCALE-1108.
This seems to be outdated now original issue is fixed and one can specify these settings when creating the API Manager. Just for the record in case somebody uses this nice gist as an examle, on step 5 one should use
oc set env --from=secret/mysecret ...
instead of setting the secret values directly in the DC.