laserlemon / figaro

Simple Rails app configuration

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

How to disable 'WARNING: Use strings for Figaro configuration'?

zulhfreelancer opened this issue · comments

Everytime I run my rails console on enter heroku rails console, I got this:

WARNING: Use strings for Figaro configuration. false was converted to "false".
WARNING: Use strings for Figaro configuration. 120 was converted to "120".

I'm aware of that. How do I turn this warnings off?

Thanks.

Currently, the only way to turn off those warnings are to follow their instruction and change your application.yml file to use quoted string values.

commented

@laserlemon please give me an example where to change application.yml file to use quoted string values.

defaults: &defaults
TIMEZONE: 'Paris'

Configure Redis URL, for a TCP connection:

redis://:[password]@[hostname]:[port]/[db]

(password, port and database are optional).

REDIS_URL: redis://localhost:6379

Comma-separated list of administrators.

ADMIN: 'admin@peatio.tech'

Application URL configuration variables.

URL_HOST: peatio.tech
URL_SCHEME: http
FORCE_SECURE_CONNECTION: 'false' # Set to "true" to disable access via unsecured HTTP, send HSTS headers and use secure cookies.

Session lifetime in seconds.

SESSION_LIFETIME: '3600'

Configuration variables for logger.

LOG_LEVEL: ~ # Default level for production is warn, otherwise – debug.

Enabled OAuth2 provider.

Don't forget to check out configuration at config/initializers/omniauth.rb.

OAUTH2_SIGN_IN_PROVIDER: ~

Configuration variables for sign in with Google.

See https://github.com/zquestz/omniauth-google-oauth2

GOOGLE_CLIENT_ID:
GOOGLE_CLIENT_SECRET:
GOOGLE_OAUTH2_REDIRECT_URL: ~ # Specify URL address to which user will be redirected after successful sign in.

Configuration variables for sign in with Auth0.

See https://github.com/auth0/omniauth-auth0

AUTH0_OAUTH2_DOMAIN:
AUTH0_OAUTH2_CLIENT_ID:
AUTH0_OAUTH2_CLIENT_SECRET:
AUTH0_OAUTH2_REDIRECT_URL: ~ # Specify URL address to which user will be redirected after successful sign in.

Configuration variables for sign in with Barong OAuth2 server.

See https://github.com/rubykube/omniauth-barong

Barong uses Doorkeeper under the hood so you can refer to it's docs any time.

See more information at https://github.com/doorkeeper-gem/doorkeeper/wiki/Testing-your-provider-with-OAuth2-gem

BARONG_CLIENT_ID: ~
BARONG_CLIENT_SECRET: ~
BARONG_DOMAIN: ~
BARONG_OAUTH2_REDIRECT_URL: ~ # Specify URL address to which user will be redirected after successful sign in.

Configuration variables for API CORS.

Set list of allowed origins using the variable below.

By default it allows access to API from all origins.

See https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Origin

API_CORS_ORIGINS: '*'
API_CORS_ALLOW_CREDENTIALS: ~

Configuration variables for Sentry.

SENTRY_DSN_BACKEND: ~ # Specify Sentry DSN used for Rails application.
SENTRY_DSN_FRONTEND: ~ # Specify Sentry DSN used for JavaScript application.

Customize page metadata like title, description & keywords for landing, cabinet & admin modules.

METADATA_TITLE: Peatio Exchange
METADATA_DESCRIPTION: The Opensource Cryptocurrency Exchange
METADATA_KEYWORDS: Peatio,Opensource,Exchange,Cryptocurrency

Customize bank details which is shown at fiat deposit page. You are free to supply HTML here.

BANK_DETAILS_HTML: |

Use this bank to make a deposit:

Bank: National Bank of World

Account: 1234567890

Set to "true" to disable markets UI (admins still have access).

DISABLE_MARKETS_UI: ~

Set to "true" to disable cabinet UI (admins still have access).

DISABLE_CABINET_UI: ~

Configuration variables for JWT verification.

Get explanation at https://en.wikipedia.org/wiki/JSON_Web_Token.

JWT_PUBLIC_KEY

JWT provider uses private key for encoding JSON Web Tokens

while public key is used for decoding by resources.

For example, Barong is JWT provider, Peatio is resource accepting JWT.

Barong must have private key installed, Peatio must have public key installed.

You can generate keypair by running:

ruby -e "require 'openssl'; require 'base64'; OpenSSL::PKey::RSA.generate(2048).tap { |p| puts '', 'PRIVATE RSA KEY (URL-safe Base64 encoded, PEM):', '', Base64.urlsafe_encode64(p.to_pem), '', 'PUBLIC RSA KEY (URL-safe Base64 encoded, PEM):', '', Base64.urlsafe_encode64(p.public_key.to_pem) }"

Copy the generated private key and put it's value to appropriate variable at JWT provider (for example, at Barong it will be JWT_SHARED_SECRET_KEY).

Copy the generated public key and put it's value to variable JWT_PUBLIC_KEY (at Peatio).

Peatio and JWT provider should have the same keypair installed, or they would not understand each other.

You may want to adjust key length or cipher.

Development and test environments already don't include sample keys.

You can generate valid JWT by running:

JWT.encode(payload, OpenSSL::PKey.read(Base64.urlsafe_decode64(ENCODED_PRIVATE_KEY)), ENV.fetch('JWT_ALGORITHM'))

Replace ENCODED_PRIVATE_KEY with private key printed by previous command.

You can decode JWT by running:

JWT.decode(token, OpenSSL::PKey.read(Base64.urlsafe_decode64(ENCODED_PUBLIC_KEY)), true, algorithms: [ENV.fetch('JWT_ALGORITHM')])

To authenticate using JWT send it's value in "Authorization" header:

curl -H "Authorization: Bearer TOKEN" http://localhost:3000/api/v2/members/me

JWT_PUBLIC_KEY: ~
JWT_ALGORITHM: RS256 # JWT signing algorithm (mandatory).
JWT_ISSUER: ~ # JWT issuer name (optional).
JWT_AUDIENCE: peatio # Could be comma-separated value (optional).
JWT_DEFAULT_LEEWAY: ~ # Seconds (optional).
JWT_ISSUED_AT_LEEWAY: '180' # Seconds (optional).
JWT_EXPIRATION_LEEWAY: ~ # Seconds (optional).
JWT_NOT_BEFORE_LEEWAY: ~ # Seconds (optional).

Capybara configuration variables.

TEST_SERVER_HOST: 127.0.0.1
TEST_SERVER_PORT: '3000'
TEST_APP_HOST: peatio.tech
TEST_APP_PORT: '80'

Scout APM configuration variables.

SCOUT_KEY: ~ # Your organization key for Scout APM. Found on the settings screen.
SCOUT_APP_NAME: ~ # Application name in APM Web UI.
SCOUT_LOG_LEVEL: warn # Verboseness of logs (debug, info, warn, error)
SCOUT_ENV: production # List of Rails environments for which Scout should be enabled.

Specify the code of currency which is used to display the equivalent of the amounts of other currencies.

The specified currency should exist in database.

DISPLAY_CURRENCY: usd

Configuration variables for dynamic Barong levels (1.8+).

MINIMUM_MEMBER_LEVEL_FOR_DEPOSIT: '3'
MINIMUM_MEMBER_LEVEL_FOR_WITHDRAW: '3'
MINIMUM_MEMBER_LEVEL_FOR_TRADING: '3'

Event API configuration.

JWT configuration.

You can generate keypair using:

ruby -e "require 'openssl'; require 'base64'; OpenSSL::PKey::RSA.generate(2048).tap { |p| puts '', 'PRIVATE RSA KEY (URL-safe Base64 encoded, PEM):', '', Base64.urlsafe_encode64(p.to_pem), '', 'PUBLIC RSA KEY (URL-safe Base64 encoded, PEM):', '', Base64.urlsafe_encode64(p.public_key.to_pem) }"

EVENT_API_JWT_PRIVATE_KEY: ~ # Private key. Must be URL-safe Base64 encoded in PEM format.
EVENT_API_JWT_ALGORITHM: RS256

RabbitMQ configuration.

You can use just «EVENT_API_RABBITMQ_URL» or specify configuration per separate variable.

EVENT_API_RABBITMQ_URL: ~
EVENT_API_RABBITMQ_HOST: localhost
EVENT_API_RABBITMQ_PORT: "5672"
EVENT_API_RABBITMQ_USERNAME: guest
EVENT_API_RABBITMQ_PASSWORD: guest

RANGER_HOST: '0.0.0.0'
RANGER_PORT: '8081'
RANGER_CONNECT_SECURE: false

BULLET: 'false'

development:
<<: *defaults

Development OAuth2 provider.

OAUTH2_SIGN_IN_PROVIDER: google

Development configuration variables for sign in with Google.

GOOGLE_CLIENT_ID: 1044454023387-emhp5vmfnp5cf1n9juk09g8gcckrova7.apps.googleusercontent.com
GOOGLE_CLIENT_SECRET: tAFZvO200-0z3MpCyOpkPH0G

Development configuration variables for sign in with Auth0.

AUTH0_OAUTH2_DOMAIN: peatio-playground.auth0.com
AUTH0_OAUTH2_CLIENT_ID: lGKS9ADpknQr415RNZrrQTf3Jh8k2Fvc
AUTH0_OAUTH2_CLIENT_SECRET: LxUPnrrrpRHSB-vVgWU3TwmakQ8acY5mYVTaVgkREQL3i9avjpOnWTXSSEsrbLzK

Development configuration variables for Event API JWT.

EVENT_API_JWT_PRIVATE_KEY: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFb3dJQkFBS0NBUUVBb3VLVHh2SFVJVDJENmdXaWJRcS9kbW9BUUwyeWJ6SGFiUXRlc1AyL2o1VjkvUExaCmhHNWtLVkpPWjcxVVdMQ3BjZTQxeHZzQ0lKd0Q5MnVDNW5Lak5wblRDTWpwTUJNMGg0aFF4a2VOeHdNeU41N1gKM1QzbWFCVmZzUTNCblErSm84L0tzdUxhODlvY0dDeDgvYlUyOGNld2FxRk8ydUVMWWJiaUZadGFCenFJd0ZCdQpTM3hGQmt6NE16MGgvWEIxTjl5ZDg5d25OMm1oWVBsU0xrTGVUdFoyeWswK2krZHhZd2V4MEozOXJDS0hnRWRKCko1NTZHNmdtZWpJZ3dtcHNVeHJpdkVJRU5jR09POHdmQVBUVy92SFZmc2ROTExHejRtZE9CWmxsa2orcFFQODYKTnFSUjRKSnFDdEg3dHYyaXVBSGI4NnB5anVlZkVGU3ljMmxZRXdJREFRQUJBb0lCQUJrUlViamVZczB5MEdobApzWmVpZmREVmczQnpRVkRIbFZ3TzBlWGZSMm5ya2RZcDhidmwyVmhhcUdKaXl1WlRXZUNFenBYdTcyYmhXK0xxCkV0MHdhMW50MW9LVm1QMmpGd1I4d0NHanhYZ0pUK01yZVFFOWs0WVZOQUxsb1JSdzNiZnVOTDNQRis5TGMrTnMKaFZmdVdhUmdIUkJyL3R6RW9hSEtLWVUxd1djM0poSitNRklNVkZBT0RvaGp6bXNlV2lzTDNnbzVrUC9KYUpVZwprNm13Wnd0QzRvQ3pPQ3FoRGF0WVI3cktJbXMyS1lCNVBwaTRDTThkRzJGTzBwWGxXUU9XT0t2N01TUjlVeEtzCmd4YWFRRlhjajBQM2lSRFVQMDRkSWtqblNtemZmR0F2L3lBTHovZjk0V1lIK3gvd01DWms4ejJ4bnRJclllM3UKN0NOd045RUNnWUVBMEplcThCaXlKczF6YlBpcTlWWnR5L3R0M1dhaXJDbUl4cXRwU2syVU9UNmh2TldiMTUxVwpBMGRWYWEvSVBhdDV4ZkNWdGhkNlB3UGpJbWVPVXQ4Mlhib2JYeE8zREJUcmVzTlRNWUhiMGVUK09sSG04SU5uCnVwOGFxZWpWejc1ME5VYUxGWWpxWk1wVVR1Z2FVREIzNWZ1bXg0SXliNm5LRGMvSStrN25qUlVDZ1lFQXgrZVAKcE4vR1dqYjJUOU1CUm1xdkVtSGxKOXBZSEZpWGZlWnJHdzg3Q2E5WjVDYVp1VzBrSVAwSlhWSDZOOThqL2RvbApDTHZPdE5oZVFoaGUrTU91VXJMT0ttaytpckM5SEk2cW9aT3Nkc0lCc0pXSHdPanB1UW00OWNvdXc0K2ZKOWRxCjN2cTE2bG5EQlNoRU5HTEFhdVBzWDhLRUlYVzhRRnBDM3ppbXFvY0NnWUI2bTh2VVdRL09reEQzeXFyaWpxejMKSzVFR2hKKzF4cXdvNnZSMndtY1B4dXJXemxCT1NxTVdSa1hFVzVpOTl4OGE1REY3MlF6NElWYlBFRU91SHBvYwpPWnFCSmx0LzlJUDlvdll4c1h6K1FUWFdIZkk3Q1dKZFpjd01kMW5HUk5LVnhpTld3eVhUbk1JMXAyUmdJajAzCnA5WCtpMThPRjZVMnZSNExVM256aVFLQmdBVVZzOGFxMW4zRzloN3pyQTJoZXhDSm91MlBsVHdyV0xjZ0hFdFUKNk5pSE9FOGdXRHFxTndnTHg2Z3pCSjFWTkxJcFVWWFdpUng2Z0hOSDhXcDhkN3VzeHFlM2c1cTlnaUh1MHhKSApFbFQyL0ZvRWc2NTVmakJ4dWQydXBkL2RrRnZRRSt6V0RiaUhUZm1jbTVlRmg0VndoTHV1MC9PUjdoYm85TmgrCnRXYVRBb0dCQUwxVjFUTWZZRFhwYjFwaFBaV2pQL29iV1NqK2VyUXlYdit3TTIxVzRYWFI4YTBkV2hOVXdVeDAKdU9WZ2s1ZlN1OExtNG0zWGNYZ09wV0VJVkZJTzFodDFNN0xxZ0VGNGhFOHl6Y0Vldy9HWXR4VkpCTWEyODVpVQpaVUtkeCt6QWd5VFlnYk50VkVseTVobGRuT2orVmNzanVEL3krWEhXWVl5OVpLa2pNdDhECi0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0tCg==

Event API JWT public key value is.

EVENT_API_JWT_PUBLIC_KEY: LS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS0KTUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FROEFNSUlCQ2dLQ0FRRUFvdUtUeHZIVUlUMkQ2Z1dpYlFxLwpkbW9BUUwyeWJ6SGFiUXRlc1AyL2o1VjkvUExaaEc1a0tWSk9aNzFVV0xDcGNlNDF4dnNDSUp3RDkydUM1bktqCk5wblRDTWpwTUJNMGg0aFF4a2VOeHdNeU41N1gzVDNtYUJWZnNRM0JuUStKbzgvS3N1TGE4OW9jR0N4OC9iVTIKOGNld2FxRk8ydUVMWWJiaUZadGFCenFJd0ZCdVMzeEZCa3o0TXowaC9YQjFOOXlkODl3bk4ybWhZUGxTTGtMZQpUdFoyeWswK2krZHhZd2V4MEozOXJDS0hnRWRKSjU1Nkc2Z21laklnd21wc1V4cml2RUlFTmNHT084d2ZBUFRXCi92SFZmc2ROTExHejRtZE9CWmxsa2orcFFQODZOcVJSNEpKcUN0SDd0djJpdUFIYjg2cHlqdWVmRUZTeWMybFkKRXdJREFRQUIKLS0tLS1FTkQgUFVCTElDIEtFWS0tLS0tCg==

test:
<<: *defaults

production:
<<: *defaultsroot@back:~/peatio-1-9-stable#

Screenshot from 2019-05-05 13-58-48

commented

@UbuntuEvangelist how about here:

RANGER_CONNECT_SECURE: false