From f2f1a8df09e6fdca45d8ed224a2d20a83a9ad301 Mon Sep 17 00:00:00 2001 From: Pierre-Alexandre Meyer Date: Sun, 13 Oct 2024 15:56:22 +0100 Subject: [PATCH 1/3] aws: aviate: add versions cards in the docs Signed-off-by: Pierre-Alexandre Meyer --- Gemfile | 4 + html5/_main_toc.html.slim | 22 ++- userguide/aviate/aviate-catalog.adoc | 5 + userguide/aviate/aviate-health.adoc | 5 + userguide/aviate/aviate-metering.adoc | 5 + userguide/aviate/includes/aviate-card.adoc | 48 +++++++ userguide/aws/includes/aws-card.adoc | 152 ++++++++++++++++++++ userguide/tutorials/aws-container.adoc | 7 +- userguide/tutorials/errors-rollbar.adoc | 2 + userguide/tutorials/errors-sentry.adoc | 2 + userguide/tutorials/events-to-aws-sqs.adoc | 2 + userguide/tutorials/metrics-cloudwatch.adoc | 1 + userguide/tutorials/metrics-datadog.adoc | 1 + userguide/tutorials/metrics-newrelic.adoc | 1 + 14 files changed, 248 insertions(+), 9 deletions(-) create mode 100644 userguide/aviate/aviate-catalog.adoc create mode 100644 userguide/aviate/aviate-health.adoc create mode 100644 userguide/aviate/aviate-metering.adoc create mode 100644 userguide/aviate/includes/aviate-card.adoc create mode 100644 userguide/aws/includes/aws-card.adoc diff --git a/Gemfile b/Gemfile index a8e675819..51e1929c7 100644 --- a/Gemfile +++ b/Gemfile @@ -5,3 +5,7 @@ gem 'concurrent-ruby', '~> 1.2' gem 'pygments.rb', '~> 2.0' gem 'slim', '~> 5.0' gem 'tilt', '~> 2.0' + +# No longer part of the default gems starting from Ruby 3.5.0 +gem 'logger' +gem 'ostruct' diff --git a/html5/_main_toc.html.slim b/html5/_main_toc.html.slim index 4a05a92c8..b717263ce 100644 --- a/html5/_main_toc.html.slim +++ b/html5/_main_toc.html.slim @@ -83,6 +83,9 @@ nav.sidebar-nav li a.nav-link href="/latest/using-ses-with-aws.html" | Using SES with AWS + li + a.nav-link href="/latest/events-to-aws-sqs.html" + | Kill Bill Events to AWS SQS li a.nav-link href="/latest/aws-tools.html" | AWS Observability Tools @@ -193,12 +196,25 @@ nav.sidebar-nav li a.nav-link href="/latest/kill_bill_events.html" | Kill Bill Events - li - a.nav-link href="/latest/events-to-aws-sqs.html" - | Kill Bill Events to AWS SQS li a.nav-link href="/latest/how-to-use-kpm-diagnostic.html" | KPM Diagnostic Usage + / li + / .icon-title + / a.bd-toc-link.main-link role="button" Aviate + / + / + / + / ul.nav.navbar-nav + / li.bd-sidenav-active + / a.nav-link href="/latest/aviate-catalog.html" + / | Catalog + / li + / a.nav-link href="/latest/aviate-health.html" + / | Health + / li + / a.nav-link href="/latest/aviate-metering.html" + / | Metering li .icon-title a.bd-toc-link.main-link role="button" Plugin Development diff --git a/userguide/aviate/aviate-catalog.adoc b/userguide/aviate/aviate-catalog.adoc new file mode 100644 index 000000000..98739fada --- /dev/null +++ b/userguide/aviate/aviate-catalog.adoc @@ -0,0 +1,5 @@ += Aviate Catalog + +include::{sourcedir}/aviate/includes/aviate-card.adoc[] + +== Introduction diff --git a/userguide/aviate/aviate-health.adoc b/userguide/aviate/aviate-health.adoc new file mode 100644 index 000000000..b5f8c2fa2 --- /dev/null +++ b/userguide/aviate/aviate-health.adoc @@ -0,0 +1,5 @@ += Aviate Health + +include::{sourcedir}/aviate/includes/aviate-card.adoc[] + +== Introduction diff --git a/userguide/aviate/aviate-metering.adoc b/userguide/aviate/aviate-metering.adoc new file mode 100644 index 000000000..e97e82ee8 --- /dev/null +++ b/userguide/aviate/aviate-metering.adoc @@ -0,0 +1,5 @@ += Aviate Metering + +include::{sourcedir}/aviate/includes/aviate-card.adoc[] + +== Introduction diff --git a/userguide/aviate/includes/aviate-card.adoc b/userguide/aviate/includes/aviate-card.adoc new file mode 100644 index 000000000..db2e895e6 --- /dev/null +++ b/userguide/aviate/includes/aviate-card.adoc @@ -0,0 +1,48 @@ +++++ +
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This is an Aviate-only feature. +
+
+
+++++ \ No newline at end of file diff --git a/userguide/aws/includes/aws-card.adoc b/userguide/aws/includes/aws-card.adoc new file mode 100644 index 000000000..e19d028cc --- /dev/null +++ b/userguide/aws/includes/aws-card.adoc @@ -0,0 +1,152 @@ +++++ +
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This is an AWS Marketplace only feature. +
+
+
+++++ \ No newline at end of file diff --git a/userguide/tutorials/aws-container.adoc b/userguide/tutorials/aws-container.adoc index 1ecd4c6b5..5e48a79bf 100644 --- a/userguide/tutorials/aws-container.adoc +++ b/userguide/tutorials/aws-container.adoc @@ -1,11 +1,6 @@ == Serverless Installation -© 2021 The Billing Project, LLC -:doctype: book -:imagesdir: https://github.com/killbill/killbill-docs/raw/v3/userguide/assets/aws - -//Mary's location - C:\_My Documents\FlowWritingLLC\Projects\Kill Bill\Documentation\killbill-docs\userguide\assets\aws -//Permanent location - https://github.com/killbill/killbill-docs/raw/v3/userguide/assets/aws +:imagesdir: https://github.com/killbill/killbill-docs/raw/v3/userguide/assets/aws == Overview diff --git a/userguide/tutorials/errors-rollbar.adoc b/userguide/tutorials/errors-rollbar.adoc index 4fe1f6637..33cacc1d6 100644 --- a/userguide/tutorials/errors-rollbar.adoc +++ b/userguide/tutorials/errors-rollbar.adoc @@ -1,5 +1,7 @@ = Error Tracking with Rollbar +include::{sourcedir}/aws/includes/aws-card.adoc[] + == Overview Rollbar is an error tracking tool that can be integrated with several types of Kill Bill installations. In this guide we discuss the use of Rollbar to track errors produced diff --git a/userguide/tutorials/errors-sentry.adoc b/userguide/tutorials/errors-sentry.adoc index a8819cc10..7a3e78622 100644 --- a/userguide/tutorials/errors-sentry.adoc +++ b/userguide/tutorials/errors-sentry.adoc @@ -1,5 +1,7 @@ = Error Tracking with Sentry +include::{sourcedir}/aws/includes/aws-card.adoc[] + == Overview Sentry is an error tracking and optional performance monitoring tool that can be integrated with several types of Kill Bill installations. In this guide we discuss the use of Sentry to track errors produced diff --git a/userguide/tutorials/events-to-aws-sqs.adoc b/userguide/tutorials/events-to-aws-sqs.adoc index a88b590fb..9fc9a25ac 100644 --- a/userguide/tutorials/events-to-aws-sqs.adoc +++ b/userguide/tutorials/events-to-aws-sqs.adoc @@ -1,5 +1,7 @@ = Configuring Kill Bill to Send Events to AWS SQS +include::{sourcedir}/aws/includes/aws-card.adoc[] + == Overview This document outlines the steps to configure the Kill Bill application to send events to an Amazon Simple Queue Service (SQS) queue. diff --git a/userguide/tutorials/metrics-cloudwatch.adoc b/userguide/tutorials/metrics-cloudwatch.adoc index 98bc6e036..cae862039 100644 --- a/userguide/tutorials/metrics-cloudwatch.adoc +++ b/userguide/tutorials/metrics-cloudwatch.adoc @@ -1,5 +1,6 @@ = Managing Metrics with Cloudwatch +include::{sourcedir}/aws/includes/aws-card.adoc[] == Overview diff --git a/userguide/tutorials/metrics-datadog.adoc b/userguide/tutorials/metrics-datadog.adoc index d1ecf3263..653cb9eb5 100644 --- a/userguide/tutorials/metrics-datadog.adoc +++ b/userguide/tutorials/metrics-datadog.adoc @@ -2,6 +2,7 @@ :imagesdir: https://github.com/killbill/killbill-docs/raw/v3/userguide/assets/aws +include::{sourcedir}/aws/includes/aws-card.adoc[] == Overview diff --git a/userguide/tutorials/metrics-newrelic.adoc b/userguide/tutorials/metrics-newrelic.adoc index 14f0a039d..eb9ea195b 100644 --- a/userguide/tutorials/metrics-newrelic.adoc +++ b/userguide/tutorials/metrics-newrelic.adoc @@ -1,5 +1,6 @@ = Managing Metrics with New Relic +include::{sourcedir}/aws/includes/aws-card.adoc[] == Overview From d2806ac38c3da52343d50e27779ac4760459a1a2 Mon Sep 17 00:00:00 2001 From: reshmabidikar Date: Tue, 22 Oct 2024 10:27:01 +0530 Subject: [PATCH 2/3] Add export documentation --- userguide/kaui/includes/accounts.adoc | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/userguide/kaui/includes/accounts.adoc b/userguide/kaui/includes/accounts.adoc index 0471634bc..66745c51c 100644 --- a/userguide/kaui/includes/accounts.adoc +++ b/userguide/kaui/includes/accounts.adoc @@ -191,6 +191,18 @@ image::../assets/img/kaui/Account_UpdateScreen.png[width=450,align="center"] + . Click the *Save* button. +[[export_account_data]] +=== Export Account Data +You can export the data for an account. This creates a text file with the data from all the KB tables for the particular account. Such a text file can then be sent to the KB team for debugging purpose. + +. Open the account on the Account page. +. Next to Account Information, click *Export*.: ++ +image::../assets/img/kaui/Account-Export-Label.png[width=450,align="center"] ++ +. Kaui creates a text file with the account data. + + [[add_additional_contact_emails]] === Add Additional Contact Emails If a customer wants to receive email at more than one email address (which is the one defined in the *Email* field for the account), you can add more email addresses. From e66592962ba449ce182e175bc5ab0556a91c54ee Mon Sep 17 00:00:00 2001 From: reshmabidikar Date: Wed, 23 Oct 2024 08:55:02 +0530 Subject: [PATCH 3/3] Add export documentation --- .../assets/img/kaui/Account-Export-Label.png | Bin 0 -> 40165 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 userguide/assets/img/kaui/Account-Export-Label.png diff --git a/userguide/assets/img/kaui/Account-Export-Label.png b/userguide/assets/img/kaui/Account-Export-Label.png new file mode 100644 index 0000000000000000000000000000000000000000..835c2bbb5414392360d93a3fae4114452b042124 GIT binary patch literal 40165 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