mirror of
https://github.com/siderolabs/talos.git
synced 2025-08-18 21:21:10 +02:00
In order to perform upgrades the way we would like, it is important that we avoid any bind mounts into containers. This change ensures that all system services get their config via stdin. Signed-off-by: Andrew Rynhard <andrew@rynhard.io>
53 lines
1.2 KiB
Go
53 lines
1.2 KiB
Go
// This Source Code Form is subject to the terms of the Mozilla Public
|
|
// License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
// file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
|
|
package main
|
|
|
|
import (
|
|
"flag"
|
|
"log"
|
|
|
|
"github.com/talos-systems/talos/internal/app/networkd/pkg/networkd"
|
|
"github.com/talos-systems/talos/internal/app/networkd/pkg/reg"
|
|
"github.com/talos-systems/talos/pkg/grpc/factory"
|
|
"github.com/talos-systems/talos/pkg/machinery/config/configloader"
|
|
"github.com/talos-systems/talos/pkg/machinery/constants"
|
|
)
|
|
|
|
func init() {
|
|
log.SetFlags(log.Lshortfile | log.Ldate | log.Lmicroseconds | log.Ltime)
|
|
|
|
flag.Parse()
|
|
}
|
|
|
|
func main() {
|
|
log.Println("starting initial network configuration")
|
|
|
|
config, err := configloader.NewFromStdin()
|
|
if err != nil {
|
|
log.Fatal(err)
|
|
}
|
|
|
|
nwd, err := networkd.New(config)
|
|
if err != nil {
|
|
log.Fatal(err)
|
|
}
|
|
|
|
if err = nwd.Configure(); err != nil {
|
|
log.Fatal(err)
|
|
}
|
|
|
|
log.Println("completed initial network configuration")
|
|
|
|
nwd.Renew()
|
|
|
|
log.Fatalf("%+v", factory.ListenAndServe(
|
|
reg.NewRegistrator(nwd),
|
|
factory.Network("unix"),
|
|
factory.SocketPath(constants.NetworkSocketPath),
|
|
factory.WithDefaultLog(),
|
|
),
|
|
)
|
|
}
|