https://github.com/freepik-company/doorkeeper
A tiny HTTP server to be used as external authentication service for Envoy
https://github.com/freepik-company/doorkeeper
envoy external-authorization golang http
Last synced: 3 months ago
JSON representation
A tiny HTTP server to be used as external authentication service for Envoy
- Host: GitHub
- URL: https://github.com/freepik-company/doorkeeper
- Owner: freepik-company
- License: apache-2.0
- Created: 2024-08-26T12:15:35.000Z (almost 2 years ago)
- Default Branch: master
- Last Pushed: 2025-01-21T13:51:36.000Z (over 1 year ago)
- Last Synced: 2025-03-13T01:36:40.635Z (over 1 year ago)
- Topics: envoy, external-authorization, golang, http
- Language: Go
- Homepage: https://github.com/freepik-company/doorkeeper
- Size: 112 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Doorkeeper




A tiny HTTP server to be used as external authentication service for Envoy
## Motivation
Life is hard, but beautiful
## Flags
As almost every configuration parameter can be defined in environment vars, there are only few flags that can be defined.
They are described in the following table:
| Name | Description | Default | Example |
|:------------------|:-----------------------------------------------------|:-----------------:|:-------------------------------|
| `--log-level` | Verbosity level for logs | `info` | `--log-level info` |
| `--disable-trace` | Disable showing traces in logs | `info` | `--log-level info` |
| `--config` | Path to the configuration file
[Config Example] | `doorkeeper.yaml` | `--doorkeeper doorkeeper.yaml` |
> Output is thrown always in JSON as it is more suitable for automations
```console
doorkeeper run \
--log-level=info
```
## Configuration
A complete example of the config params can be found in [docs/samples/doorkeeper.yaml](./docs/samples/doorkeeper.yaml)
## How to deploy
This project can be deployed in Kubernetes, but also provides binary files
and Docker images to make it easy to be deployed however wanted
### Binaries
Binary files for most popular platforms will be added to the [releases](https://github.com/freepik-company/doorkeeper/releases)
### Kubernetes
You can deploy `doorkeeper` in Kubernetes using Helm as follows:
```console
helm repo add doorkeeper https://freepik-company.github.io/doorkeeper/
helm upgrade --install --wait doorkeeper \
--namespace doorkeeper \
--create-namespace freepik-company/doorkeeper
```
> More information and Helm packages [here](https://freepik-company.github.io/doorkeeper/)
### Docker
Docker images can be found in GitHub's [packages](https://github.com/freepik-company/doorkeeper/pkgs/container/doorkeeper)
related to this repository
> Do you need it in a different container registry? I think this is not needed, but if I'm wrong, please, let's discuss
> it in the best place for that: an issue
## How to contribute
We are open to external collaborations for this project: improvements, bugfixes, whatever.
For doing it, open an issue to discuss the need of the changes, then:
- Fork the repository
- Make your changes to the code
- Open a PR and wait for review
The code will be reviewed and tested (always)
> We are developers and hate bad code. For that reason we ask you the highest quality
> on each line of code to improve this project on each iteration.
## License
Copyright 2022.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
[//]: #
[Config Example]: <./README.md#configuration>