diff --git a/.travis.yml b/.travis.yml
index cbd2b40..c196fd7 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -35,4 +35,4 @@ env:
 script:
   - docker --version
   - make --version
-  - travis_wait 40 make --keep-going $MAKE_TARGET SHARD=$SHARD SHARDS=$SHARDS
+  - travis_wait 50 make --keep-going $MAKE_TARGET SHARD=$SHARD SHARDS=$SHARDS
diff --git a/playbooks/roles/credentials/defaults/main.yml b/playbooks/roles/credentials/defaults/main.yml
index f1aa5a0..033def2 100644
--- a/playbooks/roles/credentials/defaults/main.yml
+++ b/playbooks/roles/credentials/defaults/main.yml
@@ -20,7 +20,7 @@ CREDENTIALS_NGINX_PORT: 18150
 CREDENTIALS_SSL_NGINX_PORT: 48150
 
 CREDENTIALS_DEFAULT_DB_NAME: 'credentials'
-CREDENTIALS_MYSQL: 'localhost'
+CREDENTIALS_MYSQL_HOST: 'localhost'
 # MySQL usernames are limited to 16 characters
 CREDENTIALS_MYSQL_USER: 'credentials001'
 CREDENTIALS_MYSQL_PASSWORD: 'password'
@@ -32,14 +32,14 @@ CREDENTIALS_DATABASES:
     NAME: '{{ CREDENTIALS_DEFAULT_DB_NAME }}'
     USER: '{{ CREDENTIALS_MYSQL_USER }}'
     PASSWORD: '{{ CREDENTIALS_MYSQL_PASSWORD }}'
-    HOST: '{{ CREDENTIALS_MYSQL }}'
+    HOST: '{{ CREDENTIALS_MYSQL_HOST }}'
     PORT: '3306'
     ATOMIC_REQUESTS: true
     CONN_MAX_AGE: 60
 
 CREDENTIALS_DB_ADMIN_USER: 'root'
 CREDENTIALS_DB_ADMIN_PASSWORD: ''
-CREDENTIALS_MYSQL_MATCHER: 'localhost'
+CREDENTIALS_MYSQL_MATCHER: '{{ CREDENTIALS_MYSQL_HOST }}'
 
 CREDENTIALS_MEMCACHE: [ 'memcache' ]
 
@@ -89,11 +89,37 @@ CREDENTIALS_USER_API_URL: 'https://127.0.0.1:8000/api/user/v1/'
 CREDENTIALS_USER_API_JWT_AUDIENCE: 'lms-key'
 CREDENTIALS_USER_API_JWT_SECRET_KEY: 'lms-secret'
 
+# Example settings to use Amazon S3 as files storage backend with django storages:
+# https://django-storages.readthedocs.org/en/latest/backends/amazon-S3.html#amazon-s3
+#
+# CREDENTIALS_FILE_STORAGE_BACKEND:
+#  AWS_STORAGE_BUCKET_NAME: mybucket
+#  AWS_CUSTOM_DOMAIN: mybucket.s3.amazonaws.com
+#  AWS_ACCESS_KEY_ID: XXXAWS_ACCESS_KEYXXX
+#  AWS_SECRET_ACCESS_KEY: XXXAWS_SECRETY_KEYXXX
+#  AWS_QUERYSTRING_AUTH: False
+#  AWS_QUERYSTRING_EXPIRE: False
+#  AWS_DEFAULT_ACL: ''
+#  AWS_HEADERS:
+#    Cache-Control: max-age-31536000
+#    Access-Control-Allow-Origin: PUT YOUR HOSTNAME HERE
+#
+#  COMPRESS_URL: 'https://mybucket.s3.amazonaws.com/'
+#  STATIC_URL: 'https://mybucket.s3.amazonaws.com/'
+#  COMPRESS_ROOT: {{ CREDENTIALS_STATIC_ROOT }}
+#  COMPRESS_STORAGE: storages.backends.s3boto.S3BotoStorage
+#  STATICFILES_STORAGE: storages.backends.s3boto.S3BotoStorage
+#  DEFAULT_FILE_STORAGE: storages.backends.s3boto.S3BotoStorage
+
+CREDENTIALS_FILE_STORAGE_BACKEND:
+  DEFAULT_FILE_STORAGE: 'django.core.files.storage.DefaultStorage'
+
 CREDENTIALS_SERVICE_CONFIG:
   SECRET_KEY: '{{ CREDENTIALS_SECRET_KEY }}'
   TIME_ZONE: '{{ CREDENTIALS_TIME_ZONE }}'
   LANGUAGE_CODE: '{{ CREDENTIALS_LANGUAGE_CODE }}'
 
+  OAUTH2_PROVIDER_URL: '{{ CREDENTIALS_OAUTH_URL_ROOT }}/oauth2'
   SOCIAL_AUTH_EDX_OIDC_KEY: '{{ CREDENTIALS_SOCIAL_AUTH_EDX_OIDC_KEY }}'
   SOCIAL_AUTH_EDX_OIDC_SECRET: '{{ CREDENTIALS_SOCIAL_AUTH_EDX_OIDC_SECRET }}'
   SOCIAL_AUTH_EDX_OIDC_ID_TOKEN_DECRYPTION_KEY: '{{ CREDENTIALS_SOCIAL_AUTH_EDX_OIDC_SECRET }}'
@@ -113,9 +139,8 @@ CREDENTIALS_SERVICE_CONFIG:
 
   PLATFORM_NAME: '{{ CREDENTIALS_PLATFORM_NAME }}'
 
-  AWS_STORAGE_BUCKET_NAME: ''
-  AWS_ACCESS_KEY_ID: ''
-  AWS_SECRET_ACCESS_KEY: ''
+  # Set credentials files storage backend
+  FILE_STORAGE_BACKEND: '{{ CREDENTIALS_FILE_STORAGE_BACKEND }}'
 
   # credentials service user in programs service and lms
   CREDENTIALS_SERVICE_USER: '{{ CREDENTIALS_SERVICE_USER }}'