K8s Resources

Custom Kubernetes resources used by HobbyFarm.

In Kubernetes, a resource is an endpoint in the Kubernetes API that stores a collection of API objects of a certain kind. For example, the built-in Pod resource contains a collection of Pod objects.

A custom resource is an extension of the Kubernetes API that is not necessarily available in a default Kubernetes installation. A custom resource is a Kubernetes API object that is defined and implemented by the user.

HobbyFarm uses custom resources to define the various objects used by HobbyFarm. All configurations and changes made in the HobbyFarm UI are stored in Kubernetes as a resource, and can be managed via kubectl or the documentation provides information on the custom resources used by HobbyFarm.

## Get a list of HobbyFarm resources
kubectl api-resources --api-group=hobbyfarm.io

Course

A collection of HobbyFarm Scenarios meant to be consumed as a single unit or as a series of individual sessions.

Environment

Defines specific implementation details on how HobbyFarm connects to a provider for scheduling virtual machines.

PredefinedService

Configure pre-defined services with VirtualMachineTemplates.

Scenario

A set of steps that are presented to a user during a session.

ScheduledEvent

A collection of Scenarios and Courses that are scheduled to run at a specific time.

Scope

Defines a set of settings that are accessible by a specific group of users.

Session

A user currently executing a scenario or course.

Settings

Enable/disable HobbyFarm features by adjusting settings.

User

A user or administrator of the HobbyFarm platform.

Virtual Machine Template

A provider-agnostic representation of a template for a virtual machine.