Comments (3)
Sorry for the late reply, I'm super-busy at the moment ...
Interesting thoughts! I have thought about adding the concept of environments (e.g. run containers with different parameters in different contexts such as development or production). Maybe that would address some of the issues that you face. For example, you could have a "dev" environment, which brings up the container to execute the tasks.
Overall, I'd really like to keep Crane as simple as possible. Templating sounds tempting, but I think it's too much. At least not right now with very little use cases that definitely need it. I'm very sceptical of early abstractions/features and think that most of the time, repeating things is not as bad as most devs think. It's cheap, and only when it really hurts it makes sense to abstract it.
So. Overall, I like 1) and 2) most. Not sure if the Go YAML parser can handle it, but if it can, that's really nice! Didn't know YAML can do that.
For 2), I'd think something like this would help:
"containers": {
"one": {},
"two": {},
"three": {}
},
"environments": {
"dev": ["one", "two", "three"],
"prod": ["one", "two"]
}
Then, we could add a flag to crane to bring up just one environment, e.g. crane lift --env prod
.
What do you think?
Also, you're idea to push containers to a registry sounds great! I've created a new issue for it: #19
from crane.
I think this is the way to go, with a minor modification. So the final manifest would look like this:
"containers": [
{ "name": "one" },
{ "name": "two" },
{ "name": "three" }
],
"groups": {
"dev": ["one", "two", "three"],
"prod": ["one", "two"],
}
crane lift
would bring up all containers, crane lift --group prod
just one
and two
. Also every container should be a group automatically, so crane lift --group one
should work as well.
from crane.
The groups are implemented in fe60f4d.
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.