docbrown/Envfile
Mike Coutermarsh dd84051ce4 Social Card upgrade - Part 1 (#2090)
* Add HtmlCssToImage for generating images

This will be used by social_previews to convert the templates into images.

Setup a fallback image primarily for local dev, so that this won't cause
errors if authentication is missing.

Caching is setup to use contents of the html/css. So it with
autobust/generate a new image whenever the markup changes.

* Update Article social preview template to not be random

+ Being random breaks caching (since we generate cachekey by a SHA of html content)
+ Use Roboto for when generating via HTML/CSS to Image

* Update Tag social preview template to not be random

+ Make rand deterministic so it doesn't break caching

* Update user social preview template for html/csstoimage

* Update shecoded template to work with both url2png and htmlcsstoimage

* Add ability to respond to .png for social previews controller

When adding .png to the url, these routes will now generate an image and
redirect to it.

This leaves the existing pages as they were, so we're backwards
compatible with all the existing links out in the world.

* Fix merge conflicts

* Remove some duplication

* Improve spec descriptions/read better

* clean up setting template with a ternary
2019-03-22 16:28:02 -04:00

161 lines
6.1 KiB
Text

# Most of the things are optional. If you need to use a
# custom key, please create an application.yml for it
enable_defaults! { ENV['RACK_ENV'] != 'production' }
################################################
############## Basic configuration #############
################################################
# App domain + Protocol setting for development
variable :APP_DOMAIN, :String, default: "localhost:3000"
variable :APP_PROTOCOL, :String, default: "http://"
# Logo
variable :LOGO_SVG, :String, default: ""
# Default staff account's id
variable :DEVTO_USER_ID, :Integer, default: 1
# Service timeout length
variable :RACK_TIMEOUT_WAIT_TIMEOUT, :Integer, default: 100000
variable :RACK_TIMEOUT_SERVICE_TIMEOUT, :Integer, default: 100000
# Production related config that can be ignored
variable :DEPLOYMENT_SIGNATURE, :String, default: "Optional"
################################################
############## 3rd Party Services ##############
################################################
# It's best if you have the following configured
# for more development experience
# Github for github related access
variable :GITHUB_KEY, :String, default: "Optional"
variable :GITHUB_SECRET, :String, default: "Optional"
variable :GITHUB_TOKEN, :String, default: "Optional"
# Twitter for normal twitter access
variable :TWITTER_ACCESS_TOKEN, :String, default: "Optional"
variable :TWITTER_ACCESS_TOKEN_SECRET, :String, default: "Optional"
variable :TWITTER_KEY, :String, default: "Optional"
variable :TWITTER_SECRET, :String, default: "Optional"
################################################
######### Optional 3rd Party Services ##########
################################################
# Airbrake for error tracking
variable :AIRBRAKE_API_KEY, :String, default: "Optional"
variable :AIRBRAKE_PROJECT_ID, :integer, default: 00000
# Algolia for search (not optional)
only_in_test = proc { ENV['RACK_ENV'] == "test" ? "test-test" : nil}
variable :ALGOLIASEARCH_API_KEY, :String, default: only_in_test
variable :ALGOLIASEARCH_APPLICATION_ID, :String, default: only_in_test
variable :ALGOLIASEARCH_SEARCH_ONLY_KEY, :String, default: only_in_test
# AWS for images storages
variable :AWS_ID, :String, default: "Optional"
variable :AWS_SECRET, :String, default: "Optional"
variable :AWS_BUCKET_NAME, :String, default: "Optional"
# AWS SDK
variable :AWS_DEFAULT_REGION, :String, default: "us-east-1"
variable :AWS_SDK_KEY, :String, default: "Optional"
variable :AWS_SDK_SECRET, :String, default: "Optional"
# AWS for video storage
variable :AWS_S3_INPUT_BUCKET, :String, default: "Optional"
variable :AWS_S3_VIDEO_ID, :String, default: "Optional"
variable :AWS_S3_VIDEO_KEY, :String, default: "Optional"
# Buffer for sending to buffer
variable :BUFFER_ACCESS_TOKEN, :String, default: "Optional"
variable :BUFFER_FACEBOOK_ID, :String, default: "Optional"
variable :BUFFER_LINKEDIN_ID, :String, default: "Optional"
variable :BUFFER_PROFILE_ID, :Integer, default: 0
variable :BUFFER_TWITTER_ID, :String, default: "Optional"
# Cloudinary for image resizing and cache??
variable :CLOUDINARY_API_KEY, :String, default: "Optional"
variable :CLOUDINARY_API_SECRET, :String, default: "Optional"
variable :CLOUDINARY_CLOUD_NAME, :String, default: "Optional"
variable :CLOUDINARY_SECURE, :String, default: "Optional"
# HTML/CSS to Image for generating social preview images
variable :HCTI_API_USER_ID, :String, default: "Optional"
variable :HCTI_API_KEY, :String, default: "Optional"
# Dacast for streaming
variable :DACAST_STREAM_CODE, :String, default: "Optional"
# Fastly for edge caching
variable :FASTLY_API_KEY, :String, default: "Optional"
variable :FASTLY_SERVICE_ID, :String, default: "Optional"
# Google analytic
variable :GA_SERVICE_ACCOUNT_JSON, :String, default: "Optional"
variable :GA_TRACKING_ID, :String, default: "Optional"
variable :GA_OPTIMIZE_ID, :String, default: "Optional"
variable :GA_VIEW_ID, :String, default: "Optional"
# Honeycomb
variable :HONEYCOMB_API_KEY, :String, default: "Optional"
# Mailchimp for mails
variable :MAILCHIMP_API_KEY, :String, default: "Optional-valid"
variable :MAILCHIMP_NEWSLETTER_ID, :String, default: "Optional"
variable :MAILCHIMP_SUSTAINING_MEMBERS_ID, :String, default: "Optional"
# Email digest frequency
variable :PERIODIC_EMAIL_DIGEST_MAX, :Integer, default: 0
variable :PERIODIC_EMAIL_DIGEST_MIN, :Integer, default: 2
# Pusher for DEV Connect/notfications
variable :PUSHER_APP_ID, :String, default: "Optional"
variable :PUSHER_CLUSTER, :String, default: "Optional"
variable :PUSHER_KEY, :String, default: "Optional"
variable :PUSHER_SECRET, :String, default: "Optional"
variable :PUSHER_BEAMS_ID, :String, default: "Optional"
variable :PUSHER_BEAMS_KEY, :String, default: "Optional"
# Google recaptcha
variable :RECAPTCHA_SECRET, :String, default: "Optional"
variable :RECAPTCHA_SITE, :String, default: "Optional"
# Sharemeow is a text-shot service
# more information here https://github.com/producthunt/ShareMeow
variable :SHARE_MEOW_BASE_URL, :String, default: "Optional"
variable :SHARE_MEOW_SECRET_KEY, :String, default: "Optional"
# Slack for customer alerts
variable :SLACK_CHANNEL, :String, default: "Optional"
variable :SLACK_WEBHOOK_URL, :String, default: "Optional"
# Stripe for payment system
variable :STRIPE_PUBLISHABLE_KEY, :String, default: "Optional"
variable :STRIPE_SECRET_KEY, :String, default: "Optional"
variable :STRIPE_CANCELLATION_SECRET, :String, default: "Optional"
# For browser webpush notifications (webpush gem) (totally random base64 nums)
variable :VAPID_PUBLIC_KEY, :String, default: "dGhpcyBpcyBkZXYudG8gdGVzdCBkYXRh"
variable :VAPID_PRIVATE_KEY, :String, default: "VGhpcyBpcyBtb3JlIHRlc3QgZGF0YQ=="
#For video calling in DEV Connect
variable :TWILIO_ACCOUNT_SID, :String, default: "Optional"
variable :TWILIO_VIDEO_API_KEY, :String, default: "Optional"
variable :TWILIO_VIDEO_API_SECRET, :String, default: "Optional"
#Trending tags on home page
variable :TRENDING_TAGS, :String, default: "git,beginners"
##### Legacy test related env vars ######
variable :FACEBOOK_PIXEL_ID, :String, default: "Optional"
variable :SMARTY_STREETS_WEB_KEY, :String, default: "Optional"
group :production do
variable :SECRET_KEY_BASE, :String
end