giredore/domains/client/v1/config.go
Stanislav N. aka pztrn 6ce7747dd5
Working with packages and allowed IPs.
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.
2019-10-07 18:21:26 +05:00

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))
}