Phase 2: Deliver and Publish the Ruby Gem for Configuration Access
Phase 2: Deliver and Publish the Ruby Gem for Configuration Access
-
Create and publish the
gitlab-cloud-connector
Ruby gem and Python package.-
Ruby Gem:
-
Add Rails gem to
gitlab-cloud-connector
project. - Set up the publication process via RubyGems.
-
Set Up CI/CD Tools:
- Implement linting (e.g., RuboCop) and testing (RSpec) for the Ruby gem.
-
Use
gem-release
for automatic publishing.
-
Add Rails gem to
-
Ruby Gem:
-
Create ADR for Unit Primitives configuration structure
-
Extract logic for Issuing JWT Access Token
-
Ruby Library:
- Build a Ruby library that can issue JWT Access Token. This should be configurable, so we can configure subject, the issuer, and the TTL
-
Ruby Library:
-
Use Ruby Gem as SSoT to access Unit Primitive Configuration
-
Ruby Library:
- [In Progress]Build a Ruby library that can read the new unit primitive configuration.
- Create adapter to convert new unit primitives to old "services" yml configuration
-
CustomersDot:
-
Replace
cloud_connector.yml
with the Ruby gem's configuration access. - Use the adapter to maintain compatibility with existing interfaces.
-
Replace
-
Gitlab.com:
-
Replace
access_data.yml
with the Ruby gem's configuration access. - Use the adapter to maintain compatibility with existing interfaces.
-
Replace
-
Ruby Library:
-
Automate Publishing and Version Bumping Process
-
Ruby Gem:
-
Automate the publishing process using
gem-release
. -
Establish a process for bumping gem versions in dependent systems (e.g., GitLab Rails, CustomersDot).
- Create templates similar to what exists for
gitlab-styles
for merge requests when updating versions.
- Create templates similar to what exists for
-
Automate the publishing process using
-
Ruby Gem:
- Show closed items
Link items together to show that they're related or that one is blocking others.