Instance Concept - stefanprodan/timoni

In the context of the Timoni project (https://github.com/stefanprodan/timoni/), an instance refers to a Helm release. It is a specific deployment of a module or application with its own set of values and configuration. Instances can be created, managed, and deleted using the Timoni CLI.

Here are the possible options for working with instances in Timoni:

  1. Create an instance: To create an instance, you can use the timoni apply command, which takes the name of the instance, the module URL, the semantic version, and the path to the values file as arguments. For example:
timoni apply my-instance oci://my-module-url -v 1.0.0 -f path/to/values.cue

The values file allows you to override the default values included in the module. For example:

values : {
ingress : {
enabled :    true
className :  " nginx "
host :       " app.example.com "
}
autoscaling :  enabled :  true
monitoring :  enabled :   true
}
  1. Delete an instance: To delete an instance, you can use the timoni delete command, which takes the name of the instance and the namespace as arguments. For example:
timoni delete my-instance -n my-namespace
  1. List instances: To list all instances in a namespace, you can use the timoni list command, which takes the namespace as an argument. For example:
timoni list -n my-namespace
  1. Inspect an instance: To inspect the details of an instance, you can use the timoni inspect command, which takes the name of the instance, the namespace, and the type of resource to inspect (module, values, or resources) as arguments. For example:
timoni inspect module my-instance -n my-namespace
  1. Status of an instance: To check the status of an instance, you can use the timoni status command, which takes the name of the instance and the namespace as arguments. For example:
timoni status my-instance -n my-namespace

For more information on instances and other Timoni concepts, you can refer to the Timoni documentation website (https://timoni.sh/).

Note: The concept of instances in Timoni is similar to the concept of objects in object-oriented programming (OOP). In OOP, an object is an instance of a class with a unique name and property values. Similarly, in Timoni, an instance is a deployment of a module with its own set of values and configuration.