Hello; I've updated the documentation to clarify this, but it's available starting in ProGet 5.2.9. So, you'll need to upgrade to enable it :)
atripp
@atripp
C# developer by trade, but writing less and less code and more and more specs.
Best posts made by atripp
-
RE: Service Health API call returning 404posted in Support
-
RE: NPM Connector returns plus "+" in versionsposted in Support
Thanks for the update! I've noted this in the docs, and linked to this discussion :)
https://github.com/Inedo/inedo-docs/commit/d24087911584bbda833314084a58c2ae1ff41c39
-
RE: [ProGet] [NativeApi] NpmPackages_DeletePackage not working.posted in Support
Hello,
That API will only delete package metadata from the database, not from disk. It's mostly intended for internal use only, and probably shouldn't be exposed to the API. In any case, we don't store the
@with internally, so if you change@myscopetomyscopeit should work.Note that the NPM doesn't provide a way to delete packages, and we never implemented it. There hasn't been any demand for it to date, as people don't really delete packages programmatically - but you're definitely welcome to submit a feature request and help us understand why it'd be a value (like, the workflow you use that requires deleting packages, etc).
Alana
-
RE: Creating PowerShell repository, protecting pull/download by API keyposted in Support
Hello, for sure!
It's pretty easy; just don't give the
Anonymoususer any access to your feeds, and then authentication will always be required, either when browsing the ProGet application or using the API (such asInstall-Module).When you use the Register-PSRepository command, you can the
Credentialoption to specify a credential.This credential can be the name/password of a user inside of ProGet (let's say,
Admin:Admin), or it can be username ofapiwith a password of an api key you've configured (so,api:my-secret-key). -
RE: Restricting API access to View/Downloadposted in Support
Hello;
The Native API is for low, system-level functions, and it's "all or nothing". If you give someone access to Native API, you are effectively making them an administrator, as they can also change permissions and grant admin privileges. So, I don't think you want this. Instead, you'll want to use the Debian API endpoint that we implement.
It's a third-party API format
In order to support third-party package formats types like NuGet, npm, etc., ProGet implements a variety of third-party APIs. We only provide minimal documentation for these APIs, as they are generally either already documented elsewhere. However, you can generally find the basics by searching for specific things you'd like to do with the API, such as "how to search for packages using the NuGet API" or "how to publish an npm package using the API".
So in this case, I recommend to search "how to view and download apt packages".
-
RE: PyPI package not shown in search results accessible via urlposted in Support
I'm not very familiar with PyPi packages, but I know there are some oddities with
-and_, and that they are sometimes supposed to be treated the same, and sometimes not. We don't totally understand all the rules, to be honest (even after reading PEP503 specifications).In this case, the package is actually
websocket_client, notwebsocket-client.See: https://pypi.org/project/websocket_client/
When you search for
websocket_clientin ProGet, it shows up, as expected. -
RE: How to find out package disk space?posted in Support
In ProGet 5.3, we plan to have a couple tabs on each
Tag(i.e. container image) that would provide this info: Metadata (will be a key/value pair of a bunch of stuff), andLayerswill show details about each of these layers.That might help, but otherwise, we have retention policies which are designed to clean up old and unused images.We'll also have a way to detect which images are actually being used :)
-
RE: [BUG - ProGet] Not able to remove container descriptionposted in Support
As @apxltd mentioned, we've got a whole bunch planned for ProGet 5.3.
I've logged this to our internal project document, and if it's easy to implement in ProGet 5.2 (I can't imagine it wouldn't be), we'll log it as a bug and ship in a maintence release.
Do note, this is not an IMAGE description, it's a REPOSITORY (i.e. a collection of images with the same name, like
MyCoolContainerApp) description; so this means the description will be there on all images/tags in the repository. -
RE: [Question - ProGet] Are versions amount wrong ?posted in Support
You're right, I guess that's showing the "layers" instead of the "tags"; I think it should be showing container registries separately (they're not really feeds), but that's how it's represented behind the scenes now.
Anyways we are working on ProGet 5.3 now; there's a whole bunch of container improvements coming, so I've noted this on our internal project document, to make sure we get a better display for container registries.
-
RE: Anonymous user can see list of packages and containersposted in Support
@Stephen-Schaff thanks for the bug report, I verified that this may happen depending on permission of user, and which feeds they can/can't use --- but it seems an easy enough fix that we can do via PG-1894 (targeted to next release) - the packages can't be viewed upon clicking, but it's a sub-optimal experience for showing packages they can't see
Latest posts made by atripp
-
RE: File download with wget only works with auth-no-challenge argumentposted in Support
Hi @it_9582 ,
Unfortunately I'm not really sure what your script is doing or how to fix it... but I will describe the server (ProGet) behavior.
Unless you allow Anonymous access on the endpoint, ProGet will respond with a
401when you access a URL without any authentication information (API Key header, Basic credentials). That's what the message you are sharing appears to do.So if you're getting that message, then I guess the username/password isn't being sent? I really don't know what
--auth-no-challengemeans or does.Thanks,
Alana -
RE: ProGet 2025.14 (Build 12) - PostgreSQL Error when uploadingposted in Support
Hi @it_9582,
I'm afraid this requires a code change and an external database will have no impact.
Thanks,
Alana -
RE: ProGet configuration as code (IaC)?posted in Support
Hi @mikael ,
We have no plans for this and honestly, I wouldn't recommend setting up a tool like ProGet in this manner.
Outside of some very specialized use cases (like setting up labs for testing, or nodes in a ProGet Enterprise Edge Computing Edition) there are no benefits. Only headaches.
It might sound fine on paper, but every company that has set it up this way has regretted it. And you will to. The reasons they want "fully reproducible configuration" is usually:
- so we can store configuration in versioned code
- so we can easily replicate it in a testing environment
- so we can easily migrate/move to a new server
Those seem nice, but it totally fails in practice.
First, you can't "rollback" most configuration. Say you fat-finger a configuration file and delete half your feeds. There go all your packages. And when you realize you've got gigabytes/terabytes of content to deal with, plus all the metadata in storage, this is a huge headache.
The configuration you can make idempotent (say, permissions/users) is so much more a pain to work with than a UI. Again, more error prone you lose all the benefits of visual cues, input verification, etc. You fat-finger the wrong setting, and you get some obscure error instead of a helpful red box next to the text box.
The regret comes in realizing they've created a buggier environment that isn't properly tested, and is somehow less "portable" than an ordinary installation. A year later, when the new team comes in, they usually have to figure out how to "undo" it -- and you can probably guess why we need to get involved to untangle the mess.
Thank,
Alana -
RE: ProGet 2025.14 (Build 12) - PostgreSQL Error when uploadingposted in Support
Hi @it_9582,
It's certainly possible :)
However, given the risk associated with the change, it could only happen in a Major Release. This would require editing a lot of code and trying to track down everywhere we might have trimmed/restricted to 200 characters.
I can add it this to our roadmap for consideration, but note that ProGet 2026 hasn't been targeted for a date yet, let decided what features we'll do.
I just want to be realistic about the timeline - let us know if you'd like to consider it. It hasn't come up in the very very many years this feature existed, so we're not even totally sure if we'll do it (if it's too much code / too much risk / too close to the deadline / etc).
Thanks,
Alana -
RE: The hostname could not be parsedposted in Support
This error is occurring while ProGet is trying to generate the "base url". There are a few inputs that go into this:
- Admin > Advanced Settings > Base URL
- X-Forwarded Headers, set by a reverse proxy like ngnix
If any of those have an invalid host name (which is what the error is indicating), then you'll get this error. In most cases, it's a typo in the X-forwarded headers.
Thanks,
Alana -
RE: License not found in packageposted in Support
Hi @dwynn_6489 ,
I was able to reproduce this issue; the issue is that the package's license declaration specifies a license file of
package/license.txt, but that file does not exist in the package.We will improve this error message via PG-3199 in the upcoming maintenance release, but in the meantime, the only workaround is to manually assign the license under SCA Licenses. The new version of ProGet will include a direct link to that page for convenience.
The Purl you'd need to add is as follows:
pkg:npm/%40progress/kendo-charts@2.9.0Hope that helps,
Alana -
RE: ProGet 2025.14 (Build 12) - PostgreSQL Error when uploadingposted in Support
Hi @it_9582 ,
I'm afraid this is a long-standing (since we first introduced the feature) limitation on the name. It's not changeable/configurable and would require a nontrivial code change to lengthen.
Thanks,
Alana -
RE: 401 When trying to download assests from private repoposted in Support
I was able to identify the issue.
When you visit the URL in ProGet, then ProGet will visit this URL (slightly trimmed) with the appropriate authorization header:
https://libraries.cgr.dev/javascript/..../lodash/-/lodash-4.17.20.tgzHowever, that URL will issue a 307 redirect to the following:
/artifacts-downloads/javascript/namespaces/15f7d141c3b76b85/repositories/.../downloads/ABmYrfCH......KpxO1ducu3xmMRtw==ProGet then follows the redirect, but does not send the authorization header. And thus, a
401is issued. This is actually the default/expected behavior inHttpClient(i.e. the library in .NET we use) and most clients in other languages (Java, Go, Ruby, etc.) as well.Of course it can be worked-around by disabling auto-redirect and implementing yourself to follow the URl with the same header. But that's not so common and, as such, it's not a common practice for servers to issue redirects that require authentication; we see other services handle the redirect using some kind of token in the querystring.
On our end, this has not been an issue to date. This is logic is buried pretty deep and it's not an easy fix without changing code everything relies on. I'm kind of surprised
npmandpipoverride the default behavior in thefetch()andrequestslibraries.Anyway, it sounds like you can make a change on the private repository server code... so I would here would be to just disable authentication on your
artifacts-downloadsendpoint. I mean that URL is basically authenticated anyway.... it's so long (I stripped like 1000 characters) that it's basically a password.Thanks,
Alana -
RE: Apply license key inside containerposted in Support
Hi @jlarionov_2030 ,
PG-3133 (which allowed
pgutil settingsto run without a license key) was applied to ProGet 2025.12 so I don't think it could have worked in ProGet 2024.39.There were also no changes from ProGet 2025.12 to 2025.18 that would have caused this, and it works fine for me.
Are you sure you're running the
pgutil settingscommand first to apply a license key?Just based on the logs, it doesn't say...
Thanks,
Alana -
RE: Incorrect Vulnerability Assesment for versions later than specified in descriptionposted in Support
Hi @aristo_4359 ,
This will happen from time to time and there's no great solution to fixing it.
The underlying issue is simple actually; the source data is incorrectly coded, and systems like PGVD that rely on that will display incorrect results.
Since sources routinely update data (and they may fix this... if you ask), PGVD will also update the ingested data. So it becomes quite complicated to try to "override" incorrect data, even though it's so obvious from reading the description and looking at it.
Without getting into too many details, here is how they encoded this at the source:
"database_specific": { "last_known_affected_version_range": "< 0.19.3" }Compare this to another vulnerability at the same source, and you will see this is the correct encoding:
{ "last_affected": "2.0.13" }Given the infrequency that this happens, and the fact that it's an old, low-risk vulnerability (we would rate this as a "2 out of 5" on our upcoming scale FYI), we don't think it's worth worrying about.
Thanks,
Alana