Store pipeline variables as encrypted pipeline_artifacts with dual writes

This issue involves implementation to enable dual writes for pipeline_variables as encrypted pipeline_artifact type both in DB and Object storage.

  • Add pipeline_variables artifact type to Ci::PipelineArtifact model
  • Add encryption support in PipelineArtifactUploader.
  • Create CreateVariablesArtifactService to write variables to object storage.
  • Integrate into CreatePipelineService, for enabling dual writes.
  • Feature flag introduction in this change: pipeline_variables_artifact_write
  • Write specs
Edited by 🤖 GitLab Bot 🤖