Licensing
Avo runs on the Open-Core model. The Community edition is free to use and works best for personal, hobby, and small commercial projects. Paid add-ons unlock the more advanced features, and bundles group several add-ons together for a better price. Selling these is what lets us fund the business and work on Avo full-time, so it keeps improving over time.
Community
The Community version is free and has powerful features you can use today like Resource management, most feature-rich fields, out-of-the-box sorting, filtering and actions, all the associations you need, appearance controls, and localization — about 70% of everything Avo has to offer.
Add-ons
Each advanced feature ships as its own installable gem, so you only pay for what you use. Add-ons include Authorization, Dashboards, the Menu Editor, Record Reordering, Dynamic Filters, Custom Controls, Resource Scopes, Kanban Boards, Collaboration, and more. Every add-on page carries a License: Add-on badge that links to its page on avohq.io.
Bundles
If you need several add-ons, a bundle is the cheaper way to get them:
avo-pro— Dashboards and the Menu Editor.avo-advanced— everything inavo-pro, plus Dynamic Filters.avo-everything— every add-on Avo offers.
See the pricing page for what each one includes.
Enterprise
Larger teams that need features like Audit Logging, custom builds, or dedicated support should book an Enterprise call.
One license per site
Each license can be used to run one application in one production environment on one URL. So when an app is in the production environment (Rails.env.production? is true), we only need to check that the license key and URL match the purchased license you're using for that app.
INFO
More info here.
More installations/environments per site
You might have the same site running in multiple environments (development, staging, test, QA, etc.) for non-production purposes. You don't need extra licenses for those environments as long as they are not production environments (Rails.env.production? returns false).
INFO
More info here.
Sites
You can see your licenses and projects on your dashboard.
Add the license key
After you purchase an Avo license, add it to your config/initializers/avo.rb file under license_key.
# config/initializers/avo.rb
Avo.configure do |config|
config.license_key = '************************' # or use ENV['AVO_LICENSE_KEY']
endConfigure the display of license request timeout error
If you want to hide the badge displaying the license request timeout error, you can do it by setting the display_license_request_timeout_error configuration to false. It defaults to true.
# config/initializers/avo.rb
Avo.configure do |config|
config.display_license_request_timeout_error = false
endPurchase a license
You can purchase a license from the pricing page.
Trials
A trial is a fully valid license. Every add-on it covers behaves exactly as it does on a paid license for as long as the trial runs, and nothing in your app is gated or degraded while it does.
The license status page is where the trial reports itself: when access stops, and whether a payment method is on file. It also says when this app last checked in with Avo HQ, because the state you're reading is the one from that check.
Fix a trial at risk
The Avo Status indicator in the sidebar footer is green while everything is in order, amber while a trial needs attention, and orange when the license is invalid. Amber means one of two things, and the remedy is different for each:
- No payment method on file. Access stops on the trial's end date. Add a payment method on the Avo HQ Licenses page.
- The subscription behind the trial was cancelled. Access stops on the cancellation date, which the status page reports as the trial's end date. Adding a payment method does not change that — resume the subscription, or resubscribe, on the same page.
The status page spells out which of the two you're in and lists the steps for it. Once you've done them, press Refresh license on that page: Avo caches the license response between checks, so the app can show older billing state than avohq.io until it refreshes.
INFO
Trial state requires avo-licensing 4.0.10 or newer. The amber indicator requires Avo 4.0.20 or newer — an older Avo renders the dot without color rather than breaking.
License validation
"Phone home" mechanism
Avo pings the HQ (the license validation service) with some information about the current Avo installation. You can find the full payload below.
# HQ ping payload
{
license_key: Avo.configuration.license_key,
avo_version: Avo::VERSION,
rails_version: Rails::VERSION::STRING,
ruby_version: RUBY_VERSION,
environment: Rails.env,
ip: current_request.ip,
host: current_request.host,
port: current_request.port,
app_name: Rails.application.class.to_s.split("::").first,
avo_metadata: avo_metadata
}That information helps us to identify your license and return a license valid/invalid response to Avo. The requests are made at boot time and every hour when you use Avo on any license type.
If you need a special build without the license validation mechanism please get in touch.