Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ require (
github.com/google/go-tpm-tools v0.4.5
github.com/google/uuid v1.6.0
github.com/gophercloud/gophercloud/v2 v2.7.0
github.com/hetznercloud/hcloud-go v1.59.2
github.com/hetznercloud/hcloud-go/v2 v2.21.1
github.com/jacksontj/memberlistmesh v0.0.0-20190905163944-93462b9d2bb7
github.com/pelletier/go-toml v1.9.5
github.com/pkg/sftp v1.13.9
Expand Down
4 changes: 2 additions & 2 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -375,8 +375,8 @@ github.com/hashicorp/golang-lru/v2 v2.0.5/go.mod h1:QeFd9opnmA6QUJc5vARoKUSoFhyf
github.com/hashicorp/memberlist v0.1.4/go.mod h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2pPBoIllUwCN7I=
github.com/hashicorp/memberlist v0.3.1 h1:MXgUXLqva1QvpVEDQW1IQLG0wivQAtmFlHRQ+1vWZfM=
github.com/hashicorp/memberlist v0.3.1/go.mod h1:MS2lj3INKhZjWNqd3N0m3J+Jxf3DAOnAH9VT3Sh9MUE=
github.com/hetznercloud/hcloud-go v1.59.2 h1:NkCPwYiPv85FnOV3IW9/gxfW61TPIUSwyPHRSLwCkHA=
github.com/hetznercloud/hcloud-go v1.59.2/go.mod h1:oTebZCjd+osj75jlI76Z+zjN1sTxmMiQ1MWoO8aRl1c=
github.com/hetznercloud/hcloud-go/v2 v2.21.1 h1:IH3liW8/cCRjfJ4cyqYvw3s1ek+KWP8dl1roa0lD8JM=
github.com/hetznercloud/hcloud-go/v2 v2.21.1/go.mod h1:XOaYycZJ3XKMVWzmqQ24/+1V7ormJHmPdck/kxrNnQA=
github.com/huandu/xstrings v1.5.0 h1:2ag3IFq9ZDANvthTwTiqSSZLjDc+BedvHPAp5tJy2TI=
github.com/huandu/xstrings v1.5.0/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE=
github.com/imdario/mergo v0.3.16 h1:wwQJbIsHYGMUyLSPrEq1CT16AhnhNJQ51+4fdHUnCl4=
Expand Down
2 changes: 1 addition & 1 deletion nodeup/pkg/model/context.go
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ import (

awsconfig "github.com/aws/aws-sdk-go-v2/config"
"github.com/aws/aws-sdk-go-v2/feature/ec2/imds"
hcloudmetadata "github.com/hetznercloud/hcloud-go/hcloud/metadata"
hcloudmetadata "github.com/hetznercloud/hcloud-go/v2/hcloud/metadata"
"k8s.io/klog/v2"
"k8s.io/kops/pkg/apis/kops"
kopsmodel "k8s.io/kops/pkg/apis/kops/model"
Expand Down
2 changes: 1 addition & 1 deletion pkg/model/hetznermodel/firewall.go
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ import (
"net"
"strings"

"github.com/hetznercloud/hcloud-go/hcloud"
"github.com/hetznercloud/hcloud-go/v2/hcloud"
"k8s.io/kops/pkg/apis/kops"
"k8s.io/kops/upup/pkg/fi"
"k8s.io/kops/upup/pkg/fi/cloudup/hetzner"
Expand Down
2 changes: 1 addition & 1 deletion pkg/model/hetznermodel/loadbalancer.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ import (
"fmt"
"strings"

"github.com/hetznercloud/hcloud-go/hcloud"
"github.com/hetznercloud/hcloud-go/v2/hcloud"
"k8s.io/kops/pkg/apis/kops"
"k8s.io/kops/pkg/wellknownports"
"k8s.io/kops/pkg/wellknownservices"
Expand Down
4 changes: 2 additions & 2 deletions pkg/nodeidentity/hetzner/identify.go
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ import (
"strings"
"time"

"github.com/hetznercloud/hcloud-go/hcloud"
"github.com/hetznercloud/hcloud-go/v2/hcloud"
corev1 "k8s.io/api/core/v1"
expirationcache "k8s.io/client-go/tools/cache"
"k8s.io/klog/v2"
Expand Down Expand Up @@ -138,7 +138,7 @@ func stringKeyFunc(obj interface{}) (string, error) {

// getServer queries Hetzner Cloud for the server with the specified ID, returning an error if not found
func (i *nodeIdentifier) getServer(id string) (*hcloud.Server, error) {
serverID, err := strconv.Atoi(id)
serverID, err := strconv.ParseInt(id, 10, 64)
if err != nil {
return nil, fmt.Errorf("failed to convert server ID %q to int: %w", id, err)
}
Expand Down
14 changes: 7 additions & 7 deletions pkg/resources/hetzner/resources.go
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ import (
"fmt"
"strconv"

"github.com/hetznercloud/hcloud-go/hcloud"
"github.com/hetznercloud/hcloud-go/v2/hcloud"
"k8s.io/klog/v2"
"k8s.io/kops/pkg/apis/kops"
"k8s.io/kops/pkg/resources"
Expand Down Expand Up @@ -79,7 +79,7 @@ func listSSHKeys(cloud fi.Cloud, clusterName string) ([]*resources.Resource, err
for _, sshKey := range sshKeys {
resourceTracker := &resources.Resource{
Name: sshKey.Name,
ID: strconv.Itoa(sshKey.ID),
ID: strconv.FormatInt(sshKey.ID, 10),
Type: resourceTypeSSHKey,
Deleter: deleteSSHKey,
Obj: sshKey,
Expand All @@ -103,7 +103,7 @@ func listNetworks(cloud fi.Cloud, clusterName string) ([]*resources.Resource, er
for _, network := range networks {
resourceTracker := &resources.Resource{
Name: network.Name,
ID: strconv.Itoa(network.ID),
ID: strconv.FormatInt(network.ID, 10),
Type: resourceTypeNetwork,
Deleter: deleteNetwork,
Obj: network,
Expand All @@ -127,7 +127,7 @@ func listFirewalls(cloud fi.Cloud, clusterName string) ([]*resources.Resource, e
for _, firewall := range firewalls {
resourceTracker := &resources.Resource{
Name: firewall.Name,
ID: strconv.Itoa(firewall.ID),
ID: strconv.FormatInt(firewall.ID, 10),
Type: resourceTypeFirewall,
Deleter: deleteFirewall,
Obj: firewall,
Expand All @@ -151,7 +151,7 @@ func listLoadBalancers(cloud fi.Cloud, clusterName string) ([]*resources.Resourc
for _, loadBalancer := range loadBalancers {
resourceTracker := &resources.Resource{
Name: loadBalancer.Name,
ID: strconv.Itoa(loadBalancer.ID),
ID: strconv.FormatInt(loadBalancer.ID, 10),
Type: resourceTypeLoadBalancer,
Deleter: deleteLoadBalancer,
Obj: loadBalancer,
Expand All @@ -175,7 +175,7 @@ func listServers(cloud fi.Cloud, clusterName string) ([]*resources.Resource, err
for _, server := range servers {
resourceTracker := &resources.Resource{
Name: server.Name,
ID: strconv.Itoa(server.ID),
ID: strconv.FormatInt(server.ID, 10),
Type: resourceTypeServer,
Deleter: deleteServer,
Dumper: dumpServer,
Expand Down Expand Up @@ -204,7 +204,7 @@ func listVolumes(cloud fi.Cloud, clusterName string) ([]*resources.Resource, err
for _, volume := range volumes {
resourceTracker := &resources.Resource{
Name: volume.Name,
ID: strconv.Itoa(volume.ID),
ID: strconv.FormatInt(volume.ID, 10),
Type: resourceTypeVolume,
Deleter: deleteVolume,
Obj: volume,
Expand Down
2 changes: 1 addition & 1 deletion protokube/pkg/gossip/hetzner/seeds.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ import (
"context"
"fmt"

"github.com/hetznercloud/hcloud-go/hcloud"
"github.com/hetznercloud/hcloud-go/v2/hcloud"
"k8s.io/klog/v2"
"k8s.io/kops/protokube/pkg/gossip"
"k8s.io/kops/upup/pkg/fi/cloudup/hetzner"
Expand Down
4 changes: 2 additions & 2 deletions protokube/pkg/protokube/hetzner_volume.go
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,8 @@ import (
"fmt"
"os"

"github.com/hetznercloud/hcloud-go/hcloud"
"github.com/hetznercloud/hcloud-go/hcloud/metadata"
"github.com/hetznercloud/hcloud-go/v2/hcloud"
"github.com/hetznercloud/hcloud-go/v2/hcloud/metadata"
"k8s.io/klog/v2"
"k8s.io/kops/protokube/pkg/gossip"
gossiphetzner "k8s.io/kops/protokube/pkg/gossip/hetzner"
Expand Down
4 changes: 2 additions & 2 deletions upup/pkg/fi/cloudup/hetzner/authenticator.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ import (
"fmt"
"strconv"

"github.com/hetznercloud/hcloud-go/hcloud/metadata"
"github.com/hetznercloud/hcloud-go/v2/hcloud/metadata"
"k8s.io/kops/pkg/bootstrap"
)

Expand All @@ -40,5 +40,5 @@ func (h *hetznerAuthenticator) CreateToken(body []byte) (string, error) {
if err != nil {
return "", fmt.Errorf("failed to retrieve server ID: %w", err)
}
return HetznerAuthenticationTokenPrefix + strconv.Itoa(serverID), nil
return HetznerAuthenticationTokenPrefix + strconv.FormatInt(serverID, 10), nil
}
16 changes: 8 additions & 8 deletions upup/pkg/fi/cloudup/hetzner/cloud.go
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ import (
"strconv"
"time"

"github.com/hetznercloud/hcloud-go/hcloud"
"github.com/hetznercloud/hcloud-go/v2/hcloud"
v1 "k8s.io/api/core/v1"
"k8s.io/klog/v2"
"k8s.io/kops/dnsprovider/pkg/dnsprovider"
Expand Down Expand Up @@ -245,7 +245,7 @@ func (c *hetznerCloudImplementation) DNS() (dnsprovider.Interface, error) {
}

func (c *hetznerCloudImplementation) DeleteInstance(instance *cloudinstances.CloudInstance) error {
serverID, err := strconv.Atoi(instance.ID)
serverID, err := strconv.ParseInt(instance.ID, 10, 64)
if err != nil {
return fmt.Errorf("failed to convert server ID %q to int: %w", instance.ID, err)
}
Expand All @@ -256,20 +256,20 @@ func (c *hetznerCloudImplementation) DeleteInstance(instance *cloudinstances.Clo
}

// deleteServer shuts down and deletes the given server
func deleteServer(c *hetznerCloudImplementation, id int) error {
func deleteServer(c *hetznerCloudImplementation, id int64) error {
client := c.ServerClient()
ctx := context.TODO()

server := &hcloud.Server{ID: id}
_, _, err := client.Shutdown(ctx, server)
if err != nil {
return fmt.Errorf("failed to stop server %q: %w", strconv.Itoa(id), err)
return fmt.Errorf("failed to stop server %q: %w", strconv.FormatInt(id, 10), err)
}

for i := 1; i <= 30; i++ {
server, _, err := client.GetByID(ctx, id)
if err != nil || server == nil {
return fmt.Errorf("failed to get info for server %q: %w", strconv.Itoa(id), err)
return fmt.Errorf("failed to get info for server %q: %w", strconv.FormatInt(id, 10), err)
}

if server.Status == hcloud.ServerStatusOff {
Expand All @@ -281,7 +281,7 @@ func deleteServer(c *hetznerCloudImplementation, id int) error {

_, err = client.Delete(ctx, server)
if err != nil {
return fmt.Errorf("failed to delete server %q: %w", strconv.Itoa(id), err)
return fmt.Errorf("failed to delete server %q: %w", strconv.FormatInt(id, 10), err)
}

return nil
Expand Down Expand Up @@ -374,7 +374,7 @@ func buildCloudInstanceGroup(ig *kops.InstanceGroup, sg []*hcloud.Server, nodeMa
status = cloudinstances.CloudInstanceStatusNeedsUpdate
}

id := strconv.Itoa(server.ID)
id := strconv.FormatInt(server.ID, 10)
cloudInstance, err := cloudInstanceGroup.NewCloudInstance(id, status, nodeMap[id])
if err != nil {
return nil, fmt.Errorf("failed to create cloud group instance for server %s(%d): %w", server.Name, server.ID, err)
Expand All @@ -398,7 +398,7 @@ func buildCloudInstanceGroup(ig *kops.InstanceGroup, sg []*hcloud.Server, nodeMa

func (c *hetznerCloudImplementation) DeleteGroup(g *cloudinstances.CloudInstanceGroup) error {
for _, cloudInstance := range append(g.NeedUpdate, g.Ready...) {
serverID, err := strconv.Atoi(cloudInstance.ID)
serverID, err := strconv.ParseInt(cloudInstance.ID, 10, 64)
if err != nil {
return fmt.Errorf("failed to convert server ID %q to int: %w", cloudInstance.ID, err)
}
Expand Down
4 changes: 2 additions & 2 deletions upup/pkg/fi/cloudup/hetzner/verifier.go
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ import (
"strconv"
"strings"

"github.com/hetznercloud/hcloud-go/hcloud"
"github.com/hetznercloud/hcloud-go/v2/hcloud"
"k8s.io/kops/pkg/bootstrap"
"k8s.io/kops/pkg/wellknownports"
)
Expand Down Expand Up @@ -63,7 +63,7 @@ func (h hetznerVerifier) VerifyToken(ctx context.Context, rawRequest *http.Reque
}
token = strings.TrimPrefix(token, HetznerAuthenticationTokenPrefix)

serverID, err := strconv.Atoi(token)
serverID, err := strconv.ParseInt(token, 10, 64)
if err != nil {
return nil, fmt.Errorf("failed to convert server ID %q to int: %w", token, err)
}
Expand Down
6 changes: 3 additions & 3 deletions upup/pkg/fi/cloudup/hetznertasks/firewall.go
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ import (
"net"
"strconv"

"github.com/hetznercloud/hcloud-go/hcloud"
"github.com/hetznercloud/hcloud-go/v2/hcloud"
"k8s.io/kops/upup/pkg/fi"
"k8s.io/kops/upup/pkg/fi/cloudup/hetzner"
"k8s.io/kops/upup/pkg/fi/cloudup/terraform"
Expand All @@ -32,7 +32,7 @@ type Firewall struct {
Name *string
Lifecycle fi.Lifecycle

ID *int
ID *int64
Selector string
Rules []*FirewallRule

Expand All @@ -42,7 +42,7 @@ type Firewall struct {
var _ fi.CompareWithID = &Firewall{}

func (v *Firewall) CompareWithID() *string {
return fi.PtrTo(strconv.Itoa(fi.ValueOf(v.ID)))
return fi.PtrTo(strconv.FormatInt(fi.ValueOf(v.ID), 10))
}

func (v *Firewall) Find(c *fi.CloudupContext) (*Firewall, error) {
Expand Down
10 changes: 5 additions & 5 deletions upup/pkg/fi/cloudup/hetznertasks/loadbalancer.go
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ import (
"strconv"
"strings"

"github.com/hetznercloud/hcloud-go/hcloud"
"github.com/hetznercloud/hcloud-go/v2/hcloud"
"k8s.io/klog/v2"
"k8s.io/kops/pkg/wellknownservices"
"k8s.io/kops/upup/pkg/fi"
Expand All @@ -40,7 +40,7 @@ type LoadBalancer struct {
Lifecycle fi.Lifecycle
Network *Network

ID *int
ID *int64
Location string
Type string
Services []*LoadBalancerService
Expand All @@ -56,7 +56,7 @@ type LoadBalancer struct {
var _ fi.CompareWithID = &LoadBalancer{}

func (v *LoadBalancer) CompareWithID() *string {
return fi.PtrTo(strconv.Itoa(fi.ValueOf(v.ID)))
return fi.PtrTo(strconv.FormatInt(fi.ValueOf(v.ID), 10))
}

var _ fi.HasAddress = &LoadBalancer{}
Expand Down Expand Up @@ -234,7 +234,7 @@ func (_ *LoadBalancer) RenderHetzner(t *hetzner.HetznerAPITarget, a, e, changes
return fmt.Errorf("failed to find network for loadbalancer %q", fi.ValueOf(e.Name))
}

networkID, err := strconv.Atoi(fi.ValueOf(e.Network.ID))
networkID, err := strconv.ParseInt(fi.ValueOf(e.Network.ID), 10, 64)
if err != nil {
return fmt.Errorf("failed to convert network ID %q to int: %w", fi.ValueOf(e.Network.ID), err)
}
Expand Down Expand Up @@ -284,7 +284,7 @@ func (_ *LoadBalancer) RenderHetzner(t *hetzner.HetznerAPITarget, a, e, changes

} else {
var err error
loadbalancer, _, err := client.Get(ctx, strconv.Itoa(fi.ValueOf(a.ID)))
loadbalancer, _, err := client.Get(ctx, strconv.FormatInt(fi.ValueOf(a.ID), 10))
if err != nil {
return err
}
Expand Down
6 changes: 3 additions & 3 deletions upup/pkg/fi/cloudup/hetznertasks/network.go
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ import (
"strconv"
"time"

"github.com/hetznercloud/hcloud-go/hcloud"
"github.com/hetznercloud/hcloud-go/v2/hcloud"
"k8s.io/kops/upup/pkg/fi"
"k8s.io/kops/upup/pkg/fi/cloudup/hetzner"
"k8s.io/kops/upup/pkg/fi/cloudup/terraform"
Expand Down Expand Up @@ -72,7 +72,7 @@ func (v *Network) Find(c *fi.CloudupContext) (*Network, error) {
matches := &Network{
Name: v.Name,
Lifecycle: v.Lifecycle,
ID: fi.PtrTo(strconv.Itoa(network.ID)),
ID: fi.PtrTo(strconv.FormatInt(network.ID, 10)),
}

if v.ID == nil {
Expand Down Expand Up @@ -151,7 +151,7 @@ func (_ *Network) RenderHetzner(t *hetzner.HetznerAPITarget, a, e, changes *Netw
if err != nil {
return err
}
e.ID = fi.PtrTo(strconv.Itoa(network.ID))
e.ID = fi.PtrTo(strconv.FormatInt(network.ID, 10))

} else {
var err error
Expand Down
4 changes: 2 additions & 2 deletions upup/pkg/fi/cloudup/hetznertasks/servergroup.go
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ import (
"strconv"
"strings"

"github.com/hetznercloud/hcloud-go/hcloud"
"github.com/hetznercloud/hcloud-go/v2/hcloud"
"k8s.io/kops/upup/pkg/fi"
"k8s.io/kops/upup/pkg/fi/cloudup/hetzner"
"k8s.io/kops/upup/pkg/fi/cloudup/terraform"
Expand Down Expand Up @@ -206,7 +206,7 @@ func (_ *ServerGroup) RenderHetzner(t *hetzner.HetznerAPITarget, a, e, changes *
}
userDataHash := safeBytesHash(userDataBytes)

networkID, err := strconv.Atoi(fi.ValueOf(e.Network.ID))
networkID, err := strconv.ParseInt(fi.ValueOf(e.Network.ID), 10, 64)
if err != nil {
return fmt.Errorf("failed to convert network ID %q to int: %w", fi.ValueOf(e.Network.ID), err)
}
Expand Down
6 changes: 3 additions & 3 deletions upup/pkg/fi/cloudup/hetznertasks/sshkey.go
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ import (
"strconv"
"strings"

"github.com/hetznercloud/hcloud-go/hcloud"
"github.com/hetznercloud/hcloud-go/v2/hcloud"
"k8s.io/kops/pkg/pki"
"k8s.io/kops/upup/pkg/fi"
"k8s.io/kops/upup/pkg/fi/cloudup/hetzner"
Expand All @@ -35,7 +35,7 @@ type SSHKey struct {
Name *string
Lifecycle fi.Lifecycle

ID *int
ID *int64
PublicKey string

Labels map[string]string
Expand All @@ -44,7 +44,7 @@ type SSHKey struct {
var _ fi.CompareWithID = &SSHKey{}

func (v *SSHKey) CompareWithID() *string {
return fi.PtrTo(strconv.Itoa(fi.ValueOf(v.ID)))
return fi.PtrTo(strconv.FormatInt(fi.ValueOf(v.ID), 10))
}

func (v *SSHKey) Find(c *fi.CloudupContext) (*SSHKey, error) {
Expand Down
Loading
Loading