Please setup pipeline to serve product-details files
Categories
(Cloud Services :: Operations: Miscellaneous, task)
Tracking
(Not tracked)
People
(Reporter: rail, Assigned: oremj)
References
Details
Assignee | ||
Comment 1•7 years ago
|
||
Comment 2•7 years ago
|
||
Comment 3•7 years ago
|
||
Comment 4•7 years ago
|
||
Comment 5•7 years ago
|
||
Comment 6•7 years ago
|
||
Comment 7•7 years ago
|
||
Assignee | ||
Updated•7 years ago
|
Assignee | ||
Comment 8•7 years ago
|
||
Reporter | ||
Comment 9•7 years ago
|
||
Assignee | ||
Comment 10•7 years ago
|
||
Comment 11•7 years ago
|
||
Comment 12•7 years ago
|
||
Assignee | ||
Comment 13•7 years ago
|
||
We've decided that firebase is not going to be flexible enough for us for our static hosting needs, so we are going to deploy this to S3 + Cloudfront.
Comment 14•7 years ago
|
||
I verified and merged work in https://github.com/mozilla/release-services/pull/1778
Assignee | ||
Comment 15•7 years ago
|
||
Talked about in ops/rel meeting today:
We need to change the format of https://github.com/mozilla-releng/product-details/tree/master/public to match what is currently at https://product-details.mozilla.org/
Assignee | ||
Comment 16•6 years ago
|
||
The buckets and Cloudfront distributions are ready to go. I'll need access to taskcluster or CircleCI (admin on the project) to configure the AWS credentials.
Assignee | ||
Updated•6 years ago
|
Comment 17•6 years ago
|
||
:oremj i created a dummy secrets for each branch:
- https://tools.taskcluster.net/secrets/repo%3Agithub.com%2Fmozilla-releng%2Fproduct-details%3Abranch%3Atesting
- https://tools.taskcluster.net/secrets/repo%3Agithub.com%2Fmozilla-releng%2Fproduct-details%3Abranch%3Astaging
- https://tools.taskcluster.net/secrets/repo%3Agithub.com%2Fmozilla-releng%2Fproduct-details%3Abranch%3Aproduction
as member of releng group we get all the scopes for repo:github.com/mozilla-releng repos, but we don't have scopes to grant to others. for this we need to ask taskcluster team.
should we give permission (scopes in taskcluster terms) to a group? i assume you have some ldap group for cloudops admins, right? with that info we can then request change of permission to allow that ldap group to change those secrets.
Assignee | ||
Comment 18•6 years ago
|
||
Our group should all have assume:mozilla-group:team_services_ops. Does that work?
Also, can you grant me admin access on https://github.com/mozilla-releng/product-details as well?
Assignee | ||
Comment 19•6 years ago
|
||
I see I now have access to the github repo, so looks like I just need access to the secrets now.
Comment 20•6 years ago
|
||
:oremj I submitted Bug 1527571 to get whole cloudops team appropriate taskcluster scopes.
Assignee | ||
Comment 21•6 years ago
|
||
Is it alright to commit files to this repo (Taskcluster or CircleCI configs)?
Comment 22•6 years ago
|
||
:oremj yes feel free to create a taskcluster configuration (lets not use circleci) at root of the repository. Lets design this configuration on master branch and then we can copy it over to other branches.
Updated•6 years ago
|
Assignee | ||
Comment 23•6 years ago
|
||
Still waiting on those permissions, do you know the typical time it takes to get those pushed through? Maybe we need to ping someone?
Assignee | ||
Updated•6 years ago
|
Reporter | ||
Comment 24•6 years ago
|
||
Sorry it took so long. We are should be clear now.
Assignee | ||
Comment 25•6 years ago
|
||
I also need permissions to create a role for the repo. Example error:
You are not authorized to perform the requested action. Please sign in and try again, or verify your scopes in the Credentials Manager.
Client ID mozilla-auth0/ad|Mozilla-LDAP|oremj does not have sufficient scopes and are missing the following scopes:
auth:create-role:repo:github.com/mozilla-releng/product-details:branch:testing
Reporter | ||
Comment 26•6 years ago
|
||
Jeremy, according to https://bugzilla.mozilla.org/show_bug.cgi?id=1527571#c3 we want to use declarative roles. What roles do we need to create? Sorry, I'm a bit outdated on the context of this bug.
Comment 27•6 years ago
|
||
:oremj while we wait for ci-config / ci-admin to work, tell me which roles you want to create and i (or rail) will create it for you.
Assignee | ||
Comment 28•6 years ago
|
||
I'm new to taskcluster, so might be mistaken, but I think we need a role for each branch on the repo with each role having access to its related secret.
Comment 29•6 years ago
|
||
:oremj you are correct how taskcluster roles/secrets should be setup. i just created the roles for each branch and gave them scope to read from branch secrets
Assignee | ||
Comment 30•6 years ago
|
||
Please make the following DNS changes:
CNAME https://product-details.testing.mozilla-releng.net to productdetails-testing.dev.mozaws.net
CNAME https://product-details.staging.mozilla-releng.net to productdetails-staging.stage.mozaws.net
Assignee | ||
Updated•6 years ago
|
Comment 31•6 years ago
|
||
:oremj https://github.com/mozilla-releng/build-cloud-tools/pull/374
are you able to also apply the terraform changes? or should i apply them?
Comment 32•6 years ago
|
||
we have a successful first diff of product details between V1 and V2:
https://gist.github.com/garbas/b008d13a3128efa5d5ca2d94a3a1f58a
we already discussed all the changes with :rail and they are expected.
i will keep updating this diff on a daily or per request for a week or two, just so we see how few cycles of betas are processed.
Assignee | ||
Comment 33•6 years ago
|
||
I don't have access to apply changes to the releng zone.
Reporter | ||
Comment 34•6 years ago
|
||
Jake applied the changes yesterday and they should be live by now. I try to connect https://product-details.testing.mozilla-releng.net/ and https://product-details.staging.mozilla-releng.net/, but Firefox complains and refuses to connect:
An error occurred during a connection to product-details.testing.mozilla-releng.net. Cannot communicate securely with peer: no common encryption algorithm(s). Error code: SSL_ERROR_NO_CYPHER_OVERLAP
Jeremy, any idea why this happens?
Assignee | ||
Comment 35•6 years ago
|
||
Needed a small fix to the cloudfront config. That should be fixed now, currently propagating, but is already working for me.
Reporter | ||
Comment 36•6 years ago
|
||
Sweet! thank you.
Comment 37•6 years ago
|
||
:oremj can we turn on index listing on those buckets? since this currently possible with product-details.mozilla.org
Updated•6 years ago
|
Comment 38•6 years ago
|
||
also another thing. can we able hsts headers for this domains (and in the future also for production). i suppose we would need to setup a lambda function to add this headers.
Assignee | ||
Comment 39•6 years ago
|
||
(In reply to Rok Garbas [:garbas] from comment #37)
:oremj can we turn on index listing on those buckets? since this currently possible with product-details.mozilla.org
There is no way to turn on index listing on S3 buckets. You'd have to generate an index.html file if you want this behavior.
(In reply to Rok Garbas [:garbas] from comment #38)
also another thing. can we able hsts headers for this domains (and in the future also for production). i suppose we would need to setup a lambda function to add this headers.
I'll look in to setting HSTS headers.
Comment 40•6 years ago
|
||
Note: mozilla-django-product-details relies on the file listing pages to find all the files to update locally, as well as Last-Modified
headers to determine which files should be updated. This library is in use by a number of our websites including www.mozilla.org, MDN, and SUMO.
See bug 1226677 from when product-details.m.o was first implemented.
Comment 41•6 years ago
|
||
:oremj oh i thought there is an option for index listing. i will generate index.html in each folder.
Assignee | ||
Comment 42•6 years ago
|
||
I think we are going to need to move the deployment from taskcluster to circle. Our team is much more familiar with CircleCI and I'm running in to problems with secrets and taskcluster. It has no protection against printing secrets where CircleCI will strip them from output.
Assignee | ||
Comment 43•6 years ago
|
||
Turns out turning on CircleCI for mozilla-releng requires some extra steps, so we might as well stay the course with taskcluster.
Assignee | ||
Comment 44•6 years ago
|
||
https://product-details.staging.mozilla-releng.net and https://product-details.testing.mozilla-releng.net/ are syncing. And I've set strict-transport-security: max-age=31536000 on all the objects.
Assignee | ||
Comment 45•6 years ago
|
||
Let me know when I should proceed with the production set up.
Comment 46•6 years ago
|
||
CNAME record was updated at
https://github.com/mozilla-releng/build-cloud-tools/pull/375
for
product-details.mozilla-releng.net
domain and is pointing to
productdetails-prod.prod.mozaws.net
:oremj is it configured correctly?
Reporter | ||
Comment 47•6 years ago
|
||
Looks like everything is up and running \o/
Paul, can you see if the new product-details site (https://product-details.mozilla-releng.net/) works fine with your automation. We are going to switch the DNS entries and make it work as https://product-details.mozilla.org/
Comment 48•6 years ago
|
||
I just tested against the product-details.mozilla-releng.net and everything worked perfectly! Nice work all! And thanks for the ping.
Reporter | ||
Comment 49•6 years ago
|
||
\o/ thank for the quick turn around!
Reporter | ||
Comment 50•6 years ago
|
||
Paul, BTW, in case you need something better than scraping, you can use https://github.com/mozilla-releng/product-details/tree/production to track the changes behind that web site.
Comment 51•6 years ago
|
||
Oh funny. Rail: we're mostly using our scripts to scrape and keep another git repo updated:
https://github.com/mozilla/product-details-json
So perhaps we can ditch our thing all together and just use your repo?
Other sites still use the scraping, but bedrock (www.m.o) uses the above repo which is kept up-to-date with a periodic Jenkins job.
Reporter | ||
Comment 52•6 years ago
|
||
AFAIK https://github.com/mozilla/product-details-json uses some extra tests in order to sanity check the data. I wonder if we can integrate these repos and simplify the our lives.
Comment 53•6 years ago
|
||
It does indeed. Those tests are in place because the files we mostly use on the site (firefox_versions.json and firefox_primary_builds.json) depend on each other, but are updated independently. So we ran into race conditions where an update would get a new firefox_versions.json file for example, but no builds would be available for the new versions in firefox_primary_builds.json, so pages like www.mozilla.org/firefox/all/ could be blank for a bit. The checks in that repo simply make sure builds are available for all versions in firefox_versions.json.
https://github.com/mozilla/product-details-json/blob/master/update-product-details.py#L39-L63
But I could move those checks elsewhere or perhaps your new system doesn't have this issue? In any case I'd definitely be interested in getting together to discuss how best to consolidate our efforts on this.
Comment 54•6 years ago
|
||
:pmac I moved those 2 checks into product details generation code. would you be able to review them?
Reporter | ||
Comment 55•6 years ago
|
||
Woooooo, I like this bug :D
Assignee | ||
Comment 56•6 years ago
|
||
I think we can close this. Please reopen if anything is missing.
Description
•