Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type NameSpaceSettings ¶
type NameSpaceSettings struct { // The Storage implementation that is serving this specific name space // within the server. Storage *storage.Storage // Protections around the Blast Path API access for this specific // name space. BlastPathACL *access.ACL // Protections around replica related operations. Servers in this Access // Control List will be able to create, update, and destroy replicas // on this server. PrimaryACL *access.ACL // Protections around read access for this specific name space. ReadACL *access.ACL // Protections around insert access for this specific name space. InsertACL *access.ACL }
Each name space is given a specific security ACL configuration that allows it to be protected.
type Settings ¶
type Settings struct { // The address and port that should be listened on for this server. Addr string Port int // A list of namespaces, mapped by name, that should be served // by this HTTP server. NameSpaces map[string]*NameSpaceSettings // Enable tracing for requests. Adds debugging but impacts performance // slightly. EnableTracing bool // If TLS is desired then this loader should be non nil and it should // return certificates to be used for serving on the TLS ports. TLSCerts *secretloader.Certificate // Debugging ACL EnableDebugPaths bool DebugPathsACL *access.ACL // Health checking ACL HealthCheckACL *access.ACL // Status endpoint ACL StatusACL *access.ACL // Shut down endpoint ACL ShutDownACL *access.ACL // The Logger that will be used for all logs. Logger *slog.Logger // HTTP requests will be logged to this logger for access/request // logging. This is optional, if its left nil then no access logging // will be processed. AccessLogger *slog.Logger // These settings will be mapped into the underlying http.Server // object. WriteTimeout time.Duration ReadTimeout time.Duration IdleTimeout time.Duration MaxHeaderBytes int // The prefix for the namespace= tag; a value of blobby_ for this field // would give blobby_namespace as the tag key in the rendered Prometheus // metrics: PrometheusTagPrefix string // If defined then web authentication will be enabled and users will // be allowed to authenticate to Blobby using a static web login form // server from _login. WebAuthProvider *access.WebAuthProvider // We allow SAML authentication from multiple sources. Each needs to be // configured and named. This stores a mapping of name to SAML // name to authentication details. SAMLAuth map[string]*access.SAML }
Click to show internal directories.
Click to hide internal directories.