Documentation for Scoutflo

Overview

Scoutflo is a COSS marketplace to help businesses discover and deploy the right Open Source alternative to their proprietary SaaS product stack within a few clicks.

Our Products

  1. Scoutflo Atlas
  2. Scoutflo Deploy
  3. Scoutflo Sandbox
  4. Scoutflo CMS

Key Features

  1. Use filters and easily search through a wide range of commercial open-source products [COSS] on Scoutflo Atlas.
  2. Compare products to choose the right fit for you.
  3. Add your favourite products to personal lists and quickly share them with your teammates.
  4. Dedicated CMS to upload your COSS products and manage your content.
  5. Get a quick, free trial of select COSS products on Scoutflo Sandbox β€” with just a few clicks. The product is hosted on Scoutflo's cloud and has minimum external integrations.
  6. Self-host and manage your COSS products on your preferred cloud infrastructure within a few clicks on Scoutflo Deploy.

Product Qualification

At Scoutflo, we have vetted all the commercial open-source products that have been published. To accomplish this, we have maintained the selection criteria:

Product Stakeholders

Scoutflo is building to solve problem for the following stakeholders:

  1. Businesses
  2. Open Source Founders
  3. OSS Enthusiasts

About

Scoutflo Deploy is a product where you can connect your cluster on your preferred cloud infrastructure and self-host our supported COSS products within a few clicks, without any DevOps experience.

Architecture

Scoutflo Deploy Illustration.png

                                                                  Scoutflo System Architecture

                                                              Scoutflo System Architecture 

How to Get Started

  1. Sign Up on Scoutflo Atlas.
  2. Select the COSS product that you would like to self-host.
  3. Click on the β€œDeploy” button.
  4. Add your AWS Credentials with the right IAM Permissions to give us access to your cluster.
  5. Install necessary requirements. [Nginx, cert-manager]
  6. Deploy the COSS product and use the product.

Connect Your Cloud

Scoutflo helps you to deploy your preferred Open Source products in your own infrastructure. With the right permissions shared with us, we automate the app deployment process in your cluster end-to-end.

<aside> πŸ’‘ What is a cluster?

A cloud cluster is a group of computers or servers that are connected over the internet and work together to provide computing resources to users. These computing resources can include storage, processing power, and other services that can be accessed from anywhere with an internet connection. Cloud clusters are commonly used by businesses and organisations to run their applications and store their data without having to invest in expensive hardware and infrastructure. Users can easily scale up or down their computing resources as needed, depending on their requirements.

</aside>

Cloud Platforms we support

Self-host on AWS:

Follow the following step on Scoutflo Deploy to successfully connect to your AWS EKS cluster and self-host a production ready COSS product within a few clicks.

Step 1: AWS Access

β†’ List of IAM Permissions

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": [
                "application-autoscaling:*",
                "tag:GetResources",
                "rds:*",
                "logs:*",
                "events:PutRule",
                "dynamodb:*",
                "es:CreateElasticsearchDomain",
                "es:ListTags",
                "autoscaling:*",
                "es:AddTags",
                "events:ListRuleNamesByTarget",
                "es:DeleteElasticsearchDomain",
                "es:DescribeElasticsearchDomain",
                "kms:*",
                "events:RemoveTargets",
                "events:ListTargetsByRule",
                "cloudtrail:LookupEvents",
                "events:DescribeRule",
                "s3:*",
                "elasticloadbalancing:*",
                "iam:*",
                "events:DeleteRule",
                "events:PutTargets",
                "es:RemoveTags",
                "cloudwatch:*",
                "ecs:*",
                "route53:*",
                "ecr:*",
                "ec2:*",
                "eks:*",
                "elasticache:*"
            ],
            "Resource": "*"
        }
    ]
}

β†’ Provide your IAM Keys [with the above permissions]

<aside> πŸ’‘ To create a new user, navigate to the IAM section of your AWS Console. β†’ Create an AWS IAM User

β†’ Ref: Creating an IAM user in your AWS account - AWS Identity and Access Management

</aside>

β†’ Enter Cluster Name

This cluster name should match to an active cluster on your preferred cloud infrastructure.

β†’ AWS Region [Link]

Scoutflo supports any AWS region, which is enabled by default. Please, ensure, that you did not disable the region, to which you would like to add your cluster and applications. In case you would like to use any of the not supported regions, reach out via chat or email to Scoutflo.

β†’ Hosted Zone Name

Enter a hosted zone name which will

<aside> πŸ’‘ We'll provision a subdomain for you to host your cluster and applications under. For example, if you choose google as your hosted zone name and spin up an instance of Airbyte, it will be available at airbyte.google-deploy.scoutflo.com.

</aside>

Step 2: Check Cluster Access

Step 3: Install Add-ons

β†’ Install Nginx

Scoutflo Deploy will install Ingress-nginx which is an Ingress controller for Kubernetes using NGINX as a reverse proxy and load balancer that manages external access to the applications within a cluster.

<aside> πŸ’‘ Ingress-nginx is a tool used to manage and control incoming internet traffic to a website or web application, directing it to the correct place and ensuring access and security.

</aside>

β†’ Install cert-manager

cert-manager adds certificates and certificate issuers as resource types in Kubernetes clusters and simplifies the process of obtaining, renewing, and using those certificates.

<aside> πŸ’‘ Cert-manager is an open-source tool that automates the management and issuance of digital certificates in Kubernetes environments. It simplifies the process by automating the entire lifecycle of digital certificates, including issuance, renewal, and revocation. It integrates with Let's Encrypt and other certificate authorities to obtain certificates automatically, making it easier to manage and secure communication between different services and clusters.

</aside>

Step 4: Deploy your COSS Product

You can now select the application to be deployed on your cluster from all the options given. Once selected, hit the INSTALL APP button to run the script, which will deploy your application on your added cluster within seconds.

It is also possible to deploy as many applications as you like of the same product. So you can have multiple Airbyte instances deployed on the same or multiple clusters in your workspace.

Workspace

Scoutflo provides a workspace to deploy and manage your clusters and COSS products. It is a logical differentiation to provide each user with a smooth onboarding experience with real-time logs.

Workspace Sections

  1. As of now, there is only one active workspace per user. Use this to manage your clusters and deployed COSS products.
  2. You cannot delete the workspace in this version.
  3. Each user is the owner of their dedicated workspace.

My Cluster Status:

| --- | --- | --- |

My Application Status:

| --- | --- | --- |

Products Available on Scoutflo Deploy

| --- | --- | --- |