|
| 1 | +--- |
| 2 | +id: getting-started-for-nimbus-web-integration |
| 3 | +title: Getting Started for Nimbus Web Integration |
| 4 | +slug: getting-started-for-nimbus-web-integration |
| 5 | +--- |
| 6 | + |
| 7 | +## Introduction |
| 8 | + |
| 9 | +This guide outlines the high level steps and considerations for integrating Nimbus (Cirrus) into your web application. More detailed steps are available in the [checklist](https://docs.google.com/document/d/1GyO3o81RxrfXdN0oLz__6F0S3eCPbLKx5nHmDyv5i34/copy?usp=sharing) |
| 10 | + |
| 11 | + |
| 12 | +## Integration Steps |
| 13 | +To integrate Nimbus (Cirrus) with your web application, these are high-level steps, you can find more detailed version in the [checklist](https://docs.google.com/document/d/1GyO3o81RxrfXdN0oLz__6F0S3eCPbLKx5nHmDyv5i34/copy?usp=sharing): |
| 14 | + |
| 15 | +1. **Glean** |
| 16 | +- Integrate [Glean](https://docs.telemetry.mozilla.org/concepts/glean/glean.html) on your web application. |
| 17 | + |
| 18 | +2. **FML** |
| 19 | +- Make [Feature Manifest Language (FML) configuration](https://experimenter.info/fml-spec#introducing-the-fml) available in your repository. |
| 20 | + |
| 21 | +3. **Probe Scraper** |
| 22 | +- Add application into [probe scraper](https://mozilla.github.io/glean/book/user/adding-glean-to-your-project/enable-data-ingestion.html#add-your-product-to-probe-scraper) for data collection. |
| 23 | + |
| 24 | +4. **Cirrus Container Image** |
| 25 | +- Verify Access to Cirrus container image: [Mozilla Cirrus Docker Hub](https://hub.docker.com/r/mozilla/cirrus/tags). |
| 26 | + |
| 27 | +5. **Deploy Cirrus Container** |
| 28 | +- Deploy Cirrus container as a sidecar container in your Kubernetes deployment and add the [environment variables](https://github.com/mozilla/experimenter/tree/main/cirrus#environment-setup). |
| 29 | + |
| 30 | +6. **Configure Feature Manifest Language (FML)** |
| 31 | +- Add feature in Feature Manifest Language (FML). |
| 32 | + |
| 33 | +7. **Integrate Glean SDK** |
| 34 | +- Identify key metrics and configure with your application. |
| 35 | + |
| 36 | +8. **Call Cirrus Container** |
| 37 | +- Pass the unique client id and context when calling the container to receive the features. Refer to [API docs](https://github.com/mozilla/experimenter/tree/main/cirrus) for more details. |
| 38 | + ```json |
| 39 | + { |
| 40 | + "client_id": "4a1d71ab-29a2-4c5f-9e1d-9d9df2e6e449", |
| 41 | + "context": { |
| 42 | + "key1": "value1", |
| 43 | + "key2": { |
| 44 | + "key2.1": "value2", |
| 45 | + "key2.2": "value3" |
| 46 | + } |
| 47 | + } |
| 48 | + } |
| 49 | + ``` |
| 50 | + |
| 51 | +9. **Validation and Testing** |
| 52 | +- Validate setup and test the integration thoroughly. |
| 53 | + |
| 54 | +10. **Experiment Analysis** |
| 55 | +- Add application support on Jetstream/OpMon and Metric hub. |
| 56 | + |
| 57 | +11. **Additional Considerations** |
| 58 | +- Provide training resources for experiment owners and reviewers. |
| 59 | + |
| 60 | +## Additional Notes |
| 61 | + |
| 62 | +For any questions or assistance, reach out to the Nimbus team on Slack channel #ask-experimenter. |
0 commit comments