Comments (7)
Service Runner Tenative V0 Scope
ServiceRunner is a standalone service manager, that supports starting, stopping, and installing a limited range of OpenRPC projects. This range can be extended via configuration file. The service runner runs services by responding to JSONRPC request to start/stop/ or gain access to services. The initial target is multi-geth + jade-signer.
Potential Service Runner Commands
servicerunner —extends config.yml
// This command allows the user to extend the pre existing services configuration
ServiceRunner Extended Configuration Tenative Example
{
ethclassic: { /* serviceName */
download: {
/* where to get service */
osx: "https://some.binaryfile.location"
windows: "https://some.binaryfile.location"
linux: "https://some.binaryfile.location"
},
start: “command”
, /* commands to execute the process*/
stop : “command”, /* commands to stop the process */
teardown: “command” /* commands to teardown the process */
env: { /*specifies what supported run time environments per service*/
mainnet: { /*environment name and specific config */
args: []
start,
stop,
teardown,
},
gorli: { . /*environment name and specific config */
args:[]
}
}
}
}
from jade-service-runner.
I wrote this quickly to just put together a list of the concerns so we can keep these things in mind. I avoided talking implementation specifics. I wanted to see if these problems meshed with the ideas we all have in the brain. I think what I'll end up doing as we gain consensus or question, is then add a section that talks more implementation/proposals for executing the above. It's a product slant first.
I think impl wise we can probably have the service runner as the open-rpc supported entity, and can use etclabscore/jade#18 , maybe refiling the PR in this repo to start iterating on what the exact spec should be.
Let me know what you think or what should be change or if this should be moved into a PR if that's easier to suggests edits etc...
from jade-service-runner.
This is a great summary of everyones thoughts so far on this. 👍
Going to read through a couple times, gather some thoughts around it overnight.
from jade-service-runner.
Initial open-rpc starting gist for some our thinking post offline meeting
{
"info": {
"title": "something",
"version": "44"
},
"methods": [
{
"name": "installService",
"params": [
{
"name": "serviceName",
"schema": {
"type":"string"
}
},
{
"name": "version",
"schema": {
"type":"string"
}
}
],
"result":{
"name": "installSuccess",
"schema": {
"type": "boolean"
}
}
},
{
"name": "configService",
"result": {
"name": "configurationSuccess",
"schema": {
"type": "boolean"
}
},
"params": [
{
"schema": {
"type": "string"
},
"name": "serviceName"
},
{
"schema": {
"type": "string"
},
"name": "environment"
}
]
}
],
"openrpc": "1.0.0-rc0"
}
https://gist.github.com/zcstarr/961f861dcc711a647297c4ca1c945b14
from jade-service-runner.
for env - can we make it an array of object, where the object has the property name
?
Also, can you turn this into a JSON schema?
from jade-service-runner.
done and done, took a stab at a slight revision/rewrite in json schema
https://gist.github.com/zcstarr/415265efae3662c481c488e0b7bab083
from jade-service-runner.
JSON Schema response for starting a service https://gist.github.com/zcstarr/eecc9d495b7e0e19a65a5899a4c6e379
from jade-service-runner.
Related Issues (20)
- Feat: Jade Service Runner supports user defined RPC restrictions HOT 1
- installService example in README is missing version param
- Create a issue template for adding a new service to the config
- environments typo in openrpc.json for listServices(filter) HOT 2
- Error handling in jade-service-runner `serviceManager` HOT 1
- Feat: Service Runner needs to support resolving bad Manifest files
- ethereum network not working HOT 1
- something wrong with SERVICE_DIR caching (?) HOT 2
- ECONNREFUSED when -d=/external/media/ HOT 2
- Add more information about custom RPC services
- request times out... see UnhandledPromiseRejectionWarning: "listener" argument must be a function HOT 3
- invalid args (noops) are ignored, not errored on
- configurable and separate DIRs for service concerns
- result has error in it HOT 2
- listing services with multiple names different versions errors HOT 1
- Add OpenETC and Hyperledger Besu node support HOT 1
- Update to latest core-geth HOT 1
- The automated release is failing 🚨 HOT 1
- How can i run jade-service-runner on https HOT 1
- ม.ร.ว.ณัชพล วงษ์เปลี่ยนผัน นานณัชพล วงษ์เปลี่ยนผัน
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from jade-service-runner.