featurebase/ctl
Matthew Jaffee be4f365eaf
Cloud 1358 bolt postgres (#2286)
Switch Serverless from using BoltDB to Postgres as metadata store.

Previously, the controller stored all metadata to BoltDB. This implements SQLDB (currently Postgres flavored) as the backing store for metadata. This will allow us to have multiple instances of the controller running for HA, and to easily inspect and repair the contents of the metadata store.

Unfortunately, it was not straightforward to keep the BoltDB implementation working alongside the SQL one, so it will be removed in a later patch. Once that's done, the SQL implementation should allow for a number of simplifications of the schemar and balancer interfaces.

Database migration is built directly into the application by embedding the migration files and logic from the `soda` command line tool. When connecting to the RDBMS, the app will always attempt to create the necessary database and apply any outstanding migrations.

Integration tests truncate all tables upon start, but *not* at the end, so the state of the database can be inspected after integration tests.

Had to refactor some of the controller's background tasks to make sure they get properly shut down on controller exit.
2023-03-20 09:02:22 -05:00
..
testdata FB-1766: cleaning up the CmdIO objects passing alternate stdin/ 2022-12-12 09:01:20 -08:00
auth_token.go Sync from private repo to commit 12d608c80d 2022-12-12 09:01:20 -08:00
auth_token_internal_test.go write header before body 2022-12-12 09:01:20 -08:00
backup.go Linters! (#2314) 2023-03-10 15:13:15 -06:00
backup_tar.go Linters! (#2314) 2023-03-10 15:13:15 -06:00
backup_tar_test.go resolve go vet errors related to redeclares 2023-01-12 20:32:49 +00:00
backup_test.go Linters! (#2314) 2023-03-10 15:13:15 -06:00
chksum.go actually yield checksums to caller 2023-03-01 12:48:00 -06:00
chksum_test.go actually yield checksums to caller 2023-03-01 12:48:00 -06:00
common.go Updated dependency paths to reflect new repo location 2022-09-06 09:39:22 -07:00
config.go Sync from private repo to commit 12d608c80d 2022-12-12 09:01:20 -08:00
config_test.go FB-1766: cleaning up the CmdIO objects passing alternate stdin/ 2022-12-12 09:01:20 -08:00
dataframe-csv-loader.go Enable linter: stylecheck (#2317) 2023-03-14 08:45:18 -05:00
dataframe-csv-loader_test.go string support for dataframe (#2405) 2023-01-19 21:51:16 +00:00
dax.go Cloud 1358 bolt postgres (#2286) 2023-03-20 09:02:22 -05:00
doc.go Updated code to latest version for open-sourcing. 2022-09-02 13:23:39 -07:00
export.go Linters! (#2314) 2023-03-10 15:13:15 -06:00
export_test.go Sync from private repo to commit 12d608c80d 2022-12-12 09:01:20 -08:00
generate_config.go Sync from private repo to commit 12d608c80d 2022-12-12 09:01:20 -08:00
generate_config_test.go Sync from private repo to commit 12d608c80d 2022-12-12 09:01:20 -08:00
import.go Linters! (#2314) 2023-03-10 15:13:15 -06:00
import_test.go FB-1766: cleaning up the CmdIO objects passing alternate stdin/ 2022-12-12 09:01:20 -08:00
keygen.go Enable linter: stylecheck (#2317) 2023-03-14 08:45:18 -05:00
keygen_test.go Sync from private repo to commit 12d608c80d 2022-12-12 09:01:20 -08:00
main_test.go Updated dependency paths to reflect new repo location 2022-09-06 09:39:22 -07:00
parquet-info.go Linters! (#2314) 2023-03-10 15:13:15 -06:00
presort.go Fix pre sort cmd (#2222) 2023-01-25 11:01:58 -06:00
presort_test.go Fix pre sort cmd (#2222) 2023-01-25 11:01:58 -06:00
rbf_check.go Sync from private repo to commit 12d608c80d 2022-12-12 09:01:20 -08:00
rbf_check_test.go Sync from private repo to commit 12d608c80d 2022-12-12 09:01:20 -08:00
rbf_dump.go Sync from private repo to commit 12d608c80d 2022-12-12 09:01:20 -08:00
rbf_dump_test.go Sync from private repo to commit 12d608c80d 2022-12-12 09:01:20 -08:00
rbf_page.go Sync from private repo to commit 12d608c80d 2022-12-12 09:01:20 -08:00
rbf_page_test.go Sync from private repo to commit 12d608c80d 2022-12-12 09:01:20 -08:00
rbf_pages.go Sync from private repo to commit 12d608c80d 2022-12-12 09:01:20 -08:00
rbf_pages_test.go Sync from private repo to commit 12d608c80d 2022-12-12 09:01:20 -08:00
restore.go Linters! (#2314) 2023-03-10 15:13:15 -06:00
restore_tar.go Enable linter: stylecheck (#2317) 2023-03-14 08:45:18 -05:00
restore_tar_test.go Linters! (#2314) 2023-03-10 15:13:15 -06:00
restore_test.go Linters! (#2314) 2023-03-10 15:13:15 -06:00
server.go this now prints a message 2023-03-01 21:43:53 -08:00
server_test.go Fb 1975 (#2254) 2023-02-17 13:50:45 -06:00
util.go Linters! (#2314) 2023-03-10 15:13:15 -06:00