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 is the path to the AF_LOCAL socket on which crio will listen.
|
||||||
listen = "{{ .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
|
# The "crio.runtime" table contains settings pertaining to the OCI
|
||||||
# runtime used and options for how to set up and manage the OCI runtime.
|
# runtime used and options for how to set up and manage the OCI runtime.
|
||||||
[crio.runtime]
|
[crio.runtime]
|
||||||
|
|
|
@ -71,6 +71,12 @@ func mergeConfig(config *server.Config, ctx *cli.Context) error {
|
||||||
if ctx.GlobalIsSet("listen") {
|
if ctx.GlobalIsSet("listen") {
|
||||||
config.Listen = ctx.GlobalString("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") {
|
if ctx.GlobalIsSet("runtime") {
|
||||||
config.Runtime = ctx.GlobalString("runtime")
|
config.Runtime = ctx.GlobalString("runtime")
|
||||||
}
|
}
|
||||||
|
@ -145,6 +151,14 @@ func main() {
|
||||||
Name: "listen",
|
Name: "listen",
|
||||||
Usage: "path to crio socket",
|
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{
|
cli.StringFlag{
|
||||||
Name: "log",
|
Name: "log",
|
||||||
Value: "",
|
Value: "",
|
||||||
|
|
|
@ -65,6 +65,12 @@ type APIConfig struct {
|
||||||
// This may support proto://addr formats later, but currently this is just
|
// This may support proto://addr formats later, but currently this is just
|
||||||
// a path.
|
// a path.
|
||||||
Listen string `toml:"listen"`
|
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.
|
// RuntimeConfig represents the "crio.runtime" TOML config table.
|
||||||
|
@ -207,7 +213,9 @@ func DefaultConfig() *Config {
|
||||||
LogDir: "/var/log/crio/pods",
|
LogDir: "/var/log/crio/pods",
|
||||||
},
|
},
|
||||||
APIConfig: APIConfig{
|
APIConfig: APIConfig{
|
||||||
Listen: "/var/run/crio.sock",
|
Listen: "/var/run/crio.sock",
|
||||||
|
StreamAddress: "",
|
||||||
|
StreamPort: "10010",
|
||||||
},
|
},
|
||||||
RuntimeConfig: RuntimeConfig{
|
RuntimeConfig: RuntimeConfig{
|
||||||
Runtime: "/usr/bin/runc",
|
Runtime: "/usr/bin/runc",
|
||||||
|
|
|
@ -613,14 +613,22 @@ func New(config *Config) (*Server, error) {
|
||||||
s.restore()
|
s.restore()
|
||||||
s.cleanupSandboxesOnShutdown()
|
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 {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
// Prepare streaming server
|
// Prepare streaming server
|
||||||
streamServerConfig := streaming.DefaultConfig
|
streamServerConfig := streaming.DefaultConfig
|
||||||
streamServerConfig.Addr = bindAddress.String() + ":10101"
|
streamServerConfig.Addr = net.JoinHostPort(bindAddress.String(), config.StreamPort)
|
||||||
s.stream.runtimeServer = s
|
s.stream.runtimeServer = s
|
||||||
s.stream.streamServer, err = streaming.NewServer(streamServerConfig, s.stream)
|
s.stream.streamServer, err = streaming.NewServer(streamServerConfig, s.stream)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|
Loading…
Reference in a new issue