mini-apm 0.0.0

Minimal APM for Rails
Documentation
{% extends "layout.html" %}

{% block title %}API Key - MiniAPM{% endblock %}

{% block content %}
<h1>API Key</h1>

<div class="card">
    <h2>Your API Key</h2>
    <p>Use this API key to authenticate requests from your application.</p>

    <div class="api-key-display">
        <code class="api-key api-key-large">{{ api_key }}</code>
        <button type="button" class="btn btn-secondary" onclick="navigator.clipboard.writeText('{{ api_key }}')">Copy</button>
    </div>

    <form method="POST" action="/api-key/regenerate" class="regenerate-form">
        <button type="submit" class="btn btn-danger" onclick="return confirm('Regenerate API key? All existing integrations will stop working until updated.')">
            Regenerate Key
        </button>
    </form>
</div>

<div class="card" style="margin-top: 2rem;">
    <h2>Integration</h2>
    <p>Add the MiniAPM gem to your Rails application and configure it with your API key:</p>

    <h3>1. Add to your Gemfile</h3>
    <pre><code>gem 'miniapm'</code></pre>

    <h3>2. Configure in an initializer</h3>
    <pre><code># config/initializers/miniapm.rb
MiniAPM.configure do |config|
  config.api_key = "{{ api_key }}"
  config.endpoint = "http://localhost:3000"
  config.service_name = "my-app"
  config.environment = Rails.env
end</code></pre>

    <h3>3. Environment Variables (Recommended)</h3>
    <p>For better security, use environment variables:</p>
    <pre><code># .env or your environment
MINI_APM_API_KEY={{ api_key }}
MINI_APM_ENDPOINT=http://localhost:3000

# config/initializers/miniapm.rb
MiniAPM.configure do |config|
  config.api_key = ENV["MINI_APM_API_KEY"]
  config.endpoint = ENV["MINI_APM_ENDPOINT"]
end</code></pre>
</div>

<style>
.api-key-display {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin: 1rem 0;
    padding: 1rem;
    background: var(--bg-secondary);
    border-radius: 8px;
}

.api-key-large {
    font-size: 1.1rem;
    padding: 0.5rem 1rem;
    flex: 1;
    word-break: break-all;
}

.regenerate-form {
    margin-top: 1.5rem;
    padding-top: 1.5rem;
    border-top: 1px solid var(--border);
}
</style>
{% endblock %}