developers-italia-api

command module
v1.2.0 Latest Latest
Warning

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

Go to latest
Published: Apr 15, 2026 License: AGPL-3.0 Imports: 20 Imported by: 0

README

Software Catalog API

software-catalog-api logo

Go Report Card License Chat on Slack

Software Catalog API is a RESTful API for public software catalogs. It powers national open source catalogs for public administrations:

Requirements

Development

The application uses Air for live-reloading in the development environment.

To start developing:

  1. Clone the repo

  2. Build and start the containers

    docker compose up
    

Docker Compose will bring up the app and PostgreSQL containers.

Wait until the Docker logs explicitly say the API is up and you can use its endpoints at http://localhost:3000/v1/.

The application will automatically reload when a change is made.

Configuration

You can configure the API with environment variables:

  • DATABASE_DSN: the URI used to connect to the database, fe postgres://user:password@host:5432/dbname. Supports PostgreSQL and SQLite.

  • PASETO_KEY (optional): Base64 encoded 32 bytes key used to check the PASETO authentication tokens. You can generate a key and a token with the built-in subcommand:

    developers-italia-api token create
    

    Pass --key to use an existing key, --sub to identify the caller, and --expiry to set a custom duration (default: 1 year, 0 = never expires).

    If not set, the API will run in read only mode.

  • ENVIRONMENT (optional): possible values test, development, production. Default production.

  • MAX_REQUESTS (optional): number of requests per minute after which responses will be ratelimited. Default: no limit.

Contributing

This project exists also thanks to your contributions! Here is a list of people who already contributed to this repository:

License

Copyright © 2022-present Presidenza del Consiglio dei Ministri

The source code is released under the AGPL version 3.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
internal

Jump to

Keyboard shortcuts

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