create system register agent id

This commit is contained in:
2026-04-13 20:53:40 +03:00
parent 648c2d0a99
commit 76fe95400c
6 changed files with 100 additions and 13 deletions
+2 -1
View File
@@ -14,7 +14,8 @@ type AgentConfig struct {
Host string `yaml:"host"`
Port int `yaml:"port"`
} `yaml:"hub"`
LogLevel string `yaml:"log_level"`
LogLevel string `yaml:"log_level"`
SettingsPath string `yaml:"settings_path"`
}
func NewConfig() (*AgentConfig, error) {
+68
View File
@@ -0,0 +1,68 @@
package settings
import (
"encoding/json"
"errors"
"io"
"os"
"path/filepath"
)
type Settings struct {
AgentID string `json:"agent_id"`
path string
}
func ReadSettings(path string) (*Settings, error) {
if path == "" {
homeDir, err := os.UserHomeDir()
if err != nil {
return nil, err
}
path = filepath.Join(homeDir, ".config", "homeops")
}
err := os.Mkdir(path, 0755)
if err != nil {
if !errors.Is(err, os.ErrExist) {
return nil, err
}
err = nil
}
file, err := os.Create(path + "/settings.json")
if err != nil {
if !errors.Is(err, os.ErrExist) {
return nil, err
}
err = nil
}
defer file.Close()
var settings Settings
err = json.NewDecoder(file).Decode(&settings)
if err != nil {
if !errors.Is(err, io.EOF) {
return nil, err
}
}
settings.path = path + "/settings.json"
return &settings, nil
}
func (s *Settings) Insert(sett Settings) error {
file, err := os.OpenFile(s.path, os.O_RDWR, 0755)
if err != nil {
return err
}
defer file.Close()
if err = json.NewEncoder(file).Encode(sett); err != nil {
return err
}
return nil
}