i

    important-leather-28796

    2 months ago
    It appears that Github has decided in the past few days to stop serving release assets. e.g.
    curl <https://github.com/cert-manager/cert-manager/releases/download/v1.8.2/cert-manager.yaml> -O
    is a zero byte file. Pulumi just started reporting this with a not-so-great error. Is there a workaround for this?
    error: TypeError: Cannot read properties of undefined (reading 'map')
            at /Users/kross/projects/archetype/node_modules/@pulumi/yaml/yaml.ts:2993:14
            at processTicksAndRejections (node:internal/process/task_queues:95:5)
    This code was successfully running last week with the same url:
    const certManager = new k8s.yaml.ConfigFile(downloadUrl, undefined, { parent: this, provider })
    BTW, If I visit the url as a logged-in github user, no problem, 406kb:
    <https://github.com/cert-manager/cert-manager/releases/download/v1.8.2/cert-manager.yaml>
    b

    billowy-army-68599

    2 months ago
    you might need to file an issue here, i'm afraid
    i

    important-leather-28796

    2 months ago
    I’ve reported an issue with github. Debugging curl shows the file as found. I assume at this point that they have an infrastructure/replication issue
    If they intended it to be throttled, I would expect a different HTTP status code.
    b

    billowy-army-68599

    2 months ago
    I think an issue saying the file is empty should return a better error message is a good one?
    i

    important-leather-28796

    2 months ago
    Well, that would be good for pulumi, but pulumi is also receiving an improper HTTP status code. So if pulumi wants to go a step further and check received bytes, that is nice-to-have but the fact is that github is the bad actor here.
    curl <https://github.com/cert-manager/cert-manager/releases/download/v1.8.2/cert-manager.yaml> -O -v
     % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                    Dload  Upload   Total   Spent    Left  Speed
     0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0*   Trying 140.82.114.4:443...
    * TCP_NODELAY set
    * Connected to <http://github.com|github.com> (140.82.114.4) port 443 (#0)
    * ALPN, offering http/1.1
    * successfully set certificate verify locations:
    *   CAfile: /Users/kross/opt/anaconda3/ssl/cacert.pem
     CApath: none
     [5 bytes data]
    * TLSv1.3 (OUT), TLS handshake, Client hello (1):
     [512 bytes data]
    * TLSv1.3 (IN), TLS handshake, Server hello (2):
     [122 bytes data]
    * TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8):
     [25 bytes data]
    * TLSv1.3 (IN), TLS handshake, Certificate (11):
     [2459 bytes data]
    * TLSv1.3 (IN), TLS handshake, CERT verify (15):
     [79 bytes data]
    * TLSv1.3 (IN), TLS handshake, Finished (20):
     [36 bytes data]
    * TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1):
     [1 bytes data]
    * TLSv1.3 (OUT), TLS handshake, Finished (20):
     [36 bytes data]
    * SSL connection using TLSv1.3 / TLS_AES_128_GCM_SHA256
    * ALPN, server accepted to use http/1.1
    * Server certificate:
    *  subject: C=US; ST=California; L=San Francisco; O=GitHub, Inc.; CN=<http://github.com|github.com>
    *  start date: Mar 15 00:00:00 2022 GMT
    *  expire date: Mar 15 23:59:59 2023 GMT
    *  subjectAltName: host "<http://github.com|github.com>" matched cert's "<http://github.com|github.com>"
    *  issuer: C=US; O=DigiCert Inc; CN=DigiCert TLS Hybrid ECC SHA384 2020 CA1
    *  SSL certificate verify ok.
     [5 bytes data]
    > GET /cert-manager/cert-manager/releases/download/v1.8.2/cert-manager.yaml HTTP/1.1
    > Host: <http://github.com|github.com>
    > User-Agent: curl/7.65.3
    > Accept: */*
    > 
     [5 bytes data]
    * TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
     [57 bytes data]
    * TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
     [57 bytes data]
    * old SSL session ID is stale, removing
     0     0    0     0    0     0      0      0 --:--:--  0:00:01 --:--:--     0 [5 bytes data]
    * Mark bundle as not supporting multiuse
    < HTTP/1.1 302 Found
    < Server: <http://GitHub.com|GitHub.com>
    < Date: Wed, 06 Jul 2022 18:34:19 GMT
    < Content-Type: text/html; charset=utf-8
    < Vary: X-PJAX, X-PJAX-Container, Turbo-Visit, Turbo-Frame, Accept-Encoding, Accept, X-Requested-With
    < permissions-policy: interest-cohort=()
    < Location: <https://objects.githubusercontent.com/github-production-release-asset-2e65be/92313258/3ee316a4-3b64-4982-aa62-8054d6f83dda?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20220706%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20220706T183419Z&X-Amz-Expires=300&X-Amz-Signature=2f16f82a7668ef8b98fc73958dc22fa9a242890ed78ea58ce487c29098b99a5c&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=92313258&response-content-disposition=attachment%3B%20filename%3Dcert-manager.yaml&response-content-type=application%2Foctet-stream>
    < Cache-Control: no-cache
    < Strict-Transport-Security: max-age=31536000; includeSubdomains; preload
    < X-Frame-Options: deny
    < X-Content-Type-Options: nosniff
    < X-XSS-Protection: 0
    < Referrer-Policy: no-referrer-when-downgrade
    < Expect-CT: max-age=2592000, report-uri="<https://api.github.com/_private/browser/errors>"
     0     0    0     0    0     0      0      0 --:--:--  0:00:01 --:--:--     0 [5 bytes data]
    < Content-Security-Policy: default-src 'none'; base-uri 'self'; block-all-mixed-content; child-src <http://github.com/assets-cdn/worker/|github.com/assets-cdn/worker/> <http://gist.github.com/assets-cdn/worker/;|gist.github.com/assets-cdn/worker/;> connect-src 'self' <http://uploads.github.com|uploads.github.com> <http://objects-origin.githubusercontent.com|objects-origin.githubusercontent.com> <http://www.githubstatus.com|www.githubstatus.com> <http://collector.github.com|collector.github.com> <http://raw.githubusercontent.com|raw.githubusercontent.com> <http://api.github.com|api.github.com> <http://github-cloud.s3.amazonaws.com|github-cloud.s3.amazonaws.com> <http://github-production-repository-file-5c1aeb.s3.amazonaws.com|github-production-repository-file-5c1aeb.s3.amazonaws.com> <http://github-production-upload-manifest-file-7fdce7.s3.amazonaws.com|github-production-upload-manifest-file-7fdce7.s3.amazonaws.com> <http://github-production-user-asset-6210df.s3.amazonaws.com|github-production-user-asset-6210df.s3.amazonaws.com> <http://cdn.optimizely.com|cdn.optimizely.com> <http://logx.optimizely.com/v1/events|logx.optimizely.com/v1/events> *.<http://actions.githubusercontent.com|actions.githubusercontent.com> wss://*.<http://actions.githubusercontent.com|actions.githubusercontent.com> <http://online.visualstudio.com/api/v1/locations|online.visualstudio.com/api/v1/locations> <http://github-production-repository-image-32fea6.s3.amazonaws.com|github-production-repository-image-32fea6.s3.amazonaws.com> <http://github-production-release-asset-2e65be.s3.amazonaws.com|github-production-release-asset-2e65be.s3.amazonaws.com> <http://insights.github.com|insights.github.com> <wss://alive.github.com>; font-src <http://github.githubassets.com|github.githubassets.com>; form-action 'self' <http://github.com|github.com> <http://gist.github.com|gist.github.com> <http://objects-origin.githubusercontent.com|objects-origin.githubusercontent.com>; frame-ancestors 'none'; frame-src <http://render.githubusercontent.com|render.githubusercontent.com> <http://viewscreen.githubusercontent.com|viewscreen.githubusercontent.com> <http://notebooks.githubusercontent.com|notebooks.githubusercontent.com>; img-src 'self' data: <http://github.githubassets.com|github.githubassets.com> <http://identicons.github.com|identicons.github.com> <http://github-cloud.s3.amazonaws.com|github-cloud.s3.amazonaws.com> <http://secured-user-images.githubusercontent.com/|secured-user-images.githubusercontent.com/> <http://github-production-user-asset-6210df.s3.amazonaws.com|github-production-user-asset-6210df.s3.amazonaws.com> *.<http://githubusercontent.com|githubusercontent.com>; manifest-src 'self'; media-src <http://github.com|github.com> <http://user-images.githubusercontent.com/;|user-images.githubusercontent.com/;> script-src <http://github.githubassets.com|github.githubassets.com>; style-src 'unsafe-inline' <http://github.githubassets.com|github.githubassets.com>; worker-src <http://github.com/assets-cdn/worker/|github.com/assets-cdn/worker/> <http://gist.github.com/assets-cdn/worker/|gist.github.com/assets-cdn/worker/>
    < Content-Length: 0
     [5 bytes data]
    < X-GitHub-Request-Id: EFD7:7736:B386AA:1313C21:62C5D5A9
    < 
     0     0    0     0    0     0      0      0 --:--:--  0:00:01 --:--:--     0
    * Connection #0 to host <http://github.com|github.com> left intact
    STRANGELY enough, there may also be an open p1 bug related https://github.com/pulumi/pulumi-kubernetes/issues/2038. I tried local files and ran into roughly the same thing, though we can proved that in the remote file case, github isn’t serving it.