File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ [template ]
2+ src = " check-repos"
3+ dest = " /home/git/check-repos"
4+ uid = 0
5+ gid = 0
6+ mode = " 0755"
7+ keys = [
8+ " /deis/services" ,
9+ ]
10+ reload_cmd = " /home/git/check-repos"
Original file line number Diff line number Diff line change 1+ #! /usr/bin/env bash
2+
3+ listcontains () {
4+ for word in $1 ; do
5+ [[ $word = $2 ]] && return 0
6+ done
7+ return 1
8+ }
9+
10+ cd $( dirname $0 ) # absolute path
11+
12+ for repo in * .git;
13+ do
14+ reponame=" ${repo% .* } "
15+ if ! listcontains " {{ range $services := .deis_services }}{{ Base $services .Key }} {{ end }}" " $reponame " ;
16+ then
17+ rm -rf " $repo "
18+ fi
19+ done
Original file line number Diff line number Diff line change @@ -49,6 +49,7 @@ func TestBuilder(t *testing.T) {
4949 "/deis/database" ,
5050 "/deis/registry" ,
5151 "/deis/domains" ,
52+ "/deis/services" ,
5253 }
5354 testID := utils .NewUuid ()
5455 err := dockercliutils .BuildImage (t , "../" , "deis/builder:" + testID )
Original file line number Diff line number Diff line change @@ -632,6 +632,17 @@ def _etcd_purge_user(**kwargs):
632632 pass
633633
634634
635+ def _etcd_create_app (** kwargs ):
636+ appname = kwargs ['instance' ]
637+ if kwargs ['created' ]:
638+ _etcd_client .write ('/deis/services/{}' .format (appname ), None , dir = True )
639+
640+
641+ def _etcd_purge_app (** kwargs ):
642+ appname = kwargs ['instance' ]
643+ _etcd_client .delete ('/deis/services/{}' .format (appname ), dir = True , recursive = True )
644+
645+
635646def _etcd_publish_domains (** kwargs ):
636647 app = kwargs ['instance' ].app
637648 app_domains = app .domain_set .all ()
@@ -670,3 +681,5 @@ def _save_transition(**kwargs):
670681 post_delete .connect (_etcd_purge_user , sender = User , dispatch_uid = 'api.models' )
671682 post_save .connect (_etcd_publish_domains , sender = Domain , dispatch_uid = 'api.models' )
672683 post_delete .connect (_etcd_publish_domains , sender = Domain , dispatch_uid = 'api.models' )
684+ post_save .connect (_etcd_create_app , sender = App , dispatch_uid = 'api.models' )
685+ post_delete .connect (_etcd_purge_app , sender = App , dispatch_uid = 'api.models' )
Original file line number Diff line number Diff line change @@ -28,11 +28,17 @@ function etcd_set_default {
2828 etcdctl --no-sync -C $ETCD mk $ETCD_PATH /$1 $2 > /dev/null 2>&1 || true
2929}
3030
31+ function etcd_safe_mkdir {
32+ etcdctl --no-sync -C $ETCD mkdir $1 > /dev/null 2>&1 || true
33+ }
34+
3135etcd_set_default protocol ${DEIS_PROTOCOL:- http}
3236etcd_set_default secretKey ${DEIS_SECRET_KEY:- `openssl rand -base64 64 | tr -d ' \n' `}
3337etcd_set_default builderKey ${DEIS_BUILDER_KEY:- `openssl rand -base64 64 | tr -d ' \n' `}
3438etcd_set_default registrationEnabled 1
3539etcd_set_default webEnabled 0
40+ # create path for application metadata
41+ etcd_safe_mkdir /deis/services
3642
3743# wait for confd to run once and install initial templates
3844until confd -onetime -node $ETCD -config-file /app/confd.toml 2> /dev/null; do
Original file line number Diff line number Diff line change @@ -40,6 +40,7 @@ setting description
4040/deis/controller/protocol protocol of the controller component (set by controller)
4141/deis/registry/host host of the controller component (set by registry)
4242/deis/registry/port port of the controller component (set by registry)
43+ /deis/services/* application metadata (set by controller)
4344==================================== ===========================================================
4445
4546Using a custom builder image
You can’t perform that action at this time.
0 commit comments