General code changed and refactorment.
This commit is contained in:
@@ -5,4 +5,4 @@ echo "Generating..."
|
||||
openssl genpkey -algorithm RSA -out ./hmac_key.pem -pkeyopt rsa_keygen_bits:4096
|
||||
|
||||
openssl req -new -newkey rsa:4096 -x509 -sha256 -days 365 -nodes -keyout api_key.pem -out api_cert.pem \
|
||||
-subj "/C=NL/ST=Noord-Holland/L=Amsterdam/O=ExOrg/OU=IT/CN=localhost"
|
||||
-subj "/C=NL/ST=Noord-Holland/L=Amsterdam/O=ExOrg/OU=IT/CN=localhost"
|
||||
@@ -15,6 +15,7 @@ func main() {
|
||||
cfgPtr := flag.String("conf", "./conf/ghostserver.conf", "Specify a config file location yourself. Relative to the program.")
|
||||
cfg := utilities.ReadConf(*cfgPtr)
|
||||
|
||||
log.Println(utilities.InfoTag, "Loading Secrets...")
|
||||
hmacKey, err := utilities.LoadHMACKey(cfg.TokenKeyFile)
|
||||
if err != nil {
|
||||
log.Println(utilities.ErrTag, err)
|
||||
|
||||
@@ -54,6 +54,7 @@ func RetrieveTokens() []string {
|
||||
rows, err := db.Query(declStat.RetrieveTokens)
|
||||
if err != nil {
|
||||
log.Println(utilities.ErrTag, err)
|
||||
return []string{}
|
||||
}
|
||||
defer rows.Close()
|
||||
|
||||
@@ -74,6 +75,7 @@ func RetrieveTokenNames() []string {
|
||||
rows, err := db.Query(declStat.RetrieveTokenNames)
|
||||
if err != nil {
|
||||
log.Println(utilities.ErrTag, err)
|
||||
return []string{}
|
||||
}
|
||||
defer rows.Close()
|
||||
|
||||
@@ -92,7 +94,7 @@ func RetrieveTokenNames() []string {
|
||||
|
||||
func InsertTask(name, command string, nodeids []string, date string) error {
|
||||
for _, singleNodeid := range nodeids {
|
||||
_, err := db.Exec(declStat.CreateTask, name, command, string(singleNodeid), date)
|
||||
_, err := db.Exec(declStat.CreateTask, name, command, singleNodeid, date)
|
||||
if err != nil {
|
||||
return fmt.Errorf("failed to create task: %w", err)
|
||||
}
|
||||
@@ -125,7 +127,7 @@ func RetrieveTasks() []utilities.InternalQTaskData {
|
||||
rows, err := db.Query(declStat.ListAllTasks)
|
||||
if err != nil {
|
||||
log.Println("Query error:", err)
|
||||
return nil
|
||||
return []utilities.InternalQTaskData{}
|
||||
}
|
||||
defer rows.Close()
|
||||
|
||||
|
||||
@@ -19,10 +19,15 @@ func routine(venvName string, pyListArgs []string) {
|
||||
log.Printf("Processing Task %d", index)
|
||||
if isNodeOnline(relevantNodeid, d.OnlineDevices) {
|
||||
log.Printf("Node online: %s", relevantNodeid)
|
||||
forgeAndExec(venvName, relevantNodeid, task.Command)
|
||||
result := forgeAndExec(venvName, relevantNodeid, task.Command) // Forge the Python command and execute it with the Python libraries.
|
||||
log.Println(result)
|
||||
|
||||
//generateResult()
|
||||
|
||||
log.Println("Removing Task from database...")
|
||||
database.RemoveTask(task.Name, task.Nodeid)
|
||||
} else {
|
||||
log.Printf("Node offline %s", relevantNodeid)
|
||||
log.Printf("Node offline %s", relevantNodeid) // Just a debug line to tell the user that the node is offline.
|
||||
}
|
||||
}
|
||||
|
||||
@@ -46,11 +51,11 @@ func isNodeOnline(nodeid string, onlineDevices []utilities.Device) bool {
|
||||
return false
|
||||
}
|
||||
|
||||
func forgeAndExec(venvName string, nodeid, command string) {
|
||||
func forgeAndExec(venvName string, nodeid, command string) string {
|
||||
log.Printf("Triggered %s, on %s", command, nodeid)
|
||||
|
||||
pyArgs := strings.Fields(fmt.Sprintf("--run --nodeid %s --command", nodeid))
|
||||
pyArgs = append(pyArgs, command)
|
||||
|
||||
wrapper.ExecTask(venvName, pyArgs)
|
||||
return wrapper.ExecTask(venvName, pyArgs)
|
||||
}
|
||||
|
||||
@@ -37,12 +37,12 @@ func PyListOnline(venvName string, pyArgs []string) (utilities.PyOnlineDevices,
|
||||
return data, nil
|
||||
}
|
||||
|
||||
func ExecTask(venvName string, pyArgs []string) {
|
||||
func ExecTask(venvName string, pyArgs []string) string {
|
||||
rawData, err := pyExec(venvName, pyArgs)
|
||||
if err != nil {
|
||||
cwd, _ := os.Getwd()
|
||||
log.Println("FAILED,", err, "CWD:", cwd)
|
||||
}
|
||||
|
||||
log.Println(string(rawData))
|
||||
return string(rawData)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user