Giter VIP home page Giter VIP logo

Comments (3)

michaelsauter avatar michaelsauter commented on May 20, 2024

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.

michaelsauter avatar michaelsauter commented on May 20, 2024

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.

michaelsauter avatar michaelsauter commented on May 20, 2024

The groups are implemented in fe60f4d.

from crane.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.