Comments (7)
I'm not a huge fan of YAML, and definitely not TOML. Everyone knows how to write JSON, and I don't think it's too cumbersome to write. I also don't see a huge need for comments, Cranefiles should be fairly simple and self-explanatory.
What's great about JSON is that it can be serialised into a string (which can be used instead of a Cranefile).
I might add support for YAML as an alternative though. Not a priority for me, but I'd include it if there's a pull request :)
from crane.
What's great about JSON is that it can be serialised into a string (which can be used instead of a Cranefile).
Right, this is why I advocate converting from a human format YAML into a computer format JSON as soon as possible and retaining the ability to send and receive JSON.
Rather than patch this program I am using a converter program yaml2json executable. There are probably lots of them out there for different languages, and if not they are probably fairly easy to write.
from crane.
I definitely want to have JSON as the main format, also because I'm experimenting with this:
crane lift --config='[{"name":"pry", "image":"d11wtq/ruby", "run":{"tty": true, "interactive": true, "cmd": "pry"} }]'
That just cannot be done with YAML. I'm open to allow a crane.yaml
though.
from crane.
I think it could be done in either of these ways: crane lift --config-file=crane.yaml
or crane lift < crane.yaml
. In fact, I think those are both preferable to putting JSON on the command line because
- the JSON was originally in a multi-line form unless it was auto-generated
- if a JSON string contained a single quote it would break the command line
from crane.
Right now, it doesn't make much sense to use --config
. I'm thinking about using Crane to read in local configuration, potentially transform it, and send it on the fly to a different host. In that case, a string is the best option.
from crane.
sure, that makes sense. reading in a configuration can be from a multi-line YAML or JSON file, some settings could be validated, and then the data would be sent as a JSON string.
from crane.
awesome, thanks!
from crane.
Related Issues (20)
- Syncing many files with unison HOT 1
- Filter bind-mounts by configured accelerated mounts
- link option does not add container to /etc/hosts if it's not defined in the crane.yaml file HOT 3
- Initial sync never completes HOT 2
- crane run always creates a tilde directory HOT 6
- Add verbose log about ad-hoc containers
- Runtime error if a network is specified on a container, but the network isn't in the networks list HOT 1
- Add verbose flag to actual Crane command
- Fix SSH socket sharing
- Crane doesn't start multiple containers HOT 2
- env vars, build args errors / plugins and multi-config management HOT 2
- `ignore` config not respected for `accelerated-mounts` HOT 2
- need a little help fixing my crane.yml for new syntax HOT 2
- runtime nvidia/gpu support HOT 2
- Convert crane.yml to docker-compose.yml HOT 1
- Nil pointer error when running `crane lift -c deploy/docker-compose.yml` HOT 3
- Release ARM Binaries HOT 1
- Getting started: How to run container w/o config file HOT 1
- Convert crane.yaml to docker-compose.yaml HOT 5
- crane run - specifying extra args for CMD, leads to unexpected error
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 crane.