Skip to content

greenbone/feed-key-service

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

77 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Greenbone Logo

feed-key-service

Service for Managing a Greenbone Feed Key

Installation

The project contains the greenbone-feed-key application which implements a HTTP service providing a REST based API. It is implemented in Rust and requires cargo for building and installing.

make DESTDIR=path/to/install install

The binary can be found at path/to/install/usr/local/bin afterwards.

Usage

After installation the service is available as greenbone-feed-key. By default it listens for http on 127.0.0.1 on port 3000. Running the service requires setting a JWT key. See settings the JWT README for all possible options.

Example using a shared secret

greenbone-feed-key --jwt-secret-key some-secret-key

Settings

The following settings can be adjusted for the greenbone-feed-key service.

CLI Env Type Default Description
-p, --port GREENBONE_FEED_KEY_PORT int 3000 Port to listen on
-s, --server GREENBONE_FEED_KEY_SERVER string 127.0.0.1 IP address to listen on
-k, --feed-key-path GREENBONE_FEED_KEY_PATH path /etc/gvm/greenbone-enterprise-feed-key Path to the enterprise feed key location
-l, --log GREENBONE_FEED_KEY_LOG string greenbone_feed_key=info Logging directive
--enable-api-doc GREENBONE_FEED_KEY_API_DOC bool false Enable OpenAPI documentation and Swagger UI
--tls-server-cert GREENBONE_FEED_KEY_TLS_SERVER_CERT string Path to a TLS certificate (.pem) file
--tls-server-key GREENBONE_FEED_KEY_TLS_SERVER_KEY string Path to a TLS private key file
--tls-client-certs GREENBONE_FEED_KEY_TLS_CLIENT_CERTS string Path to a .pem file containing one ore more root certificates (aka. CA certs)
--upload-limit GREENBONE_FEED_KEY_UPLOAD_LIMIT int 2 MiB File size limit for the feed key in bytes
--jwt-shared-secret GREENBONE_FEED_KEY_JWT_SHARED_SECRET string A shared secret for validating JSON Web Tokens
--jwt-rsa-key GREENBONE_FEED_KEY_JWT_RSA_KEY path Path to a .pem file containing a RSA public key for JWT signature validation
--jwt-ecdsa-key GREENBONE_FEED_KEY_JWT_ECDSA_KEY path Path to a .pem file containing an ECDSA public key (ECDSA using P-256 and SHA-256) for JWT signature validation

TLS

TLS can be enabled for secure communication with the greenbone-feed-key service.

See TLS documentation for more details

JWT

JSON Web Tokens are used to secure the key API.

See JWT documentation for more details.

CLI

Additionally to the service the project provides a CLI helper tool greenbone-feed-service-cli. Currently it implements the following features:

  • jwt - Generating JSON Web tokens for testing purposes
  • openapi - Generating the OpenAPI spec file

Run greenbone-feed-service-cli --help for more details.

Maintainer

This project is maintained by Greenbone AG.

Contributing

Your contributions are highly appreciated. Please create a pull request on GitHub. Bigger changes need to be discussed with the development team via the issues section at github first.

License

Copyright (C) 2026 Greenbone AG

Licensed under the GNU Affero General Public License v3.0 or later.

About

Service for Managing a Greenbone Feed Key

Topics

Resources

License

Security policy

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •