Class: Rake::Gem::Maintenance::WoodpeckerSecretStore
- Inherits:
-
Object
- Object
- Rake::Gem::Maintenance::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.
10 11 12 13 14 |
# File 'lib/rake/gem/maintenance/woodpecker_secret_store.rb', line 10 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
16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/rake/gem/maintenance/woodpecker_secret_store.rb', line 16 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 |