Module: GlobiGuard::Bootstrap
- Defined in:
- lib/globiguard.rb
Class Method Summary collapse
- .install_registration(profile, package_name:, package_version:, integration_kind:, runtime_kind:) ⇒ Object
- .validate_profile(profile) ⇒ Object
Class Method Details
.install_registration(profile, package_name:, package_version:, integration_kind:, runtime_kind:) ⇒ Object
186 187 188 189 190 191 192 193 194 195 196 197 |
# File 'lib/globiguard.rb', line 186 def install_registration(profile, package_name:, package_version:, integration_kind:, runtime_kind:) validate_profile(profile) { environment: profile.fetch(:environment), deploymentMode: profile.fetch(:deploymentMode), issuerMode: profile.fetch(:issuerMode), installReporting: profile.fetch(:installReporting), installLabel: profile[:installLabel], package: { name: package_name, version: package_version }, integration: { kind: integration_kind, runtime: runtime_kind } } end |
.validate_profile(profile) ⇒ Object
199 200 201 202 203 204 205 206 207 208 |
# File 'lib/globiguard.rb', line 199 def validate_profile(profile) raise ArgumentError, "Invalid environment." unless ENVIRONMENTS.include?(profile[:environment]) if profile[:deploymentMode] == "hosted" && profile[:issuerMode] != "globiguard_issued" raise ArgumentError, "Hosted deployments require globiguard_issued issuer mode." end return unless %w[self_hosted sovereign].include?(profile[:deploymentMode]) raise ArgumentError, "Self-hosted and sovereign deployments require customer_issued issuer mode." unless profile[:issuerMode] == "customer_issued" raise ArgumentError, "Self-hosted and sovereign install reporting must be opt_in or disabled." unless %w[opt_in disabled].include?(profile[:installReporting]) end |