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 404
-
RE: NPM Connector returns plus "+" in versions
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.
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@myscope
tomyscope
it 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 key
Hello, for sure!
It's pretty easy; just don't give the
Anonymous
user 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
Credential
option 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 ofapi
with a password of an api key you've configured (so,api:my-secret-key
). -
RE: Restricting API access to View/Download
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 url
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_client
in ProGet, it shows up, as expected. -
RE: How to find out package disk space?
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), andLayers
will 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 description
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 ?
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 containers
@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: Bug: duplicate docker manifests on connected feed when upstream tag updated
This one is tricky and I'm afraid I cannot reproduce this error either.... but I think I can see how it's possible.
First off, it's definitely possible for two processes to attempt to add the same manifest to the feed at the same time, and I might expect that during a parallel run like you describe.
However, there is data integrity constraint (trigger) to design this from happening. This trigger should yield a
Image_Digest must be unique across the containing feed
error.But, looking at the trigger code for PostgreSQL, it looks like we aren't using an advisory lock to completely prevent a race condition.
Can you confirm that you're using PostgreSQL?
Thanks,
Alana -
RE: Signature Packet v3 is not considered secure
Hi @frei_zs ,
We are currently working on PG-3110 to add support for "v4 signatures" and intend to release that soon (along with better support for public repositories) in an upcoming maintenance release.
Unfortunately it's not trivial, as the underlying cryptography library (Bouncy Casstle) does not support it, so we have to reimplement signing -- and the good news is that it seems to work so far, and is much faster.
Thanks,
Alana -
RE: Need help to request all package vulnerabilities in ProGet 2024 version
Hi @fabrice-mejean ,
It's no longer possible to query this information from the database.
As you've noticed, ProGet now uses a version range (i.e.
AffectedVersions_Text
) to determine whether a package is vulnerable or not. So instead of4.2.3
it's now4.2.3-4.2.8
or[4.2.*)
or something like that.Unfortunately it's not practical/feasible to parse this information unless you were to rewrite a substantial amount of ecosystem-specific parsing logic - this would be basically impossible to do in a SQL query.
Instead, you'll need to use the upcoming
pgutil packages meatdata
command to see what vulnerabilities a particular packages has. You can also use Notifiers to address newly-discovered vulnerabilities.Thanks,
Alana -
RE: [ProGet] Connector Ordering / Precedence in ProGet
Hi @koksime-yap_5909 ,
Not necessarily - it really depends on the API query.
If the query is like "give me a list of all versions of
MyPackage
", then ProGet will need to aggregate local packages and connector packages to produce that list.If the query is "give me the metadata for
MyPackage-1.3.1
", then the first source that returns a result is used.In practice, NuGet asks for "all versions" a lot. So you'll get a lot of queries.
Thanks,
Alana -
RE: ProGet - Unsupported Header when Uploading to Pure Storage S3
@james-woods_8996 we haven't released the extension yet, so it won't be in any builds of the product. We are waiting on someone to test/verify that it works
-
RE: proget 500 Internal server error when pushing to a proget docker feed
Hi @thomas_3037 ,
The specific issue was already fixed; I'm going to close it because whatever your experiencing is different and the "history" in this long winding thread will only make it harder to understand ,
Please "start from the scratch" as if you never read this.
Thanks,
Alana -
RE: [ProGet] Connector Ordering / Precedence in ProGet
They are ordered by the name - so if orderis important to you, I guess you could always do the
10-nuget.org
,20-abc.net
or whateverThanks,
Alana -
RE: Add support for Terraform Public Registry in ProGet (offline/air-gapped)
Hi @Stholm ,
I assume you saw the Terraform Modules documentation in ProGet?
While updating the Support for Terraform Backends to link to this discussion, I noticed we had some internal notes. So I'll transfer them here:
This would require implementing both the Provider Registry Protocol (for first-party plugins) and the Provider Network Mirror Protocol (for connectors). Both seem relatively simple, though there appear to be some complexities involving signature files.
In either case, we ought to not package these because they are quite large. For example, the
hashcorp\aws
provider for Windows is just a zip file with a single, 628mb .exe. They also have no metadata whatsoever that's returned from the API.One option is just to store these as manifest-less packages. For example,
hashicorp/aws
packages could bepkg:tfprovider/hashicorp@5.75.0?os=windows&arch=amd64
. This would be two purls in one feed, which might not work, so it might require a new feed.Don't ask me what that all means, I'm just the copy/paster
But based on my read of that, it sounds like a big effort (i.e. a new feed type) to try to fit a round peg in a square hole. And honestly your homebuilt solution might work better.
I think we'd need to see how much of a demand there is in the offline/air-gapped Terraform userbase for this. But feel free to add more thoughts as you have them.
Thanks,
Alana -
RE: ProGet - Unsupported Header when Uploading to Pure Storage S3
Hi @james-woods_8996 ,
ProGet uses the AWS SDK for .NET, so I can't imagine environment variables would have any impact. I have no idea what those mean or do, but there's probably way to configure those in the SDK.
That said, another user is currently testing a change for Oracle Cloud Infrastructure, which seems to also be giving some kind of hash related error.
Perhaps it'll work for you? AWS v3.1.4-RC.1 is published to our prerelease feed. You can download and manually install, or update to use the prerelease feed:
https://docs.inedo.com/docs/proget/administration/extensions#manual-installation
After installing the extension, the "Disable Payload Signing" will show up on the advanced tab - and that property will be forwarded to the Put Request. In theory that will work, at least according to the one post from above.
One other thing to test would be uploading Assets (i.e. creating an Asset Directory) via the Web UI. That is the easiest way to do multi-part upload testing.
If it doesn't work, then we can try to research how else to change the extension to get it working.
Thanks,
Alana -
RE: Deploy inedo agent with gMSA
Can you clarify what you've tried to date, and the issues you've faced?
You can silently install the Inedo Agent, or even use a Manual Installation process if you'd prefer.
Ultimately it's a standard Windows service, and you can change the account from LOCAL SYSTEM (which we recommend, by the way) to another account using
sc.exe
or other tools.Thanks,
Alana