A customized fork from Zalando's awesome Zally. It enforces some automatically checkable rules from SBB's API Principles.
Zally Server is the core of Zally tools and also the only component of the minimal setup. It provides a well-defined RESTful API to lint APIs, get information about past lintings, as well as provide information about implemented rules and statistics.
Optionally, you can connect Zally Server to a persistence layer, e.g. a PostgreSQL database. Per default, a in-memory database is provided automatically.
Zally is able to lint API specifications resolved by a given Web URL - we call that Remote URLs.
When you want to lint OAuth 2.0 protected resources, you need to configure the credentials in the
remote-urls.conf file. You can find the template file for Remote URL configuration at
server/zally-server/src/main/resources/remote-urls.conf
. You can use the environment variable
REMOTE_URLS_CONFIG_FILE
to configure the path to the configuration file on the server. In
k8s contexts, we mount the file as a config map to the given path.
The most intuitive and easy way to use Zally is to set up and run Zally Web UI. It provides a web interface to lint APIs and uses Zally Server to do the actual linting.
Zally CLI is a tiny tool written in Go which wraps HTTP calls to Zally Server. It’s a tiny binary which can be distributed easily to use in different environments like local developer’s machine, continuous delivery platforms, etc.
Please see the respective readmes for more details on how to build the components:
In general, there are 3 options to start a component: