Skip to content

Commit fbbc79d

Browse files
committed
Implement AirGap mode checks for VLAN configuration, Docker installation, Swarm initialization, and Administration Tools installation
1 parent 445e3f2 commit fbbc79d

2 files changed

Lines changed: 52 additions & 36 deletions

File tree

installer/config/config.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ func GetConfig() *Config {
3535
}
3636
}
3737

38-
mainIP, err := utils.GetMainIP() // TODO: Check AirGap
38+
mainIP, err := utils.GetMainIP()
3939
if err != nil {
4040
fmt.Printf("error getting main IP: %v", err)
4141
os.Exit(1)

installer/install.go

Lines changed: 51 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -84,45 +84,57 @@ func Install() error {
8484
if err != nil {
8585
return err
8686
}
87-
// TODO: Check AirGap
88-
if err := network.InstallVlan(distro); err != nil {
89-
return err
90-
}
91-
if err := network.ConfigureVLAN(iface, distro); err != nil {
92-
return err
93-
}
94-
if err := utils.SetLock(202402081553, stack.LocksDir); err != nil {
95-
return err
87+
// Check AirGap
88+
if !config.ConnectedToInternet {
89+
fmt.Println(" [SKIPPED] (AirGap mode detected, skipping VLAN configuration)")
90+
} else {
91+
if err := network.InstallVlan(distro); err != nil {
92+
return err
93+
}
94+
if err := network.ConfigureVLAN(iface, distro); err != nil {
95+
return err
96+
}
97+
if err := utils.SetLock(202402081553, stack.LocksDir); err != nil {
98+
return err
99+
}
100+
fmt.Println(" [OK]")
96101
}
97-
fmt.Println(" [OK]")
98102
}
99103

100104
if utils.GetLock(3, stack.LocksDir) {
101105
fmt.Print("Installing Docker")
102-
// TODO: Check AirGap
103-
if err := docker.InstallDocker(distro); err != nil {
104-
return err
105-
}
106-
if err := utils.SetLock(3, stack.LocksDir); err != nil {
107-
return err
106+
// Check AirGap
107+
if !config.ConnectedToInternet {
108+
fmt.Println(" [SKIPPED] (AirGap mode detected, skipping Docker installation)")
109+
} else {
110+
if err := docker.InstallDocker(distro); err != nil {
111+
return err
112+
}
113+
if err := utils.SetLock(3, stack.LocksDir); err != nil {
114+
return err
115+
}
116+
fmt.Println(" [OK]")
108117
}
109-
fmt.Println(" [OK]")
110118
}
111119

112120
if utils.GetLock(4, stack.LocksDir) {
113121
fmt.Print("Initializing Swarm")
114-
// TODO: Check AirGap
115-
mainIP, err := utils.GetMainIP()
116-
if err != nil {
117-
return err
118-
}
119-
if err := docker.InitSwarm(mainIP); err != nil {
120-
return err
121-
}
122-
if err := utils.SetLock(4, stack.LocksDir); err != nil {
123-
return err
122+
// Check AirGap
123+
if !config.ConnectedToInternet {
124+
fmt.Println(" [SKIPPED] (AirGap mode detected, skipping Swarm initialization)")
125+
} else {
126+
mainIP, err := utils.GetMainIP()
127+
if err != nil {
128+
return err
129+
}
130+
if err := docker.InitSwarm(mainIP); err != nil {
131+
return err
132+
}
133+
if err := utils.SetLock(4, stack.LocksDir); err != nil {
134+
return err
135+
}
136+
fmt.Println(" [OK]")
124137
}
125-
fmt.Println(" [OK]")
126138
}
127139

128140
if !utils.GetLock(5, stack.LocksDir) && utils.GetLock(202407051241, stack.LocksDir) {
@@ -176,15 +188,19 @@ func Install() error {
176188

177189
if utils.GetLock(5, stack.LocksDir) {
178190
fmt.Print("Installing Administration Tools")
179-
// TODO: Check AirGap
180-
if err := system.InstallTools(distro); err != nil {
181-
return err
182-
}
191+
// Check AirGap
192+
if !config.ConnectedToInternet {
193+
fmt.Println(" [SKIPPED] (AirGap mode detected, skipping Administration Tools installation)")
194+
} else {
195+
if err := system.InstallTools(distro); err != nil {
196+
return err
197+
}
183198

184-
if err := utils.SetLock(5, stack.LocksDir); err != nil {
185-
return err
199+
if err := utils.SetLock(5, stack.LocksDir); err != nil {
200+
return err
201+
}
202+
fmt.Println(" [OK]")
186203
}
187-
fmt.Println(" [OK]")
188204
}
189205

190206
if utils.GetLock(6, stack.LocksDir) {

0 commit comments

Comments
 (0)