Docker Hub enforces rate limits on unauthenticated image pulls.
- On GCP, Google runs a caching proxy that hides this problem from you.
- On AWS, CodeBuild project executions use shared IPs and by default you will be rapidly rate limited using public images hosted by Docker in your account.
- Coherence hides the problem by using a Coherence-provided Docker Hub account that has increased rate limits, to pull images more frequently. However, this still leaves you vulnerable to our account being used aggressivly by other applications, or us forgetting to pay our bills :) Therefore, we also allow you to provide your own Docker Hub credentials to be used in your build pipelines.
- To provide your Docker Hub credentials to your pipelines, you just need to set the Environment Variables
DOCKER_PASSWORD. Like all variables, these can be the project-level default scope, or per-environment scope.
To integrate Coherence with Slack you will first need to click on the settings tab at the top of the Coherence dashboard.
Scroll to the bottom of the page where you will see the "Integrations" section. Click on the Install button next to Slack.
Next, you will need to enter the name of your Slack workspace. Then click the Continue button.
Once Slack finds your workspace you will need to grant Coherence access to your workspace.
If everything worked correctly, you should see the "Successfully installed Slack" screen.
Finally, you will need to select which Slack channel you would like Coherence to post to on the settings page of the Coherence dashboard.
DataDog is only supported on AWS, at this time.
Datadog is a popular monitoring and security service. To use Datadog in your application, you will need to do the following.
First, you will need to add the following environment variables to your application:
DD_API_KEY # your datadog API key DD_APP_KEY # your datadog application key (created in the Datadog UI)
if you use a non-default site or API URL host for your datadog account, you can provide those values with the following variables (use the correct values for your account):
We recommend you add these variables at the cloud project level in Coherence so that all environments will inherit them
Finally, you will need to add the following to your
backend: type: backend # ... integrations: datadog: enabled: true
If you've already installed the DataDog AWS integration into your AWS accounts, you'll also need to add:
install_integration: False to the
Cypress is a popular end-to-end and component testing tool.
To learn how to run your Cypress tests within Coherence, see:
Our GitHub integration does the following:
- Installs the app for webhooks
- Post back check status on each commit when we run the build
- Adds a comment on each PR with the Coherence preview URL
- Auto-creation of features from PRs (You need to ask us to enable this for you)
- This means that when you create a new PR via GitHub's UI, we will automatically create a new feature for you in Coherence.
You can also integrate GitHub Actions CI/CD piplelines with Coherence by reading our docs How to integrate GitHub Actions CI/CD pipelines.
Reflect is an automated testing framework that can be integrated into Coherence via integration_test in your
name_of_your_integration_tests: integration_test: type: integration_test command: ['curl', '-X', 'POST', '-H', 'X-API-KEY: <API-KEY>', 'https://api.reflect.run/v1/suites/<suite-id>/executions'] image: 'curlimages/curl:7.85.0'
Include your integration tests as a top level block along with your application's services with a
<suite-id> with the Suite ID on the suites page and
<API-KEY> with your Reflect API Key.
See Reflect's official docs here.
doppler is a secrets manager platform. To integrate with coherence, you can place the command
doppler run --token=$VAR_NAME before your
dev/prod/build commands in
coherence.yml, and choose different
VAR_NAME for the token in each environment as appropriate. One good practice is to use a different variable in
prod commands so that you can provide a unique set of secrets for workspaces and deployed environments.