allow the use of static config files
This commit is contained in:
@ -4,12 +4,14 @@ import (
|
|||||||
"fmt"
|
"fmt"
|
||||||
//"io"
|
//"io"
|
||||||
"io/fs"
|
"io/fs"
|
||||||
|
"io/ioutil"
|
||||||
"log"
|
"log"
|
||||||
"os"
|
"os"
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"github.com/otiai10/copy"
|
"github.com/otiai10/copy"
|
||||||
|
"gopkg.in/yaml.v3"
|
||||||
)
|
)
|
||||||
|
|
||||||
type ClientConfig struct {
|
type ClientConfig struct {
|
||||||
@ -156,6 +158,25 @@ func (cc *ClientConfig) CopyExecutable() error {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (cc *ClientConfig) Load() error {
|
||||||
|
if _, err := os.Stat("client.yaml"); os.IsNotExist(err) {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
yamlFile, err := ioutil.ReadFile("client.yaml")
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
return yaml.Unmarshal(yamlFile, cc)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (cc *ClientConfig) Save() error {
|
||||||
|
bytes, err := yaml.Marshal(cc)
|
||||||
|
if err != nil {
|
||||||
|
fmt.Println(err)
|
||||||
|
}
|
||||||
|
return ioutil.WriteFile("client.yaml", bytes, 0644)
|
||||||
|
}
|
||||||
|
|
||||||
func find(root, ext string) []string {
|
func find(root, ext string) []string {
|
||||||
var a []string
|
var a []string
|
||||||
filepath.WalkDir(root, func(s string, d fs.DirEntry, e error) error {
|
filepath.WalkDir(root, func(s string, d fs.DirEntry, e error) error {
|
||||||
|
@ -84,6 +84,12 @@ func goBin() string {
|
|||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
flagsSet()
|
flagsSet()
|
||||||
|
if err := pc.Load(); err != nil {
|
||||||
|
log.Fatal(err)
|
||||||
|
}
|
||||||
|
if err := cc.Load(); err != nil {
|
||||||
|
log.Fatal(err)
|
||||||
|
}
|
||||||
|
|
||||||
if *cc.Executable != "" {
|
if *cc.Executable != "" {
|
||||||
*cc.ClientName = *cc.Executable
|
*cc.ClientName = *cc.Executable
|
||||||
@ -102,6 +108,8 @@ func main() {
|
|||||||
//if err := os.MkdirAll("plugin/lib", 0755); err != nil {
|
//if err := os.MkdirAll("plugin/lib", 0755); err != nil {
|
||||||
// log.Fatal(err)
|
// log.Fatal(err)
|
||||||
//}
|
//}
|
||||||
|
cc.Save()
|
||||||
|
pc.Save()
|
||||||
if err := cc.CopyResDir(); err != nil {
|
if err := cc.CopyResDir(); err != nil {
|
||||||
log.Fatal(err)
|
log.Fatal(err)
|
||||||
}
|
}
|
||||||
|
5
go.mod
5
go.mod
@ -7,4 +7,7 @@ require (
|
|||||||
i2pgit.org/idk/reseed-tools v0.0.9
|
i2pgit.org/idk/reseed-tools v0.0.9
|
||||||
)
|
)
|
||||||
|
|
||||||
require github.com/otiai10/copy v1.7.0 // indirect
|
require (
|
||||||
|
github.com/otiai10/copy v1.7.0 // indirect
|
||||||
|
gopkg.in/yaml.v3 v3.0.1 // indirect
|
||||||
|
)
|
||||||
|
2
go.sum
2
go.sum
@ -1026,6 +1026,8 @@ gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
|
|||||||
gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ=
|
gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ=
|
||||||
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
||||||
gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
||||||
|
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
|
||||||
|
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
||||||
honnef.co/go/tools v0.0.0-20180728063816-88497007e858/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
|
honnef.co/go/tools v0.0.0-20180728063816-88497007e858/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
|
||||||
honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
|
honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
|
||||||
honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
|
honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
|
||||||
|
@ -8,10 +8,12 @@ import (
|
|||||||
"fmt"
|
"fmt"
|
||||||
"io/ioutil"
|
"io/ioutil"
|
||||||
"log"
|
"log"
|
||||||
|
"os"
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"github.com/fuxingZhang/zip"
|
"github.com/fuxingZhang/zip"
|
||||||
|
"gopkg.in/yaml.v3"
|
||||||
"i2pgit.org/idk/reseed-tools/su3"
|
"i2pgit.org/idk/reseed-tools/su3"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -296,3 +298,23 @@ func (pc *PluginConfig) LoadPrivateKey(path string) (*rsa.PrivateKey, error) {
|
|||||||
func (pc *PluginConfig) keysPath(path string) (string, error) {
|
func (pc *PluginConfig) keysPath(path string) (string, error) {
|
||||||
return filepath.Abs(filepath.Join(*pc.SignerDirectory, strings.Replace(path, "@", "_at_", -1)+".pem"))
|
return filepath.Abs(filepath.Join(*pc.SignerDirectory, strings.Replace(path, "@", "_at_", -1)+".pem"))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (cc *PluginConfig) Load() error {
|
||||||
|
// check if plugin.yaml exists
|
||||||
|
if _, err := os.Stat("plugin.yaml"); os.IsNotExist(err) {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
yamlFile, err := ioutil.ReadFile("plugin.yaml")
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
return yaml.Unmarshal(yamlFile, cc)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (pc *PluginConfig) Save() {
|
||||||
|
bytes, err := yaml.Marshal(pc)
|
||||||
|
if err != nil {
|
||||||
|
fmt.Println(err)
|
||||||
|
}
|
||||||
|
ioutil.WriteFile("plugin.yaml", bytes, 0644)
|
||||||
|
}
|
||||||
|
Reference in New Issue
Block a user