Class: Rake::GemMaintenance::WoodpeckerSecretStore
- Inherits:
-
Object
- Object
- Rake::GemMaintenance::WoodpeckerSecretStore
- Defined in:
- lib/rake/gem/maintenance/woodpecker_secret_store.rb
Overview
Creates or updates an org-level secret in a Woodpecker CI server. SSL verification is disabled because Woodpecker is typically served on an internal network with a private CA.
Instance Method Summary collapse
-
#initialize(server:, org:, token:) ⇒ WoodpeckerSecretStore
constructor
A new instance of WoodpeckerSecretStore.
- #store(secret_name, value, events: %w[push tag manual])) ⇒ Object
Constructor Details
#initialize(server:, org:, token:) ⇒ WoodpeckerSecretStore
Returns a new instance of WoodpeckerSecretStore.
9 10 11 12 13 |
# File 'lib/rake/gem/maintenance/woodpecker_secret_store.rb', line 9 def initialize(server:, org:, token:) @server = server @org = org @token = token end |
Instance Method Details
#store(secret_name, value, events: %w[push tag manual])) ⇒ Object
15 16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/rake/gem/maintenance/woodpecker_secret_store.rb', line 15 def store(secret_name, value, events: %w[push tag manual]) org_id = find_org_id abort "[ERROR] Woodpecker org '#{@org}' not found on #{@server}." unless org_id if secret_exists?(org_id, secret_name) patch("/api/orgs/#{org_id}/secrets/#{secret_name}", { value: value, events: events, images: [] }) else post("/api/orgs/#{org_id}/secrets", { name: secret_name, value: value, events: events, images: [] }) end end |