Commit Graph

6 Commits

Author SHA1 Message Date
GitLab Bot e109a7799e Add latest changes from gitlab-org/gitlab@master 2020-12-10 21:10:15 +00:00
GitLab Bot c59765a50a Add latest changes from gitlab-org/gitlab@master 2020-06-24 18:09:03 +00:00
GitLab Bot 680d188025 Add latest changes from gitlab-org/gitlab@master 2020-05-19 21:08:05 +00:00
GitLab Bot fca89bb73f Add latest changes from gitlab-org/gitlab@master 2020-03-11 21:09:19 +00:00
Arturo Herrero aaae14c00e Encrypt application settings with pre and post deployments
We had concerns about the cached values on Redis with the previous two
releases strategy:

First release (this commit):
  - Create new encrypted fields in the database.
  - Start populating new encrypted fields, read the encrypted fields or
    fallback to the plaintext fields.
  - Backfill the data removing the plaintext fields to the encrypted
    fields.
Second release:
  - Remove the virtual attribute (created in step 2).
  - Drop plaintext columns from the database (empty columns after
    step 3).

We end up with a better strategy only using migration scripts in one
release:
  - Pre-deployment migration: Add columns required for storing encrypted
    values.
  - Pre-deployment migration: Store the encrypted values in the new
    columns.
  - Post-deployment migration: Remove the old unencrypted columns
2019-11-26 14:02:55 +01:00
Arturo Herrero 9183bf943b Encrypt application setting tokens
This is the plan to encrypt the plaintext tokens:

First release (this commit):
  1. Create new encrypted fields in the database.
  2. Start populating new encrypted fields, read the encrypted fields or
     fallback to the plaintext fields.
  3. Backfill the data removing the plaintext fields to the encrypted fields.

Second release:
  4. Remove the virtual attribute (created in step 2).
  5. Drop plaintext columns from the database (empty columns after step 3).
2019-11-26 13:12:18 +01:00