Platform allows you to turn a container image or Kubernetes YAML into a business in just a few minutes, turning your self-hosted projects into a PaaS!
By connecting a Stripe account and choosing a Template, your Platform will be able to accept user payments, spin up resources for customers, and allow those users to manage certain settings such as Environment Variables. With easy upgrades and payment processing options, KubeSail Platform is the fastest and easiest way to go from a container image to a business.
Create a new Platform
Click "New Platform" and enter a name. Note that must be unique across all of KubeSail, and will be shown to your users when they sign-up!
Step 1: Connect Stripe
Customer's resources will be launched when they complete a payment. Payments are handled by Stripe and are processed through your account, which gives you complete control and transparency over the billing process and the status of your customers. A KubeSail fee will be added to each payment automatically, which can also be seen in your Stripe account.
Step 2: Upload a logo
Upload your logo, which will be visible on the Customer Billing Portal. It's a good idea to use your main company logo here, so your users feel comfortable that they're in the right place!
Step 3: Setting a price
Set a name and a monthly price for this Plan. This will be displayed to your customers in the Customer Billing Portal.
Step 4: Where to deploy
When customers make a payment, their resources will need to be provisioned somewhere! KubeSail Platform makes this flexible and powerful, by allowing you a number of options:
Use Existing Cluster: If you already have a Cluster attached to KubeSail, you can use it immediately. Please note that some precaution with regards to security is important here, but this choice is perfect for experts who are ready to manage their own Clusters.
Ship a Pibox: We're building pibox.io, which is a shippable Cluster-In-A-Box. These tiny systems can be pre-provisioned with a Template when a user makes a payment, and shipped directly to them! Perfect for easy on-prem deployments and other IoT purposes!
Cluster-per-Customer: This option allows you to provision a private cluster for each customer who registers. This option is most useful for Enterprise offerings, for customers with more strict security tolerances, or in situations where a Template may need a huge amount of resources.
Order a Managed Cluster: With this option, KubeSail experts will build a custom cluster for your Platform. We will handle cluster issues, monitoring, respond to alarms, and more! This is perfect if you're a developer who wants to focus on your software, and not on running the Platform.
For options 2, 3 and 4, we strongly recommend reaching out to us at firstname.lastname@example.org so we can get things dialed in perfectly!
Step 5: Choose a Template
When a user completes a Payment, a Template will be launched in a namespace created for that user. Note that customers will only be able to access their resources if an Ingress Object is defined in the template.
Step 6: Template Variables
Variables from your Template are visible here, and can be modified to be Visible or Required, as well as setting a default Value.
Visible variables are displayed to your customers in the customer-portal as a settings portal. This allows customers to set their own
Required variables must be completed by your customers before the Template will be launched. They're non-optional.
You can also set Default values, helper functions (like RANDOM to generate a random string), or human-friendly descriptions in your Template. See the Template docs for more information.
You can set the "Portal Domain" in your Platform which is the domain where Customers can sign up. A pre-hosted Customer Portal will be registered for you at
PLATFORM_NAME.kubesail.app, which is a hosted instance of this repo. Feel free to fork and customize that repo if you'd like to customize your Customer sign up experience. We're working on API documentation for further customization as well - please drop us a message at email@example.com if you're interested!