diff --git a/.github/workflows/check-links.yaml b/.github/workflows/check-links.yaml new file mode 100644 index 000000000..188ded991 --- /dev/null +++ b/.github/workflows/check-links.yaml @@ -0,0 +1,50 @@ +name: docs + +on: + pull_request: + push: + branches: + - master + +jobs: + markdown-link-checker: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + + # Check top-level markdown files + - uses: gaurav-nelson/github-action-markdown-link-check@v1 + with: + max-depth: 0 + use-verbose-mode: 'yes' + + site-link-checker: + runs-on: ubuntu-latest + strategy: + matrix: + python-version: [3.8] + steps: + - uses: actions/checkout@v2 + + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v1 + with: + python-version: ${{ matrix.python-version }} + + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install -r docs/requirements.txt + + - name: Build docs for link check + run: mkdocs build + + # Using liche action to check generated HTML site + - name: Link Checker (generated site) + id: lc2 + uses: peter-evans/link-checker@v1 + with: + args: -d site/ -r site/ -x "(github.com/weaveworks/ignite($|/issue|/pull|/releases|/commit/)|squidfunk.github.io|ignite.readthedocs.io)" + + - name: Fail if there were link errors + run: exit ${{ steps.lc2.outputs.exit_code }} diff --git a/.github/workflows/markdown-link-check-config.json b/.github/workflows/markdown-link-check-config.json new file mode 100644 index 000000000..813ca2044 --- /dev/null +++ b/.github/workflows/markdown-link-check-config.json @@ -0,0 +1,6 @@ +{ + "ignorePatterns": [ + { "pattern": "^https://github.com/\\S+/\\S+/(issues|pull)/" }, + { "pattern": "^mailto:" } + ] +} diff --git a/CHANGELOG.md b/CHANGELOG.md index 9cd9a2315..556023369 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1013,10 +1013,8 @@ There are many significant changes compared to before: ### API Machinery - Added the `ignite.weave.works/v1alpha1` API group with the Ignite API types https://github.com/weaveworks/ignite/commit/ca1edc8e7a61b950811c6145ba2ad53f8cdc2a04 - - API reference: https://github.com/weaveworks/ignite/blob/master/api/ignite.md - This API version will not change in a future version. When improvements are made, it will be to `v1alpha2` etc. - Add a meta API package containing supporting but generic API types for Ignite https://github.com/weaveworks/ignite/commit/09d51abd409ee361e93884baae24ffc92cde63a9 - - API reference: https://github.com/weaveworks/ignite/blob/master/api/meta.md - Create composable interfaces for the internal API machinery: `Client` -> `Cache` -> `Storage` -> `RawStorage` -> `Serializer` https://github.com/weaveworks/ignite/pull/93 https://github.com/weaveworks/ignite/pull/96 https://github.com/weaveworks/ignite/pull/99 - The API Machinery used in Ignite is partly based on the Kubernetes API machinery (`k8s.io/apimachinery`), and hence follows some of the same patterns @@ -1030,9 +1028,9 @@ There are many significant changes compared to before: - Add user-facing documentation and guides https://github.com/weaveworks/ignite/pull/113 - See: https://github.com/weaveworks/ignite/tree/master/docs - Generate OpenAPI specifications https://github.com/weaveworks/ignite/commit/f1c5bfd473799f712c4c1d8fb276426780c1bf01 - - See: https://github.com/weaveworks/ignite/blob/master/api/openapi/openapi_generated.go + - See: https://github.com/weaveworks/ignite/blob/master/pkg/openapi/openapi_generated.go - Add API type documentation https://github.com/weaveworks/ignite/commit/218c94723f836b8e2cb82886b8664544933ea605 - - See: https://github.com/weaveworks/ignite/blob/master/api + - See: https://github.com/weaveworks/ignite/blob/master/pkg/openapi/ - Added architecture diagram https://github.com/weaveworks/ignite/commit/da53f9fc2f5790edacb5d1b541dd4da8a6089673 - See: https://github.com/weaveworks/ignite/blob/master/docs/architecture.png - Added graph of module dependencies https://github.com/weaveworks/ignite/commit/be7cc088c671c5728155fb146367a67d4ada4ea6 diff --git a/docs/api/ignite_v1alpha1.md b/docs/api/ignite_v1alpha1.md index 5e8525928..e597825c1 100644 --- a/docs/api/ignite_v1alpha1.md +++ b/docs/api/ignite_v1alpha1.md @@ -304,43 +304,43 @@ func Convert_v1alpha1_VMStatus_To_ignite_VMStatus(in *VMStatus, out *ignite.VMSt Convert\_v1alpha1\_VMStatus\_To\_ignite\_VMStatus calls the autogenerated conversion function along with custom conversion logic -## func [SetDefaults\_OCIImageClaim](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha1/defaults.go?s=263:313#L13) +## func [SetDefaults\_OCIImageClaim](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha1/defaults.go?s=307:357#L14) ``` go func SetDefaults_OCIImageClaim(obj *OCIImageClaim) ``` -## func [SetDefaults\_PoolSpec](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha1/defaults.go?s=353:393#L17) +## func [SetDefaults\_PoolSpec](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha1/defaults.go?s=397:437#L18) ``` go func SetDefaults_PoolSpec(obj *PoolSpec) ``` -## func [SetDefaults\_VMKernelSpec](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha1/defaults.go?s=1235:1283#L53) +## func [SetDefaults\_VMKernelSpec](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha1/defaults.go?s=1279:1327#L54) ``` go func SetDefaults_VMKernelSpec(obj *VMKernelSpec) ``` -## func [SetDefaults\_VMNetworkSpec](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha1/defaults.go?s=1520:1570#L64) +## func [SetDefaults\_VMNetworkSpec](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha1/defaults.go?s=1575:1625#L65) ``` go func SetDefaults_VMNetworkSpec(obj *VMNetworkSpec) ``` -## func [SetDefaults\_VMSpec](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha1/defaults.go?s=919:955#L39) +## func [SetDefaults\_VMSpec](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha1/defaults.go?s=963:999#L40) ``` go func SetDefaults_VMSpec(obj *VMSpec) ``` -## func [SetDefaults\_VMStatus](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha1/defaults.go?s=1641:1681#L70) +## func [SetDefaults\_VMStatus](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha1/defaults.go?s=1696:1736#L71) ``` go func SetDefaults_VMStatus(obj *VMStatus) ``` -## type [FileMapping](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha1/types.go?s=7771:7866#L207) +## type [FileMapping](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha1/types.go?s=7766:7861#L207) ``` go type FileMapping struct { @@ -351,7 +351,7 @@ type FileMapping struct { FileMapping defines mappings between files on the host and VM -## type [Image](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha1/types.go?s=403:876#L18) +## type [Image](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha1/types.go?s=398:871#L18) ``` go type Image struct { @@ -369,7 +369,7 @@ type Image struct { Image represents a cached OCI image ready to be used with Ignite +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object -## type [ImageSourceType](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha1/types.go?s=1065:1092#L35) +## type [ImageSourceType](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha1/types.go?s=1060:1087#L35) ``` go type ImageSourceType string @@ -384,7 +384,7 @@ const ( ) ``` -## type [ImageSpec](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha1/types.go?s=924:991#L30) +## type [ImageSpec](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha1/types.go?s=919:986#L30) ``` go type ImageSpec struct { @@ -394,7 +394,7 @@ type ImageSpec struct { ImageSpec declares what the image contains -## type [ImageStatus](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha1/types.go?s=2390:2539#L69) +## type [ImageStatus](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha1/types.go?s=2385:2534#L69) ``` go type ImageStatus struct { @@ -405,7 +405,7 @@ type ImageStatus struct { ImageStatus defines the status of the image -## type [Kernel](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha1/types.go?s=4924:5400#L133) +## type [Kernel](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha1/types.go?s=4919:5395#L133) ``` go type Kernel struct { @@ -425,7 +425,7 @@ 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/v1alpha1/types.go?s=5453:5626#L145) +## type [KernelSpec](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha1/types.go?s=5448:5621#L145) ``` go type KernelSpec struct { @@ -435,7 +435,7 @@ type KernelSpec struct { KernelSpec describes the properties of a kernel -## type [KernelStatus](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha1/types.go?s=5677:5793#L152) +## type [KernelStatus](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha1/types.go?s=5672:5788#L152) ``` go type KernelStatus struct { @@ -446,7 +446,7 @@ type KernelStatus struct { KernelStatus describes the status of a kernel -## type [NetworkMode](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha1/types.go?s=8220:8243#L222) +## type [NetworkMode](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha1/types.go?s=8215:8238#L222) ``` go type NetworkMode string @@ -463,13 +463,13 @@ const ( ) ``` -### func (NetworkMode) [String](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha1/types.go?s=8283:8320#L226) +### func (NetworkMode) [String](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha1/types.go?s=8278:8315#L226) ``` go func (nm NetworkMode) String() string ``` -## type [OCIImageClaim](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha1/types.go?s=1288:1706#L43) +## type [OCIImageClaim](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha1/types.go?s=1283:1701#L43) ``` go type OCIImageClaim struct { @@ -485,7 +485,7 @@ type OCIImageClaim struct { OCIImageClaim defines a claim for importing an OCI image -## type [OCIImageSource](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha1/types.go?s=1813:2341#L55) +## type [OCIImageSource](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha1/types.go?s=1808:2336#L55) ``` go type OCIImageSource struct { @@ -505,7 +505,7 @@ type OCIImageSource struct { 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/v1alpha1/types.go?s=2814:3000#L78) +## type [Pool](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha1/types.go?s=2809:2995#L78) ``` go type Pool struct { @@ -521,7 +521,7 @@ 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/v1alpha1/types.go?s=4291:4681#L120) +## type [PoolDevice](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha1/types.go?s=4286:4676#L120) ``` go type PoolDevice struct { @@ -537,7 +537,7 @@ type PoolDevice struct { PoolDevice defines one device in the pool -## type [PoolDeviceType](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha1/types.go?s=4020:4046#L110) +## type [PoolDeviceType](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha1/types.go?s=4015:4041#L110) ``` go type PoolDeviceType string @@ -552,7 +552,7 @@ const ( ) ``` -## type [PoolSpec](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha1/types.go?s=3047:3760#L88) +## type [PoolSpec](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha1/types.go?s=3042:3755#L88) ``` go type PoolSpec struct { @@ -573,7 +573,7 @@ type PoolSpec struct { PoolSpec defines the Pool’s specification -## type [PoolStatus](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha1/types.go?s=3810:4018#L104) +## type [PoolStatus](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha1/types.go?s=3805:4013#L104) ``` go type PoolStatus struct { @@ -585,7 +585,7 @@ type PoolStatus struct { PoolStatus defines the Pool’s current status -## type [SSH](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha1/types.go?s=8086:8163#L216) +## type [SSH](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha1/types.go?s=8081:8158#L216) ``` go type SSH struct { @@ -610,7 +610,7 @@ func (s *SSH) MarshalJSON() ([]byte, error) func (s *SSH) UnmarshalJSON(b []byte) error ``` -## type [VM](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha1/types.go?s=5995:6459#L160) +## type [VM](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha1/types.go?s=5990:6454#L160) ``` go type VM struct { @@ -629,7 +629,7 @@ 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/v1alpha1/types.go?s=7392:7461#L192) +## type [VMImageSpec](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha1/types.go?s=7387:7456#L192) ``` go type VMImageSpec struct { @@ -637,7 +637,7 @@ type VMImageSpec struct { } ``` -## type [VMKernelSpec](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha1/types.go?s=7463:7584#L196) +## type [VMKernelSpec](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha1/types.go?s=7458:7579#L196) ``` go type VMKernelSpec struct { @@ -646,7 +646,7 @@ type VMKernelSpec struct { } ``` -## type [VMNetworkSpec](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha1/types.go?s=7586:7704#L201) +## type [VMNetworkSpec](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha1/types.go?s=7581:7699#L201) ``` go type VMNetworkSpec struct { @@ -655,7 +655,7 @@ type VMNetworkSpec struct { } ``` -## type [VMSpec](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha1/types.go?s=6507:7390#L172) +## type [VMSpec](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha1/types.go?s=6502:7385#L172) ``` go type VMSpec struct { @@ -681,7 +681,7 @@ type VMSpec struct { VMSpec describes the configuration of a VM -## type [VMState](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha1/types.go?s=8717:8736#L239) +## type [VMState](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha1/types.go?s=8712:8731#L239) ``` go type VMState string @@ -697,7 +697,7 @@ const ( ) ``` -## type [VMStatus](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha1/types.go?s=8896:9117#L248) +## type [VMStatus](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha1/types.go?s=8891:9112#L248) ``` go type VMStatus struct { diff --git a/docs/api/ignite_v1alpha2.md b/docs/api/ignite_v1alpha2.md index 0900e7f6d..b31c5151f 100644 --- a/docs/api/ignite_v1alpha2.md +++ b/docs/api/ignite_v1alpha2.md @@ -18,6 +18,8 @@ - [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) @@ -43,6 +45,7 @@ - [type VMImageSpec](#VMImageSpec) - [type VMKernelSpec](#VMKernelSpec) - [type VMNetworkSpec](#VMNetworkSpec) + - [type VMSandboxSpec](#VMSandboxSpec) - [type VMSpec](#VMSpec) - [type VMStatus](#VMStatus) - [type VMStorageSpec](#VMStorageSpec) @@ -97,25 +100,31 @@ var SchemeGroupVersion = schema.GroupVersion{ SchemeGroupVersion is group version used to register these objects -## func [SetDefaults\_PoolSpec](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha2/defaults.go?s=263:303#L13) +## func [SetDefaults\_PoolSpec](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha2/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/v1alpha2/defaults.go?s=1145:1193#L49) +## func [SetDefaults\_VMKernelSpec](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha2/defaults.go?s=1190:1238#L51) ``` go func SetDefaults_VMKernelSpec(obj *VMKernelSpec) ``` -## func [SetDefaults\_VMSpec](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha2/defaults.go?s=829:865#L35) +## func [SetDefaults\_VMSandboxSpec](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha2/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/v1alpha2/defaults.go?s=874:910#L37) ``` go func SetDefaults_VMSpec(obj *VMSpec) ``` -## type [BlockDeviceVolume](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha2/types.go?s=7433:7493#L195) +## type [BlockDeviceVolume](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha2/types.go?s=7601:7661#L201) ``` go type BlockDeviceVolume struct { @@ -125,7 +134,7 @@ type BlockDeviceVolume struct { BlockDeviceVolume defines a block device on the host -## type [FileMapping](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha2/types.go?s=7728:7823#L206) +## type [FileMapping](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha2/types.go?s=7896:7991#L212) ``` go type FileMapping struct { @@ -136,7 +145,7 @@ type FileMapping struct { FileMapping defines mappings between files on the host and VM -## type [Image](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha2/types.go?s=395:868#L16) +## type [Image](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha2/types.go?s=390:863#L16) ``` go type Image struct { @@ -154,7 +163,7 @@ type Image struct { 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/v1alpha2/types.go?s=916:976#L28) +## type [ImageSpec](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha2/types.go?s=911:971#L28) ``` go type ImageSpec struct { @@ -164,7 +173,7 @@ type ImageSpec struct { ImageSpec declares what the image contains -## type [ImageStatus](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha2/types.go?s=1364:1513#L42) +## type [ImageStatus](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha2/types.go?s=1359:1508#L42) ``` go type ImageStatus struct { @@ -175,7 +184,7 @@ type ImageStatus struct { ImageStatus defines the status of the image -## type [Kernel](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha2/types.go?s=3898:4374#L106) +## type [Kernel](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha2/types.go?s=3893:4369#L106) ``` go type Kernel struct { @@ -195,7 +204,7 @@ 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/v1alpha2/types.go?s=4427:4593#L118) +## type [KernelSpec](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha2/types.go?s=4422:4588#L118) ``` go type KernelSpec struct { @@ -205,7 +214,7 @@ type KernelSpec struct { KernelSpec describes the properties of a kernel -## type [KernelStatus](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha2/types.go?s=4644:4760#L125) +## type [KernelStatus](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha2/types.go?s=4639:4755#L125) ``` go type KernelStatus struct { @@ -216,7 +225,7 @@ type KernelStatus struct { KernelStatus describes the status of a kernel -## type [OCIImageSource](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha2/types.go?s=1083:1315#L34) +## type [OCIImageSource](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha2/types.go?s=1078:1310#L34) ``` go type OCIImageSource struct { @@ -230,7 +239,7 @@ type OCIImageSource struct { 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/v1alpha2/types.go?s=1788:1974#L51) +## type [Pool](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha2/types.go?s=1783:1969#L51) ``` go type Pool struct { @@ -246,7 +255,7 @@ 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/v1alpha2/types.go?s=3265:3655#L93) +## type [PoolDevice](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha2/types.go?s=3260:3650#L93) ``` go type PoolDevice struct { @@ -262,7 +271,7 @@ type PoolDevice struct { PoolDevice defines one device in the pool -## type [PoolDeviceType](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha2/types.go?s=2994:3020#L83) +## type [PoolDeviceType](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha2/types.go?s=2989:3015#L83) ``` go type PoolDeviceType string @@ -277,7 +286,7 @@ const ( ) ``` -## type [PoolSpec](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha2/types.go?s=2021:2734#L61) +## type [PoolSpec](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha2/types.go?s=2016:2729#L61) ``` go type PoolSpec struct { @@ -298,7 +307,7 @@ type PoolSpec struct { PoolSpec defines the Pool’s specification -## type [PoolStatus](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha2/types.go?s=2784:2992#L77) +## type [PoolStatus](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha2/types.go?s=2779:2987#L77) ``` go type PoolStatus struct { @@ -310,7 +319,7 @@ type PoolStatus struct { PoolStatus defines the Pool’s current status -## type [Runtime](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha2/types.go?s=8172:8218#L221) +## type [Runtime](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha2/types.go?s=8340:8386#L227) ``` go type Runtime struct { @@ -320,7 +329,7 @@ type Runtime struct { Runtime specifies the VM’s runtime information -## type [SSH](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha2/types.go?s=8043:8120#L215) +## type [SSH](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha2/types.go?s=8211:8288#L221) ``` go type SSH struct { @@ -345,7 +354,7 @@ func (s *SSH) MarshalJSON() ([]byte, error) func (s *SSH) UnmarshalJSON(b []byte) error ``` -## type [VM](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha2/types.go?s=4962:5426#L133) +## type [VM](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha2/types.go?s=4957:5421#L133) ``` go type VM struct { @@ -364,7 +373,7 @@ 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/v1alpha2/types.go?s=6733:6795#L169) +## type [VMImageSpec](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha2/types.go?s=6774:6836#L170) ``` go type VMImageSpec struct { @@ -372,7 +381,7 @@ type VMImageSpec struct { } ``` -## type [VMKernelSpec](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha2/types.go?s=6797:6917#L173) +## type [VMKernelSpec](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha2/types.go?s=6838:6958#L174) ``` go type VMKernelSpec struct { @@ -381,7 +390,7 @@ type VMKernelSpec struct { } ``` -## type [VMNetworkSpec](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha2/types.go?s=6919:6998#L178) +## type [VMNetworkSpec](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha2/types.go?s=7087:7166#L184) ``` go type VMNetworkSpec struct { @@ -389,15 +398,26 @@ type VMNetworkSpec struct { } ``` -## type [VMSpec](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha2/types.go?s=5474:6731#L145) +## type [VMSandboxSpec](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha2/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/v1alpha2/types.go?s=5469:6772#L145) ``` go type VMSpec struct { - Image VMImageSpec `json:"image"` - Kernel VMKernelSpec `json:"kernel"` - CPUs uint64 `json:"cpus"` - Memory meta.Size `json:"memory"` - DiskSize meta.Size `json:"diskSize"` + 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) @@ -419,7 +439,7 @@ type VMSpec struct { VMSpec describes the configuration of a VM -## type [VMStatus](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha2/types.go?s=8259:8598#L226) +## type [VMStatus](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha2/types.go?s=8427:8766#L232) ``` go type VMStatus struct { @@ -434,7 +454,7 @@ type VMStatus struct { VMStatus defines the status of a VM -## type [VMStorageSpec](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha2/types.go?s=7059:7203#L183) +## type [VMStorageSpec](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha2/types.go?s=7227:7371#L189) ``` go type VMStorageSpec struct { @@ -445,7 +465,7 @@ type VMStorageSpec struct { VMStorageSpec defines the VM’s Volumes and VolumeMounts -## type [Volume](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha2/types.go?s=7244:7375#L189) +## type [Volume](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha2/types.go?s=7412:7543#L195) ``` go type Volume struct { @@ -456,7 +476,7 @@ type Volume struct { Volume defines named storage volume -## type [VolumeMount](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha2/types.go?s=7565:7661#L200) +## type [VolumeMount](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha2/types.go?s=7733:7829#L206) ``` go type VolumeMount struct { diff --git a/docs/declarative-config.md b/docs/declarative-config.md index 617e8fa17..5f0cd441b 100644 --- a/docs/declarative-config.md +++ b/docs/declarative-config.md @@ -122,4 +122,4 @@ spec: ``` You can find the full API reference in the -[api/](https://github.com/weaveworks/ignite/tree/master/api) subfolder of the project. +[pkg/apis/](https://github.com/weaveworks/ignite/tree/master/pkg/apis) subfolder of the project. diff --git a/docs/releases/v0.4.0.md b/docs/releases/v0.4.0.md index 68780b4a1..be4c95d80 100644 --- a/docs/releases/v0.4.0.md +++ b/docs/releases/v0.4.0.md @@ -18,10 +18,8 @@ There are many significant changes compared to before: ## API Machinery - Added the `ignite.weave.works/v1alpha1` API group with the Ignite API types - - API reference: - This API version will not change in a future version. When improvements are made, it will be to `v1alpha2` etc. - Add a meta API package containing supporting but generic API types for Ignite - - API reference: - Create composable interfaces for the internal API machinery: `Client` -> `Cache` -> `Storage` -> `RawStorage` -> `Serializer` - The API Machinery used in Ignite is partly based on the Kubernetes API machinery (`k8s.io/apimachinery`), and hence follows some of the same patterns @@ -35,9 +33,9 @@ There are many significant changes compared to before: - Add user-facing documentation and guides - See: - Generate OpenAPI specifications - - See: + - See: - Add API type documentation - - See: + - See: - Added architecture diagram - See: - Added graph of module dependencies diff --git a/docs/requirements.txt b/docs/requirements.txt index 3ea9b3597..332a4c7f9 100644 --- a/docs/requirements.txt +++ b/docs/requirements.txt @@ -1,3 +1,3 @@ -mkdocs == 1.1 -mkdocs-material == 5.0.1 -pymdown-extensions >= 7.0.0 +mkdocs == 1.1.2 +mkdocs-material == 5.2.3 +pymdown-extensions >= 7.1 diff --git a/mkdocs.yml b/mkdocs.yml index 1994d2c00..a3d4b6e79 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -28,6 +28,6 @@ markdown_extensions: - admonition - codehilite: guess_lang: false - - pymdownx.superfences + - pymdownx.tabbed - toc: permalink: true