This document explains how to develop Ory Oathkeeper, run tests, and work with the tooling around it.
New releases might introduce breaking changes. To help you identify and incorporate those changes, we document these changes in UPGRADE.md and CHANGELOG.md.
To see available commands and flags, run:
oathkeeper -h
# or
oathkeeper helpWe encourage all contributions. Before opening a pull request, read the contribution guidelines.
You need Go 1.16+ and, for the test suites:
- Docker and Docker Compose
make- Node.js and npm
You can develop Ory Oathkeeper on Windows, but most guides assume a Unix shell
such as bash or zsh.
To install Oathkeeper from source:
cd ~
go get -d -u github.com/ory/oathkeeper
cd $GOPATH/src/github.com/ory/oathkeeper
make installFormat all code using:
make formatThe continuous integration pipeline checks code formatting.
There are three types of tests:
- Short tests that do not require a SQL database
- Regular tests that require PostgreSQL, MySQL, and CockroachDB
- End to end tests that use real databases and a test browser
Short tests run quickly and use SQLite.
Run all short tests:
go test -short ./...Run short tests in a specific module:
cd internal/check
go test -short .To build a development Docker image:
make docker