Il progetto NGINX ha pubblicato un toolkit per lo sviluppo di moduli nel linguaggio Rust

Gli sviluppatori del progetto NGINX hanno rilasciato il toolkit ngx-rust, che consente di creare moduli per il server HTTP e il proxy multiprotocollo NGINX utilizzando il linguaggio di programmazione Rust. Il codice ngx-rust è distribuito con licenza Apache 2.0 ed è attualmente in versione beta.

Il toolkit è stato inizialmente sviluppato come progetto per accelerare lo sviluppo di una service mesh compatibile con Istio per la piattaforma Kubernetes basata su NGINX. Il prodotto non è mai andato oltre la fase di prototipo ed è rimasto in stallo per diversi anni, ma i binding di esempio pubblicati durante il processo di prototipazione sono stati utilizzati dalla community in progetti di terze parti per estendere le funzionalità di NGINX nel linguaggio Rust.

Dopo un po' di tempo, F5 dovette scrivere un modulo NGINX specializzato per proteggere i propri servizi e voleva utilizzare il linguaggio Rust per ridurre il rischio di errori di memoria. Per risolvere questo problema, coinvolse l'autore di ngx-rust, che fu incaricato di sviluppare strumenti nuovi e migliorati per la creazione di moduli NGINX in Rust.

Il toolkit include due pacchetti di casse:

  • nginx-sys è un generatore di binding basato sul codice sorgente di NGINX. L'utility scarica il codice NGINX e tutte le sue dipendenze, quindi utilizza bindgen per generare i binding per le funzioni native (FFI, foreign function interface).
  • ngx è un livello per accedere alle funzioni C dal codice Rust, un'API e un sistema per riesportare i binding creati utilizzando nginx-sys.

Fonte: opennet.ru

Acquista hosting affidabile per siti con protezione DDoS, server VPS VDS 🔥 Acquista un hosting web affidabile con protezione DDoS, server VPS e VDS | ProHoster