@@ -4,7 +4,7 @@ package cli
44
55// ////////////////////////////////////////////////////////////////////////////////// //
66// //
7- // Copyright (c) 2006-2019 FB GROUP LLC //
7+ // Copyright (c) 2006-2020 FB GROUP LLC //
88// //
99// ////////////////////////////////////////////////////////////////////////////////// //
1010
@@ -13,15 +13,19 @@ import (
1313 "os"
1414 "runtime"
1515
16- "pkg.re/essentialkaos/ek.v10/env"
17- "pkg.re/essentialkaos/ek.v10/fmtc"
18- "pkg.re/essentialkaos/ek.v10/fsutil"
19- "pkg.re/essentialkaos/ek.v10/knf"
20- "pkg.re/essentialkaos/ek.v10/log"
21- "pkg.re/essentialkaos/ek.v10/options"
22- "pkg.re/essentialkaos/ek.v10/system"
23- "pkg.re/essentialkaos/ek.v10/usage"
24- "pkg.re/essentialkaos/ek.v10/usage/update"
16+ "pkg.re/essentialkaos/ek.v12/env"
17+ "pkg.re/essentialkaos/ek.v12/fmtc"
18+ "pkg.re/essentialkaos/ek.v12/fsutil"
19+ "pkg.re/essentialkaos/ek.v12/knf"
20+ "pkg.re/essentialkaos/ek.v12/log"
21+ "pkg.re/essentialkaos/ek.v12/options"
22+ "pkg.re/essentialkaos/ek.v12/system"
23+ "pkg.re/essentialkaos/ek.v12/usage"
24+ "pkg.re/essentialkaos/ek.v12/usage/update"
25+
26+ knfv "pkg.re/essentialkaos/ek.v12/knf/validators"
27+ knff "pkg.re/essentialkaos/ek.v12/knf/validators/fs"
28+ knfs "pkg.re/essentialkaos/ek.v12/knf/validators/system"
2529
2630 "github.com/funbox/init-exporter/export"
2731 "github.com/funbox/init-exporter/procfile"
@@ -32,7 +36,7 @@ import (
3236// App props
3337const (
3438 APP = "init-exporter"
35- VER = "0.22 .0"
39+ VER = "0.23 .0"
3640 DESC = "Utility for exporting services described by Procfile to init system"
3741)
3842
@@ -209,70 +213,37 @@ func loadConfig() {
209213
210214// validateConfig validate config values
211215func validateConfig () {
212- var permsChecker = func (config * knf.Config , prop string , value interface {}) error {
213- if ! fsutil .CheckPerms (value .(string ), config .GetS (prop )) {
214- switch value .(string ) {
215- case "DRX" :
216- return fmt .Errorf ("Property %s must be path to readable directory" , prop )
217- case "DWX" :
218- return fmt .Errorf ("Property %s must be path to writable directory" , prop )
219- case "DRWX" :
220- return fmt .Errorf ("Property %s must be path to writable/readable directory" , prop )
221- case "FR" :
222- return fmt .Errorf ("Property %s must be path to readable file" , prop )
223- }
224- }
225-
226- return nil
227- }
228-
229- var userChecker = func (config * knf.Config , prop string , value interface {}) error {
230- if ! system .IsUserExist (knf .GetS (prop )) {
231- return fmt .Errorf ("Property %s contains user which not exist on this system" , prop )
232- }
233-
234- return nil
235- }
236-
237- var groupChecker = func (config * knf.Config , prop string , value interface {}) error {
238- if ! system .IsGroupExist (knf .GetS (prop )) {
239- return fmt .Errorf ("Property %s contains group which not exist on this system" , prop )
240- }
241-
242- return nil
243- }
244-
245216 validators := []* knf.Validator {
246- {MAIN_RUN_USER , knf .Empty , nil },
247- {MAIN_RUN_GROUP , knf .Empty , nil },
248- {PATHS_WORKING_DIR , knf .Empty , nil },
249- {PATHS_HELPER_DIR , knf .Empty , nil },
250- {PATHS_SYSTEMD_DIR , knf .Empty , nil },
251- {PATHS_UPSTART_DIR , knf .Empty , nil },
252- {DEFAULTS_NPROC , knf .Empty , nil },
253- {DEFAULTS_NOFILE , knf .Empty , nil },
254- {DEFAULTS_RESPAWN_COUNT , knf .Empty , nil },
255- {DEFAULTS_RESPAWN_INTERVAL , knf .Empty , nil },
256- {DEFAULTS_KILL_TIMEOUT , knf .Empty , nil },
257-
258- {DEFAULTS_NPROC , knf .Less , 0 },
259- {DEFAULTS_NOFILE , knf .Less , 0 },
260- {DEFAULTS_RESPAWN_COUNT , knf .Less , 0 },
261- {DEFAULTS_RESPAWN_INTERVAL , knf .Less , 0 },
262- {DEFAULTS_KILL_TIMEOUT , knf .Less , 0 },
263-
264- {MAIN_RUN_USER , userChecker , nil },
265- {MAIN_RUN_GROUP , groupChecker , nil },
266-
267- {PATHS_WORKING_DIR , permsChecker , "DRWX" },
268- {PATHS_HELPER_DIR , permsChecker , "DRWX" },
217+ {MAIN_RUN_USER , knfv .Empty , nil },
218+ {MAIN_RUN_GROUP , knfv .Empty , nil },
219+ {PATHS_WORKING_DIR , knfv .Empty , nil },
220+ {PATHS_HELPER_DIR , knfv .Empty , nil },
221+ {PATHS_SYSTEMD_DIR , knfv .Empty , nil },
222+ {PATHS_UPSTART_DIR , knfv .Empty , nil },
223+ {DEFAULTS_NPROC , knfv .Empty , nil },
224+ {DEFAULTS_NOFILE , knfv .Empty , nil },
225+ {DEFAULTS_RESPAWN_COUNT , knfv .Empty , nil },
226+ {DEFAULTS_RESPAWN_INTERVAL , knfv .Empty , nil },
227+ {DEFAULTS_KILL_TIMEOUT , knfv .Empty , nil },
228+
229+ {DEFAULTS_NPROC , knfv .Less , 0 },
230+ {DEFAULTS_NOFILE , knfv .Less , 0 },
231+ {DEFAULTS_RESPAWN_COUNT , knfv .Less , 0 },
232+ {DEFAULTS_RESPAWN_INTERVAL , knfv .Less , 0 },
233+ {DEFAULTS_KILL_TIMEOUT , knfv .Less , 0 },
234+
235+ {MAIN_RUN_USER , knfs . User , nil },
236+ {MAIN_RUN_GROUP , knfs . Group , nil },
237+
238+ {PATHS_WORKING_DIR , knff . Perms , "DRWX" },
239+ {PATHS_HELPER_DIR , knff . Perms , "DRWX" },
269240 }
270241
271242 if knf .GetB (LOG_ENABLED , true ) {
272243 validators = append (validators ,
273- & knf.Validator {LOG_DIR , knf .Empty , nil },
274- & knf.Validator {LOG_FILE , knf .Empty , nil },
275- & knf.Validator {LOG_DIR , permsChecker , "DWX" },
244+ & knf.Validator {LOG_DIR , knfv .Empty , nil },
245+ & knf.Validator {LOG_FILE , knfv .Empty , nil },
246+ & knf.Validator {LOG_DIR , knff . Perms , "DWX" },
276247 )
277248 }
278249
0 commit comments