* Fix user-media loading in local environments
URLs with /user-media/foo should map to
<root_storage>/user-media/shared_storage/uploads/ on the filesystem.
* Only log docker compose if specified in CI run-docker step
* Better and alphabetized ignore paths for git and docker
* Less aggressive post start health checks
* Clean up redundant code
* Add better documentation about dockerignore/gitignore
* Update start period
* 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.