config

package
v0.7.2 Latest Latest
Warning

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

Go to latest
Published: May 27, 2025 License: MIT Imports: 6 Imported by: 0

Documentation

Overview

Code generated from OpenAPI schema. DO NOT EDIT.

Index

Constants

View Source
const APPLICATION_NAME = "inference-gateway"
View Source
const VERSION = "v0.7.2"

Variables

This section is empty.

Functions

This section is empty.

Types

type ClientConfig added in v0.7.0

type ClientConfig struct {
	Timeout             time.Duration `env:"TIMEOUT, default=30s" description:"Client timeout"`
	MaxIdleConns        int           `env:"MAX_IDLE_CONNS, default=20" description:"Maximum idle connections"`
	MaxIdleConnsPerHost int           `env:"MAX_IDLE_CONNS_PER_HOST, default=20" description:"Maximum idle connections per host"`
	IdleConnTimeout     time.Duration `env:"IDLE_CONN_TIMEOUT, default=30s" description:"Idle connection timeout"`
	TlsMinVersion       string        `env:"TLS_MIN_VERSION, default=TLS12" description:"Minimum TLS version"`
}

Client configuration

type Config

type Config struct {
	// General settings
	Environment     string `env:"ENVIRONMENT, default=production" description:"The environment"`
	EnableTelemetry bool   `env:"ENABLE_TELEMETRY, default=false" description:"Enable telemetry"`
	EnableAuth      bool   `env:"ENABLE_AUTH, default=false" description:"Enable authentication"`
	// MCP settings
	MCP *MCPConfig `env:", prefix=MCP_" description:"MCP configuration"`
	// OIDC settings
	OIDC *OIDC `env:", prefix=OIDC_" description:"OIDC configuration"`
	// Server settings
	Server *ServerConfig `env:", prefix=SERVER_" description:"Server configuration"`
	// Client settings
	Client *ClientConfig `env:", prefix=CLIENT_" description:"Client configuration"`

	// Providers map
	Providers map[providers.Provider]*providers.Config
}

Config holds the configuration for the Inference Gateway

func (*Config) Load

func (cfg *Config) Load(lookuper envconfig.Lookuper) (Config, error)

Load configuration

func (*Config) String added in v0.5.0

func (cfg *Config) String() string

The string representation of Config

type MCPConfig added in v0.7.0

type MCPConfig struct {
	Enable                bool          `env:"ENABLE, default=false" description:"Enable MCP"`
	Expose                bool          `env:"EXPOSE, default=false" description:"Expose MCP tools endpoint"`
	Servers               string        `env:"SERVERS" description:"List of MCP servers"`
	ClientTimeout         time.Duration `env:"CLIENT_TIMEOUT, default=5s" description:"MCP client HTTP timeout"`
	DialTimeout           time.Duration `env:"DIAL_TIMEOUT, default=3s" description:"MCP client dial timeout"`
	TlsHandshakeTimeout   time.Duration `env:"TLS_HANDSHAKE_TIMEOUT, default=3s" description:"MCP client TLS handshake timeout"`
	ResponseHeaderTimeout time.Duration `env:"RESPONSE_HEADER_TIMEOUT, default=3s" description:"MCP client response header timeout"`
	ExpectContinueTimeout time.Duration `env:"EXPECT_CONTINUE_TIMEOUT, default=1s" description:"MCP client expect continue timeout"`
	RequestTimeout        time.Duration `env:"REQUEST_TIMEOUT, default=5s" description:"MCP client request timeout for initialize and tool calls"`
}

MCP configuration

type OIDC added in v0.1.6

type OIDC struct {
	IssuerUrl    string `env:"ISSUER_URL, default=http://keycloak:8080/realms/inference-gateway-realm" description:"OIDC issuer URL"`
	ClientId     string `env:"CLIENT_ID, default=inference-gateway-client" type:"secret" description:"OIDC client ID"`
	ClientSecret string `env:"CLIENT_SECRET" type:"secret" description:"OIDC client secret"`
}

OIDC configuration

type ServerConfig added in v0.1.6

type ServerConfig struct {
	Host         string        `env:"HOST, default=0.0.0.0" description:"Server host"`
	Port         string        `env:"PORT, default=8080" description:"Server port"`
	ReadTimeout  time.Duration `env:"READ_TIMEOUT, default=30s" description:"Read timeout"`
	WriteTimeout time.Duration `env:"WRITE_TIMEOUT, default=30s" description:"Write timeout"`
	IdleTimeout  time.Duration `env:"IDLE_TIMEOUT, default=120s" description:"Idle timeout"`
	TlsCertPath  string        `env:"TLS_CERT_PATH" description:"TLS certificate path"`
	TlsKeyPath   string        `env:"TLS_KEY_PATH" description:"TLS key path"`
}

Server configuration

Jump to

Keyboard shortcuts

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