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!

Powershell feed gives End of Central Directory



  • Hello,

    We have set up a proget package feed with multiple feeds (chocolatey, pypi,...).
    Setup is as followed:

    All feeds work fine except for 1 type.
    We have an issue with powershell or nuget feeds created in proget.

    Find-module works fine and I can find the modules that exist on the feed or the ones linked from the connectoer (powershellgallery).
    However when we try the following:

    install-module <NameOfPackage>
    

    it throws an error.
    The error is End of Central Directory could not be found.
    Here is the output
    Proget_nuget.PNG

    If you run debug, This is the info I receive
    Proget_nuget002.PNG

    If we download the nupkg from the proget website by clicking the download button, this just works.
    I googled on the error, but not much came up.
    Some people refer to use TLS12, which I already tried.

    regards,

    Stijn


  • inedo-engineer

    Hi Stijn,

    The PowerShell client is indicating that there's an error downloading that file, and that when it tries to open the package (which is a zip file), it's corrupt.

    I don't know what the error is, but if you follow that URL in your browser, you should receive a .nupkg file. If you can open it up as a zip file, and it opens ok, then the error might have to do with a proxy server, or something, that's corrupting the fileon the way from ProGet to PowerShell?



  • Hi apxltd,

    I am capable of downloading the nupkg when using wget (or invoke-webrequest int his case) with the full link of the download button in proget.
    Changing this file to zip, lets me extract the zip file and have the contents of the module.
    This is what I already did to solve the missing modules at the moment.

    We already did some high level network troubleshooting.
    But all traffic is allowed for all protocols between the servers and is not going over the proxy as far as we can see.

    But we'll have another look.
    Thanks for the reply



  • So we did a poc setup in the same subnet where our AKS cluster resides.
    To see if it was network related issue or not.

    we provisioned a windows vm (server 2019) with proget installed. And this just works.
    So it seems something goes wrong in our AKS cluster.
    What I didn't mention in the setup, is the fact that a reverse proxy (traefik) is running inside the cluster as well.
    This handles the traffic to the different pods.


  • inedo-engineer

    Hi @Nagabyrd ,

    We have seen issues in the past where reverse proxies will end connections short. That could be happening with this. I'm not very familiar with traefik, but could you try to increase the request/connection timeout or the idle timeout? It is also possible that traefik's rate limit or in-flight request limit could be affecting this also. I would try increasing those also.

    Thanks,
    Rich



  • Hi,

    I've increased all the possible timeouts, but the issue remains.

    As another PoC, I've spun up a temporary pod with ubuntu 18.04 on our AKS cluster.

    kubectl run my-shell --rm -i --tty --image ubuntu:18.04 -- bash
    

    Installed powershell 7 in the pod and then registered the repository with

    register-psrepository -name psmodule-test-sourcelocation http://<instance>/nuget/psmodule-test
    

    This works and installs the module

    On a sidenote, we also have octopusdeploy running that pulls modules from proget.
    This also works.

    I'll ask our networking team to temporarily allow http traffic to proget.
    To test if this issue is caused by ssl or the inverse proxy as a whole (traefik).
    If it's the latter, then I guess we eliminated all possible steps on this :)


Log in to reply
 

Inedo Website HomeSupport HomeCode of ConductForums GuideDocumentation