sysl

module
v0.30.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 27, 2020 License: Apache-2.0

README

Sysl

Match your system implementation and design as consistent as possible

Latest Release Codecov FOSSA Status

GitHub Actions Release status GitHub Actions Go-Darwin status GitHub Actions Go-Linux status GitHub Actions Go-Windows status

Sysl (pronounced "sizzle") is a open source system specification language. Using Sysl, you can specify systems, endpoints, endpoint behaviour, data models and data transformations. The Sysl compiler automatically generates sequence diagrams, integrations, and other views. It also offers a range of code generation options, all from one common Sysl specification.

The set of outputs is open-ended and allows for your own extensions. Sysl has been created with extensibility in mind and it will grow to support other representations over time.

Usage Examples

Sysl by Example is a hands-on introduction to Sysl using annotated examples.

Installation

There are several approaches to get start using Sysl. See the install page for details.

Documentation

Documentation is hosted live at https://sysl.io.

Contributing

We encourage contributions to this project! Please have a look at the contributing guide for more information.

Contributors

This project exists thanks to all the people who contribute.

Versioning

We use Semver for versioning. For the versions available, see the releases on this repository.

License

License

This project is licensed under the Apache License 2.0 - see the LICENSE file for details

Directories

Path Synopsis
cmd
demo
main.go
examples/Code-Generation/gen/jsonplaceholder
Code generated by sysl DO NOT EDIT.
Code generated by sysl DO NOT EDIT.
examples/Code-Generation/gen/simple
Code generated by sysl DO NOT EDIT.
Code generated by sysl DO NOT EDIT.
examples/Code-Generation/internal/server
server.go contains all the manual config code that is used to implement the generated sysl
server.go contains all the manual config code that is used to implement the generated sysl
docs
nolint
pkg
cfg
ebnfparser
Code generated by "ωBNF gen" DO NOT EDIT.
Code generated by "ωBNF gen" DO NOT EDIT.
importer/openapi2conv
Package openapi2conv converts an OpenAPI v2 specification to v3.
Package openapi2conv converts an OpenAPI v2 specification to v3.
loader
package loader loads a source file into a sysl Module
package loader loads a source file into a sysl Module
mod
msg
testrig
Package testrig provides tools for generating standalone test environment for sysl generated services
Package testrig provides tools for generating standalone test environment for sysl generated services
ui
Package ui takes a sysl module with attributes defined (uiFields) and serves a webserver listing the applications and endpoints It also uses gRPC UI and Redoc in order to generate an interactive page to interact with all the endpoints gRPC currently uses server reflection TODO: Support gpcui directly from proto files Package ui takes a sysl module with attributes defined (uiFields) and serves a webserver listing the applications and endpoints It also uses GRPCUI and Redoc in order to generate an interactive page to interact with all the endpoints GRPC currently uses server reflection TODO: Support gpcui directly from swagger files
Package ui takes a sysl module with attributes defined (uiFields) and serves a webserver listing the applications and endpoints It also uses gRPC UI and Redoc in order to generate an interactive page to interact with all the endpoints gRPC currently uses server reflection TODO: Support gpcui directly from proto files Package ui takes a sysl module with attributes defined (uiFields) and serves a webserver listing the applications and endpoints It also uses GRPCUI and Redoc in order to generate an interactive page to interact with all the endpoints GRPC currently uses server reflection TODO: Support gpcui directly from swagger files
unsorted

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL