/Rakshasa

CI/CD translator

Primary LanguageMakefileGNU Affero General Public License v3.0AGPL-3.0

Rakshasa

Logo

Custom badge Say Thanks!

Universal project translator from cloud-native projects to other infra technologies


Welcome to Fazendaaa's Rakshasa. This is version 0.0.0!

Made with:

-----------------------------------------------------

➤ Ideia

Currently, in the company that I work for we have a CLI (Command Line Interface) made in Python called estat that you can read more about it right here. Rakshasa by itself ain't a reimplemented version of a current estat feature, but a new one; as some may know, there are many Continuos Integration (CI) / Continouos Delivery (CD) platforms as:

And many of those services have their own way of doing this, which becomes a pain when migrating from one to another or even updating something.

The idea is to have something like a raksh.yaml looking like:

version: '1'

ci:
  image: registry/user/repo
  install:
    - <setup comand one>
    - <setup comand two>
    - <setup comand three>
    - ...
  test:
    - ...
  linter:
    - ...

cd:
  image: registry/user/repo
  docs:
    - ...
  k8s:
    - ...

As estat have grown so much and making it available as FOSS (Free and open-source software) was always the idea but the project still in development and not having a properly defined scope, I decided to break its main features in other projects:

  • Succubus: universal package manager based on cloud-native
  • Jinn: universal project manager built to expand Succubus capabilities
  • Baba Yaga: universal cloud-native manager built to expand Jinn and Succubus capabilities
  • Rakshasa: universal project translator from cloud-native projects to other infra technologies
  • Shōjō: LaTex package manager
  • Hellhound: VSCode extension to integrate Jinn recipes
  • Crocotta: SOC assisted guider
  • Changeling: Recipes for Succubus and Baba Yaga
  • Rakshasa: CI/CD translator

-----------------------------------------------------

➤ Components

port

wend port

-----------------------------------------------------

➤ Installing

You don't need to install Go to run this tool, just Docker. And to do so to give it a try, you can do it just by running the following line in your terminal:

alias wend='docker run -it --volume $(pwd):/project --workdir /project fazenda/Rakshasa'

And then running the following to check whether or not is working properly:

wend --help

-----------------------------------------------------

➤ Running

-----------------------------------------------------

➤ Author

Only me because the aforementioned project was implemented by yours only. By knowing each line of that code wrote doing the port would be more easily done this way.

-----------------------------------------------------

➤ Contributing

Check more about this in CONTRIBUTING.md. Here we have a list of some of our contributors:

-----------------------------------------------------

➤ Contributors

Fazendaaa You?
Fazendaaa You?

-----------------------------------------------------

➤ TODO

-----------------------------------------------------

➤ References

-----------------------------------------------------

➤ License

Licensed under AGPL-3.0.