Giter Site home page Giter Site logo

0x20f / carbon Goto Github PK

View Code? Open in Web Editor NEW
4.0 4.0 0.0 2.7 MB

Build tool for custom configuration of multiple smaller services, and wrapper commands for docker containers to make your life easier.

License: Mozilla Public License 2.0

Go 100.00%
abstraction abstraction-layer cli docker docker-compose go golang orchestration quality

carbon's Introduction

carbon's People

Contributors

0x20f avatar dependabot[bot] avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar

carbon's Issues

Parameter for adding dotenv file

  • Provide a way to set env file by number
  • Move the current foothold file to ~/.local/carbon-foothold.toml
  • Create a new file in /tmp/carbon-emissions.toml and store the running services in there. This'll be the session database
  • Provide a way to show indexed env files in a numbered list
  • Provide a way to add new env file paths, if parameter isn't provided, check current directory for it and add it to the config as active
  • Whenever commands are run, use the active env file as a starting point, unless override parameter is provided
  • If parameterr with new env file is provided, add it to the list and set as active

Allow for descriptor files for development

Besides the carbon.yml file in each service, there can be a carbon-isotope.yml file that contains the descriptions of that exact same service but for development.

Maybe different port mappings, volumes, images, whatever.

  • Carbon will then have to read the isotope file it it's being told.
  • Maybe if all service names that start with c- should be run from the isotope file. Like c-artemis for example.

Store command

  • New command to add directories for carbon files
  • Carbon should then look in all the paths in the store
  • Proper logs for the store command

Stop command for services

Do the opposite of start.

  • this will require keeping track of what services are part of what compose files
  • which in turn will mean keeping track of each compose file

README Update

It's good to have a file describing everything this package can do as well as what it's actually meant for. Whether it goes public or not, it's nice to have.

Output created compose file

A subcommand to output the docker-compose file that is built out of all the specified services to a specific path. This is useful if that compose file needs to later be given to a docker swarm deploy or something similar.

Something like: co2 save ./

  • Subcommand for telling the application that we just want the output
  • Subcommand value should be the path to output to
  • Fully expand path so it gets saved where it should
  • Don't add anything extra to the generated compose file (like container names and so on), just straight up copy pasting...
  • Save into the provided path, whether its a file or not, the user's job to be specific.

Show networks

Pull in serde, for starters since the docker CLI has a command that returns information about a network as json.

Use that to dynamically build a nice summary of all networks.

Speed up network list command

  • Run the network inspect command with all containers at once instead of separate.
  • Allow serde to parse into a Vec of Network objects so the trimming doesn't have to happen.

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.