It appears that Github has decided in the past few...
# kubernetes
i
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?
Copy code
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
you might need to file an issue here, i'm afraid
i
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
I think an issue saying the file is empty should return a better error message is a good one?
i
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.
Copy code
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
👍 1
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.