Skip to content

TrasparenzAI/rule-service

Repository files navigation

Rules Service

license Supported JVM Versions Build width Gradle Docker Image Build Status

Introduzione

Rules Service è parte della suite di servizi per la verifica delle informazioni sulla Trasparenza dei siti web delle Pubbliche amministrazioni italiane. Definisce e implementa le regole relative al D.Lgs. n. 33-2013 sulla trasparenza nella PA.

Informazioni generali

Fornisce l'albero delle regole definito in application.yaml oppure all'interno del config-service, che quindi può essere modificato o ampliato sia attraverso variabili di ambiente o della JVM prima di avviare il servizio, oppure aggiornando la configurazione per poi successivamente invocare l'endpoint dell'actuator per recepire le modifiche.

É possibile interagire con il servizio attraverso degli endpoint REST che permettono la consultazione dell'albero delle regole in formato json, e la verifica di una o più regole su un contenuto html

Docker

Il servizio è dotato del plugin jib che permette di effettuare la build e fornisce l'immagine per l'esecuzione tramite docker

./gradlew jibDockerBuild
docker run -p 8080:8080 -ti rule-service:{version}

La documentazione relativa ai servizi REST è consultabile qui ed è possibile interagire con i servizi attraverso Swagger alla seguente URL

É possibile visualizzare l'albero delle regole in formato json da: http://localhost:8080/v1/rules

Oppure verificare la regola root ad esempio attraverso una cURL con un html di esempio:

curl -X POST http://localhost:8080/v1/rules -H 'Content-type:application/json' --data 'PGh0bWw+CiAgICA8aGVhZD4KICAgICAgICA8dGl0bGU+R2VuZXJpY2EgQW1taW5pc3RyYXppb25lPC90aXRsZT4KICAgIDwvaGVhZD4KICAgIDxib2R5PgogICAgICAgIDxwPlBhcnNlZCBIVE1MIGludG8gYSBkb2MuPC9wPgogICAgICAgIDxhIGhyZWY9Ii9hbW1pbmlzdHJhemlvbmUiPkFtbWluaXN0cmF6aW9uZSBUcmFzcGFyZW50ZTwvYT4KICAgICAgICA8YSBocmVmPSIvcHJvZ3JhbW1hdHJhc3BhcmVuemEiPlByb2dyYW1tYSBwZXIgbGEgVHJhc3BhcmVuemE8L2E+CiAgICA8L2JvZHk+CjwvaHRtbD4='| jq .

In alternativa scaricare il contenuto del Sito istituzionale di una Pubblica Amministrazione

curl "https://www.anticorruzione.it"|base64 > base64.html
curl -X POST http://localhost:8080/v1/rules -H 'Content-type:application/json' --data @base64.html |jq .

La risposta json del servizio:

{
  "url": "https://www.anticorruzione.it/amministrazione-trasparente",
  "ruleName": "amministrazione-trasparente",
  "term": "Amministrazione Trasparente",
  "content": "Amministrazione Trasparente",
  "where": "text",
  "leaf": false,
  "status": 200,
  "score": 4.3884144
}

About

Rule - REST Services

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors