Inedo Community Forums Forums
    • Recent
    • Tags
    • Popular
    • Login

    Welcome to the Inedo Forums! Check out the Forums Guide for help getting started.

    If you are experiencing any issues with the forum software, please visit the Contact Form on our website and let us know!

    upack push return (403) Forbidden without Feeds_OverwritePackage permission

    Scheduled Pinned Locked Moved Support
    27 Posts 3 Posters 77 Views 1 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • P Offline
      philipp.jenni_7195
      last edited by

      Hi,

      I have tested the problem again and can reproduce it even with a new feed.

      The upload via the UI works in any case. The upload via the UPack.exe works only as long as in the table [Feeds] in the field [FeedConfiguration_Xml] the property FeedUsage is set to value Mixed. If the value is PrivateOnly it does not work anymore. The value changes as soon as you save the type once in the feed configuration.

      1 Reply Last reply Reply Quote 0
      • rhessingerR Offline
        rhessinger inedo-engineer
        last edited by

        Hi @philipp-jenni_7195,

        Can you please tell me what version of the upack CLI you are using? You can find that by running the command upack version.

        I tested by creating a new Universal Packages feed with a feed usage type of PrivateOnly and the upack CLI 3.0.1.3 and I was able to push without issue. Can you also please answer a couple of other things for me?

        • What is the upack CLI command you are running to push your package?
        • Are you using an API key? If so, what permissions do you have configured on the API key?

        Thanks,
        Rich

        Products Engineer, Inedo

        1 Reply Last reply Reply Quote 0
        • P Offline
          philipp.jenni_7195
          last edited by philipp.jenni_7195

          Version: upack 2.2.5.15

          Command: upack puch c:\tmp\database-schema-7.60.0.upack https://nuget.exanic.local/upack/application --user=user:password

          I doesn't use the API Key

          I use Build-In Users. The User is an Group, and the Group has the Publish Package Permission for all Feeds

          1 Reply Last reply Reply Quote 0
          • rhessingerR Offline
            rhessinger inedo-engineer
            last edited by

            Hi @philipp-jenni_7195,

            Can you please try upgrading your upack CLI to the latest version and see if that resolves the problem for you?

            Thanks,
            Rich

            Products Engineer, Inedo

            1 Reply Last reply Reply Quote 0
            • P Offline
              philipp.jenni_7195
              last edited by

              I have tried with V.3.1 of upack. Same result. Upack returns: Inedo.UPack.Net.UniversalFeedException: 403 Forbidden: The Feeds_OverwritePackage task is required to perform this action.

              atrippA 1 Reply Last reply Reply Quote 0
              • atrippA Offline
                atripp inedo-engineer @philipp.jenni_7195
                last edited by

                Hi @philipp-jenni_7195 ,

                This is still a mystery to us; since you say you can reproduce it with a new feed, can you provide us with a step-by-step guide using a New Feed and a package file to use, then we will try your steps.

                The steps should basically be:

                1. Create New Feed named XXX
                2. Upload this file to the feed (please attach file)

                If the server is publicly accessible (or you can create one that is), we can also log-in and attempt to reproduce it on your server.

                Cheers,
                Alana

                1 Reply Last reply Reply Quote 0
                • P Offline
                  philipp.jenni_7195
                  last edited by

                  The server is not public, but i can send you a database backup and the docker config.

                  atrippA 1 Reply Last reply Reply Quote 0
                  • atrippA Offline
                    atripp inedo-engineer @philipp.jenni_7195
                    last edited by

                    As a free user, we're a bit limited to how much we can investigate this, and it's unlikely we'd be able to see anything from the database or docker config. We've seen this message come-up from time-to-time, and it's been related to the two edge cases I mentioned:

                    • package version is "unlisted"
                    • package file already exists on disk, but no database record exists

                    We have yet to see this happen with a newly-created feed.

                    Perhaps you can set-up something on AWS LightSail, or another very inexpensive hosting platform? Using that, we could investigate much easier.

                    1 Reply Last reply Reply Quote 0
                    • P Offline
                      philipp.jenni_7195
                      last edited by philipp.jenni_7195

                      I have tried it with another installation and have exactly the same problem there. No matter with which upack I tested.

                      With the following case the problem should be reproduced.

                      Proget: 2022.18 (Docker version)
                      UPack: 3.0.1

                      • Create an API key which only has the permission "View/Download" and "Add/Package" on the application feed. The feed type is "Feed
                      • Create UPack with new version
                      • Push the package with the following command upack.exe push mypackage-3.0.0.upack http://myserver/upack/jnetwork-applicaton/ --user=api:XAPIKEYXXXXXXXXXXXXXXXXXXXXXX
                      • Create UPack with new version
                      • Push the package with the following command upack.exe push mypackage-3.0.1.upack http://myserver/upack/jnetwork-applicaton/ --user=api:XAPIKEYXXXXXXXXXXXXXXXXXXXXXX

                      The first upload works, but the second upload with an new version to an exisiting package will fail. UPack then gives me the following error:

                      Unhandled exception. Inedo.UPack.Net.UniversalFeedException: 403 Forbidden: The Feeds_OverwritePackage task is required to perform this action.

                      In one place it worked for me, but then I found out that the API key was mapped to a user who was in the administrators group.

                      atrippA 1 Reply Last reply Reply Quote 0
                      • atrippA Offline
                        atripp inedo-engineer @philipp.jenni_7195
                        last edited by

                        Hi @philipp-jenni_7195 ,

                        Hmmm that's basically the same thing I tried a while back ....

                        Can email/send the package files in this example? mypackage-3.0.0.upack and mypackage-3.0.1.upack

                        If you email them to support at inedo dot com, with a subject of [QA-976], we will be able to find it. Please let me know when you email it, since we don't watch that box

                        Cheers,
                        Alana

                        1 Reply Last reply Reply Quote 0
                        • P Offline
                          philipp.jenni_7195
                          last edited by

                          I have sent you screenshot of my config and 2 upacks.

                          1 Reply Last reply Reply Quote 0
                          • rhessingerR Offline
                            rhessinger inedo-engineer
                            last edited by

                            Hi @philipp-jenni_7195,

                            I can confirm that we have received your email. Please give us a bit of time to review it and we will get back to you soon!

                            Thanks,
                            Rich

                            Products Engineer, Inedo

                            1 Reply Last reply Reply Quote 0
                            • rhessingerR Offline
                              rhessinger inedo-engineer
                              last edited by

                              Hi @philipp-jenni_7195,

                              I took a look at your example and I was able to push the packages to my feed without issue. If I tried to push the package a second time, I then I would get that Feeds_OverwritePackage" error, but that is expected.

                              Are you getting this error when you try to push it initially? Are there other packages in the feed? If there are other packages in the feed, are there any with the same name but a different group name?

                              Thanks,
                              Rich

                              Products Engineer, Inedo

                              1 Reply Last reply Reply Quote 0
                              • P Offline
                                philipp.jenni_7195
                                last edited by

                                Hi Rich,

                                I can reproduce this on 2 different systems with the same case over and over again.

                                1. create new feed
                                2. create API key for this feed
                                3. push package with the smaller version. This works.
                                4. create package with the bigger version. This gives an error

                                Both systems are based on a Docker container (Linux) with MSSQL.

                                Is there any way to generate a detailed log that I can send to you?

                                1 Reply Last reply Reply Quote 0
                                • rhessingerR Offline
                                  rhessinger inedo-engineer
                                  last edited by

                                  Hi @nselezneva_7646,

                                  Am I correct that you had that exact issue with the example packages you sent over to us? Would you be able to send me just the upack,json files from the packages you are testing with?

                                  Thanks,
                                  Rich

                                  Products Engineer, Inedo

                                  1 Reply Last reply Reply Quote 0
                                  • P Offline
                                    philipp.jenni_7195
                                    last edited by

                                    Yes. That is correct. I can it reproduce with any package.

                                    1 Reply Last reply Reply Quote 0
                                    • rhessingerR Offline
                                      rhessinger inedo-engineer
                                      last edited by

                                      Hi @philipp-jenni_7195,

                                      I'm sorry, but I'm really struggling to recreate this.

                                      The test I setup was:

                                      • Docker run ProGet 2022.18
                                        • I also tested on ProGet 2022.15, but this one was on Windows. Functionally they do not differ in upack feed code.
                                      • Create a new upack feed
                                        • No connectors or other packages
                                      • upack push database-schema-7.60.0.upack to the new feed
                                      • upack push database-schema-7.61.0.upack to the new feed

                                      That all worked. I then proceeded to do different combinations like push 7.61, then 7.60. The only time I was able to get the "Feeds_OverwritePackage" error was when the package already existed in the feed and I tried to push it again (which works as designed).

                                      Do you have anything sitting in front of your Docker image (like a reverse proxy or HTTP request forwarder) that may attempt to resend a request if it takes too long? The only thing that makes sense to me would be the push request is being duplicated and the first succeeds and the second errors because the package already exists.

                                      Thanks,
                                      Rich

                                      Products Engineer, Inedo

                                      1 Reply Last reply Reply Quote 0
                                      • P Offline
                                        philipp.jenni_7195
                                        last edited by

                                        Here the steps how you can reproduce:

                                        • Create a docker-compose file:
                                          services:
                                            proget:
                                          	container_name: proget_proget
                                          	deploy:
                                          	  replicas: 1
                                          	environment:
                                          	  SQL_CONNECTION_STRING: "Data Source=sql-server-db; Initial Catalog=ProGet; User ID=sa; Password=my-p8ss53rd"
                                          	expose:
                                          	- 81
                                          	image: proget.inedo.com/productimages/inedo/proget:latest
                                          	labels:
                                          	  generated: by 8gwifi.org
                                          	ports:
                                          	- '81:80'
                                            sql-server-db:
                                          	container_name: sql-server-db
                                          	image: mcr.microsoft.com/mssql/server:2019-latest
                                          	ports:
                                          	  - "1433:1433"
                                          	environment:
                                          	  SA_PASSWORD: "my-p8ss53rd"
                                          	  ACCEPT_EULA: "Y"
                                          version: '3'
                                          ```
                                          
                                        • Run "docker-compose up"
                                        • Connect to the SQL Server with SA and create a db "ProGet"
                                        • Run "docker-compose down"
                                        • Run "docker-compose up
                                        • Connect with browser to "http://localhost:81
                                        • Login with "admin/admin"
                                        • Enter a "Free" Lizence Key
                                        • Create a Universal Package feed "Test"
                                        • Create an API Key with Type "Feed" and Permission "View/Download" anad "Add/Repackage" for all Feeds
                                        • Download upack.exe from https://github.com/Inedo/upack/releases
                                        • Execute upack.exe push database-schema-7.60.0.upack http://localhost:81/upack/Test/ --user=api:<Your generated API>
                                        • Execute upack.exe push database-schema-7.61.0.upack http://localhost:81/upack/Test/ --user=api:<Your generated API>

                                        On the second upack command you should receive the error.

                                        I was just able to reproduce the error with this procedure on Windows 10 and Docker Desktop.

                                        1 Reply Last reply Reply Quote 0
                                        • P Offline
                                          philipp.jenni_7195
                                          last edited by

                                          On Docker output i see follow output:

                                          Running Execution Dispatcher...
                                          Running Execution Dispatcher...
                                          Checking for executions to dispatch...
                                          Checking for executions to dispatch...
                                          Execution Dispatcher completed.
                                          Execution Dispatcher completed.
                                          info: Microsoft.AspNetCore.Hosting.Diagnostics[1]
                                                Request starting HTTP/1.1 PUT http://localhost:81/upack/Test/upload application/zip 2338404
                                          A 403 error occurred in Test: The Feeds_OverwritePackage task is required to perform this action.
                                          A 403 error occurred in Test: The Feeds_OverwritePackage task is required to perform this action.
                                          An error occurred processing a PUT request to http://localhost:81/upack/Test/upload: The Feeds_OverwritePackage task is required to perform this action.
                                          An error occurred processing a PUT request to http://localhost:81/upack/Test/upload: The Feeds_OverwritePackage task is required to perform this action.
                                          info: Microsoft.AspNetCore.Hosting.Diagnostics[2]
                                                Request finished HTTP/1.1 PUT http://localhost:81/upack/Test/upload application/zip 2338404 - 403 67 - 34.9552ms
                                          info: Microsoft.AspNetCore.Hosting.Diagnostics[1]
                                                Request starting HTTP/1.1 POST http://localhost:81/0x44/ProGet.WebApplication/Inedo.ProGet.WebApplication.Controls.Layout.NotificationBar/GetNotifications - 0
                                          info: Microsoft.AspNetCore.Hosting.Diagnostics[2]
                                                Request finished HTTP/1.1 POST http://localhost:81/0x44/ProGet.WebApplication/Inedo.ProGet.WebApplication.Controls.Layout.NotificationBar/GetNotifications - 0 - 200 30 - 2.3018ms
                                          Running Feed Replication...
                                          Running Feed Replication...
                                          Feed Replication completed.
                                          Feed Replication completed.
                                          Running Execution Dispatcher...
                                          Running Execution Dispatcher...
                                          Checking for executions to dispatch...
                                          Checking for executions to dispatch...
                                          Execution Dispatcher completed.
                                          Execution Dispatcher completed.
                                          
                                          1 Reply Last reply Reply Quote 0
                                          • rhessingerR Offline
                                            rhessinger inedo-engineer
                                            last edited by

                                            Hi @philipp-jenni_7195,

                                            Thank you very much for the steps to recreate this issue. I was finally able to recreate it and it looks to be easier to recreate on Linux than on Windows. We have created a ticket, PG-2274, to track the fix. We should be able to get this into today's release!

                                            Thanks,
                                            Rich

                                            Products Engineer, Inedo

                                            1 Reply Last reply Reply Quote 0

                                            Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                                            Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                                            With your input, this post could be even better 💗

                                            Register Login
                                            • 1
                                            • 2
                                            • 1 / 2
                                            • First post
                                              Last post
                                            Inedo Website Home • Support Home • Code of Conduct • Forums Guide • Documentation