Skip to content

Commit

Permalink
doc: insomnia v10 features [INS-4446] (#233)
Browse files Browse the repository at this point in the history
* chore: improve local dx with docker

* wip add storage control and invite control

* fix folder settings and env

* fix enterprise ip whitelist

* add missing folder level env png

* manage domains

* storage control

* multiple owners

* invite control

* wip

* fix: inso-cli download links [INS-4481]

* collection runner and test results

* ai runner
  • Loading branch information
filfreire authored Sep 26, 2024
1 parent 1a02ded commit 98c837b
Show file tree
Hide file tree
Showing 34 changed files with 255 additions and 44 deletions.
13 changes: 9 additions & 4 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,16 @@ FROM ruby:3.3.4-slim

RUN apt-get -y update && apt-get install -y build-essential ruby-dev

COPY docs /docs

WORKDIR /docs

RUN bundle update && bundle install
# Copy Gemfile and Gemfile.lock to install dependencies
COPY docs/Gemfile docs/Gemfile.lock ./

# Install Ruby gems
RUN bundle install

# Expose ports
EXPOSE 4000 80
CMD bundle exec jekyll serve -H 0.0.0.0 -P 4000

# Run Jekyll server with watch option for real-time updates
CMD bundle exec jekyll serve -H 0.0.0.0 -P 4000 --watch
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,12 +11,12 @@ Please refer to our [Contributing Guidelines](/CONTRIBUTING.md).
3. Run `cd docs`.
4. Run `bundle install`.
5. Run `bundle exec jekyll serve`.
6. Browse to http://localhost:4000.
6. Browse to <http://localhost:4000>.

## Run with Docker

1. Clone the repository.
2. Install [Docker](https://docs.docker.com/get-docker/).
3. Run `make build` or `docker build --tag insomnia-docs:latest .`.
4. Run `make run` or `docker run -it --rm -p 4000:4000 insomnia-docs:latest`.
5. Browse to http://localhost:4000.
4. Run `make run` or `docker run --rm -it -p 4000:4000 -v ${PWD}/docs:/docs insomnia-docs:latest`.
5. Browse to <http://localhost:4000>.
60 changes: 34 additions & 26 deletions docs/Gemfile.lock
Original file line number Diff line number Diff line change
@@ -1,38 +1,43 @@
GEM
remote: https://rubygems.org/
specs:
addressable (2.8.0)
public_suffix (>= 2.0.2, < 5.0)
addressable (2.8.7)
public_suffix (>= 2.0.2, < 7.0)
bigdecimal (3.1.8)
colorator (1.1.0)
concurrent-ruby (1.1.10)
concurrent-ruby (1.3.4)
em-websocket (0.5.3)
eventmachine (>= 0.12.9)
http_parser.rb (~> 0)
eventmachine (1.2.7)
ffi (1.15.5)
ffi (1.17.0-aarch64-linux-gnu)
forwardable-extended (2.6.0)
google-protobuf (4.28.1-aarch64-linux)
bigdecimal
rake (>= 13)
http_parser.rb (0.8.0)
i18n (1.10.0)
i18n (1.14.6)
concurrent-ruby (~> 1.0)
jekyll (4.2.2)
jekyll (4.3.4)
addressable (~> 2.4)
colorator (~> 1.0)
em-websocket (~> 0.5)
i18n (~> 1.0)
jekyll-sass-converter (~> 2.0)
jekyll-sass-converter (>= 2.0, < 4.0)
jekyll-watch (~> 2.0)
kramdown (~> 2.3)
kramdown (~> 2.3, >= 2.3.1)
kramdown-parser-gfm (~> 1.0)
liquid (~> 4.0)
mercenary (~> 0.4.0)
mercenary (>= 0.3.6, < 0.5)
pathutil (~> 0.9)
rouge (~> 3.0)
rouge (>= 3.0, < 5.0)
safe_yaml (~> 1.0)
terminal-table (~> 2.0)
terminal-table (>= 1.8, < 4.0)
webrick (~> 1.7)
jekyll-feed (0.16.0)
jekyll (>= 3.7, < 5.0)
jekyll-sass-converter (2.2.0)
sassc (> 2.0.1, < 3.0)
jekyll-sass-converter (3.0.0)
sass-embedded (~> 1.54)
jekyll-seo-tag (2.8.0)
jekyll (>= 3.8, < 5.0)
jekyll-watch (2.2.1)
Expand All @@ -41,8 +46,8 @@ GEM
rexml
kramdown-parser-gfm (1.1.0)
kramdown (~> 2.0)
liquid (4.0.3)
listen (3.7.1)
liquid (4.0.4)
listen (3.9.0)
rb-fsevent (~> 0.10, >= 0.10.3)
rb-inotify (~> 0.9, >= 0.9.10)
mercenary (0.4.0)
Expand All @@ -52,25 +57,28 @@ GEM
jekyll-seo-tag (~> 2.1)
pathutil (0.16.2)
forwardable-extended (~> 2.6)
public_suffix (4.0.7)
rb-fsevent (0.11.1)
rb-inotify (0.10.1)
public_suffix (6.0.1)
rake (13.2.1)
rb-fsevent (0.11.2)
rb-inotify (0.11.1)
ffi (~> 1.0)
rexml (3.2.5)
rouge (3.28.0)
rexml (3.3.7)
rouge (4.4.0)
safe_yaml (1.0.5)
sassc (2.4.0)
ffi (~> 1.9)
terminal-table (2.0.0)
unicode-display_width (~> 1.1, >= 1.1.1)
unicode-display_width (1.8.0)
sass-embedded (1.79.1-aarch64-linux-gnu)
google-protobuf (~> 4.27)
terminal-table (3.0.2)
unicode-display_width (>= 1.1.1, < 3)
unicode-display_width (2.6.0)
webrick (1.8.1)

PLATFORMS
aarch64-linux
universal-darwin-20
universal-darwin-21

DEPENDENCIES
jekyll (~> 4.2.0)
jekyll (~> 4.3.0)
jekyll-feed (~> 0.12)
minima (~> 2.5)
tzinfo (~> 1.2)
Expand Down
15 changes: 15 additions & 0 deletions docs/_data/main-nav.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,14 @@ toc:
url: /insomnia/enterprise-ip-whitelist-guide
- title: Transfer enterprise organizations and license
url: /insomnia/transfer-ownership-organization
- title: Multiple Owners
url: /insomnia/multiple-owners
- title: Manage Domains
url: /insomnia/manage-domains
- title: Invite Controls
url: /insomnia/invite-control
- title: Storage Controls
url: /insomnia/storage-control
- title: Insomnia Subscription Plans
collapse-id: subscriptions
items:
Expand Down Expand Up @@ -129,6 +137,8 @@ toc:
url: /insomnia/authentication
- title: Client Certificates
url: /insomnia/client-certificates
- title: Collection Runner
url: /insomnia/collection-runner
- title: Generate Code Snippet
url: /insomnia/generate-code-snippet
- title: Cookie Management
Expand Down Expand Up @@ -158,6 +168,11 @@ toc:
url: /insomnia/hooks-and-actions
- title: Custom Themes
url: /insomnia/custom-themes
- title: AI Powered Features
collapse-id: ai-powered-features
items:
- title: AI Runner
url: /insomnia/ai-runner
- title: Troubleshooting
collapse-id: troubleshooting
items:
Expand Down
Binary file added docs/assets/images/ai-runner-cache-threshold.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/images/ai-runner-guardrails.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/images/ai-runner-intro.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/images/collection-run-button.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/images/domain-verify-example.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/images/example-storage-control.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/images/folder-level-environment.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/images/invite-control-intro.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/images/invite-control-start.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/images/manage-domains.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/images/multiple-owner-options.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/images/multiple-owners-coowners.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/images/storage-control-options.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/images/storage-controls-intro.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
6 changes: 3 additions & 3 deletions docs/inso-cli/install.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ To use our single executable options, select your operating system.
</nav>
<div class="tab-content" id="nav-tabContent">
<div class="tab-pane fade show active" id="nav-home" role="tabpanel" aria-labelledby="nav-home-tab">
On MacOS, download the MacOS zip or pkg from <a href="https://updates.insomnia.rest/downloads/release/latest?app=com.insomnia.inso&channel=stable">GitHub</a> or use Homebrew. If you use the pkg option, click through the prompt window as you normally would when downloading an app from the internet.
On MacOS, download the MacOS zip or pkg from <a href="https://updates.insomnia.rest/downloads/mac/latest?app=com.insomnia.inso&channel=stable">GitHub</a> or use Homebrew. If you use the pkg option, click through the prompt window as you normally would when downloading an app from the internet.
<br/><br/>
<h4>Extract the Zip File</h4>
If you download the zip file, extract it from Finder or with the following command:
Expand All @@ -40,14 +40,14 @@ Check that Inso CLI was properly installed with the following command:
<pre class="highlight"><code>inso --version</code></pre>
</div>
<div class="tab-pane fade" id="nav-profile" role="tabpanel" aria-labelledby="nav-profile-tab">
On Windows, download the Windows zip file from <a href="https://updates.insomnia.rest/downloads/release/latest?app=com.insomnia.inso&channel=stable">GitHub</a>. Then, extract the executable using Windows Explorer, or via the following command:
On Windows, download the Windows zip file from <a href="https://updates.insomnia.rest/downloads/windows/latest?app=com.insomnia.inso&channel=stable">GitHub</a>. Then, extract the executable using Windows Explorer, or via the following command:
<br/><br/>
<pre class="highlight"><code>tar -xf inso-windows-2.4.1.zip</code></pre>
Check that Inso CLI was properly installed with the following command:
<br/><br/>
<pre class="highlight"><code>./inso --version</code></pre>
</div>
<div class="tab-pane fade" id="nav-contact" role="tabpanel" aria-labelledby="nav-contact-tab">On Linux, download the Linux tar file from <a href="https://updates.insomnia.rest/downloads/release/latest?app=com.insomnia.inso&channel=stable">GitHub</a>. Extract the file by using the following command:
<div class="tab-pane fade" id="nav-contact" role="tabpanel" aria-labelledby="nav-contact-tab">On Linux, download the Linux tar file from <a href="https://updates.insomnia.rest/downloads/linux/latest?app=com.insomnia.inso&channel=stable">GitHub</a>. Extract the file by using the following command:
<br/><br/>
<pre class="highlight"><code>tar -xf inso-linux-2.4.1.tar.xz</code></pre>
Check that Inso CLI was properly installed with the following command:
Expand Down
27 changes: 27 additions & 0 deletions docs/insomnia/ai-runner.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
---
layout: article-detail
title: AI Runner
category: "AI Runner"
category-url: ai-powered-features
---

{:.alert .alert-primary}
**Note**: This feature was introduced in [Insomnia v10](https://konghq.com/blog/product-releases/insomnia-10). See the [original announcement of AI Runner here](https://konghq.com/blog/product-releases/introducing-the-insomnia-ai-runner).

## Getting Started with Insomnia AI Runner

To begin, navigate to the Insomnia AI Runner platform:

1. Visit [ai.insomnia.rest](https://ai.insomnia.rest) to access the Insomnia AI Runner.

2. If you already have an Insomnia account, click on **Log In** and enter your credentials. If you are new to Insomnia, click on **Sign Up** to create a free account.

![AI Runner](/assets/images/ai-runner-intro.png)

Before creating an AI Runner instance, you can configure the similarity threshold, which determines how the AI handles prompts that use different words but have the same meaning:

![AI Runner Cache Threshold](/assets/images/ai-runner-cache-threshold.png)

You can also set up certain guardrails to control the AI Runner's behavior and ensure compliance with your requirements.

![AI Runner Guardrails](/assets/images/ai-runner-guardrails.png)
39 changes: 39 additions & 0 deletions docs/insomnia/collection-runner.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
---
layout: article-detail
title: Collection Runner
category: "Collection Runner"
category-url: built-in-features
---

The Collection Runner allows you to run your collections an unlimited number of times, whether you are storing your data locally, on Git, or in the cloud. You can easily test and verify that your collections are functioning properly and that the APIs you are consuming remain consistent.

To open the Collection Runner, go to one of your collections (or the `Collection` tab) and click the **Run** button.

![collection run button](/assets/images/collection-run-button.png)

The Collection Runner allows you to arrange the execution order of your requests and run multiple iterations of your tests:

![collection run request order](/assets/images/collection-run-request-order.png)

### Using Sample Data

You can use your own sample data to feed into the iterations of the Collection Runner.

To do this, upload a custom CSV or JSON file. The variables detected from these files can be used in your pre-request and after-response scripts, and will take precedence over any environment variables with the same name.

![collection run preview data](/assets/images/collection-runner-preview-data.png)

## Test Results in the Collection Tab

With the Collection Runner, we have also introduced a new **Test Results** section.

Any tests that you define in [pre-request](/insomnia/pre-request-script) or [after-response](/insomnia/after-response-script) scripts will appear when you execute them via the Collection Runner.

![collection run test results](/assets/images/collection-run-test-results.png)

You can filter tests by status (e.g., Passed, Failed, All, Skipped) and browse through test results from previous collection runs.

The **Test Results** section is also available when you run tests for an individual request without using the Collection Runner.

{:.alert .alert-primary}
**Note**: The test results shown in the Requests and in the Collection Runner are not to be confused with [Insomnia's Unit Testing feature](/insomnia/unit-testing).
4 changes: 3 additions & 1 deletion docs/insomnia/enterprise-ip-whitelist-guide.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,9 @@ To fully utilize Insomnia, please ensure the following domains are whitelisted:

- **insomnia.rest**: Main website for Insomnia.

- **ai.insomnia.rest**: Handles AI-related features within Insomnia.
- **ai.insomnia.rest**: Redirects to [https://app.insomnia.rest/ai](https://app.insomnia.rest/ai).

- **ai-helper.insomnia.rest**: Handles AI-Generated Testing related features within Insomnia, introduced in [Insomnia 8.x release](https://konghq.com/blog/product-releases/insomnia-8-0#h-introducing-insomnia-ai-for-automatically-generated-api-tests).

- **api.insomnia.rest**: API endpoint for Insomnia services.

Expand Down
6 changes: 5 additions & 1 deletion docs/insomnia/environment-variables.md
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,11 @@ Sub environments are most commonly used for store variables related to productio

## Folder Environments

Folder environments are a rarely used feature, but can be invaluable for specific use cases. You can access a folder's environment from the folder dropdown in the sidebar. Any variables defined at the folder-level will be available to all requests within that folder. These will also override any variables defined within a sub environment or base environment.
You can access a folder's environment from the [folder settings](/insomnia/folder-level-settings). Click on the folder and then go to the Environment tab.

![Folder Environment example](/assets/images/folder-level-environment.png)

Any variables defined at the folder-level will be available to all requests within that folder. These will also override any variables defined within a sub environment or base environment.

## Environment Priority

Expand Down
2 changes: 1 addition & 1 deletion docs/insomnia/folder-level-settings.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,4 +13,4 @@ It's now possible to set, on a folder level, the following:
- **Environment variables**.
- **Docs**.

![Folder-level settings](../assets/images/folder-level-settings.png)
![Folder-level settings](/assets/images/folder-level-settings.png)
35 changes: 35 additions & 0 deletions docs/insomnia/invite-control.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
---
layout: article-detail
title: Invite Controls
category: "Invite Controls"
category-url: enterprise
---

{:.alert .alert-primary}
**Note**: This feature is only available for Enterprise subscriptions.

![Invite controls - intro](/assets/images/invite-control-intro.png)

To access it, an enterprise owner needs to go into their Enterprise Controls and then into Invite Controls.

With the new Invite Control enterprise capability, you can now determine which domains are allowed to be invited to work on your organizations and projects. This ensures that external users aren't mistakenly invited.

While the decision to invite someone is still entirely under the control of the organization's admins, setting up Invite Control rules further ensures that only approved domains can be added to your projects, collections, and design specs. For example, if an admin mistakenly invites someone they shouldn't have (such as a user with a personal email address instead of a corporate email), Invite Control can catch the error immediately and prevent the invite from being sent.

The capability to invite users to an organization can be entirely disabled with the Invite Control feature as well.

![Invite control - starting point](/assets/images/invite-control-start.png)

When configuring domains that are allowed for invites across your organization, or on a specific organization, you can choose between the following options:

- **All domains**: Any domain will be permitted for invites.
- **Only verified domains**: Only domains that you previously added to your [Domains setup](/insomnia/manage-domains) will be permitted for invites.
- **Custom domains**: Domains that you define specific to one or more organizations, which don't necessarily need to be added to your [Domains setup](/insomnia/manage-domains).

![Invite control - allowed domains menu](/assets/images/invite-control-allowed-domains.png)

Once you set up the domain rules for invites according to your preferences for each organization in your enterprise, you may also see users who are not in compliance with the rules you defined (e.g., their email domains are not part of the settings you chose). In those cases, you'll be shown an option in the list of organizations within the Invite Controls menu to remove the users (both members and pending invites) that are not in compliance with the defined invite rule.

![Invite control - setup example](/assets/images/invite-control-setup-example.png)

This capability, in addition to [Storage Control](/insomnia/storage-control) and the many other enterprise governance, compliance, and security capabilities in Insomnia, helps to ensure that your API assets are always secure and accessible only by authorized individuals in your organization.
29 changes: 29 additions & 0 deletions docs/insomnia/manage-domains.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
---
layout: article-detail
title: Manage Domains
category: "Manage Domains"
category-url: enterprise
---

{:.alert .alert-primary}
**Note**: This feature is only available for Enterprise subscriptions.

Owners of Insomnia Enterprise subscriptions can manage domains that are accepted when using SSO and/or in invite controls.

![manage domains example](/assets/images/manage-domains.png)

## Verifying a New Domain

Go to `Domains` in `Enterprise Controls`. To add a new domain, click on the `+ New Domain` button. You will be prompted to enter the domain name and to choose between:

- **Unique verification record**: The default option to verify a domain or parent domain of your choosing.
- **Root domain verification record**: Used when you want to verify a subdomain of an existing domain that you have already verified.

After you create the domain, you will be shown a TXT record that you'll need to add to your DNS configuration. This can vary depending on how you handle domains in your organization.

![domain verify example](/assets/images/domain-verify-example.png)

If you are having trouble verifying the TXT record, please contact your enterprise or organization network administrator and share the TXT record with them.

{:.alert .alert-primary}
**Note**: If you only wish to manage domains that can be used in invite controls and are not interested in using the SSO feature, you can skip verification or verify later.
21 changes: 21 additions & 0 deletions docs/insomnia/multiple-owners.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
---
layout: article-detail
title: Multiple Owners
category: "Multiple Owners"
category-url: enterprise
---

{:.alert .alert-primary}
**Note**: This feature is only available for Enterprise subscriptions.

You can invite other users to become co-owners of your account and give them total or restricted access to all of your organizations, billing information, projects, and their members.

![multiple owner coowners](/assets/images/multiple-owners-coowners.png)

To make another user a co-owner, you'll need to make them a member of your enterprise first (e.g., send an invite that they need to accept).

In your Enterprise Controls, go to `Co-owners`. Then go to Members and search for the member you want to make a co-owner.

You can also assign special "Billing Only" permissions to that member without granting them all the other permissions of owners.

![multiple owner options](/assets/images/multiple-owner-options.png)
Loading

0 comments on commit 98c837b

Please sign in to comment.