inigo-rs

Crates.ioinigo-rs
lib.rsinigo-rs
version
sourcesrc
created_at2022-11-05 16:15:52.911255
updated_at2025-02-13 18:54:47.011871
descriptionInigo plugin
homepage
repositoryhttps://github.com/inigolabs/inigo-rs
max_upload_size
id705918
Cargo.toml error:TOML parse error at line 18, column 1 | 18 | autolib = false | ^^^^^^^ unknown field `autolib`, expected one of `name`, `version`, `edition`, `authors`, `description`, `readme`, `license`, `repository`, `homepage`, `documentation`, `build`, `resolver`, `links`, `default-run`, `default_dash_run`, `rust-version`, `rust_dash_version`, `rust_version`, `license-file`, `license_dash_file`, `license_file`, `licenseFile`, `license_capital_file`, `forced-target`, `forced_dash_target`, `autobins`, `autotests`, `autoexamples`, `autobenches`, `publish`, `metadata`, `keywords`, `categories`, `exclude`, `include`
size0
Eitan Joffe (ejoffe)

documentation

README


GraphQL for Platform Teams
Home · Docs · Issues · Slack

Overview

Gain instant monitoring and protection into GraphQL APIs. Unblock platform teams and accelerate GraphQL adoption. Inigo's platform integration offers GraphQL Security, Analytics, Rate-limiting, Access Control and more.

This package is the Inigo plugin for the Apollo Rust Router

Integration

  1. Import the Inigo library in your Cargo.toml
cargo add inigo-rs
  1. a. Setup Inigo plugin (without registry)
use apollo_router::register_plugin;
use inigo_rs::Middleware;

register_plugin!("inigo", "middleware", Middleware);

fn main() {
    match apollo_router::main() {
        Ok(_) => {}
        Err(e) => {
            eprintln!("{}", e);
            std::process::exit(1);
        }
    }
}
  1. b. Setup Inigo plugin (with registry)
use apollo_router::register_plugin;
use inigo_rs::registry::InigoRegistry;
use inigo_rs::Middleware;

register_plugin!("inigo", "middleware", Middleware);

fn main() {
    match InigoRegistry::new(None).and(apollo_router::main()) {
        Ok(_) => {}
        Err(e) => {
            eprintln!("{}", e);
            std::process::exit(1);
        }
    }
}
  1. Configure the plugin
plugins:
  inigo.middleware:
    token: "your-inigo-service-token"

Tip: It can also be an environment variable

plugins:
  inigo.middleware:
    token: "${env.INIGO_SERVICE_TOKEN}"
  1. a. Automatic FFI library loading Inigo Rust Router will automatically download the Inigo library from the Inigo service. Only if configured.
plugins:
  inigo.middleware:
    token: "${env.INIGO_SERVICE_TOKEN}"
    auto_download_library: true
  1. b Manual FFI library loading Place a copy of Inigo lib file in the docker and set this env variable. For example:
INIGO_LIB_PATH=/inigo-linux-amd64.so # Change depending on path/file name (platform and architecture)

Documentation

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

License

Distributed under the MIT License.

Commit count: 122

cargo fmt