Skip to content

Shishqa/totosca

Repository files navigation

totosca

build and test

What is this?

totosca is a set of tools aimed to help you working with OASIS TOSCA language.

pronounce: totoshka or toto: https://ru.wikipedia.org/wiki/Тотошка

This includes:

  • toto check --- validation tool, that reports issues in TOSCA files.

    toto-check

  • toto ls --- an implementation of the LSP server for TOSCA.

    toto-ls

How to try?

  1. Install toto CLI with cargo:
    cargo install --git https://github.com/Shishqa/totosca toto_cli
  2. Validate your template with toto check your_template.yaml
  3. Continue with installing one of the available integrations:

Current state

Work in progress: see TODO.md (Some notes can be found in docs)

Warning: significant code modifications are possible!

This project is now developed solely by @Shishqa as a side hustle. My motivation to work on this project is to contribute to the TOSCA ecosystem and promote the adoption of this standard across organizations simply because I appreciate the direction TOSCA is taking.

Design

The project was inspired by the following projects (check them out 💖!):

Goals

  • Be as close to the TOSCA standard as possible (large lags can happen, since this is not my main activity).
  • Be as handy as possible: TOSCA is complex, there is certainly no need to complicate the tools.
  • Be as transparent as possible: if something breaks in the tools, it should be clear 1) where, 2) what, and 3) how to reproduce the issue.

Non-goals

  • Be blazingly fast: I am not a professional rust developer (but adore rust), so I'm not shy about using .clone(), .to_string(), and linear searches. As long as the work speed is acceptable, it's fine.

Roadmap

  • Provide MVP tools to work with TOSCA language: toto check and toto ls
  • ~100% TOSCA coverage: battle-tested on various templates, covered with tests
  • Stable API: allow totosca to be embedded into other systems, that need to process TOSCA models and working with the TOSCA graph.
  • Implement writing YAML files back: formatting, import collapsing, making implicit decisions explicit

to be continued...

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages