diff --git a/cmd/ignite/cmd/vmcmd/ps.go b/cmd/ignite/cmd/vmcmd/ps.go
index 98e3e536a..798cfb1b8 100644
--- a/cmd/ignite/cmd/vmcmd/ps.go
+++ b/cmd/ignite/cmd/vmcmd/ps.go
@@ -23,7 +23,7 @@ func NewCmdPs(out io.Writer) *cobra.Command {
also list VMs that are not currently running.
Using the -f (--filter) flag, you can give conditions VMs should fullfilled to be displayed.
You can filter on all the underlying fields of the VM struct, see the documentation:
- https://ignite.readthedocs.io/en/stable/api/ignite_v1alpha2#VM.
+ https://ignite.readthedocs.io/en/stable/api/ignite_v1alpha3#VM.
Different operators can be used:
- "=" and "==" for the equal
diff --git a/cmd/ignite/run/testdata/input/create-config-no-name.yaml b/cmd/ignite/run/testdata/input/create-config-no-name.yaml
index f73153be3..42185cc92 100644
--- a/cmd/ignite/run/testdata/input/create-config-no-name.yaml
+++ b/cmd/ignite/run/testdata/input/create-config-no-name.yaml
@@ -1,4 +1,4 @@
-apiVersion: ignite.weave.works/v1alpha2
+apiVersion: ignite.weave.works/v1alpha3
kind: VM
spec:
image:
diff --git a/cmd/ignite/run/testdata/input/rm-no-name-uid.yaml b/cmd/ignite/run/testdata/input/rm-no-name-uid.yaml
index f00436d09..6fb52b421 100644
--- a/cmd/ignite/run/testdata/input/rm-no-name-uid.yaml
+++ b/cmd/ignite/run/testdata/input/rm-no-name-uid.yaml
@@ -1,4 +1,4 @@
-apiVersion: ignite.weave.works/v1alpha2
+apiVersion: ignite.weave.works/v1alpha3
kind: VM
metadata:
name: ""
diff --git a/cmd/ignite/run/testdata/input/rm-vm1.yaml b/cmd/ignite/run/testdata/input/rm-vm1.yaml
index de37a2bbb..244809059 100644
--- a/cmd/ignite/run/testdata/input/rm-vm1.yaml
+++ b/cmd/ignite/run/testdata/input/rm-vm1.yaml
@@ -1,4 +1,4 @@
-apiVersion: ignite.weave.works/v1alpha2
+apiVersion: ignite.weave.works/v1alpha3
kind: VM
metadata:
name: myvm2
diff --git a/cmd/ignite/run/testdata/output/inspect-json.txt b/cmd/ignite/run/testdata/output/inspect-json.txt
index c7cdf9e36..b76248ef0 100644
--- a/cmd/ignite/run/testdata/output/inspect-json.txt
+++ b/cmd/ignite/run/testdata/output/inspect-json.txt
@@ -1,6 +1,6 @@
{
"kind": "VM",
- "apiVersion": "ignite.weave.works/v1alpha2",
+ "apiVersion": "ignite.weave.works/v1alpha3",
"metadata": {
"name": "someVM",
"uid": "1699b6ba255cde7f",
diff --git a/cmd/ignite/run/testdata/output/inspect-yaml.txt b/cmd/ignite/run/testdata/output/inspect-yaml.txt
index 7d4d72bb1..0eefa4596 100644
--- a/cmd/ignite/run/testdata/output/inspect-yaml.txt
+++ b/cmd/ignite/run/testdata/output/inspect-yaml.txt
@@ -1,4 +1,4 @@
-apiVersion: ignite.weave.works/v1alpha2
+apiVersion: ignite.weave.works/v1alpha3
kind: VM
metadata:
created: "2000-01-01T01:00:00Z"
diff --git a/docs/api/ignite_v1alpha3.md b/docs/api/ignite_v1alpha3.md
new file mode 100644
index 000000000..26435612f
--- /dev/null
+++ b/docs/api/ignite_v1alpha3.md
@@ -0,0 +1,492 @@
+# v1alpha3
+
+`import "github.com/weaveworks/ignite/pkg/apis/ignite/v1alpha3"`
+
+ - [Overview](#pkg-overview)
+ - [Index](#pkg-index)
+
+## Overview
+
+\+k8s:deepcopy-gen=package +k8s:defaulter-gen=TypeMeta
++k8s:openapi-gen=true
++k8s:conversion-gen=github.com/weaveworks/ignite/pkg/apis/ignite
+
+## Index
+
+ - [Constants](#pkg-constants)
+ - [Variables](#pkg-variables)
+ - [func SetDefaults\_PoolSpec(obj \*PoolSpec)](#SetDefaults_PoolSpec)
+ - [func SetDefaults\_VMKernelSpec(obj
+ \*VMKernelSpec)](#SetDefaults_VMKernelSpec)
+ - [func SetDefaults\_VMSandboxSpec(obj
+ \*VMSandboxSpec)](#SetDefaults_VMSandboxSpec)
+ - [func SetDefaults\_VMSpec(obj \*VMSpec)](#SetDefaults_VMSpec)
+ - [type BlockDeviceVolume](#BlockDeviceVolume)
+ - [type FileMapping](#FileMapping)
+ - [type Image](#Image)
+ - [type ImageSpec](#ImageSpec)
+ - [type ImageStatus](#ImageStatus)
+ - [type Kernel](#Kernel)
+ - [type KernelSpec](#KernelSpec)
+ - [type KernelStatus](#KernelStatus)
+ - [type OCIImageSource](#OCIImageSource)
+ - [type Pool](#Pool)
+ - [type PoolDevice](#PoolDevice)
+ - [type PoolDeviceType](#PoolDeviceType)
+ - [type PoolSpec](#PoolSpec)
+ - [type PoolStatus](#PoolStatus)
+ - [type Runtime](#Runtime)
+ - [type SSH](#SSH)
+ - [func (s \*SSH) MarshalJSON() (\[\]byte,
+ error)](#SSH.MarshalJSON)
+ - [func (s \*SSH) UnmarshalJSON(b \[\]byte)
+ error](#SSH.UnmarshalJSON)
+ - [type VM](#VM)
+ - [type VMImageSpec](#VMImageSpec)
+ - [type VMKernelSpec](#VMKernelSpec)
+ - [type VMNetworkSpec](#VMNetworkSpec)
+ - [type VMSandboxSpec](#VMSandboxSpec)
+ - [type VMSpec](#VMSpec)
+ - [type VMStatus](#VMStatus)
+ - [type VMStorageSpec](#VMStorageSpec)
+ - [type Volume](#Volume)
+ - [type VolumeMount](#VolumeMount)
+
+#### Package files
+
+[defaults.go](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha3/defaults.go)
+[doc.go](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha3/doc.go)
+[json.go](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha3/json.go)
+[register.go](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha3/register.go)
+[types.go](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha3/types.go)
+
+## Constants
+
+``` go
+const (
+ KindImage runtime.Kind = "Image"
+ KindKernel runtime.Kind = "Kernel"
+ KindVM runtime.Kind = "VM"
+)
+```
+
+``` go
+const (
+ // GroupName is the group name use in this package
+ GroupName = "ignite.weave.works"
+)
+```
+
+## Variables
+
+``` go
+var (
+ // SchemeBuilder the schema builder
+ SchemeBuilder = runtime.NewSchemeBuilder(
+ addKnownTypes,
+ addDefaultingFuncs,
+ )
+
+ AddToScheme = localSchemeBuilder.AddToScheme
+)
+```
+
+``` go
+var SchemeGroupVersion = schema.GroupVersion{
+ Group: GroupName,
+ Version: "v1alpha3",
+}
+```
+
+SchemeGroupVersion is group version used to register these objects
+
+## func [SetDefaults\_PoolSpec](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha3/defaults.go?s=308:348#L15)
+
+``` go
+func SetDefaults_PoolSpec(obj *PoolSpec)
+```
+
+## func [SetDefaults\_VMKernelSpec](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha3/defaults.go?s=1190:1238#L51)
+
+``` go
+func SetDefaults_VMKernelSpec(obj *VMKernelSpec)
+```
+
+## func [SetDefaults\_VMSandboxSpec](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha3/defaults.go?s=1468:1518#L62)
+
+``` go
+func SetDefaults_VMSandboxSpec(obj *VMSandboxSpec)
+```
+
+## func [SetDefaults\_VMSpec](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha3/defaults.go?s=874:910#L37)
+
+``` go
+func SetDefaults_VMSpec(obj *VMSpec)
+```
+
+## type [BlockDeviceVolume](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha3/types.go?s=7601:7661#L201)
+
+``` go
+type BlockDeviceVolume struct {
+ Path string `json:"path"`
+}
+```
+
+BlockDeviceVolume defines a block device on the host
+
+## type [FileMapping](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha3/types.go?s=7896:7991#L212)
+
+``` go
+type FileMapping struct {
+ HostPath string `json:"hostPath"`
+ VMPath string `json:"vmPath"`
+}
+```
+
+FileMapping defines mappings between files on the host and VM
+
+## type [Image](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha3/types.go?s=390:863#L16)
+
+``` go
+type Image struct {
+ runtime.TypeMeta `json:",inline"`
+ // runtime.ObjectMeta is also embedded into the struct, and defines the human-readable name, and the machine-readable ID
+ // Name is available at the .metadata.name JSON path
+ // ID is available at the .metadata.uid JSON path (the Go type is k8s.io/apimachinery/pkg/types.UID, which is only a typed string)
+ runtime.ObjectMeta `json:"metadata"`
+
+ Spec ImageSpec `json:"spec"`
+ Status ImageStatus `json:"status"`
+}
+```
+
+Image represents a cached OCI image ready to be used with Ignite
++k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
+
+## type [ImageSpec](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha3/types.go?s=911:971#L28)
+
+``` go
+type ImageSpec struct {
+ OCI meta.OCIImageRef `json:"oci"`
+}
+```
+
+ImageSpec declares what the image contains
+
+## type [ImageStatus](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha3/types.go?s=1359:1508#L42)
+
+``` go
+type ImageStatus struct {
+ // OCISource contains the information about how this OCI image was imported
+ OCISource OCIImageSource `json:"ociSource"`
+}
+```
+
+ImageStatus defines the status of the image
+
+## type [Kernel](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha3/types.go?s=3893:4369#L106)
+
+``` go
+type Kernel struct {
+ runtime.TypeMeta `json:",inline"`
+ // runtime.ObjectMeta is also embedded into the struct, and defines the human-readable name, and the machine-readable ID
+ // Name is available at the .metadata.name JSON path
+ // ID is available at the .metadata.uid JSON path (the Go type is k8s.io/apimachinery/pkg/types.UID, which is only a typed string)
+ runtime.ObjectMeta `json:"metadata"`
+
+ Spec KernelSpec `json:"spec"`
+ Status KernelStatus `json:"status"`
+}
+```
+
+Kernel is a serializable object that caches information about imported
+kernels This file is stored in
+/var/lib/firecracker/kernels/{oci-image-digest}/metadata.json
++k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
+
+## type [KernelSpec](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha3/types.go?s=4422:4588#L118)
+
+``` go
+type KernelSpec struct {
+ OCI meta.OCIImageRef `json:"oci"`
+}
+```
+
+KernelSpec describes the properties of a kernel
+
+## type [KernelStatus](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha3/types.go?s=4639:4755#L125)
+
+``` go
+type KernelStatus struct {
+ Version string `json:"version"`
+ OCISource OCIImageSource `json:"ociSource"`
+}
+```
+
+KernelStatus describes the status of a kernel
+
+## type [OCIImageSource](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha3/types.go?s=1078:1310#L34)
+
+``` go
+type OCIImageSource struct {
+ // ID defines the source's content ID (e.g. the canonical OCI path or Docker image ID)
+ ID *meta.OCIContentID `json:"id"`
+ // Size defines the size of the source in bytes
+ Size meta.Size `json:"size"`
+}
+```
+
+OCIImageSource specifies how the OCI image was imported. It is the
+status variant of OCIImageClaim
+
+## type [Pool](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha3/types.go?s=1783:1969#L51)
+
+``` go
+type Pool struct {
+ runtime.TypeMeta `json:",inline"`
+
+ Spec PoolSpec `json:"spec"`
+ Status PoolStatus `json:"status"`
+}
+```
+
+Pool defines device mapper pool database This file is managed by the
+snapshotter part of Ignite, and the file (existing as a singleton) is
+present at /var/lib/firecracker/snapshotter/pool.json
++k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
+
+## type [PoolDevice](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha3/types.go?s=3260:3650#L93)
+
+``` go
+type PoolDevice struct {
+ Size meta.Size `json:"size"`
+ Parent meta.DMID `json:"parent"`
+ // Type specifies the type of the contents of the device
+ Type PoolDeviceType `json:"type"`
+ // MetadataPath points to the JSON/YAML file with metadata about this device
+ // This is most often of the format /var/lib/firecracker/{type}/{id}/metadata.json
+ MetadataPath string `json:"metadataPath"`
+}
+```
+
+PoolDevice defines one device in the pool
+
+## type [PoolDeviceType](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha3/types.go?s=2989:3015#L83)
+
+``` go
+type PoolDeviceType string
+```
+
+``` go
+const (
+ PoolDeviceTypeImage PoolDeviceType = "Image"
+ PoolDeviceTypeResize PoolDeviceType = "Resize"
+ PoolDeviceTypeKernel PoolDeviceType = "Kernel"
+ PoolDeviceTypeVM PoolDeviceType = "VM"
+)
+```
+
+## type [PoolSpec](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha3/types.go?s=2016:2729#L61)
+
+``` go
+type PoolSpec struct {
+ // MetadataSize specifies the size of the pool's metadata
+ MetadataSize meta.Size `json:"metadataSize"`
+ // DataSize specifies the size of the pool's data
+ DataSize meta.Size `json:"dataSize"`
+ // AllocationSize specifies the smallest size that can be allocated at a time
+ AllocationSize meta.Size `json:"allocationSize"`
+ // MetadataPath points to the file where device mapper stores all metadata information
+ // Defaults to constants.SNAPSHOTTER_METADATA_PATH
+ MetadataPath string `json:"metadataPath"`
+ // DataPath points to the backing physical device or sparse file (to be loop mounted) for the pool
+ // Defaults to constants.SNAPSHOTTER_DATA_PATH
+ DataPath string `json:"dataPath"`
+}
+```
+
+PoolSpec defines the Pool’s specification
+
+## type [PoolStatus](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha3/types.go?s=2779:2987#L77)
+
+``` go
+type PoolStatus struct {
+ // The Devices array needs to contain pointers to accommodate "holes" in the mapping
+ // Where devices have been deleted, the pointer is nil
+ Devices []*PoolDevice `json:"devices"`
+}
+```
+
+PoolStatus defines the Pool’s current status
+
+## type [Runtime](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha3/types.go?s=8340:8386#L227)
+
+``` go
+type Runtime struct {
+ ID string `json:"id"`
+}
+```
+
+Runtime specifies the VM’s runtime information
+
+## type [SSH](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha3/types.go?s=8211:8288#L221)
+
+``` go
+type SSH struct {
+ Generate bool `json:"-"`
+ PublicKey string `json:"-"`
+}
+```
+
+SSH specifies different ways to connect via SSH to the VM SSH uses a
+custom marshaller/unmarshaller. If generate is true, it marshals to true
+(a JSON bool). If PublicKey is set, it marshals to that string.
+
+### func (\*SSH) [MarshalJSON](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha3/json.go?s=117:160#L9)
+
+``` go
+func (s *SSH) MarshalJSON() ([]byte, error)
+```
+
+### func (\*SSH) [UnmarshalJSON](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha3/json.go?s=308:351#L21)
+
+``` go
+func (s *SSH) UnmarshalJSON(b []byte) error
+```
+
+## type [VM](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha3/types.go?s=4957:5421#L133)
+
+``` go
+type VM struct {
+ runtime.TypeMeta `json:",inline"`
+ // runtime.ObjectMeta is also embedded into the struct, and defines the human-readable name, and the machine-readable ID
+ // Name is available at the .metadata.name JSON path
+ // ID is available at the .metadata.uid JSON path (the Go type is k8s.io/apimachinery/pkg/types.UID, which is only a typed string)
+ runtime.ObjectMeta `json:"metadata"`
+
+ Spec VMSpec `json:"spec"`
+ Status VMStatus `json:"status"`
+}
+```
+
+VM represents a virtual machine run by Firecracker These files are
+stored in /var/lib/firecracker/vm/{vm-id}/metadata.json
++k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
+
+## type [VMImageSpec](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha3/types.go?s=6774:6836#L170)
+
+``` go
+type VMImageSpec struct {
+ OCI meta.OCIImageRef `json:"oci"`
+}
+```
+
+## type [VMKernelSpec](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha3/types.go?s=6838:6958#L174)
+
+``` go
+type VMKernelSpec struct {
+ OCI meta.OCIImageRef `json:"oci"`
+ CmdLine string `json:"cmdLine,omitempty"`
+}
+```
+
+## type [VMNetworkSpec](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha3/types.go?s=7087:7166#L184)
+
+``` go
+type VMNetworkSpec struct {
+ Ports meta.PortMappings `json:"ports,omitempty"`
+}
+```
+
+## type [VMSandboxSpec](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha3/types.go?s=7021:7085#L180)
+
+``` go
+type VMSandboxSpec struct {
+ OCI meta.OCIImageRef `json:"oci"`
+}
+```
+
+VMSandboxSpec is the spec of the sandbox used for the VM.
+
+## type [VMSpec](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha3/types.go?s=5469:6772#L145)
+
+``` go
+type VMSpec struct {
+ Image VMImageSpec `json:"image"`
+ Sandbox VMSandboxSpec `json:"sandbox"`
+ Kernel VMKernelSpec `json:"kernel"`
+ CPUs uint64 `json:"cpus"`
+ Memory meta.Size `json:"memory"`
+ DiskSize meta.Size `json:"diskSize"`
+ // TODO: Implement working omitempty without pointers for the following entries
+ // Currently both will show in the JSON output as empty arrays. Making them
+ // pointers requires plenty of nil checks (as their contents are accessed directly)
+ // and is very risky for stability. APIMachinery potentially has a solution.
+ Network VMNetworkSpec `json:"network,omitempty"`
+ Storage VMStorageSpec `json:"storage,omitempty"`
+ // This will be done at either "ignite start" or "ignite create" time
+ // TODO: We might revisit this later
+ CopyFiles []FileMapping `json:"copyFiles,omitempty"`
+ // SSH specifies how the SSH setup should be done
+ // nil here means "don't do anything special"
+ // If SSH.Generate is set, Ignite will generate a new SSH key and copy it in to authorized_keys in the VM
+ // Specifying a path in SSH.Generate means "use this public key"
+ // If SSH.PublicKey is set, this struct will marshal as a string using that path
+ // If SSH.Generate is set, this struct will marshal as a bool => true
+ SSH *SSH `json:"ssh,omitempty"`
+}
+```
+
+VMSpec describes the configuration of a VM
+
+## type [VMStatus](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha3/types.go?s=8427:8766#L232)
+
+``` go
+type VMStatus struct {
+ Running bool `json:"running"`
+ Runtime *Runtime `json:"runtime,omitempty"`
+ StartTime *runtime.Time `json:"startTime,omitempty"`
+ IPAddresses meta.IPAddresses `json:"ipAddresses,omitempty"`
+ Image OCIImageSource `json:"image"`
+ Kernel OCIImageSource `json:"kernel"`
+}
+```
+
+VMStatus defines the status of a VM
+
+## type [VMStorageSpec](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha3/types.go?s=7227:7371#L189)
+
+``` go
+type VMStorageSpec struct {
+ Volumes []Volume `json:"volumes,omitempty"`
+ VolumeMounts []VolumeMount `json:"volumeMounts,omitempty"`
+}
+```
+
+VMStorageSpec defines the VM’s Volumes and VolumeMounts
+
+## type [Volume](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha3/types.go?s=7412:7543#L195)
+
+``` go
+type Volume struct {
+ Name string `json:"name"`
+ BlockDevice *BlockDeviceVolume `json:"blockDevice,omitempty"`
+}
+```
+
+Volume defines named storage volume
+
+## type [VolumeMount](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha3/types.go?s=7733:7829#L206)
+
+``` go
+type VolumeMount struct {
+ Name string `json:"name"`
+ MountPath string `json:"mountPath"`
+}
+```
+
+VolumeMount defines the mount point for a named volume inside a VM
+
+-----
+
+Generated by [godoc2md](http://godoc.org/github.com/davecheney/godoc2md)
diff --git a/docs/api/index.md b/docs/api/index.md
index f36a656b0..c03c82da1 100644
--- a/docs/api/index.md
+++ b/docs/api/index.md
@@ -13,4 +13,5 @@ Please refer to the (autogenerated) docs for the API types below:
- [ignite/v1alpha1](ignite_v1alpha1.md)
- [ignite/v1alpha2](ignite_v1alpha2.md)
+- [ignite/v1alpha3](ignite_v1alpha3.md)
- [meta/v1alpha1](meta_v1alpha1.md)
diff --git a/docs/cli/ignite/ignite_ps.md b/docs/cli/ignite/ignite_ps.md
index 46825b4d4..e5c63e1f6 100644
--- a/docs/cli/ignite/ignite_ps.md
+++ b/docs/cli/ignite/ignite_ps.md
@@ -9,7 +9,7 @@ List all running VMs. By specifying the all flag (-a, --all),
also list VMs that are not currently running.
Using the -f (--filter) flag, you can give conditions VMs should fullfilled to be displayed.
You can filter on all the underlying fields of the VM struct, see the documentation:
-https://ignite.readthedocs.io/en/stable/api/ignite_v1alpha2#VM.
+https://ignite.readthedocs.io/en/stable/api/ignite_v1alpha3#VM.
Different operators can be used:
- "=" and "==" for the equal
diff --git a/docs/cli/ignite/ignite_vm_ps.md b/docs/cli/ignite/ignite_vm_ps.md
index 7db7bfd84..68396bd23 100644
--- a/docs/cli/ignite/ignite_vm_ps.md
+++ b/docs/cli/ignite/ignite_vm_ps.md
@@ -9,7 +9,7 @@ List all running VMs. By specifying the all flag (-a, --all),
also list VMs that are not currently running.
Using the -f (--filter) flag, you can give conditions VMs should fullfilled to be displayed.
You can filter on all the underlying fields of the VM struct, see the documentation:
-https://ignite.readthedocs.io/en/stable/api/ignite_v1alpha2#VM.
+https://ignite.readthedocs.io/en/stable/api/ignite_v1alpha3#VM.
Different operators can be used:
- "=" and "==" for the equal
diff --git a/docs/declarative-config.md b/docs/declarative-config.md
index 5f0cd441b..1c2d68721 100644
--- a/docs/declarative-config.md
+++ b/docs/declarative-config.md
@@ -9,7 +9,7 @@ The first commands to support this feature are `ignite run` and `ignite create`.
Here's an example API object file contents:
```yaml
-apiVersion: ignite.weave.works/v1alpha2
+apiVersion: ignite.weave.works/v1alpha3
kind: VM
metadata:
name: my-vm
@@ -35,7 +35,7 @@ INFO[0002] Started Firecracker VM "e04128e6f96176a8" in a container with ID "ign
The full reference format for the `VM` kind is as follows:
```yaml
-apiVersion: ignite.weave.works/v1alpha2
+apiVersion: ignite.weave.works/v1alpha3
kind: VM
metadata:
# Automatically set when the object is created
diff --git a/docs/gitops.md b/docs/gitops.md
index 1a0105d6f..24728c972 100644
--- a/docs/gitops.md
+++ b/docs/gitops.md
@@ -31,7 +31,7 @@ back to the repository using the default key for it. To edit your root's git con
Here's a sample configuration you can push to it (my-vm.yaml):
```yaml
-apiVersion: ignite.weave.works/v1alpha2
+apiVersion: ignite.weave.works/v1alpha3
kind: VM
metadata:
name: my-vm
diff --git a/docs/installation.md b/docs/installation.md
index 524941606..48db73f7b 100644
--- a/docs/installation.md
+++ b/docs/installation.md
@@ -139,7 +139,7 @@ for additional details):
```bash
VMFILE=/etc/firecracker/manifests/smoke-test.yml
tee "$VMFILE" > /dev/null < "/etc/firecracker/manifests/smoke-test.yml"
DEBU[2552] FileWatcher: Dispatched events batch and reset the events cache
DEBU[2552] GenericMappedRawStorage: AddMapping: "vm/d039cbcd-3606-462d-839e-25ac745cd7c5" -> "/etc/firecracker/manifests/smoke-test.yml"
-DEBU[2552] SyncStorage: Received update {{CREATE &TypeMeta{Kind:VM,APIVersion:ignite.weave.works/v1alpha2,}} 0xc0004c7aa0} true
-DEBU[2552] SyncStorage: Sent update: {CREATE &TypeMeta{Kind:VM,APIVersion:ignite.weave.works/v1alpha2,}}
+DEBU[2552] SyncStorage: Received update {{CREATE &TypeMeta{Kind:VM,APIVersion:ignite.weave.works/v1alpha3,}} 0xc0004c7aa0} true
+DEBU[2552] SyncStorage: Sent update: {CREATE &TypeMeta{Kind:VM,APIVersion:ignite.weave.works/v1alpha3,}}
DEBU[2552] FileWatcher: Skipping suspended event MODIFY for path: "/etc/firecracker/manifests/smoke-test.yml"
DEBU[2552] FileWatcher: Registered inotify events [notify.InCloseWrite: "/etc/firecracker/manifests/smoke-test.yml"] for path "/etc/firecracker/manifests/smoke-test.yml"
DEBU[2553] FileWatcher: Sending update: MODIFY -> "/etc/firecracker/manifests/smoke-test.yml"
DEBU[2553] FileWatcher: Dispatched events batch and reset the events cache
-DEBU[2553] SyncStorage: Received update {{MODIFY &TypeMeta{Kind:VM,APIVersion:ignite.weave.works/v1alpha2,}} 0xc0004c7aa0} true
+DEBU[2553] SyncStorage: Received update {{MODIFY &TypeMeta{Kind:VM,APIVersion:ignite.weave.works/v1alpha3,}} 0xc0004c7aa0} true
DEBU[2553] FileWatcher: Skipping suspended event MODIFY for path: "/etc/firecracker/manifests/smoke-test.yml"
-DEBU[2553] SyncStorage: Sent update: {MODIFY &TypeMeta{Kind:VM,APIVersion:ignite.weave.works/v1alpha2,}}
+DEBU[2553] SyncStorage: Sent update: {MODIFY &TypeMeta{Kind:VM,APIVersion:ignite.weave.works/v1alpha3,}}
DEBU[2553] FileWatcher: Registered inotify events [notify.InCloseWrite: "/etc/firecracker/manifests/smoke-test.yml"] for path "/etc/firecracker/manifests/smoke-test.yml"
DEBU[2554] FileWatcher: Sending update: MODIFY -> "/etc/firecracker/manifests/smoke-test.yml"
DEBU[2554] FileWatcher: Dispatched events batch and reset the events cache
-DEBU[2554] SyncStorage: Received update {{MODIFY &TypeMeta{Kind:VM,APIVersion:ignite.weave.works/v1alpha2,}} 0xc0004c7aa0} true
+DEBU[2554] SyncStorage: Received update {{MODIFY &TypeMeta{Kind:VM,APIVersion:ignite.weave.works/v1alpha3,}} 0xc0004c7aa0} true
DEBU[2554] FileWatcher: Registered inotify events [notify.InCloseWrite: "/etc/firecracker/manifests/smoke-test.yml"] for path "/etc/firecracker/manifests/smoke-test.yml"
-DEBU[2554] SyncStorage: Sent update: {MODIFY &TypeMeta{Kind:VM,APIVersion:ignite.weave.works/v1alpha2,}}
+DEBU[2554] SyncStorage: Sent update: {MODIFY &TypeMeta{Kind:VM,APIVersion:ignite.weave.works/v1alpha3,}}
DEBU[2554] FileWatcher: Skipping suspended event MODIFY for path: "/etc/firecracker/manifests/smoke-test.yml"
DEBU[2555] FileWatcher: Sending update: MODIFY -> "/etc/firecracker/manifests/smoke-test.yml"
DEBU[2555] FileWatcher: Dispatched events batch and reset the events cache
-DEBU[2555] SyncStorage: Received update {{MODIFY &TypeMeta{Kind:VM,APIVersion:ignite.weave.works/v1alpha2,}} 0xc0004c7aa0} true
-DEBU[2555] SyncStorage: Sent update: {MODIFY &TypeMeta{Kind:VM,APIVersion:ignite.weave.works/v1alpha2,}}
+DEBU[2555] SyncStorage: Received update {{MODIFY &TypeMeta{Kind:VM,APIVersion:ignite.weave.works/v1alpha3,}} 0xc0004c7aa0} true
+DEBU[2555] SyncStorage: Sent update: {MODIFY &TypeMeta{Kind:VM,APIVersion:ignite.weave.works/v1alpha3,}}
DEBU[2555] FileWatcher: Skipping suspended event MODIFY for path: "/etc/firecracker/manifests/smoke-test.yml"
DEBU[2556] FileWatcher: Registered inotify events [notify.InCloseWrite: "/etc/firecracker/manifests/smoke-test.yml"] for path "/etc/firecracker/manifests/smoke-test.yml"
etc.
diff --git a/docs/my-vm.yaml b/docs/my-vm.yaml
index 4e4155663..8440b0844 100644
--- a/docs/my-vm.yaml
+++ b/docs/my-vm.yaml
@@ -1,4 +1,4 @@
-apiVersion: ignite.weave.works/v1alpha2
+apiVersion: ignite.weave.works/v1alpha3
kind: VM
metadata:
name: my-vm
@@ -11,4 +11,4 @@ spec:
memory: 800MB
ssh: true
status:
- running: true
\ No newline at end of file
+ running: true