mirror of
https://github.com/kairos-io/kairos-agent.git
synced 2025-09-10 05:19:13 +00:00
37 lines
607 B
Go
37 lines
607 B
Go
![]() |
package config
|
||
|
|
||
|
type Options struct {
|
||
|
ScanDir []string
|
||
|
BootCMDLineFile string
|
||
|
MergeBootCMDLine bool
|
||
|
}
|
||
|
|
||
|
type Option func(o *Options) error
|
||
|
|
||
|
func (o *Options) Apply(opts ...Option) error {
|
||
|
for _, oo := range opts {
|
||
|
if err := oo(o); err != nil {
|
||
|
return err
|
||
|
}
|
||
|
}
|
||
|
return nil
|
||
|
}
|
||
|
|
||
|
var MergeBootLine = func(o *Options) error {
|
||
|
o.MergeBootCMDLine = true
|
||
|
return nil
|
||
|
}
|
||
|
|
||
|
func WithBootCMDLineFile(s string) Option {
|
||
|
return func(o *Options) error {
|
||
|
o.BootCMDLineFile = s
|
||
|
return nil
|
||
|
}
|
||
|
}
|
||
|
func Directories(d ...string) Option {
|
||
|
return func(o *Options) error {
|
||
|
o.ScanDir = d
|
||
|
return nil
|
||
|
}
|
||
|
}
|