Skip to main content

Notifications

Configure notifications to be alerted when important events occur in your application environments.

Overview

Quave Cloud can send notifications for various deployment and scaling events. You can configure which events trigger notifications and choose between email, Slack, and webhook notifications.

Configuring Notifications

Access notification settings from the Notifications tab in your account settings.

Available Channels

  • Email: Receive notifications via email
  • Slack: Send notifications to a Slack channel (requires webhook URL configuration)
  • Webhook: Send HTTP POST notifications to a custom URL with structured JSON payloads

Notification Settings Types

The following events can trigger notifications. Events marked as Enabled by Default are automatically enabled for new environments.

Build Events

EventDescriptionEnabled by Default
BuildingDocker image is being builtNo
Waiting for imageWaiting for Docker image to be availableNo
Build failedBuild process failed (compilation, Dockerfile errors)Yes
Image in waiting failed to buildDocker image build failedYes
BuiltBuild completed, ready to deployNo
Image in waiting is readyImage is ready for deploymentNo

Deploy Events

EventDescriptionEnabled by Default
DeployingContainers are being deployedNo
Deploy failed to completeDeployment timed out or failed health checksYes
Deploy failed to startContainers failed to startYes
DeployedCode deployment completed successfullyNo

Scaling Events

EventDescriptionEnabled by Default
ScalingContainer count is being adjustedNo
ScaledScaling operation completed successfully (containers adjusted)No

Lifecycle Events

EventDescriptionEnabled by Default
Build canceledBuild was manually canceledYes
Canceled due to new deployCanceled because a new deployment was triggeredNo
StoppingContainers are being stoppedNo
StoppedEnvironment stopped gracefully after successful operationYes
RestartsNotification when containers restart unexpectedly (first restart, then at most once every 3 hours)Yes

Container Restart Notifications

Quave Cloud monitors your containers for unexpected restarts and notifies you when they occur. This helps you quickly identify and address issues like crashes, out-of-memory errors, or application bugs.

When You Get Notified

To prevent notification fatigue, restart notifications follow a rate-limited schedule:

  • First restart: You are notified immediately when a container first restarts
  • Subsequent restarts: You will receive at most one notification every 3 hours if restarts continue

This means you will receive a maximum of approximately 8 restart notifications per day per container, even if the container is in a crash loop.

What the Notification Contains

Each restart notification includes:

  • Container name: Which container or replica restarted
  • Restart count: Total number of restarts recorded
  • Exit code: The error code that caused the restart
  • Error message: Details about why the container terminated (when available)
  • Version: The application version that was running

Common Exit Codes

Exit CodeMeaningTypical Cause
137OOMKilledContainer exceeded memory limit
1ErrorApplication crashed or threw an unhandled exception
143SIGTERMContainer received termination signal

For a complete list of error codes, see our Troubleshooting guide.

Disabling Restart Notifications

If you prefer not to receive restart notifications, you can disable them:

  1. Go to Account then Notifications or App Env then Notifications
  2. Find Restarts on the list
  3. Toggle off Email, Slack, and/or Webhook notifications as desired

Best Practices

  1. Enable failure notifications - At minimum, enable notifications for build and deploy failures to catch issues early
  2. Configure Slack for team visibility - Use Slack channels to keep your entire team informed of deployment events
  3. Use webhooks for custom integrations - Connect notifications to CI/CD pipelines, PagerDuty, or internal tools via webhooks
  4. Customize per environment - Consider different notification settings for production vs staging environments
  5. Use dedicated channels - Create dedicated Slack channels for different apps or environments to reduce noise
  6. Keep restart notifications enabled - Container restarts often indicate issues that need attention, even if the container auto-recovers

Slack Integration

To configure Slack notifications:

  1. Create a Slack webhook URL in your Slack workspace
  2. Go to the Notifications tab in your account settings
  3. Enable Slack notifications for desired events
  4. Enter the webhook URL for the Slack channel
tip

You can configure different Slack channels for different events or environments to better organize your notifications.

Webhook Integration

Webhook notifications allow you to receive structured JSON payloads via HTTP POST whenever events occur in your application environments. Use them to integrate Quave Cloud with CI/CD pipelines, incident management tools, custom dashboards, or any system that can accept HTTP requests.

  • Method: HTTP POST
  • Content-Type: application/json
  • Delivery: Fire-and-forget (no retries on failure)

Configuring Webhooks

  1. Go to Account then Notifications (or App Env then Notifications for environment-level settings)
  2. Enable the Webhook toggle
  3. Enter your Webhook URL (the HTTPS endpoint that will receive the POST requests)
  4. In the activities table, check the Webhook column for each event you want to receive
  5. Click Save changes
tip

You can use a service like webhook.site to test your webhook configuration before connecting it to your production systems.

Webhook Event Types

Quave Cloud sends two types of webhook events:

  • environment_status_change -- Sent when the status of an application environment changes (e.g., build started, deploy succeeded, deploy failed).
  • container_restart -- Sent when a container restarts unexpectedly. Restart notifications follow the same rate-limited schedule described above (first restart immediately, then at most once every 3 hours).

Webhook Field Reference

Common Fields (present in all events)

FieldTypeDescription
eventstringEvent type identifier: environment_status_change or container_restart
timestampstringISO 8601 timestamp of when the notification was sent
account.idstringAccount ID
account.namestringAccount name
app.idstringApp ID
app.namestringApp name
appEnv.idstringEnvironment ID
appEnv.namestringEnvironment name
linkstringDirect URL to the environment in Quave Cloud

Fields for environment_status_change

FieldTypeDescriptionRequired
statusstringStatus enum value (e.g., DEPLOYED, BUILDING_FAIL, DEPLOY_FAILED_START)Yes
statusLabelstringHuman-readable status label (e.g., "Deployed", "Build failed")Yes
messagestringNotification message textYes
hoststringPrimary hostname of the environmentOnly when applicable
imagestringDocker image nameOnly when applicable

Fields for container_restart

FieldTypeDescriptionRequired
container.namestringContainer/pod nameYes
container.restartCountnumberTotal number of restarts recordedYes
versionstringApplication version string (e.g., v8.3)Yes
exitCodenumberProcess exit code that caused the restartYes
exitCodeLabelstringHuman-readable exit code meaning (e.g., "OOMKilled")Only when available
errorMessagestringError details from the containerOnly when available

Webhook Example Payloads

Environment Status Change

{
"event": "environment_status_change",
"timestamp": "2026-02-16T12:00:00.000Z",
"account": {
"id": "abc123",
"name": "My Company"
},
"app": {
"id": "def456",
"name": "my-app"
},
"appEnv": {
"id": "ghi789",
"name": "production"
},
"status": "DEPLOYED",
"statusLabel": "Deployed",
"message": "Environment Deployed",
"host": "app.example.com",
"link": "https://cloud.quave.dev/abc123/def456/ghi789"
}

Container Restart

{
"event": "container_restart",
"timestamp": "2026-02-16T12:00:00.000Z",
"account": {
"id": "abc123",
"name": "My Company"
},
"app": {
"id": "def456",
"name": "my-app"
},
"appEnv": {
"id": "ghi789",
"name": "production"
},
"container": {
"name": "my-app-web-5f8a9b",
"restartCount": 5
},
"version": "v8.3",
"exitCode": 137,
"exitCodeLabel": "OOMKilled",
"link": "https://cloud.quave.dev/abc123/def456/ghi789?tab=CONTAINERS"
}

Deploy Failed (without optional fields)

{
"event": "environment_status_change",
"timestamp": "2026-02-16T14:30:00.000Z",
"account": {
"id": "abc123",
"name": "My Company"
},
"app": {
"id": "def456",
"name": "my-app"
},
"appEnv": {
"id": "ghi789",
"name": "staging"
},
"status": "BUILDING_FAIL",
"statusLabel": "Build failed",
"message": "Environment Build failed",
"link": "https://cloud.quave.dev/abc123/def456/ghi789"
}