# \[20160425202355\] Certs, Build Events, Log Reliability

**URL:** <https://community.convox.com/t/20160425202355-certs-build-events-log-reliability/395>\
**Category:** Releases\
**Created:** [April 25, 2016, 8:23pm UTC](https://community.convox.com/t/20160425202355-certs-build-events-log-reliability/395 "2016-04-25T20:23:33Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![ddollar](https://yyz1.discourse-cdn.com/flex029/user_avatar/community.convox.com/ddollar/32/3_2.png) [@ddollar](https://community.convox.com/u/ddollar)\
**Post date:** [April 25, 2016, 8:23pm UTC](https://community.convox.com/t/20160425202355-certs-build-events-log-reliability/395/1 "2016-04-25T20:23:33Z")

</div>

## SSL Certs [https://github.com/convox/rack/pull/568](https://github.com/convox/rack/pull/568)

SSL certs are now managed on the Rack or AWS account level with the `convox certs` tool.

You can add a label to your application manifest to automatically configure a self-signed cert in your load balancer:

```auto
web:
  labels:
    - convox.port.443.protocol=https
  ports:
    - 80:3000
    - 443:3000

```

Then you can replace this with a higher-quality certificate for your domain. You can generate a free AWS Certificate Manager (ACM) cert:

```bash
$ convox certs generate foo.example.org
Requesting certificate... OK, acm-01234567890

```

Or upload one of your existing certs:

```bash
$ convox certs create example.org.pub example.org.key
Uploading certificate... OK, cert-1234567890

```

Then you can attach these certificates to an app’s process.

```auto
$ convox ssl update web:443 cert-1234567890
Updating certificate... OK

```

See the [SSL docs](https://convox.com/docs/ssl/) for more details.

## Build Events [https://github.com/convox/rack/pull/572](https://github.com/convox/rack/pull/572)

Failed builds were failing to send webhook notifications. This behavior is now restored.

 ![screen shot 2016-04-25 at 1 59 24 pm](https://cloud.githubusercontent.com/assets/147410/14798755/f5fb8bc0-0aed-11e6-8c83-8d486e2c0cbd.png)

Power users can look at the Rack Event Logs with:

```bash
$ convox logs --app=convox --filter=EventSend --follow=false --since=20m
2016-04-25T20:58:16Z web:20160425202355/1eb3f413602b aws EventSend msg="{\"action\":\"build:create\",\"status\":\"error\",\"data\":{\"app\":\"httpd\",\"id\":\"BEAIOGUJGTU\",\"message\":\"exit status 1\"},\"timestamp\":\"2016-04-25T20:58:16.428582907Z\"}"
2016-04-25T20:58:16Z web:20160425202355/1eb3f413602b ns=kernel at=EventSend message-id="a0266efc-1cd8-54f6-bc46-21649bf06b5a"
2016-04-25T21:00:59Z web:20160425202355/1eb3f413602b aws EventSend msg="{\"action\":\"build:create\",\"status\":\"success\",\"data\":{\"app\":\"httpd\",\"id\":\"BIRNSOLKVUC\"},\"timestamp\":\"2016-04-25T21:00:59.002442447Z\"}"
2016-04-25T21:00:59Z web:20160425202355/1eb3f413602b ns=kernel at=EventSend message-id="1976c1a2-d4cd-5db6-a8c7-8e3a5306b920"
2016-04-25T21:01:02Z web:20160425202355/7971b3dd9ee6 aws EventSend msg="{\"action\":\"release:create\",\"status\":\"success\",\"data\":{\"app\":\"httpd\",\"id\":\"RQYRSVEXGLD\"},\"timestamp\":\"2016-04-25T21:01:02.065567824Z\"}"
2016-04-25T21:01:02Z web:20160425202355/7971b3dd9ee6 ns=kernel at=EventSend message-id="313b7ec7-5b3f-51a6-ba28-315fdcf1c150"
2016-04-25T21:01:04Z web:20160425202355/7971b3dd9ee6 models EventSend msg="{\"action\":\"release:promote\",\"status\":\"success\",\"data\":{\"app\":\"httpd\",\"id\":\"RQYRSVEXGLD\",\"rack\":\"convox\"},\"timestamp\":\"2016-04-25T21:01:04.657552667Z\"}"

```

## Log Reliability [https://github.com/convox/agent/pull/22](https://github.com/convox/agent/pull/22)

Some errors in synchronizing and retrying around getting container logs out of Docker and into CloudWatch Logs have been root-caused and fixed.
