|
|
|
|
@ -46,7 +46,8 @@ type vpsModel struct { |
|
|
|
|
Memory int `json:"memory"` |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// VPS struct from API.
|
|
|
|
|
// VPS struct from API. Also contains IP addresses that are fetched
|
|
|
|
|
// independently.
|
|
|
|
|
type virtualPrivateServer struct { |
|
|
|
|
ips []netip.Addr |
|
|
|
|
Keymap []string `json:"keymap"` |
|
|
|
|
@ -156,27 +157,27 @@ func (d *vpsDiscovery) refresh(ctx context.Context) ([]*targetgroup.Group, error |
|
|
|
|
defaultIP = ipv6 |
|
|
|
|
} |
|
|
|
|
labels := model.LabelSet{ |
|
|
|
|
model.AddressLabel: model.LabelValue(defaultIP), |
|
|
|
|
model.InstanceLabel: model.LabelValue(server.Name), |
|
|
|
|
vpsLabelPrefix + "offer": model.LabelValue(server.Model.Offer), |
|
|
|
|
vpsLabelPrefix + "datacenter": model.LabelValue(fmt.Sprintf("%+v", server.Model.Datacenter)), |
|
|
|
|
vpsLabelPrefix + "model_vcore": model.LabelValue(fmt.Sprintf("%d", server.Model.Vcore)), |
|
|
|
|
vpsLabelPrefix + "maximumAdditionalIp": model.LabelValue(fmt.Sprintf("%d", server.Model.MaximumAdditionalIP)), |
|
|
|
|
vpsLabelPrefix + "version": model.LabelValue(server.Model.Version), |
|
|
|
|
vpsLabelPrefix + "model_name": model.LabelValue(server.Model.Name), |
|
|
|
|
vpsLabelPrefix + "disk": model.LabelValue(fmt.Sprintf("%d", server.Model.Disk)), |
|
|
|
|
vpsLabelPrefix + "memory": model.LabelValue(fmt.Sprintf("%d", server.Model.Memory)), |
|
|
|
|
vpsLabelPrefix + "zone": model.LabelValue(server.Zone), |
|
|
|
|
vpsLabelPrefix + "displayName": model.LabelValue(server.DisplayName), |
|
|
|
|
vpsLabelPrefix + "cluster": model.LabelValue(server.Cluster), |
|
|
|
|
vpsLabelPrefix + "state": model.LabelValue(server.State), |
|
|
|
|
vpsLabelPrefix + "name": model.LabelValue(server.Name), |
|
|
|
|
vpsLabelPrefix + "netbootMode": model.LabelValue(server.NetbootMode), |
|
|
|
|
vpsLabelPrefix + "memoryLimit": model.LabelValue(fmt.Sprintf("%d", server.MemoryLimit)), |
|
|
|
|
vpsLabelPrefix + "offerType": model.LabelValue(server.OfferType), |
|
|
|
|
vpsLabelPrefix + "vcore": model.LabelValue(fmt.Sprintf("%d", server.Vcore)), |
|
|
|
|
vpsLabelPrefix + "ipv4": model.LabelValue(ipv4), |
|
|
|
|
vpsLabelPrefix + "ipv6": model.LabelValue(ipv6), |
|
|
|
|
model.AddressLabel: model.LabelValue(defaultIP), |
|
|
|
|
model.InstanceLabel: model.LabelValue(server.Name), |
|
|
|
|
vpsLabelPrefix + "offer": model.LabelValue(server.Model.Offer), |
|
|
|
|
vpsLabelPrefix + "datacenter": model.LabelValue(fmt.Sprintf("%+v", server.Model.Datacenter)), |
|
|
|
|
vpsLabelPrefix + "model_vcore": model.LabelValue(fmt.Sprintf("%d", server.Model.Vcore)), |
|
|
|
|
vpsLabelPrefix + "maximum_additional_ip": model.LabelValue(fmt.Sprintf("%d", server.Model.MaximumAdditionalIP)), |
|
|
|
|
vpsLabelPrefix + "version": model.LabelValue(server.Model.Version), |
|
|
|
|
vpsLabelPrefix + "model_name": model.LabelValue(server.Model.Name), |
|
|
|
|
vpsLabelPrefix + "disk": model.LabelValue(fmt.Sprintf("%d", server.Model.Disk)), |
|
|
|
|
vpsLabelPrefix + "memory": model.LabelValue(fmt.Sprintf("%d", server.Model.Memory)), |
|
|
|
|
vpsLabelPrefix + "zone": model.LabelValue(server.Zone), |
|
|
|
|
vpsLabelPrefix + "display_name": model.LabelValue(server.DisplayName), |
|
|
|
|
vpsLabelPrefix + "cluster": model.LabelValue(server.Cluster), |
|
|
|
|
vpsLabelPrefix + "state": model.LabelValue(server.State), |
|
|
|
|
vpsLabelPrefix + "name": model.LabelValue(server.Name), |
|
|
|
|
vpsLabelPrefix + "netboot_mode": model.LabelValue(server.NetbootMode), |
|
|
|
|
vpsLabelPrefix + "memory_limit": model.LabelValue(fmt.Sprintf("%d", server.MemoryLimit)), |
|
|
|
|
vpsLabelPrefix + "offer_type": model.LabelValue(server.OfferType), |
|
|
|
|
vpsLabelPrefix + "vcore": model.LabelValue(fmt.Sprintf("%d", server.Vcore)), |
|
|
|
|
vpsLabelPrefix + "ipv4": model.LabelValue(ipv4), |
|
|
|
|
vpsLabelPrefix + "ipv6": model.LabelValue(ipv6), |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
targets = append(targets, labels) |
|
|
|
|
|