mirror of https://github.com/k3s-io/k3s
Merge pull request #1444 from KnicKnic/k3s_build_windows
K3s build windows (no agents)pull/1467/head
commit
0aeea78060
|
@ -0,0 +1,15 @@
|
||||||
|
// +build !windows
|
||||||
|
|
||||||
|
package containerd
|
||||||
|
|
||||||
|
import (
|
||||||
|
"os/exec"
|
||||||
|
"syscall"
|
||||||
|
)
|
||||||
|
|
||||||
|
func addDeathSig(cmd *exec.Cmd) {
|
||||||
|
// not supported in this OS
|
||||||
|
cmd.SysProcAttr = &syscall.SysProcAttr{
|
||||||
|
Pdeathsig: syscall.SIGKILL,
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,7 @@
|
||||||
|
package containerd
|
||||||
|
|
||||||
|
import "os/exec"
|
||||||
|
|
||||||
|
func addDeathSig(_ *exec.Cmd) {
|
||||||
|
// not supported in this OS
|
||||||
|
}
|
|
@ -8,7 +8,6 @@ import (
|
||||||
"os"
|
"os"
|
||||||
"os/exec"
|
"os/exec"
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
"syscall"
|
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/containerd/containerd"
|
"github.com/containerd/containerd"
|
||||||
|
@ -67,9 +66,7 @@ func Run(ctx context.Context, cfg *config.Node) error {
|
||||||
cmd := exec.Command(args[0], args[1:]...)
|
cmd := exec.Command(args[0], args[1:]...)
|
||||||
cmd.Stdout = stdOut
|
cmd.Stdout = stdOut
|
||||||
cmd.Stderr = stdErr
|
cmd.Stderr = stdErr
|
||||||
cmd.SysProcAttr = &syscall.SysProcAttr{
|
addDeathSig(cmd)
|
||||||
Pdeathsig: syscall.SIGKILL,
|
|
||||||
}
|
|
||||||
if err := cmd.Run(); err != nil {
|
if err := cmd.Run(); err != nil {
|
||||||
fmt.Fprintf(os.Stderr, "containerd: %s\n", err)
|
fmt.Fprintf(os.Stderr, "containerd: %s\n", err)
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,10 @@
|
||||||
|
package netpol
|
||||||
|
|
||||||
|
import (
|
||||||
|
"context"
|
||||||
|
daemonconfig "github.com/rancher/k3s/pkg/daemons/config"
|
||||||
|
)
|
||||||
|
|
||||||
|
func Run(ctx context.Context, nodeConfig *daemonconfig.Node) error {
|
||||||
|
panic("Netpol is not supported on windows ensure to pass --disable-network-policy")
|
||||||
|
}
|
|
@ -1,3 +1,5 @@
|
||||||
|
// +build !windows
|
||||||
|
|
||||||
package netpol
|
package netpol
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
// Apache License v2.0 (copyright Cloud Native Labs & Rancher Labs)
|
// Apache License v2.0 (copyright Cloud Native Labs & Rancher Labs)
|
||||||
// - modified from https://github.com/cloudnativelabs/kube-router/blob/d6f9f31a7b/pkg/controllers/netpol/network_policy_controller.go
|
// - modified from https://github.com/cloudnativelabs/kube-router/blob/d6f9f31a7b/pkg/controllers/netpol/network_policy_controller.go
|
||||||
|
|
||||||
|
// +build !windows
|
||||||
|
|
||||||
package netpol
|
package netpol
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
// Apache License v2.0 (copyright Cloud Native Labs & Rancher Labs)
|
// Apache License v2.0 (copyright Cloud Native Labs & Rancher Labs)
|
||||||
// - modified from https://github.com/cloudnativelabs/kube-router/tree/d6f9f31a7b/pkg/utils
|
// - modified from https://github.com/cloudnativelabs/kube-router/tree/d6f9f31a7b/pkg/utils
|
||||||
|
|
||||||
|
// +build !windows
|
||||||
|
|
||||||
package netpol
|
package netpol
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
// +build !windows
|
||||||
|
|
||||||
package syssetup
|
package syssetup
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
|
|
@ -0,0 +1,3 @@
|
||||||
|
package syssetup
|
||||||
|
|
||||||
|
func Configure() {}
|
|
@ -8,6 +8,7 @@ import (
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"github.com/rancher/k3s/pkg/token"
|
"github.com/rancher/k3s/pkg/token"
|
||||||
|
"github.com/rancher/k3s/pkg/util"
|
||||||
)
|
)
|
||||||
|
|
||||||
type entry struct {
|
type entry struct {
|
||||||
|
@ -141,7 +142,7 @@ func writePasswords(passwdFile string, records [][]string) error {
|
||||||
}
|
}
|
||||||
defer out.Close()
|
defer out.Close()
|
||||||
|
|
||||||
if err := out.Chmod(0600); err != nil {
|
if err := util.SetFileModeForFile(out, 0600); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
// +build !windows
|
||||||
|
|
||||||
package rootless
|
package rootless
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
// +build !windows
|
||||||
|
|
||||||
package rootless
|
package rootless
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
|
|
@ -0,0 +1,5 @@
|
||||||
|
package rootless
|
||||||
|
|
||||||
|
func Rootless(stateDir string) error {
|
||||||
|
panic("Rootless not supported on windows")
|
||||||
|
}
|
|
@ -1,3 +1,5 @@
|
||||||
|
// +build !windows
|
||||||
|
|
||||||
package rootlessports
|
package rootlessports
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
|
|
@ -0,0 +1,10 @@
|
||||||
|
package rootlessports
|
||||||
|
|
||||||
|
import (
|
||||||
|
"context"
|
||||||
|
coreClients "github.com/rancher/wrangler-api/pkg/generated/controllers/core/v1"
|
||||||
|
)
|
||||||
|
|
||||||
|
func Register(ctx context.Context, serviceController coreClients.ServiceController, httpsPort int) error {
|
||||||
|
panic("Rootless is not supported on windows")
|
||||||
|
}
|
|
@ -24,6 +24,7 @@ import (
|
||||||
"github.com/rancher/k3s/pkg/rootlessports"
|
"github.com/rancher/k3s/pkg/rootlessports"
|
||||||
"github.com/rancher/k3s/pkg/servicelb"
|
"github.com/rancher/k3s/pkg/servicelb"
|
||||||
"github.com/rancher/k3s/pkg/static"
|
"github.com/rancher/k3s/pkg/static"
|
||||||
|
"github.com/rancher/k3s/pkg/util"
|
||||||
v1 "github.com/rancher/wrangler-api/pkg/generated/controllers/core/v1"
|
v1 "github.com/rancher/wrangler-api/pkg/generated/controllers/core/v1"
|
||||||
"github.com/rancher/wrangler/pkg/leader"
|
"github.com/rancher/wrangler/pkg/leader"
|
||||||
"github.com/rancher/wrangler/pkg/resolvehome"
|
"github.com/rancher/wrangler/pkg/resolvehome"
|
||||||
|
@ -263,12 +264,12 @@ func writeKubeConfig(certs string, config *Config) error {
|
||||||
if config.ControlConfig.KubeConfigMode != "" {
|
if config.ControlConfig.KubeConfigMode != "" {
|
||||||
mode, err := strconv.ParseInt(config.ControlConfig.KubeConfigMode, 8, 0)
|
mode, err := strconv.ParseInt(config.ControlConfig.KubeConfigMode, 8, 0)
|
||||||
if err == nil {
|
if err == nil {
|
||||||
os.Chmod(kubeConfig, os.FileMode(mode))
|
util.SetFileModeForPath(kubeConfig, os.FileMode(mode))
|
||||||
} else {
|
} else {
|
||||||
logrus.Errorf("failed to set %s to mode %s: %v", kubeConfig, os.FileMode(mode), err)
|
logrus.Errorf("failed to set %s to mode %s: %v", kubeConfig, os.FileMode(mode), err)
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
os.Chmod(kubeConfig, os.FileMode(0600))
|
util.SetFileModeForPath(kubeConfig, os.FileMode(0600))
|
||||||
}
|
}
|
||||||
|
|
||||||
if kubeConfigSymlink != kubeConfig {
|
if kubeConfigSymlink != kubeConfig {
|
||||||
|
|
|
@ -0,0 +1,15 @@
|
||||||
|
// +build !windows
|
||||||
|
|
||||||
|
package util
|
||||||
|
|
||||||
|
import (
|
||||||
|
"os"
|
||||||
|
)
|
||||||
|
|
||||||
|
func SetFileModeForPath(name string, mode os.FileMode) error {
|
||||||
|
return os.Chmod(name, mode)
|
||||||
|
}
|
||||||
|
|
||||||
|
func SetFileModeForFile(file *os.File, mode os.FileMode) error {
|
||||||
|
return file.Chmod(mode)
|
||||||
|
}
|
|
@ -0,0 +1,13 @@
|
||||||
|
package util
|
||||||
|
|
||||||
|
import (
|
||||||
|
"os"
|
||||||
|
)
|
||||||
|
|
||||||
|
func SetFileModeForPath(name string, mode os.FileMode) error {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func SetFileModeForFile(file *os.File, mode os.FileMode) error {
|
||||||
|
return nil
|
||||||
|
}
|
Loading…
Reference in New Issue