CLI Apply Services and Plans

Services and Plans form the basis of the On Prem Platform's integrated Open Service Broker, a service offering catalog standard popularized by Cloud Foundry. Service Brokers are now commonly used in Kubernetes clusters to enable self-service for users who wish to provision and use managed resources.

Services form the "service offerings" for your deployment, or ways that you intend lease the edge infrastructure you wish to offer consumers. Service offerings can include both hardware rental type offerings, and managed edge services that will be installed onto devices via the agent such as object storage, block storage, or databases and queues.

The On Prem Console demonstrates a few built-in service offerings which are visible under the Marketplace section of the left navbar.

Services

Curate your assets

Using a directory managed by version control such as git, lay out a directory structure containing YAML or JSON assets.

my-services/
  systems_management/
    systems_management.png
    systems_management.yaml
    systems_management-longDescription.md
    plans/
      hobbyist.yaml
      professional.yaml
      enterprise.yaml
  raspberry_pi_4b/
    raspberry_pi_4b.png
    raspberry_pi_4b.yaml
    raspberry_pi_4b-longDescription.md
    plans/
      2gb_basic_60.json
      2gb_storage_optimized_60.json
      2gb_storage_optimized_1000.json
      4gb_basic_60.json
      4gb_storage_optimized_60.json
      4gb_storage_optimized_1000.json
      8gb_basic_60.yaml
      8gb_storage_optimized_60.yaml
      8gb_storage_optimized_1000.yaml

The JSON layout of a service can be scraped via the web browser's JavaScript console, or this example can be used:

# my-services/raspberry_pi_4b.yaml
id: c6ft22nqrh9nif3r49m0
kind: Service
name: raspberry_pi_4b
displayName: Raspberry Pi 4B
visible: true
metadata:
  capability_linux: "true"
tags:
  - device

And a plan:

# my-services/raspberry_pi_4b/plans/8gb_storage_optimized_1000.yaml
id: c6ft3tvqrh9nif3r49q0
kind: Plan
serviceId: c6ft22nqrh9nif3r49m0
name: storage_optimized_8_1000
displayName: 8GB Storage Optimized 1TB
description: 8 GB RAM, 1 TB SSD
visible: true
metadata:
  bullets:
    - 1 TB mSATA SSD over USB 3.0
  costs:
    - amount:
        usd: 80
      unit: MONTHLY
  memory_gb: 8
  storage_class: optimized
  storage_gb: 1000
  storage_type: mSATA SSD

Importing

Leave off the --dry-run flag to perform an actual import.

$ onprem apply --dry-run ./my-services/

Metered Billing

When Megalithic LLC operates the On Prem Platform in the cloud, Stripe Subscriptions are used to achieve metered billing.

Licensees of the platform who operate it in their own environment have the opportunity to implement their own customized metered billing integrations.