Commit Graph

784 Commits

Author SHA1 Message Date
Klaas van Schelven 3cd3ef6b12 Add development requirements to github workflow 2024-08-29 10:07:31 +02:00
Klaas van Schelven b1baa529d4 Use '&&' and '|||' in server-unified syntax 2024-08-29 08:39:34 +02:00
Klaas van Schelven 4c38473865 server-unified: generalize for serial/parallel approach that is not django-specific 2024-08-29 08:34:06 +02:00
Klaas van Schelven 6a705b9980 'requests' is needed (as it stands) for production too 2024-08-29 08:30:14 +02:00
Klaas van Schelven 9c32b12649 Split out requirement.development.txt 2024-08-28 22:05:08 +02:00
Klaas van Schelven 926b7c2b91 Note on select_for_update, the mysql approach 2024-08-28 19:57:09 +02:00
Klaas van Schelven 6bb853cd22 Comments about sqlite: take mysql into account too 2024-08-28 15:40:06 +02:00
Klaas van Schelven 4e613a943e Port 8000 as the default port _everywhere_
This is more canonical with stuff 'elsewhere on the internet'

we already did it behind-the-scenes for 'recommended gunicorn', so the
harmonization is in having the same default for the rest.
2024-08-28 15:21:00 +02:00
Klaas van Schelven a8c5e447c8 atomic_for_request_method: put on teams/projects views too
discovered while playing with mysql;
drive-by change, i.e. not yet tested.
2024-08-28 15:08:41 +02:00
Klaas van Schelven eb16b0f404 pyproject.toml minor changes and dead-end 2024-08-28 14:54:19 +02:00
Klaas van Schelven dd4aad2a6a Remove TODOs from conf_templates; recommend QuietConsoleBackend
the TODOs are not TO BE DONE; crosslinking like this manually is a maintenance
nightmare
2024-08-28 14:46:34 +02:00
Klaas van Schelven 709f3c73d2 Remove dead code 'DEFAULTS'
This was copied into the conf-template from the snappea/settings.py; but never
properly integrated (and it's not something I'd like to suggest as a point of
configuration)
2024-08-28 14:32:00 +02:00
Klaas van Schelven 77d39e02c0 Set a timeout for email 2024-08-28 14:28:06 +02:00
Klaas van Schelven ea5ac848fc Email backend: don't barf on the screen 2024-08-28 14:23:28 +02:00
Klaas van Schelven 14ffbb7a48 Docker: configurable using env vars 2024-08-28 12:37:13 +02:00
Klaas van Schelven c05d2e0198 SECRET_KEY: make it required
Considered: having a fall-back that is generated on-server-start. That doesn't
fly because we have gunicorn, and each server gets their own value.

Generating once on first run (in the Docker container), writing to a file: way
too fragile. i.e. on-container-restart you'd get the same (and this would be
surprising).

Given the sensitive nature of all of this, I'd say being explicit

The actual effect of changes is limited to sessions invalidating (but that bad
enough).

And the current setup is more broad, since it does a general check.

See https://stackoverflow.com/a/30266422/339144 (note: PasswordResetView
isn't used by us, we have our own)
2024-08-28 11:17:39 +02:00
Klaas van Schelven 5d6983042a Snappea: workaholic mode 2024-08-28 08:58:35 +02:00
Klaas van Schelven 66bece58c1 snappea: remove a comment that's mostly of historic interest 2024-08-28 08:58:00 +02:00
Klaas van Schelven 7616858fcf server-unified: terminate children on self-failure, deal with child-start-problems 2024-08-28 08:42:56 +02:00
Klaas van Schelven 09d3153f6e Server-unified: pids on start 2024-08-28 08:32:49 +02:00
Klaas van Schelven 04a7332156 Server-unified: sleep in busy loop 2024-08-28 08:32:33 +02:00
Klaas van Schelven 46046f894c snappea foreman comment clarifications 2024-08-27 22:17:28 +02:00
Klaas van Schelven 98b08cb2e3 Run PYTHONUNBUFFERED
'for good measure'; I've seen this before and remembered it (i.e. I have not
actually observed a need for it this time).

https://stackoverflow.com/a/59812588/339144
2024-08-27 21:57:02 +02:00
Klaas van Schelven f6c43d4d6d bugsink-server-unified: run in Docker 2024-08-27 21:53:13 +02:00
Klaas van Schelven ff42682c41 PoC for bugsink-server-unified 2024-08-27 21:04:16 +02:00
Klaas van Schelven d3029cbb70 Revert development.py stuff done for mysql poc
i.e. in 32f87457d0
2024-08-27 11:10:38 +02:00
Klaas van Schelven 24fcc7c2d8 Add version tags to Docker image 2024-08-27 10:14:09 +02:00
Klaas van Schelven e4174d1e64 mysqlclient out of requirements.txt
just install it where we need it, namely in the Docker image
2024-08-27 09:50:31 +02:00
Klaas van Schelven f20104770e Docker from wheel, not sourcecode
this way we reuse all the thinking we did when getting the Python wheels in order.
* what to include/exclude
* setting up the scripts
2024-08-27 09:48:39 +02:00
Klaas van Schelven 200ea5eb84 Docker image: Ubuntu -> python-slim
* I'd rather harmonize with "the docker way" than with my own recommended setup
* slim: expectation is that this is smaller (not checked)
* this is a 2-stage build (slim has no gcc, needed for mysql)
* PEP668 does not apply here ("externally managed"), which leads to
* better ergonomics: no env/bin/some-command
2024-08-27 09:04:42 +02:00
Klaas van Schelven d00d007306 Dockerfile(s): the afternoon's progress 2024-08-26 20:37:55 +02:00
Klaas van Schelven 32f87457d0 MySQL PoC 2024-08-26 11:22:58 +02:00
Klaas van Schelven 00af16b747 gitignore update for package name-change 2024-08-26 09:20:36 +02:00
Klaas van Schelven 3b5084edf6 pytoml project name lowercase
makes for wheel/sdist consistency
2024-08-22 10:41:05 +02:00
Klaas van Schelven 70fdbc9cbd Sentry DSN setup: recommend what we do ourselves 0.1.7 2024-08-22 10:03:28 +02:00
Klaas van Schelven b9292291b5 Remove auto_session_tracking=False from sentry-init
The default is True.

It was copy-pasted from earlier integrations, but its exact origin (and
whether it is strictly needed) is unclear. Perhaps installation instructions
from (some) Sentry or Glitchtip?

We don't have explicit support for sessions, but I'm not clear enough on this
one to recommend against it either. And for our own usage, this provides a
way to get samples of session data in the playground/dogfood.
2024-08-22 09:41:39 +02:00
Klaas van Schelven ebd0a612d9 Flake8 and f-strings whitespace (E201, E202) 2024-08-21 10:01:38 +02:00
Klaas van Schelven 6caa57e0b0 Github workflow typo 2024-08-21 09:39:56 +02:00
Klaas van Schelven 6021af9ff3 Fix github workflow names 2024-08-21 09:39:27 +02:00
Klaas van Schelven dd968d7d43 Flake8 Github Workflow 2024-08-21 09:37:01 +02:00
Klaas van Schelven 129a8db421 Fix various flake8 errors 2024-08-21 09:31:05 +02:00
Klaas van Schelven 7ac78fe922 Close files in test (-Wall warning fix) 2024-08-21 09:03:57 +02:00
Klaas van Schelven f7972cbec0 use datetime.timezone.utc
RemovedInDjango50Warning: The django.utils.timezone.utc alias is deprecated. Please update your code to use datetime.timezone.utc instead.
2024-08-21 09:01:20 +02:00
Klaas van Schelven 5968e88c67 Bump github setup-python to v5
might solve the following:

> The following actions use a deprecated Node.js version and will be forced to run on node20: actions/setup-python@v3. For more info: https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
2024-08-21 08:53:20 +02:00
Klaas van Schelven 1bfac5d8c6 assertEquals -> assertEual (Python 3.12)
<<insert remarks about fashion police>>
2024-08-21 08:49:49 +02:00
Klaas van Schelven ee8ccdaeb4 Github Actions: try with strings to avoid '3.1' error 2024-08-21 08:41:29 +02:00
Klaas van Schelven 98a4973de0 Create Action tests.yml
Using Github's template for Django; adopting Python versions with currently supported ones
2024-08-21 08:39:23 +02:00
Klaas van Schelven 03f0a2f673 Add README 2024-08-21 08:30:46 +02:00
Klaas van Schelven 6560767764 Tailwind: Explicitly point to python file containing class 2024-08-19 22:12:20 +02:00
Klaas van Schelven ff48ffb977 Query counts for DEBUG=False contexts (i.e. our own 'playground' etc) 2024-08-19 15:14:24 +02:00