Skip to content

Commit bc5472c

Browse files
author
Matthew
committed
feat(publisher): add http liveness health check
1 parent 668bb90 commit bc5472c

1 file changed

Lines changed: 30 additions & 0 deletions

File tree

api/models.py

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1159,6 +1159,34 @@ def _etcd_purge_cert(**kwargs):
11591159
pass
11601160

11611161

1162+
def _etcd_publish_config(**kwargs):
1163+
config = kwargs['instance']
1164+
# we purge all existing config when adding the newest instance. This is because
1165+
# deis config:unset would remove an existing value, but not delete the
1166+
# old config object
1167+
try:
1168+
_etcd_client.delete('/deis/config/{}'.format(config.app),
1169+
prevExist=True, dir=True, recursive=True)
1170+
except KeyError:
1171+
pass
1172+
if kwargs['created']:
1173+
for k, v in config.values.iteritems():
1174+
_etcd_client.write(
1175+
'/deis/config/{}/{}'.format(
1176+
config.app,
1177+
unicode(k).encode('utf-8').lower()),
1178+
unicode(v).encode('utf-8'))
1179+
1180+
1181+
def _etcd_purge_config(**kwargs):
1182+
config = kwargs['instance']
1183+
try:
1184+
_etcd_client.delete('/deis/config/{}'.format(config.app),
1185+
prevExist=True, dir=True, recursive=True)
1186+
except KeyError:
1187+
pass
1188+
1189+
11621190
def _etcd_publish_domains(**kwargs):
11631191
domain = kwargs['instance']
11641192
if kwargs['created']:
@@ -1204,3 +1232,5 @@ def create_auth_token(sender, instance=None, created=False, **kwargs):
12041232
post_delete.connect(_etcd_purge_app, sender=App, dispatch_uid='api.models')
12051233
post_save.connect(_etcd_publish_cert, sender=Certificate, dispatch_uid='api.models')
12061234
post_delete.connect(_etcd_purge_cert, sender=Certificate, dispatch_uid='api.models')
1235+
post_save.connect(_etcd_publish_config, sender=Config, dispatch_uid='api.models')
1236+
post_delete.connect(_etcd_purge_config, sender=Config, dispatch_uid='api.models')

0 commit comments

Comments
 (0)