rkrombho / getch Goto Github PK
View Code? Open in Web Editor NEWA hierarchical configuration store queryable over HTTP.
A hierarchical configuration store queryable over HTTP.
Before files are being downloaded, send them through a SimpleTemateEngine wit all values from the tree in the binding
if this throws an exception - just ignore the file
Currently the logs just show: no values found for given host
That is actually wrong and we should have a different behviour (e.g. just take the first found directory).
This is caused because of the following line which tries to match the addition
even if this is null
in this case.
https://github.com/rkrombho/getch/blob/master/grails-app/services/org/getch/FileSystemTreeService.groovy#L316
We should check for null
and just take the first one instead.
In case someone wants to run Getch behind a revere proxy, create a config flag to say whether queries from other hosts are allowed at all. If so, let people specify a list of 'authotized' hosts.
I would have expected a property like
a.b=something
to be similar to
a:
c: value
but it seems getch treats it as a literal "a.b" while the yaml property a will have "a" sub property "c".
If a query matches a file, offer that as file download.
Hi Robert,
maybe it's documented somewhere, but I just stumbled across this bug(?)
I had this YAML file
PPM_CLUSTER_MEMBERS:
- HOST: host1
FQDN: host1.my.do.main
NODES:
- NAME : host1
SERVICES_ENABLED : false
RMI_PORT : 1200
EXTERNAL_WEB_PORT : 8010
HTTP_PORT : 8000
APP_SERVER_UIL2_BINDING_PORT: 8093
- NAME : host1-service
SERVICES_ENABLED : true
RMI_PORT : 1201
EXTERNAL_WEB_PORT : 8011
HTTP_PORT : 8001
APP_SERVER_UIL2_BINDING_PORT: 8094
and this template
<%
sep=""
PPM_CLUSTER_MEMBERS.each { member ->
%>
# Host ${member.HOST}<% member.NODES.each { node -> %>
${sep}
com.kintana.core.server.KINTANA_SERVER_NAME=${node.NAME}
com.kintana.core.server.SERVER_NAME=${member.FQDN}
com.kintana.core.server.RMI_URL=http://${member.FQDN}:${node.RMI_PORT}/KintanaServer
com.kintana.core.server.HTTP_PORT=${node.HTTP_PORT}
com.kintana.core.server.EXTERNAL_WEB_PORT=${node.EXTERNAL_WEB_PORT}
com.kintana.core.server.APP_SERVER_UIL2_BINDING_PORT=${node.APP_SERVER_UIL2_BINDING_PORT}
com.kintana.core.server.MULTICAST_WARNING_MINUTES=2
com.kintana.core.server.SERVICES_ENABLED=${node.SERVICES_ENABLED}
<% sep="@Node" } } %>
and it simply didn't work. I always received an empty file.
When changing all the properties to lower case, it works.
Enable support for multiple configutable root directories for multiple hierachies
This piece of code is repeated in every action (just slightly different).
Move that in a private method.
Should be:
...
hosts: dns [!UNAVAIL=return] files
...
because java.net.InetAddress.getCanonicalHostName() does not work properly if 'files' is the first choice.
Write controller that acts as optionprovider for rundeck
Should return an empty response body instead as http 200
Search downwards in the tree for single values and list. Preffer values that are found at the lowest level of the tree
Get all features properly documented and explained. Write sphinx docs and publish at readthedocs.org
When having 2 yaml files like
a:
b: value
and
a:
c: value
one will overwrite the other, so you will either be able to use a.b or a.c but not both of them.
When having hierachical keys like:
a:
b: value
it's not possible to retrieve the key using
.../getch/a.b
Or maybe using
.../getc/a/b
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.