|
| 1 | +<% |
| 2 | + |
| 3 | +credhub_url = nil |
| 4 | +credhub_ca_certs = nil |
| 5 | +if_link("credhub") do |link| |
| 6 | + credhub_url = sprintf("https://%s:%d", link.p("credhub.internal_url"), link.p("credhub.port")) |
| 7 | + credhub_ca_certs = link.p("credhub.ca_certificate") |
| 8 | +end |
| 9 | +unless credhub_url |
| 10 | + credhub_url = p("credhub_exporter.credhub.api_url") |
| 11 | + credhub_ca_certs = p("credhub_exporter.credhub.ca_certs") |
| 12 | +end |
| 13 | + |
| 14 | +args = [ |
| 15 | + "--log.level", p("credhub_exporter.log_level"), |
| 16 | + "--log.format", p("credhub_exporter.log_format"), |
| 17 | +] |
| 18 | + |
| 19 | +env = {} |
| 20 | +env["CREDHUB_EXPORTER_API_URL"] = credhub_url |
| 21 | +env["CREDHUB_EXPORTER_CLIENT_ID"] = p("credhub_exporter.credhub.client_id") |
| 22 | +env["CREDHUB_EXPORTER_CLIENT_SECRET"] = p("credhub_exporter.credhub.client_secret") |
| 23 | +env["CREDHUB_EXPORTER_FILTER_NAMELIKE"] = p("credhub_exporter.filters.name-like", "") |
| 24 | +env["CREDHUB_EXPORTER_FILTER_PATH"] = p("credhub_exporter.filters.path", "") |
| 25 | +env["CREDHUB_EXPORTER_GENERIC_CERTIFICATES"] = p("credhub_exporter.filters.generic-certificates").to_json |
| 26 | +env["CREDHUB_EXPORTER_METRICS_DEPLOYMENT"] = p("credhub_exporter.metrics.deployment") |
| 27 | +env["CREDHUB_EXPORTER_METRICS_NAMESPACE"] = p("credhub_exporter.metrics.namespace") |
| 28 | +env["CREDHUB_EXPORTER_METRICS_ENVIRONMENT"] = p("credhub_exporter.metrics.environment") |
| 29 | +env["CREDHUB_EXPORTER_METRICS_UPDATE_INTERVAL"] = p("credhub_exporter.metrics.update_interval") |
| 30 | +env["CREDHUB_EXPORTER_WEB_LISTEN_ADDRESS"] = ":#{p("credhub_exporter.web.port")}" |
| 31 | +env["CREDHUB_EXPORTER_WEB_TELEMETRY_PATH"] = p("credhub_exporter.web.telemetry_path") |
| 32 | +env["CREDHUB_EXPORTER_WEB_AUTH_USERNAME"] = p("credhub_exporter.web.auth_username", "") |
| 33 | +env["CREDHUB_EXPORTER_WEB_AUTH_PASSWORD"] = p("credhub_exporter.web.auth_password", "") |
| 34 | +env["CREDHUB_EXPORTER_SKIP_SSL_VERIFY"] = "false" |
| 35 | + |
| 36 | +if not credhub_ca_certs.empty? |
| 37 | + env["CREDHUB_EXPORTER_CA_CERTS_PATH"] = "/var/vcap/jobs/credhub_exporter/config/credhub_tls_ca_cert.pem" |
| 38 | +end |
| 39 | + |
| 40 | +# when property value is true |
| 41 | +# -> not "if property exists" |
| 42 | +# -> always defined since it has a default value in spec |
| 43 | +if p("credhub_exporter.skip_ssl_verify") |
| 44 | + env["CREDHUB_EXPORTER_SKIP_SSL_VERIFY"] = "true" |
| 45 | +end |
| 46 | + |
| 47 | +if_p("credhub_exporter.web.tls_cert", "credhub_exporter.web.tls_key") do |
| 48 | + env["CREDHUB_EXPORTER_WEB_TLS_CERTFILE"] = "/var/vcap/jobs/credhub_exporter/config/web_tls_cert.pem" |
| 49 | + env["CREDHUB_EXPORTER_WEB_TLS_KEYFILE"] = "/var/vcap/jobs/credhub_exporter/config/web_tls_key.pem" |
| 50 | +end |
| 51 | + |
| 52 | + |
| 53 | +[ "http", "https", "no" ].each do |key| |
| 54 | + name = "#{key}_proxy" |
| 55 | + if_p("env.#{name}") do |val| |
| 56 | + env[name.upcase] = val |
| 57 | + env[name] = val |
| 58 | + end |
| 59 | +end |
| 60 | + |
| 61 | +config = { |
| 62 | + "processes" => [ |
| 63 | + { |
| 64 | + "name" => "credhub_exporter", |
| 65 | + "executable" => "/var/vcap/packages/credhub_exporter/bin/credhub_exporter", |
| 66 | + "env" => env, |
| 67 | + "args" => args, |
| 68 | + } |
| 69 | + ] |
| 70 | +} |
| 71 | +%> |
| 72 | + |
| 73 | +<%= YAML.dump(config) %> |
0 commit comments