Skip to content
This repository has been archived by the owner on Jan 17, 2023. It is now read-only.

Commit

Permalink
Merge pull request #66 from atc-/0.8.4
Browse files Browse the repository at this point in the history
0.8.4 merge
  • Loading branch information
Alex Collins committed Jul 26, 2014
2 parents 1c5ddae + 5ba7258 commit 8a11d41
Show file tree
Hide file tree
Showing 25 changed files with 115 additions and 5 deletions.
2 changes: 2 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -9,3 +9,5 @@ RUN rm -rf /tomcat7/webapps/*
VOLUME ["/var/lib/h2/", "/tomcat7"]

ADD http://atc.gd/docker-registry-ui.war /tomcat7/webapps/ROOT.war

CMD sed -i '1iexport CATALINA_OPTS=" -Djava.security.egd=file:/dev/./urandom "' bin/catalina.sh && bin/catalina.sh run
5 changes: 5 additions & 0 deletions grails-app/conf/BootStrap.groovy
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,11 @@ class BootStrap {
reg.url = urlStr.replaceAll("/(v\\d)/", "") // remove API version
reg.apiVersion = m.group(1) // extracts e.g. v1 from url
reg.save()

if (!reg.ping()) {
log.warn("Registry '${reg.toUrl()}' ping failed! Check it's up!")
}

} else {
log.error("Couldn't parse the API version from $regUrl")
}
Expand Down
1 change: 1 addition & 0 deletions grails-app/conf/BuildConfig.groovy
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,7 @@ grails.project.dependency.resolution = {
compile ":jquery-ui:1.10.3"
compile ":jquery-datatables:1.7.5"
compile ":spring-security-core:2.0-RC3"
compile ":dwr:0.1"

// plugins needed at runtime but not for compilation
runtime ":hibernate4:4.3.5.3"
Expand Down
16 changes: 16 additions & 0 deletions grails-app/conf/DwrConfigBootStrap.groovy
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
class DwrConfigBootStrap {

def init = { servletContext -> }
def destroy = {}

def dwrconfig = {
service(name: 'registryService', javascript: 'RestService') {
exclude('setMetaClass,getMetaClass,setProperty,getProperty')
}

create(creator: 'new', javascript: 'AddressLookup') {
param(name: 'class') { 'uk.ltd.getahead.dwrdemo.address.AddressLookup' }
}
}
}

Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,8 @@ class RegistryController {
}

def show(Registry registryInstance) {
respond registryInstance
boolean isUp = registryInstance?.ping()
respond registryInstance, model: [registryIsUp: isUp]
}

def create() {
Expand Down
6 changes: 5 additions & 1 deletion grails-app/domain/docker/registry/web/Registry.groovy
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ class Registry {
static constraints = {
}

static transients = ['toUrl', 'repositories']
static transients = ['toUrl', 'repositories', 'ping']

def toUrl() {
return "${this.url}/${this.apiVersion}"
Expand All @@ -19,6 +19,10 @@ class Registry {
repositoryService.index(this)
}

def ping() {
repositoryService.ping(this)
}

@Override
public String toString() {
return "Registry{" +
Expand Down
3 changes: 3 additions & 0 deletions grails-app/i18n/messages.properties
Original file line number Diff line number Diff line change
Expand Up @@ -77,3 +77,6 @@ labels.registry.url=URL
registry.apiVersion.label=API Version
registry.url.label=URL
ui.dialog.button.deleteTag=Delete tag
registry.ping.failed=Ping failed\!
registry.ping.succeeded=Ping succeeded
labels.registry.ping=Pingable?
3 changes: 3 additions & 0 deletions grails-app/i18n/messages_cs_CZ.properties
Original file line number Diff line number Diff line change
Expand Up @@ -77,3 +77,6 @@ labels.registry.url=URL
registry.apiVersion.label=API Version
registry.url.label=URL
ui.dialog.button.deleteTag=Delete tag
registry.ping.failed=Ping failed\!
registry.ping.succeeded=Ping succeeded
labels.registry.ping=Pingable?
3 changes: 3 additions & 0 deletions grails-app/i18n/messages_da.properties
Original file line number Diff line number Diff line change
Expand Up @@ -77,4 +77,7 @@ labels.registry.url=URL
registry.apiVersion.label=API Version
registry.url.label=URL
ui.dialog.button.deleteTag=Delete tag
registry.ping.failed=Ping failed\!
registry.ping.succeeded=Ping succeeded
labels.registry.ping=Pingable?

3 changes: 3 additions & 0 deletions grails-app/i18n/messages_de.properties
Original file line number Diff line number Diff line change
Expand Up @@ -77,3 +77,6 @@ labels.registry.url=URL
registry.apiVersion.label=API Version
registry.url.label=URL
ui.dialog.button.deleteTag=Delete tag
registry.ping.failed=Ping failed\!
registry.ping.succeeded=Ping succeeded
labels.registry.ping=Pingable?
5 changes: 4 additions & 1 deletion grails-app/i18n/messages_es.properties
Original file line number Diff line number Diff line change
Expand Up @@ -76,4 +76,7 @@ labels.registry.apiVersion=API Version
labels.registry.url=URL
registry.apiVersion.label=API Version
registry.url.label=URL
ui.dialog.button.deleteTag=Delete tag
ui.dialog.button.deleteTag=Delete tag
registry.ping.failed=Ping failed\!
registry.ping.succeeded=Ping succeeded
labels.registry.ping=Pingable?
3 changes: 3 additions & 0 deletions grails-app/i18n/messages_fr.properties
Original file line number Diff line number Diff line change
Expand Up @@ -41,3 +41,6 @@ labels.registry.url=URL
registry.apiVersion.label=API Version
registry.url.label=URL
ui.dialog.button.deleteTag=Delete tag
registry.ping.failed=Ping failed\!
registry.ping.succeeded=Ping succeeded
labels.registry.ping=Pingable?
3 changes: 3 additions & 0 deletions grails-app/i18n/messages_it.properties
Original file line number Diff line number Diff line change
Expand Up @@ -77,3 +77,6 @@ labels.registry.url=URL
registry.apiVersion.label=API Version
registry.url.label=URL
ui.dialog.button.deleteTag=Delete tag
registry.ping.failed=Ping failed\!
registry.ping.succeeded=Ping succeeded
labels.registry.ping=Pingable?
3 changes: 3 additions & 0 deletions grails-app/i18n/messages_ja.properties
Original file line number Diff line number Diff line change
Expand Up @@ -77,3 +77,6 @@ labels.registry.url=URL
registry.apiVersion.label=API Version
registry.url.label=URL
ui.dialog.button.deleteTag=Delete tag
registry.ping.failed=Ping failed\!
registry.ping.succeeded=Ping succeeded
labels.registry.ping=Pingable?
3 changes: 3 additions & 0 deletions grails-app/i18n/messages_nb.properties
Original file line number Diff line number Diff line change
Expand Up @@ -77,4 +77,7 @@ labels.registry.url=URL
registry.apiVersion.label=API Version
registry.url.label=URL
ui.dialog.button.deleteTag=Delete tag
registry.ping.failed=Ping failed\!
registry.ping.succeeded=Ping succeeded
labels.registry.ping=Pingable?

3 changes: 3 additions & 0 deletions grails-app/i18n/messages_nl.properties
Original file line number Diff line number Diff line change
Expand Up @@ -77,3 +77,6 @@ labels.registry.url=URL
registry.apiVersion.label=API Version
registry.url.label=URL
ui.dialog.button.deleteTag=Delete tag
registry.ping.failed=Ping failed\!
registry.ping.succeeded=Ping succeeded
labels.registry.ping=Pingable?
3 changes: 3 additions & 0 deletions grails-app/i18n/messages_pl.properties
Original file line number Diff line number Diff line change
Expand Up @@ -81,3 +81,6 @@ labels.registry.url=URL
registry.apiVersion.label=API Version
registry.url.label=URL
ui.dialog.button.deleteTag=Delete tag
registry.ping.failed=Ping failed\!
registry.ping.succeeded=Ping succeeded
labels.registry.ping=Pingable?
5 changes: 4 additions & 1 deletion grails-app/i18n/messages_pt_BR.properties
Original file line number Diff line number Diff line change
Expand Up @@ -80,4 +80,7 @@ labels.registry.apiVersion=API Version
labels.registry.url=URL
registry.apiVersion.label=API Version
registry.url.label=URL
ui.dialog.button.deleteTag=Delete tag
ui.dialog.button.deleteTag=Delete tag
registry.ping.failed=Ping failed\!
registry.ping.succeeded=Ping succeeded
labels.registry.ping=Pingable?
3 changes: 3 additions & 0 deletions grails-app/i18n/messages_pt_PT.properties
Original file line number Diff line number Diff line change
Expand Up @@ -56,3 +56,6 @@ labels.registry.url=URL
registry.apiVersion.label=API Version
registry.url.label=URL
ui.dialog.button.deleteTag=Delete tag
registry.ping.failed=Ping failed\!
registry.ping.succeeded=Ping succeeded
labels.registry.ping=Pingable?
3 changes: 3 additions & 0 deletions grails-app/i18n/messages_ru.properties
Original file line number Diff line number Diff line change
Expand Up @@ -53,3 +53,6 @@ labels.registry.url=URL
registry.apiVersion.label=API Version
registry.url.label=URL
ui.dialog.button.deleteTag=Delete tag
registry.ping.failed=Ping failed\!
registry.ping.succeeded=Ping succeeded
labels.registry.ping=Pingable?
5 changes: 4 additions & 1 deletion grails-app/i18n/messages_sv.properties
Original file line number Diff line number Diff line change
Expand Up @@ -76,4 +76,7 @@ labels.registry.apiVersion=API Version
labels.registry.url=URL
registry.apiVersion.label=API Version
registry.url.label=URL
ui.dialog.button.deleteTag=Delete tag
ui.dialog.button.deleteTag=Delete tag
registry.ping.failed=Ping failed\!
registry.ping.succeeded=Ping succeeded
labels.registry.ping=Pingable?
3 changes: 3 additions & 0 deletions grails-app/i18n/messages_th.properties
Original file line number Diff line number Diff line change
Expand Up @@ -77,3 +77,6 @@ labels.registry.url=URL
registry.apiVersion.label=API Version
registry.url.label=URL
ui.dialog.button.deleteTag=Delete tag
registry.ping.failed=Ping failed\!
registry.ping.succeeded=Ping succeeded
labels.registry.ping=Pingable?
3 changes: 3 additions & 0 deletions grails-app/i18n/messages_zh_CN.properties
Original file line number Diff line number Diff line change
Expand Up @@ -40,3 +40,6 @@ labels.registry.url=URL
registry.apiVersion.label=API Version
registry.url.label=URL
ui.dialog.button.deleteTag=Delete tag
registry.ping.failed=Ping failed\!
registry.ping.succeeded=Ping succeeded
labels.registry.ping=Pingable?
21 changes: 21 additions & 0 deletions grails-app/services/docker/registry/web/RepositoryService.groovy
Original file line number Diff line number Diff line change
Expand Up @@ -118,4 +118,25 @@ class RepositoryService {
"${url.host}${url.port != -1 ? ':' + url.port : ''}/${repoName}:${tag}"
}

boolean ping(Registry registry) {
def url = "${registry.toUrl()}/_ping"
def http = new HTTPBuilder(url)
def result = true
try {
http.request(Method.GET, groovyx.net.http.ContentType.JSON) {
response.success = { resp, json ->
log.info("Ping of $registry succeeded")
}

response.failure = { resp ->
log.error("Failed to ping $url: ${resp.statusLine.statusCode} : ${resp.statusLine.reasonPhrase}")
result = false
}
}
} catch (final ConnectException|IOException e) {
log.info("Ping failed: $e")
result = false
}
result
}
}
9 changes: 9 additions & 0 deletions grails-app/views/registry/show.gsp
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,15 @@
value="${registryInstance?.url}" readonly=""></g:textField>
</div>
</div>

<div class="form-group">
<label for="url" class="col-lg-2 control-label"><g:message code="labels.registry.ping"/> </label>

<div class="col-lg-4">
${registryIsUp ? message(code:"registry.ping.succeeded") : message(code:"registry.ping.failed")}
</div>
</div>

</fieldset>

</g:form>
Expand Down

0 comments on commit 8a11d41

Please sign in to comment.