Skip to content

Mr-Sunglasses/enigma

 
 

Repository files navigation

Banner

Enigma

Go Report Status Build Status Slack Chat Blog Apache-2.0 License

Installation

Source (Go >= 1.18)

  • Clone and Build the Repo
# Clone the repository
git clone https://github.com/clouddrove/enigma

# Navigate into the project directory
cd enigma

# Install any dependencies (though this is typically handled automatically by go build)
go get .

# Build the project and output the binary as 'enigma'
go build -o bin/enigma
  • Give permission to execute the binary
cd bin/

chmod +x enigma
  • Create symlink to /usr/local/bin
sudo ln -s enigma /usr/local/bin/enigma

# Verify the symlink
ls -l /usr/local/bin/enigma

Quick start

Overview

Enigma is a tool designed to simplify the DevOps lifecycle, offering a seamless way to manage Docker environments, build, scan, and publish Docker images. Below is a quick guide to getting started with Enigma and using its core commands.


1. Initialize the Enigmafile

This command initializes the Enigmafile where environment variables are stored.

  • Command: enigma

  • Arguments:

    • --enigmafile [file_to_generate_enigma_vars] (Optional, Default: .enigma)
  • Subcommand: init

  • Options:

    • --d: Initialize for Docker

Example:

enigma --enigmafile .test init --d

Output:

Using enigma file: .test

Environment variables successfully written to .test

2. Bake Command

The bake command is used to set up and build Docker images.

  • Command: enigma

  • Subcommand: bake

  • Aliases: bake

  • Description: Builds and scans a Docker image.

  • Arguments: No additional arguments required.

  • Options:

    • --d: Uses Docker when set.

Docker-specific steps:

  • Loads the Docker environment.

  • Builds the Docker image.

  • Scans the Docker image for vulnerabilities.

Example:

enigma bake --d

3. Publish Command

The publish command is used to tag and push Docker images to a remote repository.

  • Command: enigma

  • Subcommand: publish

  • Aliases: publish

  • Description: Publishes Docker images by tagging and pushing them.

  • Arguments: No additional arguments required.

  • Options:

    • --d: Uses Docker when set.

Docker-specific steps:

  • Loads the Docker environment.

  • Tags the Docker image.

  • Pushes the Docker image to a registry.

Example:

enigma publish --d

4. Build-Publish Command

The build-publish command combines the steps of building, scanning, tagging, and publishing a Docker image in one command.

  • Command: enigma

  • Subcommand: build-publish

  • Description: Builds, scans, and optionally publishes Docker images.

  • Arguments: No additional arguments required.

  • Options:

    • --d: Uses Docker when set.

Docker-specific steps:

  • Loads the environment variables from the Enigmafile.

  • Builds and scans the Docker image.

  • If the PUBLISH environment variable is set to true, tags and pushes the image.

Example:

enigma bake-publish --d

Options

Enigma is a tool designed to simplify the DevOps lifecycle, offering a seamless way to manage tools environments, 
        build, scan, and publish. Below is a quick guide to getting started with Enigma and using its core commands.

Usage:
  enigma [flags]
  enigma [command]

Available Commands:
  bake          To Bake the command
  bake-publish  To bake and publish
  completion    Generate the autocompletion script for the specified shell
  help          Help about any command
  init          To init the command
  publish       To publish

Flags:
      --enigmafile string   Path to the .enigma file (default ".enigma")
  -h, --help                help for enigma

Use "enigma [command] --help" for more information about a command.

✨ Contributors

Big thanks to our contributors for elevating our project with their dedication and expertise! But, we do not wish to stop there, would like to invite contributions from the community in improving these projects and making them more versatile for better reach. Remember, every bit of contribution is immensely valuable, as, together, we are moving in only 1 direction, i.e. forward.



If you're considering contributing to our project, here are a few quick guidelines that we have been following (Got a suggestion? We are all ears!):

  • Fork the Repository: Create a new branch for your feature or bug fix.
  • Coding Standards: You know the drill.
  • Clear Commit Messages: Write clear and concise commit messages to facilitate understanding.
  • Thorough Testing: Test your changes thoroughly before submitting a pull request.
  • Documentation Updates: Include relevant documentation updates if your changes impact it.

Feedback

Spot a bug or have thoughts to share with us? Let's squash it together! Log it in our issue tracker, feel free to drop us an email at hello@clouddrove.com.

Show some love with a ★ on our GitHub! if our work has brightened your day! – your feedback fuels our journey!

Join Our Slack Community

Join our vibrant open-source slack community and embark on an ever-evolving journey with CloudDrove; helping you in moving upwards in your career path. Join our vibrant Open Source Slack Community and embark on a learning journey with CloudDrove. Grow with us in the world of DevOps and set your career on a path of consistency.

🌐💬What you'll get after joining this Slack community:

  • 🚀 Encouragement to upgrade your best version.
  • 🌈 Learning companionship with our DevOps squad.
  • 🌱 Relentless growth with daily updates on new advancements in technologies.

Join our tech elites Join Now 🚀

Explore Our Blogs

Click here 📚 🌟

Tap into our capabilities

We provide a platform for organizations to engage with experienced top-tier DevOps & Cloud services. Tap into our pool of certified engineers and architects to elevate your DevOps and Cloud Solutions.

At CloudDrove, has extensive experience in designing, building & migrating environments, securing, consulting, monitoring, optimizing, automating, and maintaining complex and large modern systems. With remarkable client footprints in American & European corridors, our certified architects & engineers are ready to serve you as per your requirements & schedule. Write to us at business@clouddrove.com.

We are The Cloud Experts!


We ❤️ Open Source and you can check out our other modules to get help with your new Cloud ideas.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 75.0%
  • Makefile 9.8%
  • Dockerfile 9.4%
  • Shell 5.8%