Store bundled catalog readmes in object storage

What

Bundled catalog readmes are stored in object storage instead of Postgres.

readme and readme_html on catalog_bundled_resource_versions are unlimited text columns, which @mbobin raised as a database disk space risk. Both columns are now ignored, are dropped in 19.5, and the ignore is removed in 19.6. No new bucket is required.

Database review

One migration, one column, on a table that is empty in production:

ALTER TABLE catalog_bundled_resource_versions
  ADD COLUMN file_store smallint DEFAULT 1 NOT NULL;

Ci::Catalog::BundledResources::CompileAndStoreService is the only writer of this table and it still has no caller outside its own spec, so neither column holds data anywhere.

The readme write stays bundled_version.update!(readme: readme). Gitlab::ExternallyStoredField persists the payload in an after_commit hook, so it cannot be moved into the upsert_all.

References

Edited by Laura Montemayor

Merge request reports

Loading
Loading