Model and DB changes for Status Page Settings
What does this MR do?
This is the backend part of #207181 (closed) and sets up the Rails model, DB table and helpers. This is needed so that the frontend UI can be implemented. Frontend MR is here: !25820 (merged). This is an EE feature.
This is part of the Status Page MVC.
Implementation
The implementation of this is very similar to how we implemented the Grafana integration settings (!17234 (merged)).
We save the following fields in the database:
-
aws_s3_bucket_name(Limited to 63 chars, as per Amazon S3 Bucket Naming Requirements aws_regionaws_access_key-
aws_secret_key(Encrypted, and stored as fieldsencrypted_aws_secret_keyandencrypted_aws_secret_key_iv, usingattr_encryptedGem) -
enabled(indexed, where enabled istrue) -
project_id(indexed)
This model can be created through the Project's nested_attriubutes. It can also be destroyed. We do this when we receive a PATCH without both the aws_secret_key and aws_access_key fields.
Does this MR meet the acceptance criteria?
Conformity
-
Changelog entry -
Documentation (if required) -
Code review guidelines -
Merge request performance guidelines -
Style guides -
Database guides -
Separation of EE specific content
Related to #207181 (closed)
Edited by Heinrich Lee Yu