Mike Dalessio
0a0816aca6
bin/setup runs mise install
2025-09-17 16:03:15 -04:00
Mike Dalessio
d5a4239d19
Rename the queenbee_id and signal_user_id columns
...
to be more generic for the open-source release.
Find the signal account via Account#external_account
Find the signal user via User#external_user
2025-09-15 13:57:53 -04:00
Mike Dalessio
2630e4bd74
Extract 37id and QB controllers, models, and tests
2025-09-13 16:03:02 -04:00
Mike Dalessio
f4e2fe31b4
dep: add refs to the fizzy-saas git dependencies
...
so that we can quickly switch the app between using the saas extension
and not. (Bundler will re-fetch the remote if the ref is not present.)
Also set the bundler config to auto-install missing dependencies.
2025-09-13 16:03:02 -04:00
Mike Dalessio
8ad0c65997
Extract saas bin/setup
2025-09-13 15:21:01 -04:00
Mike Dalessio
9db98366c3
Set up a "cleanslate" seed that has no cards and no collections
...
and only a single user, david@37signals.com
ref: https://fizzy.37signals.com/5986089/collections/7/cards/1318
2025-08-06 17:35:55 -04:00
Mike Dalessio
57269b1b9c
Allow local authentication with LOCAL_AUTHENTICATION=1
...
You can touch `tmp/local-auth.txt` to persist this setting.
2025-08-06 17:05:35 -04:00
David Heinemeier Hansson
caaa205557
Switch to docker-dev
2025-07-16 15:33:22 -07:00
Mike Dalessio
3d39bdc9f3
Update bin/dev to point at the new tenant URLs
2025-07-01 15:56:14 -04:00
Kevin McConnell
108ea38759
Start MySQL container in bin/setup
2025-06-24 16:18:19 +01:00
Mike Dalessio
a8a64a2384
Link the seeds up to the signal_id fixture data
2025-06-20 15:16:57 -04:00
Mike Dalessio
3444427d32
Don't run solid queue in dev by default
...
but allow it to be turned on by touching tmp/solid-queue.txt
2025-05-08 13:44:05 -04:00
Mike Dalessio
f42973618d
bin/dev ensures puma runs solid queue
...
ref: https://37s.fizzy.37signals.com/collections/693169850/cards/999009028
2025-05-07 14:38:59 -04:00
David Heinemeier Hansson
c4fbed3156
Try a slimmer version
...
And I actually stopped liking that setup automatically starts the
server.
2025-04-22 21:20:55 +02:00
David Heinemeier Hansson
29948d8881
Enumerate all the options for logging in
2025-04-21 15:23:31 +02:00
David Heinemeier Hansson
2bfead0381
Convert to conventional Rails style
2025-04-21 15:23:08 +02:00
David Heinemeier Hansson
70275c9f04
Yank Solid Queue from development
...
It clogs up the test log and occasionally causes the puma to hang when
you want to quit.
2025-04-18 16:30:30 +02:00
David Heinemeier Hansson
0866eb6948
Excess CR
2025-04-05 17:33:37 +02:00
David Heinemeier Hansson
537cb7680e
Add Bundler Audit for Local CI
2025-04-05 17:20:51 +02:00
David Heinemeier Hansson
aaa4dd2967
Use modern CI setup
2025-04-05 17:18:26 +02:00
David Heinemeier Hansson
338ff496da
No system tests yet
2025-04-05 17:15:47 +02:00
Mike Dalessio
c5c0ff86ec
dev: move script from /bin to /script
2025-04-01 12:14:58 -04:00
Mike Dalessio
6b039b71ab
Add a post-deploy hook to tag the release and post to basecamp
...
These scripts were only slightly modified from the versions in bc3
2025-03-20 13:17:11 -04:00
Mike Dalessio
c167b971b9
Add bin/ci
2025-03-20 12:57:28 -04:00
Mike Dalessio
dbe783c182
Final version of the tenancy migration script.
2025-03-12 08:27:30 -04:00
Mike Dalessio
300dffd376
Script and configuration for a multi-tenant migration
...
ref: https://3.basecamp.com/2914079/buckets/37331921/messages/8422006338
The script takes advantage of the fact that we can bind to the
existing untenanted database by adding it explicitly (and temporarily)
as a readonly shard to the database.yml, and so in the script
with_original_db is connected to the original database.
storage/tenants/%{tenant}/ is now the root directory for all
state stored for a particular tenant, including active storage and the
database.
We leave the existing files and production database in place after the
migration, in case we need to roll back (by reverting the code and
config).
We also don't do a granular active storage blob copy, since the
attachments are mostly on Account (and not on Bubble). Instead we
hardlink the blobs on disk (so we don't take up additional space with
duplicates).
Finally, we're manually adding the kamal-proxy hosts to the deploy
file, so that we can generate letsencrypt certs for the
subdomains. This is only intended to be a short-term solution, we'll
want something like a wildcard cert before we go live.
2025-03-12 07:53:31 -04:00
Mike Dalessio
d9ece38753
Make the application multi-tenant
2025-03-12 07:53:31 -04:00
Kevin McConnell
8b17a33a75
Only run Solid Queue in Puma in dev
...
In production, we have extra containers for it.
2025-02-10 17:55:46 +00:00
Kevin McConnell
890c754f85
Add Kamal deploy config
2025-01-27 13:02:55 +00:00
Kevin McConnell
f02b75e76b
Remove old deploy config
2025-01-27 09:02:51 +00:00
Kevin McConnell
bab5bc718d
Rename deployment targets
2025-01-15 10:57:27 +00:00
Kevin McConnell
90538afb3b
Add Solid Queue
...
We'll run jobs via the Puma plugin for now, to simplify the deployment.
2025-01-08 14:02:45 +00:00
Kevin McConnell
6df4637309
Require 'logger' to prevent warning in Ruby 3.4
2025-01-06 10:48:52 +00:00
Kevin McConnell
e009874767
Set up for internal deployment
2024-10-07 16:47:39 -04:00
Jeffrey Hardy
5266b4cbd3
./bin/dev -> bin/dev
2024-09-20 14:53:02 -04:00
Jeffrey Hardy
b3f7b0e256
There are no services to restart
2024-09-13 18:05:45 -04:00
Jeffrey Hardy
bbb394db02
Drop puma-dev in favor of localhost
2024-09-06 16:28:51 -04:00
Jeffrey Hardy
e0763d4d4b
Splat -> Fizzy
2024-08-22 14:53:49 -04:00
Jeffrey Hardy
97b7c6e212
Tidy setup output
2024-08-20 14:17:08 -04:00
Jeffrey Hardy
117d5b1e2e
Use bin/setup --reset to recreate the database
2024-08-16 17:06:51 -04:00
Jeffrey Hardy
d17326ecd9
Use bash for bin/setup
...
That the ruby version is mostly shelling out is a hint that a shell language
might be a better choice. It's more direct, slightly faster, it sidesteps
chicken/egg problems when installing ruby, and writing things in bash is fun.
It's good to have an excuse to flex those shell muscles 💪
2024-08-13 13:03:35 -04:00
Kevin McConnell
01647e1d40
Set up in puma-dev
2024-07-02 11:57:15 +01:00
Kevin McConnell
5f5226d05b
Add CI
2024-06-24 15:09:34 +01:00
Kevin McConnell
b9cf8c5e9d
Set up Rubocop
2024-06-21 16:42:48 +01:00
Kevin McConnell
564a0f48ae
New Rails app
2024-06-21 13:19:56 +01:00