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: Invalid manifest file error for all packages in universal feed
Hi @arose_5538 ,
Looks like this was indeed a regression in 2024.23 as a result of upgrading the JSON library we were using... I guess it's a lot more strict.
Of course,
upack
is also wrong, but for whatever reason it worked before. anyway it's an easy fix, and will be fixed in the next maintenance release (scheduled Feb 7) of ProGet via PG-2884.In the meantime, you can just downgrade to 2024.22.
And I checked
pgutil
2.1.0 will be released soon :)Cheers,
Alana -
RE: Manipulate users using pgutil
@steviecoaster great news, glad you got it all working
-
RE: Aggregating 2 Feeds in ProGet Free Edition
@kc_2466 there are some 500 errors, so please check Admin > Diagnostic Center to see what those are about. Those should each be logged.
-
RE: Working Rafts_CreateOrUpdateRaftItem example for Otter
Hi @scusson_9923 ,
The
Invalid cast from 'System.String' to 'Inedo.Data.VarBinaryInput''
isn't related to the content of the file, it's just a problem with wiring up the API to database. Basically a bug.I don't know why it works on my machine, but not in your instance. It's one of those "deep in the code" things that we'd have to investigate.
Maybe try upgrading to latest version of Otter? I suspect there was a library upgrade/fix that might make this work.
Thanks,
Alana -
RE: Working Rafts_CreateOrUpdateRaftItem example for Otter
Hi @scusson_9923 ,
This code should work for a file on disk; it's same as before, but uses GetBytes...
Invoke-WebRequest -Method Post -Uri "http://otter.localhost/api/json/Rafts_CreateOrUpdateRaftItem" -Body @{ API_Key = "abc123" Raft_Id = 1 RaftItemType_Code = 4 RaftItem_Name = "mypath/myscript.ps1" ModifiedOn_Date = Get-Date ModifiedBy_User_Name = "API" Content_Bytes = [System.Convert]::ToBase64String([IO.File]::ReadAllBytes("c:\myfile.txt")) }
-
RE: Manipulate users using pgutil
@steviecoaster great, hopefully we'll get somethig figured out :)
-
RE: Working Rafts_CreateOrUpdateRaftItem example for Otter
Hi @scusson_9923 ,
Is this the latest version of Otter? "It worked on my machine" without an issue, so I wonder if there is a change somehow.
Are you able to upload the .yaml file in the way you want in the UI? What type shows up when you do that? I would expect you select like this?
The RaftItemType_Code for Text is 7.
Alana
-
RE: Aggregating 2 Feeds in ProGet Free Edition
@kc_2466 great news, thanks for letting us know.
If you don't see any violations recorded, then the banner should go away soon. It's cached.
-
RE: Manipulate users using pgutil
hi @steviecoaster ,
Thanks for explaining; this is something we will consider on our roadmap planning, but it's currently a "free user" request which is difficult to prioritize with so many other requests from paid users.
HOWEVER, if we had a tech/marketing partnership that would allow us to prioritize this differently. That's above my paygrade, but I can definitely make a strong case internally... is that something you would want to pursue? I suspect It'd end up with our CEO's chatting and figuring something out heh.
In the mean time, the Native API willdefinitely work to automate everything you're trying to do. You can also just do some basic sql commands to insert stuff in the database, which would be easier.
Alana
-
RE: Aggregating 2 Feeds in ProGet Free Edition
Hi @kc_2466
License violations are recorded from requests that are not local. You can clear recorded violations by clicking "change" on the license key and then save. No need to actually change it.
This is the logic used to determine if a request is local:
public bool IsLocal { get { var connection = this.NativeRequest.HttpContext.Connection; if (connection.RemoteIpAddress != null) { if (connection.LocalIpAddress != null) return connection.RemoteIpAddress.Equals(connection.LocalIpAddress); else return IPAddress.IsLoopback(connection.RemoteIpAddress); } if (connection.RemoteIpAddress == null && connection.LocalIpAddress == null) return true; return false; } }
So if you are continuing to see violations, it means that you need to make sure that the local/inbound IPs are the same or the inbound request is loopback (127.0.0.1).
This may require some configuration in your ngnix container.
Cheers,
Alana