From 9ebb5289caf50f6a7c6b7fae573058d134931b23 Mon Sep 17 00:00:00 2001 From: Daniel Holbach Date: Wed, 8 Apr 2020 17:31:03 +0200 Subject: [PATCH] add GH Action to check links simplify checking of links fix some links fail properly Don't check docs directory twice attempt fixing erroring out update bits update theme don't check GH home update theme --- .github/workflows/check-links.yaml | 50 +++++++++++ .../workflows/markdown-link-check-config.json | 6 ++ CHANGELOG.md | 7 +- docs/api/ignite_v1alpha1.md | 62 ++++++------- docs/api/ignite_v1alpha2.md | 86 ++++++++++++------- docs/declarative-config.md | 2 +- docs/releases/v0.4.0.md | 7 +- docs/requirements.txt | 6 +- mkdocs.yml | 2 +- 9 files changed, 149 insertions(+), 79 deletions(-) create mode 100644 .github/workflows/check-links.yaml create mode 100644 .github/workflows/markdown-link-check-config.json diff --git a/.github/workflows/check-links.yaml b/.github/workflows/check-links.yaml new file mode 100644 index 000000000..d99c110a2 --- /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..83f8f1e72 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1003,7 +1003,6 @@ There are many significant changes compared to before: - Make base and kernel OCI images composable for a VM. You can now choose what kernel to combine with what base image freely https://github.com/weaveworks/ignite/pull/105 - Add the GitOps mode for Ignite using `ignite gitops` https://github.com/weaveworks/ignite/pull/100 - - Documentation: https://github.com/weaveworks/ignite/blob/master/gitops - Make it possible to run `ignite create` and `ignite run` declaratively https://github.com/weaveworks/ignite/commit/57333646b52a0e1e3a725340e994b2749b39e5bd - Documentation: https://github.com/weaveworks/ignite/blob/master/docs/declarative-config.md - Added Prometheus metrics for `ignite-spawn` https://github.com/weaveworks/ignite/commit/94abc529972873db3fa3ee954099a4f62d67b6f3 @@ -1013,10 +1012,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 +1027,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..5b10afb9b 100644 --- a/docs/releases/v0.4.0.md +++ b/docs/releases/v0.4.0.md @@ -8,7 +8,6 @@ There are many significant changes compared to before: - Make base and kernel OCI images composable for a VM. You can now choose what kernel to combine with what base image freely - Add the GitOps mode for Ignite using `ignite gitops` - - Documentation: - Make it possible to run `ignite create` and `ignite run` declaratively - Documentation: - Added Prometheus metrics for `ignite-spawn` @@ -18,10 +17,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 +32,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