oauth2-proxy/oauth2-proxy

View on GitHub
pkg/apis/options/server.go

Summary

Maintainability
A
0 mins
Test Coverage
package options

// Server represents the configuration for an HTTP(S) server
type Server struct {
    // BindAddress is the address on which to serve traffic.
    // Leave blank or set to "-" to disable.
    BindAddress string

    // SecureBindAddress is the address on which to serve secure traffic.
    // Leave blank or set to "-" to disable.
    SecureBindAddress string

    // TLS contains the information for loading the certificate and key for the
    // secure traffic and further configuration for the TLS server.
    TLS *TLS
}

// TLS contains the information for loading a TLS certificate and key
// as well as an optional minimal TLS version that is acceptable.
type TLS struct {
    // Key is the TLS key data to use.
    // Typically this will come from a file.
    Key *SecretSource

    // Cert is the TLS certificate data to use.
    // Typically this will come from a file.
    Cert *SecretSource

    // MinVersion is the minimal TLS version that is acceptable.
    // E.g. Set to "TLS1.3" to select TLS version 1.3
    MinVersion string

    // CipherSuites is a list of TLS cipher suites that are allowed.
    // E.g.:
    // - TLS_RSA_WITH_RC4_128_SHA
    // - TLS_RSA_WITH_AES_256_GCM_SHA384
    // If not specified, the default Go safe cipher list is used.
    // List of valid cipher suites can be found in the [crypto/tls documentation](https://pkg.go.dev/crypto/tls#pkg-constants).
    CipherSuites []string
}