Add stream-address and stream-port flags to crio
Signed-off-by: Andrew Pilloud <andrewpilloud@igneoussystems.com>
This commit is contained in:
parent
2a6db15113
commit
c77b5fbea8
4 changed files with 39 additions and 3 deletions
|
@ -35,6 +35,12 @@ storage_option = [
|
|||
# listen is the path to the AF_LOCAL socket on which crio will listen.
|
||||
listen = "{{ .Listen }}"
|
||||
|
||||
# stream_address is the IP address on which the stream server will listen
|
||||
stream_address = "{{ .StreamAddress }}"
|
||||
|
||||
# stream_port is the port on which the stream server will listen
|
||||
stream_port = "{{ .StreamPort }}"
|
||||
|
||||
# The "crio.runtime" table contains settings pertaining to the OCI
|
||||
# runtime used and options for how to set up and manage the OCI runtime.
|
||||
[crio.runtime]
|
||||
|
|
|
@ -71,6 +71,12 @@ func mergeConfig(config *server.Config, ctx *cli.Context) error {
|
|||
if ctx.GlobalIsSet("listen") {
|
||||
config.Listen = ctx.GlobalString("listen")
|
||||
}
|
||||
if ctx.GlobalIsSet("stream-address") {
|
||||
config.StreamAddress = ctx.GlobalString("stream-address")
|
||||
}
|
||||
if ctx.GlobalIsSet("stream-port") {
|
||||
config.StreamPort = ctx.GlobalString("stream-port")
|
||||
}
|
||||
if ctx.GlobalIsSet("runtime") {
|
||||
config.Runtime = ctx.GlobalString("runtime")
|
||||
}
|
||||
|
@ -145,6 +151,14 @@ func main() {
|
|||
Name: "listen",
|
||||
Usage: "path to crio socket",
|
||||
},
|
||||
cli.StringFlag{
|
||||
Name: "stream-address",
|
||||
Usage: "bind address for streaming socket",
|
||||
},
|
||||
cli.StringFlag{
|
||||
Name: "stream-port",
|
||||
Usage: "bind port for streaming socket (default: \"10010\")",
|
||||
},
|
||||
cli.StringFlag{
|
||||
Name: "log",
|
||||
Value: "",
|
||||
|
|
|
@ -65,6 +65,12 @@ type APIConfig struct {
|
|||
// This may support proto://addr formats later, but currently this is just
|
||||
// a path.
|
||||
Listen string `toml:"listen"`
|
||||
|
||||
// StreamAddress is the IP address on which the stream server will listen.
|
||||
StreamAddress string `toml:"stream_address"`
|
||||
|
||||
// StreamPort is the port on which the stream server will listen.
|
||||
StreamPort string `toml:"stream_port"`
|
||||
}
|
||||
|
||||
// RuntimeConfig represents the "crio.runtime" TOML config table.
|
||||
|
@ -207,7 +213,9 @@ func DefaultConfig() *Config {
|
|||
LogDir: "/var/log/crio/pods",
|
||||
},
|
||||
APIConfig: APIConfig{
|
||||
Listen: "/var/run/crio.sock",
|
||||
Listen: "/var/run/crio.sock",
|
||||
StreamAddress: "",
|
||||
StreamPort: "10010",
|
||||
},
|
||||
RuntimeConfig: RuntimeConfig{
|
||||
Runtime: "/usr/bin/runc",
|
||||
|
|
|
@ -613,14 +613,22 @@ func New(config *Config) (*Server, error) {
|
|||
s.restore()
|
||||
s.cleanupSandboxesOnShutdown()
|
||||
|
||||
bindAddress, err := knet.ChooseBindAddress(net.IP{0, 0, 0, 0})
|
||||
bindAddress := net.ParseIP(config.StreamAddress)
|
||||
if bindAddress == nil {
|
||||
bindAddress, err = knet.ChooseBindAddress(net.IP{0, 0, 0, 0})
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
_, err = net.LookupPort("tcp", config.StreamPort)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
// Prepare streaming server
|
||||
streamServerConfig := streaming.DefaultConfig
|
||||
streamServerConfig.Addr = bindAddress.String() + ":10101"
|
||||
streamServerConfig.Addr = net.JoinHostPort(bindAddress.String(), config.StreamPort)
|
||||
s.stream.runtimeServer = s
|
||||
s.stream.streamServer, err = streaming.NewServer(streamServerConfig, s.stream)
|
||||
if err != nil {
|
||||
|
|
Loading…
Reference in a new issue