Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package hcloud-upload-image for 
openSUSE:Factory checked in at 2024-12-09 21:11:12
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/hcloud-upload-image (Old)
 and      /work/SRC/openSUSE:Factory/.hcloud-upload-image.new.29675 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "hcloud-upload-image"

Mon Dec  9 21:11:12 2024 rev:2 rq:1229101 version:0.3.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/hcloud-upload-image/hcloud-upload-image.changes  
2024-10-11 17:04:43.740734880 +0200
+++ 
/work/SRC/openSUSE:Factory/.hcloud-upload-image.new.29675/hcloud-upload-image.changes
       2024-12-09 21:12:32.035381634 +0100
@@ -1,0 +2,28 @@
+Sun Dec 08 08:14:27 UTC 2024 - opensuse_buildserv...@ojkastl.de
+
+- Update to version 0.3.1:
+  * chore(main): release 0.3.1 (#48)
+  * chore(deps): update module golang.org/x/crypto to v0.30.0 (#55)
+  * chore(deps): update module github.com/stretchr/testify to
+    v1.10.0 (#53)
+  * chore(deps): update module github.com/hetznercloud/hcloud-go/v2
+    to v2.17.0 (#52)
+  * chore(deps): update dependency golangci/golangci-lint to
+    v1.62.2 (#54)
+  * chore(deps): update module golang.org/x/crypto to v0.29.0 (#42)
+  * chore(deps): update module github.com/hetznercloud/hcloud-go/v2
+    to v2.16.0 (#49)
+  * chore(deps): update dependency golangci/golangci-lint to
+    v1.62.0 (#50)
+  * fix(cli): local install fails because of go.mod replace (#47)
+  * chore(deps): update module github.com/hetznercloud/hcloud-go/v2
+    to v2.15.0 (#41)
+  * docs: add generated CLI help output to repo (#46)
+  * chore(deps): update dependency golangci/golangci-lint to
+    v1.61.0 (#43)
+  * chore(deps): update module
+    github.com/apricote/hcloud-upload-image/hcloudimages to v0.3.0
+    (#40)
+  * refactor: drop custom package in favor of hcloud-go (#39)
+
+-------------------------------------------------------------------

Old:
----
  hcloud-upload-image-0.3.0.obscpio

New:
----
  hcloud-upload-image-0.3.1.obscpio

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ hcloud-upload-image.spec ++++++
--- /var/tmp/diff_new_pack.TfT8z9/_old  2024-12-09 21:12:32.855415943 +0100
+++ /var/tmp/diff_new_pack.TfT8z9/_new  2024-12-09 21:12:32.855415943 +0100
@@ -17,14 +17,17 @@
 
 
 Name:           hcloud-upload-image
-Version:        0.3.0
+Version:        0.3.1
 Release:        0
 Summary:        Quickly upload any raw disk images into your Hetzner Cloud 
projects
 License:        MIT
 URL:            https://github.com/apricote/hcloud-upload-image/
 Source:         %{name}-%{version}.tar.gz
 Source1:        vendor.tar.gz
+BuildRequires:  bash-completion
+BuildRequires:  fish
 BuildRequires:  go >= 1.22
+BuildRequires:  zsh
 
 %description
 Quickly upload any raw disk images into your Hetzner Cloud projects!
@@ -108,8 +111,8 @@
 %{buildroot}/%{_bindir}/%{name} completion fish > 
%{buildroot}%{_datarootdir}/fish/vendor_completions.d/%{name}.fish
 
 # create the zsh completion file
-mkdir -p %{buildroot}%{_datarootdir}/zsh_completion.d/
-%{buildroot}/%{_bindir}/%{name} completion zsh > 
%{buildroot}%{_datarootdir}/zsh_completion.d/_%{name}
+mkdir -p %{buildroot}%{_datarootdir}/zsh/site-functions/
+%{buildroot}/%{_bindir}/%{name} completion zsh > 
%{buildroot}%{_datarootdir}/zsh/site-functions/_%{name}
 
 %check
 %{buildroot}/%{_bindir}/%{name} --version | grep %{version}
@@ -120,15 +123,11 @@
 %{_bindir}/%{name}
 
 %files -n %{name}-bash-completion
-%dir %{_datarootdir}/bash-completion/completions/
 %{_datarootdir}/bash-completion/completions/%{name}
 
 %files -n %{name}-fish-completion
-%dir %{_datarootdir}/fish
-%dir %{_datarootdir}/fish/vendor_completions.d
 %{_datarootdir}/fish/vendor_completions.d/%{name}.fish
 
 %files -n %{name}-zsh-completion
-%dir %{_datarootdir}/zsh_completion.d/
-%{_datarootdir}/zsh_completion.d/_%{name}
+%{_datarootdir}/zsh/site-functions/_%{name}
 

++++++ _service ++++++
--- /var/tmp/diff_new_pack.TfT8z9/_old  2024-12-09 21:12:32.887417282 +0100
+++ /var/tmp/diff_new_pack.TfT8z9/_new  2024-12-09 21:12:32.887417282 +0100
@@ -5,11 +5,11 @@
     <param name="exclude">.git</param>
     <param name="exclude">go.work</param>
     <param name="exclude">go.work.sum</param>
-    <param name="revision">v0.3.0</param>
+    <param name="revision">v0.3.1</param>
     <param name="match-tag">v*</param>
     <param name="versionformat">@PARENT_TAG@</param>
-    <param name="changesgenerate">enable</param>
     <param name="versionrewrite-pattern">v(.*)</param>
+    <param name="changesgenerate">enable</param>
   </service>
   <service name="set_version" mode="manual">
   </service>

++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.TfT8z9/_old  2024-12-09 21:12:32.907418118 +0100
+++ /var/tmp/diff_new_pack.TfT8z9/_new  2024-12-09 21:12:32.911418286 +0100
@@ -1,6 +1,6 @@
 <servicedata>
 <service name="tar_scm">
                 <param 
name="url">https://github.com/apricote/hcloud-upload-image/</param>
-              <param 
name="changesrevision">a07856317d782a6a047f07d712f56ded630cb730</param></service></servicedata>
+              <param 
name="changesrevision">b328867f6b9b965dcd581cb6f6907dae364faa7a</param></service></servicedata>
 (No newline at EOF)
 

++++++ hcloud-upload-image-0.3.0.obscpio -> hcloud-upload-image-0.3.1.obscpio 
++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/hcloud-upload-image-0.3.0/.github/release-please-manifest.json 
new/hcloud-upload-image-0.3.1/.github/release-please-manifest.json
--- old/hcloud-upload-image-0.3.0/.github/release-please-manifest.json  
2024-06-23 16:28:07.000000000 +0200
+++ new/hcloud-upload-image-0.3.1/.github/release-please-manifest.json  
2024-12-07 01:57:59.000000000 +0100
@@ -1 +1 @@
-{".":"0.3.0","hcloudimages":"0.3.0"}
+{".":"0.3.1","hcloudimages":"0.3.1"}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/hcloud-upload-image-0.3.0/.github/workflows/ci.yaml 
new/hcloud-upload-image-0.3.1/.github/workflows/ci.yaml
--- old/hcloud-upload-image-0.3.0/.github/workflows/ci.yaml     2024-06-23 
16:28:07.000000000 +0200
+++ new/hcloud-upload-image-0.3.1/.github/workflows/ci.yaml     2024-12-07 
01:57:59.000000000 +0100
@@ -20,17 +20,16 @@
       - name: Run golangci-lint (CLI)
         uses: golangci/golangci-lint-action@v6
         with:
-          version: v1.59.1 # renovate: datasource=github-releases 
depName=golangci/golangci-lint
+          version: v1.62.2 # renovate: datasource=github-releases 
depName=golangci/golangci-lint
           args: --timeout 5m
 
       - name: Run golangci-lint (Lib)
         uses: golangci/golangci-lint-action@v6
         with:
-          version: v1.59.1 # renovate: datasource=github-releases 
depName=golangci/golangci-lint
+          version: v1.62.2 # renovate: datasource=github-releases 
depName=golangci/golangci-lint
           args: --timeout 5m
           working-directory: hcloudimages
 
-
   test:
     runs-on: ubuntu-latest
     steps:
@@ -45,7 +44,6 @@
       - name: Run tests
         run: go test -v -race -coverpkg=./...,./hcloudimages/...  ./... 
./hcloudimages/...
 
-
   go-mod-tidy:
     runs-on: ubuntu-latest
     steps:
@@ -65,3 +63,23 @@
 
       - if: failure()
         run: echo "::error::Check failed, please run 'go mod tidy' and commit 
the changes."
+
+  cli-help-pages:
+    runs-on: ubuntu-latest
+    steps:
+      - name: Checkout
+        uses: actions/checkout@v4
+
+      - name: Set up Go
+        uses: actions/setup-go@v5
+        with:
+          go-version-file: go.mod
+
+      - name: Generate CLI help pages
+        run: go run ./scripts/cli-help-pages.go
+
+      - name: Check uncommitted changes
+        run: git diff --exit-code
+
+      - if: failure()
+        run: echo "::error::Check failed, please run 'go run 
./scripts/cli-help-pages.go' and commit the changes."
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/hcloud-upload-image-0.3.0/CHANGELOG.md 
new/hcloud-upload-image-0.3.1/CHANGELOG.md
--- old/hcloud-upload-image-0.3.0/CHANGELOG.md  2024-06-23 16:28:07.000000000 
+0200
+++ new/hcloud-upload-image-0.3.1/CHANGELOG.md  2024-12-07 01:57:59.000000000 
+0100
@@ -1,5 +1,12 @@
 # Changelog
 
+## 
[0.3.1](https://github.com/apricote/hcloud-upload-image/compare/v0.3.0...v0.3.1)
 (2024-12-07)
+
+
+### Bug Fixes
+
+* **cli:** local install fails because of go.mod replace 
([#47](https://github.com/apricote/hcloud-upload-image/issues/47)) 
([66dc5f7](https://github.com/apricote/hcloud-upload-image/commit/66dc5f70b604ed3ee964576d74f94bdcea710c95))
+
 ## 
[0.3.0](https://github.com/apricote/hcloud-upload-image/compare/v0.2.1...v0.3.0)
 (2024-06-23)
 
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/hcloud-upload-image-0.3.0/README.md 
new/hcloud-upload-image-0.3.1/README.md
--- old/hcloud-upload-image-0.3.0/README.md     2024-06-23 16:28:07.000000000 
+0200
+++ new/hcloud-upload-image-0.3.1/README.md     2024-12-07 01:57:59.000000000 
+0100
@@ -50,7 +50,7 @@
 If you already have a recent Go toolchain installed, you can build & install 
the binary from source:
 
 ```shell
-go install github.com/apricote/hcloud-upload-image
+go install github.com/apricote/hcloud-upload-image@latest
 ```
 
 #### Usage
@@ -63,7 +63,7 @@
   --compression bz2
 ```
 
-To learn more, you can use the embedded help output:
+To learn more, you can use the embedded help output or check out the [CLI help 
pages in this repository](docs/cli/hcloud-upload-image.md).:
 
 ```shell
 hcloud-upload-image --help
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/hcloud-upload-image-0.3.0/cmd/cleanup.go 
new/hcloud-upload-image-0.3.1/cmd/cleanup.go
--- old/hcloud-upload-image-0.3.0/cmd/cleanup.go        2024-06-23 
16:28:07.000000000 +0200
+++ new/hcloud-upload-image-0.3.1/cmd/cleanup.go        2024-12-07 
01:57:59.000000000 +0100
@@ -18,11 +18,12 @@
 
 If you want to see a preview of what would be removed, you can use the 
official hcloud CLI and run:
 
-$ hcloud server list -l apricote.de/created-by=hcloud-upload-image
-$ hcloud ssh-key list -l apricote.de/created-by=hcloud-upload-image
+    $ hcloud server list -l apricote.de/created-by=hcloud-upload-image
+    $ hcloud ssh-key list -l apricote.de/created-by=hcloud-upload-image
 
 This command does not handle any parallel executions of hcloud-upload-image
 and will remove in-use resources if called at the same time.`,
+       DisableAutoGenTag: true,
 
        GroupID: "primary",
 
@@ -44,5 +45,5 @@
 }
 
 func init() {
-       rootCmd.AddCommand(cleanupCmd)
+       RootCmd.AddCommand(cleanupCmd)
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/hcloud-upload-image-0.3.0/cmd/root.go 
new/hcloud-upload-image-0.3.1/cmd/root.go
--- old/hcloud-upload-image-0.3.0/cmd/root.go   2024-06-23 16:28:07.000000000 
+0200
+++ new/hcloud-upload-image-0.3.1/cmd/root.go   2024-12-07 01:57:59.000000000 
+0100
@@ -28,11 +28,13 @@
 // The pre-authenticated client. Set in the root command PersistentPreRun
 var client *hcloudimages.Client
 
-// rootCmd represents the base command when called without any subcommands
-var rootCmd = &cobra.Command{
-       Use:          "hcloud-upload-image",
-       Long:         `Manage custom OS images on Hetzner Cloud.`,
-       SilenceUsage: true,
+// RootCmd represents the base command when called without any subcommands
+var RootCmd = &cobra.Command{
+       Use:               "hcloud-upload-image",
+       Short:             `Manage custom OS images on Hetzner Cloud.`,
+       Long:              `Manage custom OS images on Hetzner Cloud.`,
+       SilenceUsage:      true,
+       DisableAutoGenTag: true,
 
        Version: version.Version,
 
@@ -87,7 +89,7 @@
        opts := []hcloud.ClientOption{
                hcloud.WithToken(os.Getenv("HCLOUD_TOKEN")),
                hcloud.WithApplication("hcloud-upload-image", version.Version),
-               
hcloud.WithPollBackoffFunc(backoff.ExponentialBackoffWithLimit(2, 
1*time.Second, 30*time.Second)),
+               hcloud.WithPollOpts(hcloud.PollOpts{BackoffFunc: 
backoff.ExponentialBackoffWithLimit(2, 1*time.Second, 30*time.Second)}),
        }
 
        if os.Getenv("HCLOUD_DEBUG") != "" || verbose >= 2 {
@@ -98,18 +100,18 @@
 }
 
 func Execute() {
-       err := rootCmd.Execute()
+       err := RootCmd.Execute()
        if err != nil {
                os.Exit(1)
        }
 }
 
 func init() {
-       rootCmd.SetErrPrefix("\033[1;31mError:")
+       RootCmd.SetErrPrefix("\033[1;31mError:")
 
-       rootCmd.PersistentFlags().CountVarP(&verbose, flagVerbose, "v", 
"verbose debug output, can be specified up to 2 times")
+       RootCmd.PersistentFlags().CountVarP(&verbose, flagVerbose, "v", 
"verbose debug output, can be specified up to 2 times")
 
-       rootCmd.AddGroup(&cobra.Group{
+       RootCmd.AddGroup(&cobra.Group{
                ID:    "primary",
                Title: "Primary Commands:",
        })
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/hcloud-upload-image-0.3.0/cmd/upload.go 
new/hcloud-upload-image-0.3.1/cmd/upload.go
--- old/hcloud-upload-image-0.3.0/cmd/upload.go 2024-06-23 16:28:07.000000000 
+0200
+++ new/hcloud-upload-image-0.3.1/cmd/upload.go 2024-12-07 01:57:59.000000000 
+0100
@@ -29,8 +29,8 @@
        Long: `This command implements a fake "upload", by going through a real 
server and snapshots.
 This does cost a bit of money for the server.`,
        Example: `  hcloud-upload-image upload --image-path 
/home/you/images/custom-linux-image-x86.bz2 --architecture x86 --compression 
bz2 --description "My super duper custom linux"
-  hcloud-upload-image upload --image-url https://examples.com/image-arm.raw 
--architecture arm --labels foo=bar,version=latest
-`,
+  hcloud-upload-image upload --image-url https://examples.com/image-arm.raw 
--architecture arm --labels foo=bar,version=latest`,
+       DisableAutoGenTag: true,
 
        GroupID: "primary",
 
@@ -88,7 +88,7 @@
 }
 
 func init() {
-       rootCmd.AddCommand(uploadCmd)
+       RootCmd.AddCommand(uploadCmd)
 
        uploadCmd.Flags().String(uploadFlagImageURL, "", "Remote URL of the 
disk image that should be uploaded")
        uploadCmd.Flags().String(uploadFlagImagePath, "", "Local path to the 
disk image that should be uploaded")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/hcloud-upload-image-0.3.0/docs/cli/hcloud-upload-image.md 
new/hcloud-upload-image-0.3.1/docs/cli/hcloud-upload-image.md
--- old/hcloud-upload-image-0.3.0/docs/cli/hcloud-upload-image.md       
1970-01-01 01:00:00.000000000 +0100
+++ new/hcloud-upload-image-0.3.1/docs/cli/hcloud-upload-image.md       
2024-12-07 01:57:59.000000000 +0100
@@ -0,0 +1,20 @@
+## hcloud-upload-image
+
+Manage custom OS images on Hetzner Cloud.
+
+### Synopsis
+
+Manage custom OS images on Hetzner Cloud.
+
+### Options
+
+```
+  -h, --help            help for hcloud-upload-image
+  -v, --verbose count   verbose debug output, can be specified up to 2 times
+```
+
+### SEE ALSO
+
+* [hcloud-upload-image cleanup](hcloud-upload-image_cleanup.md)         - 
Remove any temporary resources that were left over
+* [hcloud-upload-image upload](hcloud-upload-image_upload.md)   - Upload the 
specified disk image into your Hetzner Cloud project.
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/hcloud-upload-image-0.3.0/docs/cli/hcloud-upload-image_cleanup.md 
new/hcloud-upload-image-0.3.1/docs/cli/hcloud-upload-image_cleanup.md
--- old/hcloud-upload-image-0.3.0/docs/cli/hcloud-upload-image_cleanup.md       
1970-01-01 01:00:00.000000000 +0100
+++ new/hcloud-upload-image-0.3.1/docs/cli/hcloud-upload-image_cleanup.md       
2024-12-07 01:57:59.000000000 +0100
@@ -0,0 +1,38 @@
+## hcloud-upload-image cleanup
+
+Remove any temporary resources that were left over
+
+### Synopsis
+
+If the upload fails at any point, there might still exist a server or
+ssh key in your Hetzner Cloud project. This command cleans up any resources
+that match the label "apricote.de/created-by=hcloud-upload-image".
+
+If you want to see a preview of what would be removed, you can use the 
official hcloud CLI and run:
+
+    $ hcloud server list -l apricote.de/created-by=hcloud-upload-image
+    $ hcloud ssh-key list -l apricote.de/created-by=hcloud-upload-image
+
+This command does not handle any parallel executions of hcloud-upload-image
+and will remove in-use resources if called at the same time.
+
+```
+hcloud-upload-image cleanup [flags]
+```
+
+### Options
+
+```
+  -h, --help   help for cleanup
+```
+
+### Options inherited from parent commands
+
+```
+  -v, --verbose count   verbose debug output, can be specified up to 2 times
+```
+
+### SEE ALSO
+
+* [hcloud-upload-image](hcloud-upload-image.md)         - Manage custom OS 
images on Hetzner Cloud.
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/hcloud-upload-image-0.3.0/docs/cli/hcloud-upload-image_upload.md 
new/hcloud-upload-image-0.3.1/docs/cli/hcloud-upload-image_upload.md
--- old/hcloud-upload-image-0.3.0/docs/cli/hcloud-upload-image_upload.md        
1970-01-01 01:00:00.000000000 +0100
+++ new/hcloud-upload-image-0.3.1/docs/cli/hcloud-upload-image_upload.md        
2024-12-07 01:57:59.000000000 +0100
@@ -0,0 +1,43 @@
+## hcloud-upload-image upload
+
+Upload the specified disk image into your Hetzner Cloud project.
+
+### Synopsis
+
+This command implements a fake "upload", by going through a real server and 
snapshots.
+This does cost a bit of money for the server.
+
+```
+hcloud-upload-image upload (--image-path=<local-path> | --image-url=<url>) 
--architecture=<x86|arm> [flags]
+```
+
+### Examples
+
+```
+  hcloud-upload-image upload --image-path 
/home/you/images/custom-linux-image-x86.bz2 --architecture x86 --compression 
bz2 --description "My super duper custom linux"
+  hcloud-upload-image upload --image-url https://examples.com/image-arm.raw 
--architecture arm --labels foo=bar,version=latest
+```
+
+### Options
+
+```
+      --architecture string     CPU architecture of the disk image [choices: 
x86, arm]
+      --compression string      Type of compression that was used on the disk 
image [choices: bz2, xz]
+      --description string      Description for the resulting image
+  -h, --help                    help for upload
+      --image-path string       Local path to the disk image that should be 
uploaded
+      --image-url string        Remote URL of the disk image that should be 
uploaded
+      --labels stringToString   Labels for the resulting image (default [])
+      --server-type string      Explicitly use this server type to generate 
the image. Mutually exclusive with --architecture.
+```
+
+### Options inherited from parent commands
+
+```
+  -v, --verbose count   verbose debug output, can be specified up to 2 times
+```
+
+### SEE ALSO
+
+* [hcloud-upload-image](hcloud-upload-image.md)         - Manage custom OS 
images on Hetzner Cloud.
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/hcloud-upload-image-0.3.0/go.mod 
new/hcloud-upload-image-0.3.1/go.mod
--- old/hcloud-upload-image-0.3.0/go.mod        2024-06-23 16:28:07.000000000 
+0200
+++ new/hcloud-upload-image-0.3.1/go.mod        2024-12-07 01:57:59.000000000 
+0100
@@ -3,25 +3,29 @@
 go 1.22.2
 
 require (
-       github.com/apricote/hcloud-upload-image/hcloudimages v0.2.0
-       github.com/hetznercloud/hcloud-go/v2 v2.9.0
+       github.com/apricote/hcloud-upload-image/hcloudimages v0.3.0
+       github.com/hetznercloud/hcloud-go/v2 v2.17.0
        github.com/spf13/cobra v1.8.1
 )
 
 require (
        github.com/beorn7/perks v1.0.1 // indirect
-       github.com/cespare/xxhash/v2 v2.2.0 // indirect
+       github.com/cespare/xxhash/v2 v2.3.0 // indirect
+       github.com/cpuguy83/go-md2man/v2 v2.0.4 // indirect
        github.com/inconshreveable/mousetrap v1.1.0 // indirect
-       github.com/prometheus/client_golang v1.19.1 // indirect
-       github.com/prometheus/client_model v0.5.0 // indirect
-       github.com/prometheus/common v0.48.0 // indirect
-       github.com/prometheus/procfs v0.12.0 // indirect
+       github.com/klauspost/compress v1.17.9 // indirect
+       github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // 
indirect
+       github.com/prometheus/client_golang v1.20.5 // indirect
+       github.com/prometheus/client_model v0.6.1 // indirect
+       github.com/prometheus/common v0.55.0 // indirect
+       github.com/prometheus/procfs v0.15.1 // indirect
+       github.com/russross/blackfriday/v2 v2.1.0 // indirect
        github.com/spf13/pflag v1.0.5 // indirect
-       golang.org/x/crypto v0.24.0 // indirect
-       golang.org/x/net v0.25.0 // indirect
-       golang.org/x/sys v0.21.0 // indirect
-       golang.org/x/text v0.16.0 // indirect
-       google.golang.org/protobuf v1.33.0 // indirect
+       github.com/stretchr/testify v1.10.0 // indirect
+       golang.org/x/crypto v0.30.0 // indirect
+       golang.org/x/net v0.30.0 // indirect
+       golang.org/x/sys v0.28.0 // indirect
+       golang.org/x/text v0.21.0 // indirect
+       google.golang.org/protobuf v1.34.2 // indirect
+       gopkg.in/yaml.v3 v3.0.1 // indirect
 )
-
-replace github.com/apricote/hcloud-upload-image/hcloudimages => ./hcloudimages
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/hcloud-upload-image-0.3.0/go.sum 
new/hcloud-upload-image-0.3.1/go.sum
--- old/hcloud-upload-image-0.3.0/go.sum        2024-06-23 16:28:07.000000000 
+0200
+++ new/hcloud-upload-image-0.3.1/go.sum        2024-12-07 01:57:59.000000000 
+0100
@@ -1,45 +1,63 @@
+github.com/apricote/hcloud-upload-image/hcloudimages v0.3.0 
h1:POoU0nKeTq3fw7Ok/BTwJ/I3CTKhcChtn8L+Ecpba5U=
+github.com/apricote/hcloud-upload-image/hcloudimages v0.3.0/go.mod 
h1:9W0XQVhzb9x69UBXXR0nxF0taC6s6fl0/nemDGUVrfI=
 github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM=
 github.com/beorn7/perks v1.0.1/go.mod 
h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw=
-github.com/cespare/xxhash/v2 v2.2.0 
h1:DC2CZ1Ep5Y4k3ZQ899DldepgrayRUGE6BBZ/cd9Cj44=
-github.com/cespare/xxhash/v2 v2.2.0/go.mod 
h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
+github.com/cespare/xxhash/v2 v2.3.0 
h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs=
+github.com/cespare/xxhash/v2 v2.3.0/go.mod 
h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
+github.com/cpuguy83/go-md2man/v2 v2.0.4 
h1:wfIWP927BUkWJb2NmU/kNDYIBTh/ziUX91+lVfRxZq4=
 github.com/cpuguy83/go-md2man/v2 v2.0.4/go.mod 
h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o=
 github.com/davecgh/go-spew v1.1.1 
h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
 github.com/davecgh/go-spew v1.1.1/go.mod 
h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
 github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI=
 github.com/google/go-cmp v0.6.0/go.mod 
h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
-github.com/hetznercloud/hcloud-go/v2 v2.9.0 
h1:s0N6R7Zoi2DPfMtUF5o9VeUBzTtHVY6MIkHOQnfu/AY=
-github.com/hetznercloud/hcloud-go/v2 v2.9.0/go.mod 
h1:qtW/TuU7Bs16ibXl/ktJarWqU2LwHr7eGlwoilHxtgg=
+github.com/hetznercloud/hcloud-go/v2 v2.17.0 
h1:ge0w2piey9SV6XGyU/wQ6HBR24QyMbJ3wLzezplqR68=
+github.com/hetznercloud/hcloud-go/v2 v2.17.0/go.mod 
h1:zfyZ4Orx+mPpYDzWAxXR7DHGL50nnlZ5Edzgs1o6f/s=
 github.com/inconshreveable/mousetrap v1.1.0 
h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8=
 github.com/inconshreveable/mousetrap v1.1.0/go.mod 
h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw=
+github.com/klauspost/compress v1.17.9 
h1:6KIumPrER1LHsvBVuDa0r5xaG0Es51mhhB9BQB2qeMA=
+github.com/klauspost/compress v1.17.9/go.mod 
h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw=
+github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
+github.com/kr/pretty v0.3.1/go.mod 
h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk=
+github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
+github.com/kr/text v0.2.0/go.mod 
h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
+github.com/kylelemons/godebug v1.1.0 
h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc=
+github.com/kylelemons/godebug v1.1.0/go.mod 
h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw=
+github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 
h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA=
+github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod 
h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ=
 github.com/pmezard/go-difflib v1.0.0 
h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
 github.com/pmezard/go-difflib v1.0.0/go.mod 
h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
-github.com/prometheus/client_golang v1.19.1 
h1:wZWJDwK+NameRJuPGDhlnFgx8e8HN3XHQeLaYJFJBOE=
-github.com/prometheus/client_golang v1.19.1/go.mod 
h1:mP78NwGzrVks5S2H6ab8+ZZGJLZUq1hoULYBAYBw1Ho=
-github.com/prometheus/client_model v0.5.0 
h1:VQw1hfvPvk3Uv6Qf29VrPF32JB6rtbgI6cYPYQjL0Qw=
-github.com/prometheus/client_model v0.5.0/go.mod 
h1:dTiFglRmd66nLR9Pv9f0mZi7B7fk5Pm3gvsjB5tr+kI=
-github.com/prometheus/common v0.48.0 
h1:QO8U2CdOzSn1BBsmXJXduaaW+dY/5QLjfB8svtSzKKE=
-github.com/prometheus/common v0.48.0/go.mod 
h1:0/KsvlIEfPQCQ5I2iNSAWKPZziNCvRs5EC6ILDTlAPc=
-github.com/prometheus/procfs v0.12.0 
h1:jluTpSng7V9hY0O2R9DzzJHYb2xULk9VTR1V1R/k6Bo=
-github.com/prometheus/procfs v0.12.0/go.mod 
h1:pcuDEFsWDnvcgNzo4EEweacyhjeA9Zk3cnaOZAZEfOo=
+github.com/prometheus/client_golang v1.20.5 
h1:cxppBPuYhUnsO6yo/aoRol4L7q7UFfdm+bR9r+8l63Y=
+github.com/prometheus/client_golang v1.20.5/go.mod 
h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE=
+github.com/prometheus/client_model v0.6.1 
h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E=
+github.com/prometheus/client_model v0.6.1/go.mod 
h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY=
+github.com/prometheus/common v0.55.0 
h1:KEi6DK7lXW/m7Ig5i47x0vRzuBsHuvJdi5ee6Y3G1dc=
+github.com/prometheus/common v0.55.0/go.mod 
h1:2SECS4xJG1kd8XF9IcM1gMX6510RAEL65zxzNImwdc8=
+github.com/prometheus/procfs v0.15.1 
h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc=
+github.com/prometheus/procfs v0.15.1/go.mod 
h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk=
+github.com/rogpeppe/go-internal v1.11.0 
h1:cWPaGQEPrBb5/AsnsZesgZZ9yb1OQ+GOISoDNXVBh4M=
+github.com/rogpeppe/go-internal v1.11.0/go.mod 
h1:ddIwULY96R17DhadqLgMfk9H9tvdUzkipdSkR5nkCZA=
+github.com/russross/blackfriday/v2 v2.1.0 
h1:JIOH55/0cWyOuilr9/qlrm0BSXldqnqwMsf35Ld67mk=
 github.com/russross/blackfriday/v2 v2.1.0/go.mod 
h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
 github.com/spf13/cobra v1.8.1 h1:e5/vxKd/rZsfSJMUX1agtjeTDf+qv1/JdBF8gg5k9ZM=
 github.com/spf13/cobra v1.8.1/go.mod 
h1:wHxEcudfqmLYa8iTfL+OuZPbBZkmvliBWKIezN3kD9Y=
 github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA=
 github.com/spf13/pflag v1.0.5/go.mod 
h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
-github.com/stretchr/testify v1.9.0 
h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg=
-github.com/stretchr/testify v1.9.0/go.mod 
h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
-golang.org/x/crypto v0.24.0 h1:mnl8DM0o513X8fdIkmyFE/5hTYxbwYOjDS/+rK6qpRI=
-golang.org/x/crypto v0.24.0/go.mod 
h1:Z1PMYSOR5nyMcyAVAIQSKCDwalqy85Aqn1x3Ws4L5DM=
-golang.org/x/net v0.25.0 h1:d/OCCoBEUq33pjydKrGQhw7IlUPI2Oylr+8qLx49kac=
-golang.org/x/net v0.25.0/go.mod h1:JkAGAh7GEvH74S6FOH42FLoXpXbE/aqXSrIQjXgsiwM=
-golang.org/x/sys v0.21.0 h1:rF+pYz3DAGSQAxAu1CbC7catZg4ebC4UIeIhKxBZvws=
-golang.org/x/sys v0.21.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
-golang.org/x/term v0.21.0 h1:WVXCp+/EBEHOj53Rvu+7KiT/iElMrO8ACK16SMZ3jaA=
-golang.org/x/term v0.21.0/go.mod 
h1:ooXLefLobQVslOqselCNF4SxFAaoS6KujMbsGzSDmX0=
-golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4=
-golang.org/x/text v0.16.0/go.mod 
h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI=
-google.golang.org/protobuf v1.33.0 
h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGmI=
-google.golang.org/protobuf v1.33.0/go.mod 
h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos=
+github.com/stretchr/testify v1.10.0 
h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA=
+github.com/stretchr/testify v1.10.0/go.mod 
h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
+golang.org/x/crypto v0.30.0 h1:RwoQn3GkWiMkzlX562cLB7OxWvjH1L8xutO2WoJcRoY=
+golang.org/x/crypto v0.30.0/go.mod 
h1:kDsLvtWBEx7MV9tJOj9bnXsPbxwJQ6csT/x4KIN4Ssk=
+golang.org/x/net v0.30.0 h1:AcW1SDZMkb8IpzCdQUaIq2sP4sZ4zw+55h6ynffypl4=
+golang.org/x/net v0.30.0/go.mod h1:2wGyMJ5iFasEhkwi13ChkO/t1ECNC4X4eBKkVFyYFlU=
+golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA=
+golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
+golang.org/x/term v0.27.0 h1:WP60Sv1nlK1T6SupCHbXzSaN0b9wUmsPoRS9b61A23Q=
+golang.org/x/term v0.27.0/go.mod 
h1:iMsnZpn0cago0GOrHO2+Y7u7JPn5AylBrcoWkElMTSM=
+golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo=
+golang.org/x/text v0.21.0/go.mod 
h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ=
+google.golang.org/protobuf v1.34.2 
h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg=
+google.golang.org/protobuf v1.34.2/go.mod 
h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw=
 gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod 
h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
+gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c 
h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
+gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod 
h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
 gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
 gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/hcloud-upload-image-0.3.0/hcloudimages/CHANGELOG.md 
new/hcloud-upload-image-0.3.1/hcloudimages/CHANGELOG.md
--- old/hcloud-upload-image-0.3.0/hcloudimages/CHANGELOG.md     2024-06-23 
16:28:07.000000000 +0200
+++ new/hcloud-upload-image-0.3.1/hcloudimages/CHANGELOG.md     2024-12-07 
01:57:59.000000000 +0100
@@ -1,5 +1,12 @@
 # Changelog
 
+## 
[0.3.1](https://github.com/apricote/hcloud-upload-image/compare/hcloudimages/v0.3.0...hcloudimages/v0.3.1)
 (2024-12-07)
+
+
+### Bug Fixes
+
+* **cli:** local install fails because of go.mod replace 
([#47](https://github.com/apricote/hcloud-upload-image/issues/47)) 
([66dc5f7](https://github.com/apricote/hcloud-upload-image/commit/66dc5f70b604ed3ee964576d74f94bdcea710c95))
+
 ## 
[0.3.0](https://github.com/apricote/hcloud-upload-image/compare/hcloudimages/v0.2.0...hcloudimages/v0.3.0)
 (2024-06-23)
 
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/hcloud-upload-image-0.3.0/hcloudimages/client.go 
new/hcloud-upload-image-0.3.1/hcloudimages/client.go
--- old/hcloud-upload-image-0.3.0/hcloudimages/client.go        2024-06-23 
16:28:07.000000000 +0200
+++ new/hcloud-upload-image-0.3.1/hcloudimages/client.go        2024-12-07 
01:57:59.000000000 +0100
@@ -10,6 +10,7 @@
        "time"
 
        "github.com/hetznercloud/hcloud-go/v2/hcloud"
+       "github.com/hetznercloud/hcloud-go/v2/hcloud/exp/kit/sshutil"
        "golang.org/x/crypto/ssh"
 
        "github.com/apricote/hcloud-upload-image/hcloudimages/contextlogger"
@@ -17,7 +18,6 @@
        "github.com/apricote/hcloud-upload-image/hcloudimages/internal/control"
        
"github.com/apricote/hcloud-upload-image/hcloudimages/internal/labelutil"
        "github.com/apricote/hcloud-upload-image/hcloudimages/internal/randomid"
-       "github.com/apricote/hcloud-upload-image/hcloudimages/internal/sshkey"
        
"github.com/apricote/hcloud-upload-image/hcloudimages/internal/sshsession"
 )
 
@@ -136,7 +136,7 @@
 
        // 1. Create SSH Key
        logger.InfoContext(ctx, "# Step 1: Generating SSH Key")
-       publicKey, privateKey, err := sshkey.GenerateKeyPair()
+       privateKey, publicKey, err := sshutil.GenerateKeyPair()
        if err != nil {
                return nil, fmt.Errorf("failed to generate temporary ssh key 
pair: %w", err)
        }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/hcloud-upload-image-0.3.0/hcloudimages/go.mod 
new/hcloud-upload-image-0.3.1/hcloudimages/go.mod
--- old/hcloud-upload-image-0.3.0/hcloudimages/go.mod   2024-06-23 
16:28:07.000000000 +0200
+++ new/hcloud-upload-image-0.3.1/hcloudimages/go.mod   2024-12-07 
01:57:59.000000000 +0100
@@ -3,23 +3,25 @@
 go 1.22.2
 
 require (
-       github.com/hetznercloud/hcloud-go/v2 v2.9.0
-       github.com/stretchr/testify v1.9.0
-       golang.org/x/crypto v0.24.0
+       github.com/hetznercloud/hcloud-go/v2 v2.17.0
+       github.com/stretchr/testify v1.10.0
+       golang.org/x/crypto v0.30.0
 )
 
 require (
        github.com/beorn7/perks v1.0.1 // indirect
-       github.com/cespare/xxhash/v2 v2.2.0 // indirect
+       github.com/cespare/xxhash/v2 v2.3.0 // indirect
        github.com/davecgh/go-spew v1.1.1 // indirect
+       github.com/klauspost/compress v1.17.9 // indirect
+       github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // 
indirect
        github.com/pmezard/go-difflib v1.0.0 // indirect
-       github.com/prometheus/client_golang v1.19.1 // indirect
-       github.com/prometheus/client_model v0.5.0 // indirect
-       github.com/prometheus/common v0.48.0 // indirect
-       github.com/prometheus/procfs v0.12.0 // indirect
-       golang.org/x/net v0.25.0 // indirect
-       golang.org/x/sys v0.21.0 // indirect
-       golang.org/x/text v0.16.0 // indirect
-       google.golang.org/protobuf v1.33.0 // indirect
+       github.com/prometheus/client_golang v1.20.5 // indirect
+       github.com/prometheus/client_model v0.6.1 // indirect
+       github.com/prometheus/common v0.55.0 // indirect
+       github.com/prometheus/procfs v0.15.1 // indirect
+       golang.org/x/net v0.30.0 // indirect
+       golang.org/x/sys v0.28.0 // indirect
+       golang.org/x/text v0.21.0 // indirect
+       google.golang.org/protobuf v1.34.2 // indirect
        gopkg.in/yaml.v3 v3.0.1 // indirect
 )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/hcloud-upload-image-0.3.0/hcloudimages/go.sum 
new/hcloud-upload-image-0.3.1/hcloudimages/go.sum
--- old/hcloud-upload-image-0.3.0/hcloudimages/go.sum   2024-06-23 
16:28:07.000000000 +0200
+++ new/hcloud-upload-image-0.3.1/hcloudimages/go.sum   2024-12-07 
01:57:59.000000000 +0100
@@ -1,43 +1,49 @@
 github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM=
 github.com/beorn7/perks v1.0.1/go.mod 
h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw=
-github.com/cespare/xxhash/v2 v2.2.0 
h1:DC2CZ1Ep5Y4k3ZQ899DldepgrayRUGE6BBZ/cd9Cj44=
-github.com/cespare/xxhash/v2 v2.2.0/go.mod 
h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
+github.com/cespare/xxhash/v2 v2.3.0 
h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs=
+github.com/cespare/xxhash/v2 v2.3.0/go.mod 
h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
 github.com/davecgh/go-spew v1.1.1 
h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
 github.com/davecgh/go-spew v1.1.1/go.mod 
h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
 github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI=
 github.com/google/go-cmp v0.6.0/go.mod 
h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
-github.com/hetznercloud/hcloud-go/v2 v2.9.0 
h1:s0N6R7Zoi2DPfMtUF5o9VeUBzTtHVY6MIkHOQnfu/AY=
-github.com/hetznercloud/hcloud-go/v2 v2.9.0/go.mod 
h1:qtW/TuU7Bs16ibXl/ktJarWqU2LwHr7eGlwoilHxtgg=
+github.com/hetznercloud/hcloud-go/v2 v2.17.0 
h1:ge0w2piey9SV6XGyU/wQ6HBR24QyMbJ3wLzezplqR68=
+github.com/hetznercloud/hcloud-go/v2 v2.17.0/go.mod 
h1:zfyZ4Orx+mPpYDzWAxXR7DHGL50nnlZ5Edzgs1o6f/s=
+github.com/klauspost/compress v1.17.9 
h1:6KIumPrER1LHsvBVuDa0r5xaG0Es51mhhB9BQB2qeMA=
+github.com/klauspost/compress v1.17.9/go.mod 
h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw=
 github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
 github.com/kr/pretty v0.3.1/go.mod 
h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk=
 github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
 github.com/kr/text v0.2.0/go.mod 
h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
+github.com/kylelemons/godebug v1.1.0 
h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc=
+github.com/kylelemons/godebug v1.1.0/go.mod 
h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw=
+github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 
h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA=
+github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod 
h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ=
 github.com/pmezard/go-difflib v1.0.0 
h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
 github.com/pmezard/go-difflib v1.0.0/go.mod 
h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
-github.com/prometheus/client_golang v1.19.1 
h1:wZWJDwK+NameRJuPGDhlnFgx8e8HN3XHQeLaYJFJBOE=
-github.com/prometheus/client_golang v1.19.1/go.mod 
h1:mP78NwGzrVks5S2H6ab8+ZZGJLZUq1hoULYBAYBw1Ho=
-github.com/prometheus/client_model v0.5.0 
h1:VQw1hfvPvk3Uv6Qf29VrPF32JB6rtbgI6cYPYQjL0Qw=
-github.com/prometheus/client_model v0.5.0/go.mod 
h1:dTiFglRmd66nLR9Pv9f0mZi7B7fk5Pm3gvsjB5tr+kI=
-github.com/prometheus/common v0.48.0 
h1:QO8U2CdOzSn1BBsmXJXduaaW+dY/5QLjfB8svtSzKKE=
-github.com/prometheus/common v0.48.0/go.mod 
h1:0/KsvlIEfPQCQ5I2iNSAWKPZziNCvRs5EC6ILDTlAPc=
-github.com/prometheus/procfs v0.12.0 
h1:jluTpSng7V9hY0O2R9DzzJHYb2xULk9VTR1V1R/k6Bo=
-github.com/prometheus/procfs v0.12.0/go.mod 
h1:pcuDEFsWDnvcgNzo4EEweacyhjeA9Zk3cnaOZAZEfOo=
+github.com/prometheus/client_golang v1.20.5 
h1:cxppBPuYhUnsO6yo/aoRol4L7q7UFfdm+bR9r+8l63Y=
+github.com/prometheus/client_golang v1.20.5/go.mod 
h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE=
+github.com/prometheus/client_model v0.6.1 
h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E=
+github.com/prometheus/client_model v0.6.1/go.mod 
h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY=
+github.com/prometheus/common v0.55.0 
h1:KEi6DK7lXW/m7Ig5i47x0vRzuBsHuvJdi5ee6Y3G1dc=
+github.com/prometheus/common v0.55.0/go.mod 
h1:2SECS4xJG1kd8XF9IcM1gMX6510RAEL65zxzNImwdc8=
+github.com/prometheus/procfs v0.15.1 
h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc=
+github.com/prometheus/procfs v0.15.1/go.mod 
h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk=
 github.com/rogpeppe/go-internal v1.11.0 
h1:cWPaGQEPrBb5/AsnsZesgZZ9yb1OQ+GOISoDNXVBh4M=
 github.com/rogpeppe/go-internal v1.11.0/go.mod 
h1:ddIwULY96R17DhadqLgMfk9H9tvdUzkipdSkR5nkCZA=
-github.com/stretchr/testify v1.9.0 
h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg=
-github.com/stretchr/testify v1.9.0/go.mod 
h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
-golang.org/x/crypto v0.24.0 h1:mnl8DM0o513X8fdIkmyFE/5hTYxbwYOjDS/+rK6qpRI=
-golang.org/x/crypto v0.24.0/go.mod 
h1:Z1PMYSOR5nyMcyAVAIQSKCDwalqy85Aqn1x3Ws4L5DM=
-golang.org/x/net v0.25.0 h1:d/OCCoBEUq33pjydKrGQhw7IlUPI2Oylr+8qLx49kac=
-golang.org/x/net v0.25.0/go.mod h1:JkAGAh7GEvH74S6FOH42FLoXpXbE/aqXSrIQjXgsiwM=
-golang.org/x/sys v0.21.0 h1:rF+pYz3DAGSQAxAu1CbC7catZg4ebC4UIeIhKxBZvws=
-golang.org/x/sys v0.21.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
-golang.org/x/term v0.21.0 h1:WVXCp+/EBEHOj53Rvu+7KiT/iElMrO8ACK16SMZ3jaA=
-golang.org/x/term v0.21.0/go.mod 
h1:ooXLefLobQVslOqselCNF4SxFAaoS6KujMbsGzSDmX0=
-golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4=
-golang.org/x/text v0.16.0/go.mod 
h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI=
-google.golang.org/protobuf v1.33.0 
h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGmI=
-google.golang.org/protobuf v1.33.0/go.mod 
h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos=
+github.com/stretchr/testify v1.10.0 
h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA=
+github.com/stretchr/testify v1.10.0/go.mod 
h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
+golang.org/x/crypto v0.30.0 h1:RwoQn3GkWiMkzlX562cLB7OxWvjH1L8xutO2WoJcRoY=
+golang.org/x/crypto v0.30.0/go.mod 
h1:kDsLvtWBEx7MV9tJOj9bnXsPbxwJQ6csT/x4KIN4Ssk=
+golang.org/x/net v0.30.0 h1:AcW1SDZMkb8IpzCdQUaIq2sP4sZ4zw+55h6ynffypl4=
+golang.org/x/net v0.30.0/go.mod h1:2wGyMJ5iFasEhkwi13ChkO/t1ECNC4X4eBKkVFyYFlU=
+golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA=
+golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
+golang.org/x/term v0.27.0 h1:WP60Sv1nlK1T6SupCHbXzSaN0b9wUmsPoRS9b61A23Q=
+golang.org/x/term v0.27.0/go.mod 
h1:iMsnZpn0cago0GOrHO2+Y7u7JPn5AylBrcoWkElMTSM=
+golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo=
+golang.org/x/text v0.21.0/go.mod 
h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ=
+google.golang.org/protobuf v1.34.2 
h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg=
+google.golang.org/protobuf v1.34.2/go.mod 
h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw=
 gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod 
h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
 gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c 
h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
 gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod 
h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/hcloud-upload-image-0.3.0/hcloudimages/internal/sshkey/ssh_key.go 
new/hcloud-upload-image-0.3.1/hcloudimages/internal/sshkey/ssh_key.go
--- old/hcloud-upload-image-0.3.0/hcloudimages/internal/sshkey/ssh_key.go       
2024-06-23 16:28:07.000000000 +0200
+++ new/hcloud-upload-image-0.3.1/hcloudimages/internal/sshkey/ssh_key.go       
1970-01-01 01:00:00.000000000 +0100
@@ -1,49 +0,0 @@
-// SPDX-License-Identifier: MIT
-// From 
https://gitlab.com/hetznercloud/fleeting-plugin-hetzner/-/blob/0f60204582289c243599f8ca0f5be4822789131d/internal/utils/ssh_key.go
-// Copyright (c) 2024 Hetzner Cloud GmbH
-
-package sshkey
-
-import (
-       "crypto/ed25519"
-       "encoding/pem"
-
-       "golang.org/x/crypto/ssh"
-)
-
-func GenerateKeyPair() ([]byte, []byte, error) {
-       pub, priv, err := ed25519.GenerateKey(nil)
-       if err != nil {
-               return nil, nil, err
-       }
-
-       pubBytes, err := encodePublicKey(pub)
-       if err != nil {
-               return nil, nil, err
-       }
-
-       privBytes, err := encodePrivateKey(priv)
-       if err != nil {
-               return nil, nil, err
-       }
-
-       return pubBytes, privBytes, nil
-}
-
-func encodePublicKey(pub ed25519.PublicKey) ([]byte, error) {
-       sshPub, err := ssh.NewPublicKey(pub)
-       if err != nil {
-               return nil, err
-       }
-
-       return ssh.MarshalAuthorizedKey(sshPub), nil
-}
-
-func encodePrivateKey(priv ed25519.PrivateKey) ([]byte, error) {
-       privPem, err := ssh.MarshalPrivateKey(priv, "")
-       if err != nil {
-               return nil, err
-       }
-
-       return pem.EncodeToMemory(privPem), nil
-}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/hcloud-upload-image-0.3.0/hcloudimages/internal/sshkey/ssh_key_test.go 
new/hcloud-upload-image-0.3.1/hcloudimages/internal/sshkey/ssh_key_test.go
--- old/hcloud-upload-image-0.3.0/hcloudimages/internal/sshkey/ssh_key_test.go  
2024-06-23 16:28:07.000000000 +0200
+++ new/hcloud-upload-image-0.3.1/hcloudimages/internal/sshkey/ssh_key_test.go  
1970-01-01 01:00:00.000000000 +0100
@@ -1,29 +0,0 @@
-// SPDX-License-Identifier: MIT
-// From 
https://gitlab.com/hetznercloud/fleeting-plugin-hetzner/-/blob/0f60204582289c243599f8ca0f5be4822789131d/internal/utils/ssh_key_test.go
-// Copyright (c) 2024 Hetzner Cloud GmbH
-
-package sshkey
-
-import (
-       "strings"
-       "testing"
-
-       "github.com/stretchr/testify/assert"
-)
-
-func TestGenerateSSHKeyPair(t *testing.T) {
-       pubBytes, privBytes, err := GenerateKeyPair()
-       assert.Nil(t, err)
-
-       pub := string(pubBytes)
-       priv := string(privBytes)
-
-       if !(strings.HasPrefix(priv, "-----BEGIN OPENSSH PRIVATE KEY-----\n") &&
-               strings.HasSuffix(priv, "-----END OPENSSH PRIVATE KEY-----\n")) 
{
-               assert.Fail(t, "private key is invalid", priv)
-       }
-
-       if !strings.HasPrefix(pub, "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAA") {
-               assert.Fail(t, "public key is invalid", pub)
-       }
-}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/hcloud-upload-image-0.3.0/internal/version/version.go 
new/hcloud-upload-image-0.3.1/internal/version/version.go
--- old/hcloud-upload-image-0.3.0/internal/version/version.go   2024-06-23 
16:28:07.000000000 +0200
+++ new/hcloud-upload-image-0.3.1/internal/version/version.go   2024-12-07 
01:57:59.000000000 +0100
@@ -2,7 +2,7 @@
 
 var (
        // version is a semver version (https://semver.org).
-       version = "0.3.0" // x-release-please-version
+       version = "0.3.1" // x-release-please-version
 
        // versionPrerelease is a semver version pre-release identifier 
(https://semver.org).
        //
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/hcloud-upload-image-0.3.0/scripts/cli-help-pages.go 
new/hcloud-upload-image-0.3.1/scripts/cli-help-pages.go
--- old/hcloud-upload-image-0.3.0/scripts/cli-help-pages.go     1970-01-01 
01:00:00.000000000 +0100
+++ new/hcloud-upload-image-0.3.1/scripts/cli-help-pages.go     2024-12-07 
01:57:59.000000000 +0100
@@ -0,0 +1,35 @@
+package main
+
+import (
+       "fmt"
+       "os"
+
+       "github.com/spf13/cobra/doc"
+
+       "github.com/apricote/hcloud-upload-image/cmd"
+)
+
+func run() error {
+       // Define the directory where the docs will be generated
+       dir := "docs/cli"
+
+       // Ensure the directory exists
+       if err := os.MkdirAll(dir, 0755); err != nil {
+               return fmt.Errorf("error creating docs directory: %v", err)
+       }
+
+       // Generate the docs
+       if err := doc.GenMarkdownTree(cmd.RootCmd, dir); err != nil {
+               return fmt.Errorf("error generating docs: %v", err)
+       }
+
+       fmt.Println("Docs generated successfully in", dir)
+       return nil
+}
+
+func main() {
+       if err := run(); err != nil {
+               fmt.Printf("Error: %v\n", err)
+               os.Exit(1)
+       }
+}

++++++ hcloud-upload-image.obsinfo ++++++
--- /var/tmp/diff_new_pack.TfT8z9/_old  2024-12-09 21:12:33.027423139 +0100
+++ /var/tmp/diff_new_pack.TfT8z9/_new  2024-12-09 21:12:33.027423139 +0100
@@ -1,5 +1,5 @@
 name: hcloud-upload-image
-version: 0.3.0
-mtime: 1719152887
-commit: a07856317d782a6a047f07d712f56ded630cb730
+version: 0.3.1
+mtime: 1733533079
+commit: b328867f6b9b965dcd581cb6f6907dae364faa7a
 

++++++ vendor.tar.gz ++++++
++++ 66749 lines of diff (skipped)

Reply via email to