Skip to content
This repository was archived by the owner on Oct 11, 2023. It is now read-only.

Commit f9f0fec

Browse files
committed
Debug docker wait
1 parent f23f447 commit f9f0fec

File tree

15 files changed

+134
-12
lines changed

15 files changed

+134
-12
lines changed

Dockerfile.dapper

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,8 @@ ARG SYSTEM_DOCKER_URL_arm64=https://github.com/burmilla/os-system-docker/release
9090
ARG USER_DOCKER_VERSION=latest
9191
ARG USER_DOCKER_ENGINE_VERSION=docker-${USER_DOCKER_VERSION}
9292

93+
ARG K3S_REPO=rancher
94+
9395
ARG AZURE_SERVICE=false
9496
ARG PROXMOXVE_SERVICE=false
9597
ARG SKIP_BUILD=false
@@ -134,6 +136,7 @@ ENV BUILD_DOCKER_URL=BUILD_DOCKER_URL_${ARCH} \
134136
SYSTEM_DOCKER_URL_arm64=${SYSTEM_DOCKER_URL_arm64} \
135137
USER_DOCKER_VERSION=${USER_DOCKER_VERSION} \
136138
USER_DOCKER_ENGINE_VERSION=${USER_DOCKER_ENGINE_VERSION} \
139+
K3S_REPO=${K3S_REPO} \
137140
AZURE_SERVICE=${AZURE_SERVICE} \
138141
PROXMOXVE_SERVICE=${PROXMOXVE_SERVICE} \
139142
SKIP_BUILD=${SKIP_BUILD}

cmd/control/cli.go

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,12 @@ func Main() {
7373
HideHelp: true,
7474
Subcommands: engineSubcommands(),
7575
},
76+
{
77+
Name: "k3s",
78+
Usage: "manage which k3s engine is used",
79+
HideHelp: true,
80+
Subcommands: k3sSubcommands(),
81+
},
7682
{
7783
Name: "entrypoint",
7884
Hidden: true,

cmd/control/console_init.go

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -182,7 +182,7 @@ $(tput sgr0)
182182
log.Error(err)
183183
}
184184

185-
p, err := compose.GetProject(cfg, false, true)
185+
p, err := compose.GetProject(cfg, false, true, false)
186186
if err != nil {
187187
log.Error(err)
188188
}
@@ -218,6 +218,22 @@ $(tput sgr0)
218218
})
219219
}
220220

221+
// create placeholder for start-k3s.sh
222+
const K3sPlaceholder = `
223+
#!/bin/sh
224+
/bin/k3s server --cluster-init --tls-san "0.0.0.0"
225+
`
226+
if _, err := os.Stat("/etc/k3s"); os.IsNotExist(err) {
227+
if err := os.MkdirAll("/etc/k3s", 0555); err != nil {
228+
log.Error(err)
229+
}
230+
}
231+
if _, err := os.Stat("/etc/k3s/start-k3s.sh"); os.IsNotExist(err) {
232+
if err := ioutil.WriteFile("/etc/k3s/start-k3s.sh", []byte(K3sPlaceholder), 0755); err != nil {
233+
log.Error(err)
234+
}
235+
}
236+
221237
for _, link := range baseSymlink {
222238
syscall.Unlink(link.newname)
223239
if err := os.Symlink(link.oldname, link.newname); err != nil {

cmd/control/engine.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,7 @@ func engineSwitch(c *cli.Context) error {
143143
validateEngine(newEngine, cfg)
144144
}
145145

146-
project, err := compose.GetProject(cfg, true, false)
146+
project, err := compose.GetProject(cfg, true, false, false)
147147
if err != nil {
148148
log.Fatal(err)
149149
}
@@ -226,7 +226,7 @@ func dindEngineRemove(c *cli.Context) error {
226226

227227
name := c.Args()[0]
228228
cfg := config.LoadConfig()
229-
p, err := compose.GetProject(cfg, true, false)
229+
p, err := compose.GetProject(cfg, true, false, false)
230230
if err != nil {
231231
log.Fatalf("Get project failed: %v", err)
232232
}

cmd/control/install/service.go

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,12 @@ func GetCacheImageList(cloudconfig string, oldcfg *config.CloudConfig) []string
6464

6565
}
6666

67+
// k3s engine
68+
k3sImage := getServiceImage("k3s", "", oldcfg, newcfg)
69+
if k3sImage != "" {
70+
savedImages = append(savedImages, k3sImage)
71+
}
72+
6773
return savedImages
6874
}
6975

@@ -125,5 +131,17 @@ func formatImage(image string, oldcfg, newcfg *config.CloudConfig) string {
125131

126132
image = strings.Replace(image, "${SUFFIX}", config.Suffix, -1)
127133

134+
k3sRepo := newcfg.Rancher.Environment["K3S_REPO"]
135+
if k3sRepo == "" {
136+
k3sRepo = oldcfg.Rancher.Environment["K3S_REPO"]
137+
}
138+
image = strings.Replace(image, "${K3S_REPO}", k3sRepo, -1)
139+
140+
k3sVersion := newcfg.Rancher.Environment["K3S_VERSION"]
141+
if k3sVersion == "" {
142+
k3sVersion = oldcfg.Rancher.Environment["K3S_VERSION"]
143+
}
144+
image = strings.Replace(image, "${K3S_VERSION}", k3sVersion, -1)
145+
128146
return image
129147
}

cmd/control/k3s.go

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
package control
2+
3+
import (
4+
"github.com/burmilla/os/config"
5+
"github.com/burmilla/os/pkg/compose"
6+
"github.com/burmilla/os/pkg/log"
7+
8+
"github.com/codegangsta/cli"
9+
"github.com/docker/libcompose/project/options"
10+
"golang.org/x/net/context"
11+
)
12+
13+
func k3sSubcommands() []cli.Command {
14+
return []cli.Command{
15+
{
16+
Name: "enable",
17+
Usage: "enable/switch k3s",
18+
Action: k3sEnable,
19+
},
20+
{
21+
Name: "disable",
22+
Usage: "disable k3s",
23+
Action: k3sDisable,
24+
},
25+
}
26+
}
27+
28+
func k3sEnable(c *cli.Context) error {
29+
cfg := config.LoadConfig()
30+
31+
project, err := compose.GetProject(cfg, true, false, true)
32+
if err != nil {
33+
log.Fatal(err)
34+
}
35+
36+
if err = project.Stop(context.Background(), 10, "k3s"); err != nil {
37+
log.Fatal(err)
38+
}
39+
40+
if err = compose.LoadSpecialService(project, cfg, "k3s", "k3s"); err != nil {
41+
log.Fatal(err)
42+
}
43+
44+
if err = project.Up(context.Background(), options.Up{}, "k3s"); err != nil {
45+
log.Fatal(err)
46+
}
47+
48+
return nil
49+
}
50+
51+
func k3sDisable(c *cli.Context) error {
52+
cfg := config.LoadConfig()
53+
54+
project, err := compose.GetProject(cfg, true, false, true)
55+
if err != nil {
56+
log.Fatal(err)
57+
}
58+
59+
if err = project.Down(context.Background(), options.Down{}, "k3s"); err != nil {
60+
log.Fatal(err)
61+
}
62+
return nil
63+
}

cmd/control/service/service.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ type projectFactory struct {
2121

2222
func (p *projectFactory) Create(c *cli.Context) (project.APIProject, error) {
2323
cfg := config.LoadConfig()
24-
return compose.GetProject(cfg, true, false)
24+
return compose.GetProject(cfg, true, false, false)
2525
}
2626

2727
func beforeApp(c *cli.Context) error {

cmd/control/switch_console.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ func switchConsoleAction(c *cli.Context) error {
2020

2121
cfg := config.LoadConfig()
2222

23-
project, err := compose.GetProject(cfg, true, false)
23+
project, err := compose.GetProject(cfg, true, false, false)
2424
if err != nil {
2525
return err
2626
}

cmd/control/user_docker.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -153,7 +153,7 @@ func startDocker(cfg *config.CloudConfig) error {
153153

154154
log.Infof("Starting Docker in context: %s", storageContext)
155155

156-
p, err := compose.GetProject(cfg, true, false)
156+
p, err := compose.GetProject(cfg, true, false, false)
157157
if err != nil {
158158
return err
159159
}

images/01-base/Dockerfile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ RUN rm /sbin/poweroff /sbin/reboot /sbin/halt && \
1515
/var/spool \
1616
/var/lib/misc && \
1717
mkdir -p \
18+
/etc/k3s \
1819
/home \
1920
/run \
2021
/var/cache \

0 commit comments

Comments
 (0)