Skip to content
This repository has been archived by the owner on Aug 15, 2024. It is now read-only.
/ BurntCoffee Public archive

Burntcoffee is a project that aims to provide a simple and efficient solution for managing and configuring firecracker instances

License

Notifications You must be signed in to change notification settings

qjoly/BurntCoffee

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

⚠️The aim of this project was solely to make progress in Golang: it is no longer active and requires a complete rewrite.⚠️

BURNTCOFFEE

Fuel your code with BurntCoffee's tech prowess!

license last-commit repo-top-language repo-language-count


Quick Links


Overview

Burntcoffee is a project that aims to provide a simple and efficient solution for managing and configuring firecracker instances. With its core functionalities, users can easily set up and control firecracker virtual machines, allowing them to create and manage lightweight, secure, and isolated environments. Burntcoffee's value proposition lies in simplifying the process of managing firecracker instances, making it an ideal choice for developers and system administrators who require efficient and secure virtualization for their applications.


Features

Feature Description
📄 Start a job Start a job on an available firecracker socket.
🧩 Stop all jobs Stop all running VMs in all firecracker sockets
🧩 Stop a specific jobs Stop a single job
🧪 Config Generate a configuration file that contains sockets and IP available for jobs

Repository Structure

└── burntcoffee/
    ├── config/
    │   ├── config.go
    │   ├── go.mod
    │   └── go.sum
    ├── firecracker/
    │   ├── firec.go
    │   └── go.mod
    ├── go.mod
    ├── go.sum
    ├── go.work
    └── main.go

Modules

.
File Summary
go.work The code snippet in the main.go file integrates the config and firecracker packages. It leverages dependencies to provide key functionalities for the burntcoffee repository's architecture.
go.sum The code snippet in the burntcoffee repository is responsible for configuring and interacting with the Firecracker virtualization technology. It provides essential functionalities for managing and controlling Firecracker instances.
main.go This code snippet is the main entry point of a command-line application called burntcoffee. It utilizes the Cobra framework to define and execute various commands related to managing firecracker virtual machines. The code includes commands to start, stop, and show the status of jobs running on VMs, as well as commands to generate and display configuration details.
go.mod The code snippet in the firecracker directory is a critical feature of the burntcoffee repository. It is responsible for handling firecracker operations and dependencies. It allows for the configuration and management of firecracker instances within the larger software architecture.
config
File Summary
go.sum This code snippet, located in the config directory, is responsible for managing the configuration settings for the parent repository. It utilizes the dependencies gopkg.in/check.v1 and gopkg.in/yaml.v2 to load and parse YAML files.
config.go The config/config.go file in the burntcoffee repository is responsible for generating and retrieving configuration files for the application. It includes functions to generate a YAML config file with predefined instances and retrieve the config from a file. This file plays a critical role in managing and accessing the application's configuration settings.
go.mod The code snippet in the config directory provides configuration management for the burntcoffee repository. It uses the gopkg.in/yaml.v2 library to handle YAML configuration files.
firecracker
File Summary
firec.go The firecracker/firec.go file in the burntcoffee repository contains functions for managing jobs in a distributed system. It allows starting, stopping, and showing the status of jobs on multiple instances. The functions make use of the HTTP protocol to send requests and handle responses.
go.mod This code snippet, located in the firecracker module, is a key file in the burntcoffee repository. It utilizes the firecracker/go.mod dependency and plays a critical role in the overall architecture of the system.

Installation

  1. Clone the burntcoffee repository:
git clone https://github.com/qjoly/burntcoffee
  1. Change to the project directory:
cd burntcoffee
  1. Install the dependencies:
go build -o myapp

Running burntcoffee

Use the following command to run burntcoffee:

./burntcoffee

Tests

To execute tests, run:

go test

Contributing

Contributions are welcome! Here are several ways you can contribute:

Contributing Guidelines
  1. Fork the Repository: Start by forking the project repository to your GitHub account.
  2. Clone Locally: Clone the forked repository to your local machine using a Git client.
    git clone <your-forked-repo-url>
  3. Create a New Branch: Always work on a new branch, giving it a descriptive name.
    git checkout -b new-feature-x
  4. Make Your Changes: Develop and test your changes locally.
  5. Commit Your Changes: Commit with a clear and concise message describing your updates.
    git commit -m 'Implemented new feature x.'
  6. Push to GitHub: Push the changes to your forked repository.
    git push origin new-feature-x
  7. Submit a Pull Request: Create a PR against the original project repository. Clearly describe the changes and their motivations.

Once your PR is reviewed and approved, it will be merged into the main branch.


License

This project is protected under the MIT License. For more details, refer to the LICENSE file.


Acknowledgments

  • List any resources, contributors, inspiration, etc. here.

Return


About

Burntcoffee is a project that aims to provide a simple and efficient solution for managing and configuring firecracker instances

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages