This document contains information about all the environment variables that can or must be defined for Checks-Out to function.
- Format:
SERVER_ADDR="_ip_address_:_port_"but more specifically see the documentation for golang'shttp.ListenAndServeandhttp.ListanAndServeTLS - Default:
:8000, which means port 8000 on all interfaces - Required: No
See https://golang.org/pkg/net/http/#ListenAndServe for detailed documentation on the format.
- Format:
SERVER_CERT="_full_path_and_filename_of_ssl_server_cert_file_" - Default: None
- Required: No
If SERVER_CERT is not specified, Checks-Out runs without SSL. See https://golang.org/pkg/net/http/#ListenAndServeTLS for detailed documentation on the format.
- Format:
SERVER_KEY="_full_path_and_filename_of_ssl_server_key_file_" - Default: None
- Required: Only if
SERVER_CERTis also specified
If SERVER_CERT is specified, then SERVER_KEY must be specified as well. See https://golang.org/pkg/net/http/#ListenAndServeTLS for detailed documentation on the format.
- Format:
DB_DRIVER=sqlite3|postgres|mysql - Default: None
- Required: Yes
- Format:
DB_SOURCE="_db_driver_specific_datasource_spec_" - Default: None
- Required: Yes
Please refer to the datasource specifications for the sqlite3, lib/pq, and mysql drivers for their respective specifications for this environment variable.
- Format:
SLACK_TARGET_URL="_slack_integration_url" - Default: None
- Required: No
If the SLACK_TARGET_URL is not defined, then no logging into slack will happen, however it will also
currently cause logging that Slack is not configured to get generated every time a slackable event happens.
- Format:
GITHUB_EMAIL="_valid_email_address_" - Default: None
- Required: Yes
- Format:
GITHUB_URL="_protocol_plus_hostname_plus_path_prefix_of_url_" - Default:
https://github.com - Required: No, defaults to
https://github.comwhich is fine unless you are using your own enterprise github
- Format:
GITHUB_CLIENT="_your_OAuth2_client_id_" - Default: None
- Required: Yes. You must supply the github OAuth2 client ID issued by the github server you are connecting to (github.com or enterprise-hosted github server)
- Format:
GITHUB_SECRET="_your_OAuth2_secret_" - Default: None
- Required: Yes. You must supply the github OAuth2 secret issued by the github server you are connecting to (github.com or enterprise-hosted github server)
- Format:
GITHUB_SCOPE="_valid_github_scope_specification_". Please see github documentation for specifics on the specification format - Default:
read:org,repo:status,admin:repo_hook - Required: No
- Format:
GITHUB_TEST_ENABLE=true|false. Enable Github integration tests to run - Default: False
- Required: No
- Format:
GITHUB_TEST_TOKEN=__OAUTH2_TOKEN_TO_USE. This is an OAuth2 token to be sent to the github endpoint for github integration test API requests - Default: None
- Required: only if GITHUB_TEST_ENABLE is true
- Format:
DEBUG=true|false - Default: false
- Required: No
If set to true, debug logging will be enabled and output to logging.
- Format:
CHECKS_OUT_SUNLIGHT=true|false - Default: false
- Required: No
If set to true, exposes endpoints and data that might not be suitable for a live site. Specifically, the following behaviors are enabled:
/api/reposendpoint is available that will show all repositories managed under Checks-Out/versionendpoint is available that will show the Checks-Out version- Outputs stack trace information over HTTP when errors happen
- Puts the
X-CHECKS-OUT-VERSIONHTTP header with the Checks-Out version in every response
- Format:
BLACKLIST_USER_AGENTS=user_agent1[]:user_agent2...:user_agent_N] - Default: false
- Required: No
Specify a colon-separated list of user agent strings for the middleware that does request logging to skip logging on. This allows suppressing logging of user agents like the health checker from aws that are generally operational noise.
- Format:
LOG_STATS_PERIOD=_valid_time.ParseDuration()_string_ - Default: 0 (Do not periodically log)
- Required: No
Specify a time duration in a valid format understood by the time.ParseDuraction() method to periodically log activity of Checks-Out such as number of commits, approvers, and disapprovers in the specified time period.
- Format:
CACHE_TTL=_time_specified_in_time.Duration_format_ - Default: 15 minutes
- Required: No
Determines the length of time the gin middleware will cache. Default is 15 minutes.
- Format:
LONG_CACHE_TTL=_time_specified_in_time.Duration_format_ - Default: 24 hours
- Required: No
Determines the length of time Checks-Out will cache github artifacts like user information, organization members, and team members in memory before going back to the server. Default is 24 hours.
- Format:
LIMIT_USERS=true|false - Default: false
- Required: No
If enabled, only users listed in the limit_users table in the database are
allowed to create accounts. Any existing accounts will still function, even
if the user's name is not in the limit_users table.
- Format:
LIMIT_ORGS=true|false - Default: false
- Required: No
If enabled, only users in the organizations listed in the limit_orgs table
in the database are allowed to create accounts. Any existing accounts will
still function, even if the user is not any of the orgs named in the
limit_orgs table.
If both LIMIT_ORGS and LIMIT_USERS are set to true then a user can
either be explicitly named in limit_users or can belong to an org named
in limit_orgs.
- Format:
CHECKS_OUT_DOCS_URL=_URL_for_docs_no_closing_slash_ - Default:
https://capitalone.github.com/checks-out/docs - Required: No
Provides the base URL for links to the documentation in the UI.