task(scripts): Add cirrus service in a dev environment

Co-authored-by: dschom <dschomburg@mozilla.com>
This commit is contained in:
Jonathan Almeida 2024-05-17 15:13:24 -04:00
Родитель 86ce8473a7
Коммит 340aa11487
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: E4931DE021B3360D
5 изменённых файлов: 53 добавлений и 0 удалений

Просмотреть файл

@ -60,5 +60,11 @@ module.exports = {
autorestart: false,
kill_timeout: 20000,
},
{
name: 'cirrus',
script: '_scripts/cirrus.sh',
autorestart: false,
kill_timeout: 20000,
},
],
};

Просмотреть файл

@ -7,6 +7,7 @@ PORTS=(
8085 # google-pubsub-emulator
9090 # google-firestore-emulator
5000 # sync server
8001 # cirrus (experimenter)
8000 # auth-server db mysql
9000 # auth-server key server
3030 # content-server

10
_scripts/cirrus.sh Executable file
Просмотреть файл

@ -0,0 +1,10 @@
#!/bin/bash -ex
echo -e "Starting cirrus experimenter."
docker run --rm --name cirrus \
--net fxa \
--mount type=bind,source=$(pwd)/_scripts/configs/cirrus.env.sample,target=/cirrus/.env \
--mount type=bind,source=$(pwd)/_scripts/configs/cirrus.fml.yml,target=/cirrus/feature_manifest/fml.yml \
-p 8001:8001 \
mozilla/cirrus:latest

Просмотреть файл

@ -0,0 +1,10 @@
CIRRUS_REMOTE_SETTING_URL=https://firefox.settings.services.mozilla.com/v1/buckets/main/collections/nimbus-web-experiments/records
CIRRUS_REMOTE_SETTING_REFRESH_RATE_IN_SECONDS=10
CIRRUS_APP_ID=test_app_id
CIRRUS_APP_NAME=test_app_name
CIRRUS_CHANNEL=release
CIRRUS_FML_PATH=/cirrus/feature_manifest/sample.yml
# CIRRUS_SENTRY_DSN=dsn_url
CIRRUS_INSTANCE_NAME=cirrus_pod_app_v1
CIRRUS_ENV_NAME=test_app_stage
CIRRUS_GLEAN_MAX_EVENTS_BUFFER=10

Просмотреть файл

@ -0,0 +1,26 @@
about:
description: Nimbus Feature Manifest for Python Testing
channels:
- beta
- release
features:
example-feature:
description: An example feature
variables:
enabled:
description: If the feature is enabled
type: Boolean
default: false
something:
description: Another variable
type: Option<String>
default: null
defaults:
- channel: beta
value: { "enabled": true }
- channel: release
value: { "something": "wicked" }
types:
objects: {}
enums: {}