Closed Bug 1668666 Opened 5 years ago Closed 5 years ago

New service: Normandy Devtools

Categories

(Cloud Services :: Operations: Normandy, task)

task

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: mythmon, Assigned: brian)

Details

Service name

normandy-devtools

Who's on the team

What the service does, and for whom

Provides a UI to navigate the Normandy API, including viewing and potentially editing. Editing is undecided at this point, but if it is involved it will mean authentication with Auth0 and using users' local VPN connections to communicate with the Normandy admin servers.

The expected audience is the Experiments operations team (Shell, Mythmon, Rehan, Tif, etc) and experiment owners from around the company. The overall load is expected to be quite low.

NDT is the replacement for the existing Delivery Console, which has a similar role but an architecture that we decided wasn't worth continuing. NDT is a hybrid solution. It can (soon) be deployed as a webapp, but is primarily intended to be used as a Firefox extension, which gives it increased functionality.

Current status

Currently only the extension version of NDT has been released. The next release of NDT is expected to have a functioning webapp version. We have no specific infrastructure for how to build that version, other than the generated static files.

Legal and Security approvals

No legal or security consultation has been done. There is no RRA. I (mythmon) believe that the service doesn't need these, but I'll be happy to do the leg work if we don't have consensus about that. Since this service contains no data of its own except minimal authentication details in user's browsers, we rely on the security of the backend services (Normandy, Experimenter, etc).

Production DNS

No preference. normandy-devtools.services.mozilla.com is fine

Communication preferences

There is no Bugzilla component. Github issues are preferred, at mozilla-extensions/normandy-devtools. Security bugs may be filed in the Bugzilla component Firefox::Normandy Server.

Conversation should take place in the #normandy Slack channel. Individual but public pings should be used instead of a group ping.

Mythmon will take responsibility for informing CloudOps of major changes to usage.
End-User Communication

Outages

Outage notifications should go in #normandy on Slack.

Downtime impact and risk preferences

Outages are acceptable. The primary users of Normandy Devtools use the site as an extension. The web hosted version is primarily for read-only access, and is not critical. In general, if there are problems that cause an outage, we will prefer to roll forward.

Versioning and changelogs

Versions are managed as Github releases, and changelogs are published there. #delivery-notifications on Slack should be used for deploy notifications. Semantic versioning is used.

Offboarding

Normandy Devtools should continue being hosted as long as Normandy Server is still serving recipes to Firefox, unless Normandy Devtools is replaced by another tool.
Code Considerations

NDT is a static website with no dedicated configuration or backends. It has the ability to, at runtime, be pointed at any of the standard Normandy environments (dev, stage, prod, local). It doesn't require special build steps that vary by environment. A simple static site hosting solution, such as S3 will be suffice.

HI Mythmon,

This should be straightforward for us to set up. When do you hope to have the new site online?

After we spin up the underlying resources, you can build and deploy the site in CircleCI using these steps- https://github.com/mozilla-services/cloudops-infra-terraform-modules/tree/master/static-website#release-process . I will try to find an example workflow that does that for you. I'll need permission in CircleCI to configure the AWS secrets as environment variables on the NDT project.

Even though it's just a static site, please file an RRA request

Assignee: nobody → bpitts

I typed this up and never actually sent it. Doh!

We're aiming to have the work that includes the new site done by October 19th, and I've filed an RRA request in bug 1668866.

I've invited you to the Github repo with enough access to add the AWS credentials, and I'll work on adding a workflow similar to the FirefoxColor one.

Sounds good!

The infra for this should be quick for me to spin up, so I'll plan to do that after the RRA.

Component: General → Operations: Normandy

I plan to spin up the infra next week.

After doing that I'll check off the relevant items at https://github.com/mozilla-extensions/normandy-devtools/issues/573

https://normandy-devtools.services.mozilla.com/ is up.

The infra code is https://github.com/mozilla-services/cloudops-infra/pull/2662

I configured https://app.circleci.com/settings/project/github/mozilla-extensions/normandy-devtools/environment-variables to have the same environment variable names as Firefox Color.

Let me know if you run into any issues.

Status: NEW → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.