* TMP: add http server to expose version endpoint
* Use data volume for mounting repository files
* Use watchmedo directly from docker to run celery
* TMP: fix test
* TMP: remove data_olympia volume on ci yml
* TMP: add settings djanmgo modeul to celery worker.
* TMP: remove references to ssupervisor
* Update docs/topics/development/building_and_running_services.md
Co-authored-by: Mathieu Pillard <diox@users.noreply.github.com>
---------
Co-authored-by: Mathieu Pillard <diox@users.noreply.github.com>
* Use consistent and robust mapping of UID between host and container:
- collapse UID/GID to one value on host and container
- rename host value to HOST_UID for clarity and debugability
- rename fix_olympia_user to entrypoint and set as docker compose entrypoint
- uwsgi config to use runtime value of olympia UID/GID
* Docker compose fail after 5 attempts to start
* TMP: update outdated comment
* TMP: comment the entrypoint
* Add checks to verify built docker image
TMP: rename dependencies.txt
* Remove unused and uninstalled package
* More efficient multi stage docker buildTMP: reorganize docker more efficiently
* Organize dockerfile
- split base and olympia stages
- use heredocs for multiline RUN steps
- move file copy to source layer
- merge run steps where possible
* TMP: fix invalid bash syntax in dockerfile
* TMP: add comments to dockerfile
* Reusable Docker run action (Bunch of other stuff here to make it work)
* extract locales
* remove extraneous log
---------
Co-authored-by: Mozilla Add-ons Robot <addons-dev-automation+github@mozilla.com>
* Revert "Build local mysql apt mirror to work around upstream repo breakage (#21018)"
This reverts commit 550a4a4754.
* Update MySQL GPG key
* Stop forcing buster
* Remove old update service
* Remove more code/docs associated with services/
* Add some missing pytest.mark.django_db that the autouse fixture was hiding...
* Remove extra import
* Add a comment documenting what the update URL typically looks like
* Run watchmedo through supervisor in local envs instead of through uwsgi
This should prevent a storm of watchmedo processes when there are changes,
as this should keep the same long-lived watchmedo process instead of
spawning new ones.
Also, watch a specific file instead of the whole directory to avoid
reloads when just opening a shell (since bash_history is written to
the artifacts dir)
* add reload file to git, run on with /code/
* Watch /code/src for both celery and uwsgi
* Keep safe-pidfile
* Import addons-nginx into addons-server
* Serve xpis through X-Accel-Redirect instead of redirecting to dedicated domain
The so called "CDN URLs" for files are less useful now that even AMO main domain
is behind a CDN, and we want to move away from it because internally it exposes
paths on EFS that nginx is serving directly, making directory structure changes
difficult.
This commit focuses on the download_file/download_latest endpoints
addons-server exposes, and leaves the old dedicated CDN domain intact for the
moment - it is still used by the update service but will go away in a future
commit.
* Few fixes and test updates
* filename is an optional argument
* Test fixes
* Add assertions about caching
* Fix latest url
* Rename type_ to download_type
* reformat url definition
We're using MySQL 8.0 from MySQL, not MariaDB, so client libs should
follow for consistency - especially as MariaDB doesn't support the
default auth method MySQL 8 uses.
Also contains a slight refactor of the Dockerfile-s to have fewer
steps and be more consistent with each other.
* Move to a rolling debian-testing release for libmagic and libgit2
Fixes#13487
Unblocks #13391
And at least refs #12924, #12357 (these need further testing)
* Roll back temporary change
* Move CI envvar definition to selenium override config.
This should fix autoreload.
* Actually use to be more explicit
* Disable integration tests
* Try out different approach
* Add docs, move back the variable definition to docker-compose.yml
* Update comment
* Fix uwsgi autoreload.
This will scan python modules for modifications every 3 seconds. It most
certainly will still be more efficient than Django's autoreload.
Fixes#11990
* re-add vaccum
* Use watchmedo to reload properly
* Update 'file' version to fix json<->html detection for reviewer api.
Fixes#11534
* Add fixture file
* Rollback to xenial, install libmagic-dev manually
* Add libmagic1 dependency too
* test amd64
* Add required libmagic-mgc dependency
* Add explaining comment
* Try out using ubuntu disco sources for libmagic installation
* Force installation from the disco repo.