Stanislav N. aka pztrn
6ce7747dd5
giredorectl now able to interact with giredored about: * Setting package data. There is no such thing as "create" or "update", just set. * Deleting package data. * Setting allowed IP addresses. This is the only authorization method ATM, more may come in future.
39 lines
1.0 KiB
Go
39 lines
1.0 KiB
Go
package clientv1
|
|
|
|
import (
|
|
// stdlib
|
|
"strings"
|
|
|
|
// local
|
|
"sources.dev.pztrn.name/pztrn/giredore/internal/requester"
|
|
"sources.dev.pztrn.name/pztrn/giredore/internal/structs"
|
|
)
|
|
|
|
func GetConfiguration(options map[string]string) {
|
|
url := "http://" + options["server"] + "/_api/configuration"
|
|
log.Info().Msg("Getting configuration from giredore server...")
|
|
|
|
data, err := requester.Get(url)
|
|
if err != nil {
|
|
log.Fatal().Err(err).Msg("Failed to get configuration from giredore server!")
|
|
}
|
|
|
|
log.Debug().Msg("Got data: " + string(data))
|
|
}
|
|
|
|
func SetAllowedIPs(args []string, options map[string]string) {
|
|
url := "http://" + options["server"] + "/_api/configuration/allowedips"
|
|
log.Info().Str("allowed IPs", args[0]).Msg("Setting allowed IPs for API interaction...")
|
|
|
|
req := &structs.AllowedIPsSetRequest{
|
|
AllowedIPs: strings.Split(args[0], ","),
|
|
}
|
|
|
|
data, err := requester.Post(url, req)
|
|
if err != nil {
|
|
log.Fatal().Err(err).Msg("Failed to set allowed IPs in giredore server configuration!")
|
|
}
|
|
|
|
log.Debug().Msg("Got data: " + string(data))
|
|
}
|