mirror of
https://github.com/kubernetes-sigs/node-feature-discovery.git
synced 2025-03-06 16:57:10 +00:00
101 lines
No EOL
29 KiB
HTML
101 lines
No EOL
29 KiB
HTML
<!DOCTYPE html> <html lang="en" dir="auto"> <head><meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"> <meta name="description" content="Developer Guide Table of contents Building from source Download the source code Docker Build Customizing the Build Testing Running Locally NFD-Mast..."> <meta name="revised" content=""> <meta name="author" content="Kubernetes SIGs"> <meta name="generator" content="jekyll-rtd-theme v2.0.9"> <meta property="og:title" content="Developer Guide · Node Feature Discovery"> <meta property="og:description" content="Developer Guide Table of contents Building from source Download the source code Docker Build Customizing the Build Testing Running Locally NFD-Mast..."> <meta property="og:locale" content="en"> <meta property="og:url" content="https://kubernetes-sigs.github.com/node-feature-discovery/v0.6/advanced/"> <meta property="og:type" content="article"> <meta property="article:author" content="Kubernetes SIGs"> <meta property="article:published_time" content="2016-07-23T00:07:52-05:00"> <meta property="article:modified_time" content="2023-04-14T16:16:47-05:00"> <meta name="twitter:title" content="Developer Guide · Node Feature Discovery"> <meta name="twitter:description" content="Developer Guide Table of contents Building from source Download the source code Docker Build Customizing the Build Testing Running Locally NFD-Mast..."> <meta name="twitter:card" content="summary"> <meta name="twitter:site" content="@Kubernetes SIGs"> <meta name="twitter:url" content="https://kubernetes-sigs.github.com/node-feature-discovery/v0.6/advanced/"> <meta name="twitter:creator" content="@jekyll-rtd-theme v2.0.9"> <title>Developer Guide · Node Feature Discovery</title> <link rel="dns-prefetch" href="https://rundocs-analytics.glitch.me"> <link rel="dns-prefetch" href="https://cdn.jsdelivr.net"> <link rel="canonical" href="https://kubernetes-sigs.github.com/node-feature-discovery/v0.6/advanced/"> <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/rundocs/jekyll-rtd-theme@2.0.9/assets/css/theme.min.css"> <link rel="icon" type="image/svg+xml" href="/node-feature-discovery/v0.6/assets/images/favicon.svg"> <link rel="icon" type="image/png" href="/node-feature-discovery/v0.6/assets/images/favicon-16x16.png" sizes="16x16"> <link rel="icon" type="image/png" href="/node-feature-discovery/v0.6/assets/images/favicon-32x32.png" sizes="32x32"> <link rel="icon" type="image/png" href="/node-feature-discovery/v0.6/assets/images/favicon-96x96.png" sizes="96x96"> <link rel="mask-icon" href="/node-feature-discovery/v0.6/assets/images/favicon.svg" color="#2980b9"> <link rel="apple-touch-icon" href="/node-feature-discovery/v0.6/assets/images/apple-touch-icon-300x300.jpg"> <script type="application/ld+json"> { "@context": "https://schema.org", "@type": "Article", "mainEntityOfPage": { "@type": "WebPage", "@id": "https://kubernetes-sigs.github.com/node-feature-discovery/v0.6/advanced/" }, "headline": "Developer Guide · Node Feature Discovery", "image": [], "author": { "@type": "Person", "name": "Kubernetes SIGs" }, "datePublished": "2016-07-23T00:07:52-05:00", "dateModified": "2023-04-14T16:16:47-05:00", "publisher": { "@type": "Organization", "name": "Kubernetes SIGs", "logo": { "@type": "ImageObject", "url": "https://avatars.githubusercontent.com/u/36015203?v=4" } }, "description": "Developer Guide Table of contents Building from source Download the source code Docker Build Customizing the Build Testing Running Locally NFD-Mast..." } </script> </head> <body class="container"><div class="sidebar-wrap overflow-hidden"> <div class="sidebar height-full overflow-y-scroll overflow-x-hidden"> <div class="header d-flex flex-column p-3 text-center"> <div class="title pb-1"> <a class="h4 no-underline py-1 px-2 rounded-1" href="/node-feature-discovery/v0.6/" title="Documentation of Node Feature Discovery - a Kubernetes add-on for discovering and advertising hardware features and system configuration in the cluster."> <i class="fa fa-home"></i> Node Feature Discovery </a> </div> <span class="version">v0.6.0</span> <form class="search pt-2" action="/node-feature-discovery/v0.6/search.html" method="get" autocomplete="off"> <input class="form-control input-block input-sm" type="text" name="q" placeholder="Search docs..."> </form> </div> <div class="toctree py-2" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> </ul> <a class="caption d-block text-uppercase no-wrap px-2 py-0" href="/node-feature-discovery/v0.6/get-started/"> Get started </a><ul> <li class="toc level-1 " data-sort="1" data-level="1"> <a class="d-flex flex-items-baseline " href="/node-feature-discovery/v0.6/get-started/introduction.html">1. Introduction</a> </li> <li class="toc level-1 " data-sort="2" data-level="1"> <a class="d-flex flex-items-baseline " href="/node-feature-discovery/v0.6/get-started/quick-start.html">2. Quick Start</a> </li> <li class="toc level-1 " data-sort="3" data-level="1"> <a class="d-flex flex-items-baseline " href="/node-feature-discovery/v0.6/get-started/deployment-and-usage.html">3. Deployment and Usage</a> </li> <li class="toc level-1 " data-sort="4" data-level="1"> <a class="d-flex flex-items-baseline " href="/node-feature-discovery/v0.6/get-started/features.html">4. Feature Discovery</a> </li> <li class="toc level-1 " data-sort="5" data-level="1"> <a class="d-flex flex-items-baseline " href="/node-feature-discovery/v0.6/get-started/examples-and-demos.html">5. Examples and Demos</a> </li></ul> <a class="caption d-block text-uppercase no-wrap px-2 py-0" href="/node-feature-discovery/v0.6/advanced/"> Developer Guide </a><ul> </ul> <a class="caption d-block text-uppercase no-wrap px-2 py-0" href="/node-feature-discovery/v0.6/contributing/"> Contributing </a><ul> </ul> </div> </div> </div> <div class="content-wrap"> <div class="header d-flex flex-justify-between p-2 hide-lg hide-xl" aria-label="top navigation"> <button id="toggle" class="btn-octicon p-2 m-0 text-white" type="button"> <i class="fa fa-bars"></i> </button> <div class="title flex-1 d-flex flex-justify-center"> <a class="h4 no-underline py-1 px-2 rounded-1" href="/node-feature-discovery/v0.6/">Node Feature Discovery</a> </div> </div> <div class="bg-red-2"> <div class="content p-3 px-sm-5"> This documentation is for Node Feature Discovery version that is no longer supported. Please upgrade and visit the <a class="no-underline" href="/node-feature-discovery/stable">documentation of the latest stable release</a>. </div> </div> <div class="content p-3 p-sm-5"> <div class="navigation-top d-flex flex-justify-between"> <ul class="breadcrumb" role="navigation" aria-label="breadcrumbs navigation"> <li class="breadcrumb-item"> <a class="no-underline" href="/node-feature-discovery/v0.6/" title="/"> <i class="fa fa-home"></i> </a> </li><li class="breadcrumb-item" ><a href="/node-feature-discovery/v0.6/advanced/">advanced</a></li><li class="breadcrumb-item" aria-current="page">index.md</li></ul> <a class="edit" href="https://github.com/kubernetes-sigs/node-feature-discovery/edit/gh-pages/advanced/index.md" title="Edit on GitHub" rel="noreferrer" target="_blank"> <i class="fa fa-edit"></i> </a> </div> <hr> <div role="main" itemscope="itemscope" itemtype="http://schema.org/Article"> <div class="markdown-body" itemprop="articleBody"> <h1 class="no_toc" id="developer-guide">Developer Guide</h1> <h2 class="no_toc text-delta" id="table-of-contents">Table of contents</h2> <ol id="markdown-toc"> <li><a href="#building-from-source" id="markdown-toc-building-from-source">Building from source</a> <ol> <li><a href="#download-the-source-code" id="markdown-toc-download-the-source-code">Download the source code</a></li> <li><a href="#docker-build" id="markdown-toc-docker-build">Docker Build</a></li> <li><a href="#customizing-the-build" id="markdown-toc-customizing-the-build">Customizing the Build</a></li> <li><a href="#testing" id="markdown-toc-testing">Testing</a></li> </ol> </li> <li><a href="#running-locally" id="markdown-toc-running-locally">Running Locally</a> <ol> <li><a href="#nfd-master" id="markdown-toc-nfd-master">NFD-Master</a></li> <li><a href="#nfd-worker" id="markdown-toc-nfd-worker">NFD-Worker</a></li> </ol> </li> <li><a href="#documentation" id="markdown-toc-documentation">Documentation</a></li> </ol> <hr /> <h2 id="building-from-source">Building from source</h2> <h3 id="download-the-source-code">Download the source code</h3> <div class="language-bash highlighter-rouge notranslate"><div class="highlight"><pre class="highlight"><code>git clone https://github.com/kubernetes-sigs/node-feature-discovery
|
|
</code></pre> </div></div> <h3 id="docker-build">Docker Build</h3> <h4 id="build-the-container-image">Build the container image</h4> <p>See <a href="#customizing-the-build">customizing the build</a> below for altering the container image registry, for example.</p> <div class="language-bash highlighter-rouge notranslate"><div class="highlight"><pre class="highlight"><code><span class="nb">cd</span> <project-root>
|
|
make
|
|
</code></pre> </div></div> <h4 id="push-the-container-image">Push the container image</h4> <p>Optional, this example with Docker.</p> <div class="language-bash highlighter-rouge notranslate"><div class="highlight"><pre class="highlight"><code>docker push <IMAGE_TAG>
|
|
</code></pre> </div></div> <h4 id="change-the-job-spec-to-use-your-custom-image-optional">Change the job spec to use your custom image (optional)</h4> <p>To use your published image from the step above instead of the <code class="language-plaintext highlighter-rouge notranslate">k8s.gcr.io/nfd/node-feature-discovery</code> image, edit <code class="language-plaintext highlighter-rouge notranslate">image</code> attribute in the spec template(s) to the new location (<code class="language-plaintext highlighter-rouge notranslate"><registry-name>/<image-name>[:<version>]</code>).</p> <h3 id="customizing-the-build">Customizing the Build</h3> <p>There are several Makefile variables that control the build process and the name of the resulting container image.</p> <table> <thead> <tr> <th>Variable</th> <th>Description</th> <th>Default value</th> </tr> </thead> <tbody> <tr> <td>HOSTMOUNT_PREFIX</td> <td>Prefix of system directories for feature discovery (local builds)</td> <td>/ (<em>local builds</em>) /host- (<em>container builds</em>)</td> </tr> <tr> <td>IMAGE_BUILD_CMD</td> <td>Command to build the image</td> <td>docker build</td> </tr> <tr> <td>IMAGE_BUILD_EXTRA_OPTS</td> <td>Extra options to pass to build command</td> <td><em>empty</em></td> </tr> <tr> <td>IMAGE_PUSH_CMD</td> <td>Command to push the image to remote registry</td> <td>docker push</td> </tr> <tr> <td>IMAGE_REGISTRY</td> <td>Container image registry to use</td> <td>k8s.gcr.io/nfd</td> </tr> <tr> <td>IMAGE_TAG_NAME</td> <td>Container image tag name</td> <td><nfd version></td> </tr> <tr> <td>IMAGE_EXTRA_TAG_NAMES</td> <td>Additional container image tag(s) to create when building image</td> <td><em>empty</em></td> </tr> <tr> <td>K8S_NAMESPACE</td> <td>nfd-master and nfd-worker namespace</td> <td>kube-system</td> </tr> <tr> <td>KUBECONFIG</td> <td>Kubeconfig for running e2e-tests</td> <td><em>empty</em></td> </tr> <tr> <td>E2E_TEST_CONFIG</td> <td>Parameterization file of e2e-tests (see <a href="https://github.com/kubernetes-sigs/node-feature-discovery/blob/release-0.6/test/e2e/e2e-test-config.exapmle.yaml">example</a>)</td> <td><em>empty</em></td> </tr> </tbody> </table> <p>For example, to use a custom registry:</p> <div class="language-bash highlighter-rouge notranslate"><div class="highlight"><pre class="highlight"><code>make <span class="nv">IMAGE_REGISTRY</span><span class="o">=</span><my custom registry uri>
|
|
|
|
</code></pre> </div></div> <p>Or to specify a build tool different from Docker:</p> <p>It can be done in 2 ways, by pre-defining the variable</p> <div class="language-bash highlighter-rouge notranslate"><div class="highlight"><pre class="highlight"><code><span class="nv">IMAGE_BUILD_CMD</span><span class="o">=</span><span class="s2">"buildah bud"</span> make
|
|
</code></pre> </div></div> <p>Or By overriding the variable value</p> <div class="language-bash highlighter-rouge notranslate"><div class="highlight"><pre class="highlight"><code>make <span class="nv">IMAGE_BUILD_CMD</span><span class="o">=</span><span class="s2">"buildah bud"</span>
|
|
</code></pre> </div></div> <h3 id="testing">Testing</h3> <p>Unit tests are automatically run as part of the container image build. You can also run them manually in the source code tree by simply running:</p> <div class="language-bash highlighter-rouge notranslate"><div class="highlight"><pre class="highlight"><code>make <span class="nb">test</span>
|
|
</code></pre> </div></div> <p>End-to-end tests are built on top of the e2e test framework of Kubernetes, and, they required a cluster to run them on. For running the tests on your test cluster you need to specify the kubeconfig to be used:</p> <div class="language-bash highlighter-rouge notranslate"><div class="highlight"><pre class="highlight"><code>make e2e-test <span class="nv">KUBECONFIG</span><span class="o">=</span><span class="nv">$HOME</span>/.kube/config
|
|
</code></pre> </div></div> <h2 id="running-locally">Running Locally</h2> <p>You can run NFD locally, either directly on your host OS or in containers for testing and development purposes. This may be useful e.g. for checking features-detection.</p> <h3 id="nfd-master">NFD-Master</h3> <p>When running as a standalone container labeling is expected to fail because Kubernetes API is not available. Thus, it is recommended to use <code class="language-plaintext highlighter-rouge notranslate">--no-publish</code> command line flag. E.g.</p> <div class="language-bash highlighter-rouge notranslate"><div class="highlight"><pre class="highlight"><code><span class="nv">$ NFD_CONTAINER_IMAGE</span><span class="o">=</span>k8s.gcr.io/nfd/node-feature-discovery:v0.6.0
|
|
<span class="nv">$ </span>docker run <span class="nt">--rm</span> <span class="nt">--name</span><span class="o">=</span>nfd-test <span class="k">${</span><span class="nv">NFD_CONTAINER_IMAGE</span><span class="k">}</span> nfd-master <span class="nt">--no-publish</span>
|
|
2019/02/01 14:48:21 Node Feature Discovery Master <NFD_VERSION>
|
|
2019/02/01 14:48:21 gRPC server serving on port: 8080
|
|
</code></pre> </div></div> <p>Command line flags of nfd-master:</p> <div class="language-bash highlighter-rouge notranslate"><div class="highlight"><pre class="highlight"><code><span class="nv">$ </span>docker run <span class="nt">--rm</span> <span class="k">${</span><span class="nv">NFD_CONTAINER_IMAGE</span><span class="k">}</span> nfd-master <span class="nt">--help</span>
|
|
...
|
|
nfd-master.
|
|
|
|
Usage:
|
|
nfd-master <span class="o">[</span><span class="nt">--no-publish</span><span class="o">]</span> <span class="o">[</span><span class="nt">--label-whitelist</span><span class="o">=</span><pattern>] <span class="o">[</span><span class="nt">--port</span><span class="o">=</span><port>]
|
|
<span class="o">[</span><span class="nt">--ca-file</span><span class="o">=</span><path>] <span class="o">[</span><span class="nt">--cert-file</span><span class="o">=</span><path>] <span class="o">[</span><span class="nt">--key-file</span><span class="o">=</span><path>]
|
|
<span class="o">[</span><span class="nt">--verify-node-name</span><span class="o">]</span> <span class="o">[</span><span class="nt">--extra-label-ns</span><span class="o">=</span><list>] <span class="o">[</span><span class="nt">--resource-labels</span><span class="o">=</span><list>]
|
|
nfd-master <span class="nt">-h</span> | <span class="nt">--help</span>
|
|
nfd-master <span class="nt">--version</span>
|
|
|
|
Options:
|
|
<span class="nt">-h</span> <span class="nt">--help</span> Show this screen.
|
|
<span class="nt">--version</span> Output version and exit.
|
|
<span class="nt">--port</span><span class="o">=</span><port> Port on which to listen <span class="k">for </span>connections.
|
|
<span class="o">[</span>Default: 8080]
|
|
<span class="nt">--ca-file</span><span class="o">=</span><path> Root certificate <span class="k">for </span>verifying connections
|
|
<span class="o">[</span>Default: <span class="o">]</span>
|
|
<span class="nt">--cert-file</span><span class="o">=</span><path> Certificate used <span class="k">for </span>authenticating connections
|
|
<span class="o">[</span>Default: <span class="o">]</span>
|
|
<span class="nt">--key-file</span><span class="o">=</span><path> Private key matching <span class="nt">--cert-file</span>
|
|
<span class="o">[</span>Default: <span class="o">]</span>
|
|
<span class="nt">--verify-node-name</span> Verify worker node name against CN from the TLS
|
|
certificate. Only has effect when TLS authentication
|
|
has been enabled.
|
|
<span class="nt">--no-publish</span> Do not publish feature labels
|
|
<span class="nt">--label-whitelist</span><span class="o">=</span><pattern> Regular expression to filter label names to
|
|
publish to the Kubernetes API server.
|
|
NB: the label namespace is omitted i.e. the filter
|
|
is only applied to the name part after <span class="s1">'/'</span><span class="nb">.</span>
|
|
<span class="o">[</span>Default: <span class="o">]</span>
|
|
<span class="nt">--extra-label-ns</span><span class="o">=</span><list> Comma separated list of allowed extra label namespaces
|
|
<span class="o">[</span>Default: <span class="o">]</span>
|
|
<span class="nt">--resource-labels</span><span class="o">=</span><list> Comma separated list of labels to be exposed as extended resources.
|
|
<span class="o">[</span>Default: <span class="o">]</span>
|
|
</code></pre> </div></div> <h3 id="nfd-worker">NFD-Worker</h3> <p>In order to run nfd-worker as a "stand-alone" container against your standalone nfd-master you need to run them in the same network namespace:</p> <div class="language-bash highlighter-rouge notranslate"><div class="highlight"><pre class="highlight"><code><span class="nv">$ </span>docker run <span class="nt">--rm</span> <span class="nt">--network</span><span class="o">=</span>container:nfd-test <NFD_CONTAINER_IMAGE> nfd-worker
|
|
2019/02/01 14:48:56 Node Feature Discovery Worker <NFD_VERSION>
|
|
...
|
|
</code></pre> </div></div> <p>If you just want to try out feature discovery without connecting to nfd-master, pass the <code class="language-plaintext highlighter-rouge notranslate">--no-publish</code> flag to nfd-worker.</p> <p>Command line flags of nfd-worker:</p> <div class="language-bash highlighter-rouge notranslate"><div class="highlight"><pre class="highlight"><code><span class="nv">$ </span>docker run <span class="nt">--rm</span> <span class="k">${</span><span class="nv">NFD_CONTAINER_IMAGE</span><span class="k">}</span> nfd-worker <span class="nt">--help</span>
|
|
...
|
|
nfd-worker.
|
|
|
|
Usage:
|
|
nfd-worker <span class="o">[</span><span class="nt">--no-publish</span><span class="o">]</span> <span class="o">[</span><span class="nt">--sources</span><span class="o">=</span><sources>] <span class="o">[</span><span class="nt">--label-whitelist</span><span class="o">=</span><pattern>]
|
|
<span class="o">[</span><span class="nt">--oneshot</span> | <span class="nt">--sleep-interval</span><span class="o">=</span><seconds>] <span class="o">[</span><span class="nt">--config</span><span class="o">=</span><path>]
|
|
<span class="o">[</span><span class="nt">--options</span><span class="o">=</span><config>] <span class="o">[</span><span class="nt">--server</span><span class="o">=</span><server>] <span class="o">[</span><span class="nt">--server-name-override</span><span class="o">=</span><name>]
|
|
<span class="o">[</span><span class="nt">--ca-file</span><span class="o">=</span><path>] <span class="o">[</span><span class="nt">--cert-file</span><span class="o">=</span><path>] <span class="o">[</span><span class="nt">--key-file</span><span class="o">=</span><path>]
|
|
nfd-worker <span class="nt">-h</span> | <span class="nt">--help</span>
|
|
nfd-worker <span class="nt">--version</span>
|
|
|
|
Options:
|
|
<span class="nt">-h</span> <span class="nt">--help</span> Show this screen.
|
|
<span class="nt">--version</span> Output version and exit.
|
|
<span class="nt">--config</span><span class="o">=</span><path> Config file to use.
|
|
<span class="o">[</span>Default: /etc/kubernetes/node-feature-discovery/nfd-worker.conf]
|
|
<span class="nt">--options</span><span class="o">=</span><config> Specify config options from <span class="nb">command </span>line. Config
|
|
options are specified <span class="k">in </span>the same format as <span class="k">in </span>the
|
|
config file <span class="o">(</span>i.e. json or yaml<span class="o">)</span><span class="nb">.</span> These options
|
|
will override settings <span class="nb">read </span>from the config file.
|
|
<span class="o">[</span>Default: <span class="o">]</span>
|
|
<span class="nt">--ca-file</span><span class="o">=</span><path> Root certificate <span class="k">for </span>verifying connections
|
|
<span class="o">[</span>Default: <span class="o">]</span>
|
|
<span class="nt">--cert-file</span><span class="o">=</span><path> Certificate used <span class="k">for </span>authenticating connections
|
|
<span class="o">[</span>Default: <span class="o">]</span>
|
|
<span class="nt">--key-file</span><span class="o">=</span><path> Private key matching <span class="nt">--cert-file</span>
|
|
<span class="o">[</span>Default: <span class="o">]</span>
|
|
<span class="nt">--server</span><span class="o">=</span><server> NFD server address to connecto to.
|
|
<span class="o">[</span>Default: localhost:8080]
|
|
<span class="nt">--server-name-override</span><span class="o">=</span><name> Name <span class="o">(</span>CN<span class="o">)</span> expect from server certificate, useful
|
|
<span class="k">in </span>testing
|
|
<span class="o">[</span>Default: <span class="o">]</span>
|
|
<span class="nt">--sources</span><span class="o">=</span><sources> Comma separated list of feature sources.
|
|
<span class="o">[</span>Default: cpu,custom,iommu,kernel,local,memory,network,pci,storage,system,usb]
|
|
<span class="nt">--no-publish</span> Do not publish discovered features to the
|
|
cluster-local Kubernetes API server.
|
|
<span class="nt">--label-whitelist</span><span class="o">=</span><pattern> Regular expression to filter label names to
|
|
publish to the Kubernetes API server.
|
|
NB: the label namespace is omitted i.e. the filter
|
|
is only applied to the name part after <span class="s1">'/'</span><span class="nb">.</span>
|
|
<span class="o">[</span>Default: <span class="o">]</span>
|
|
<span class="nt">--oneshot</span> Label once and exit.
|
|
<span class="nt">--sleep-interval</span><span class="o">=</span><seconds> Time to <span class="nb">sleep </span>between re-labeling. Non-positive
|
|
value implies no re-labeling <span class="o">(</span>i.e. infinite
|
|
<span class="nb">sleep</span><span class="o">)</span><span class="nb">.</span> <span class="o">[</span>Default: 60s]
|
|
</code></pre> </div></div> <p><strong>NOTE</strong> Some feature sources need certain directories and/or files from the host mounted inside the NFD container. Thus, you need to provide Docker with the correct <code class="language-plaintext highlighter-rouge notranslate">--volume</code> options in order for them to work correctly when run stand-alone directly with <code class="language-plaintext highlighter-rouge notranslate">docker run</code>. See the <a href="https://github.com/kubernetes-sigs/node-feature-discovery/blob/release-0.6/nfd-worker-daemonset.yaml.template">template spec</a> for up-to-date information about the required volume mounts.</p> <h2 id="documentation">Documentation</h2> <p>All documentation resides under the <a href="https://github.com/kubernetes-sigs/node-feature-discovery/tree/release-0.6/docs">docs</a> directory in the source tree. It is designed to be served as a html site by <a href="https://pages.github.com/">GitHub Pages</a>.</p> <p>Building the documentation is containerized in order to fix the build environment. The recommended way for developing documentation is to run:</p> <div class="language-bash highlighter-rouge notranslate"><div class="highlight"><pre class="highlight"><code>make site-serve
|
|
</code></pre> </div></div> <p>This will build the documentation in a container and serve it under <a href="http://localhost:4000/">localhost:4000/</a> making it easy to verify the results. Any changes made to the <code class="language-plaintext highlighter-rouge notranslate">docs/</code> will automatically re-trigger a rebuild and are reflected in the served content and can be inspected with a simple browser refresh.</p> <p>In order to just build the html documentation run:</p> <div class="language-bash highlighter-rouge notranslate"><div class="highlight"><pre class="highlight"><code>make site-build
|
|
</code></pre> </div></div> <p>This will generate html documentation under <code class="language-plaintext highlighter-rouge notranslate">docs/_site/</code>.</p> <!-- Links --> </div> </div> <hr> <div class="copyright text-center text-gray" role="contentinfo"> <i class="fa fa-copyright"></i> <span class="time">2016-2023,</span> <a class="text-gray" href="https://github.com/kubernetes-sigs" rel="noreferrer" target="_blank">Kubernetes SIGs</a> Revision <a class="text-gray" href="https://github.com/kubernetes-sigs/node-feature-discovery/commit/" title="" rel="noreferrer" target="_blank"></a> <br> <div class="generator"> Built with <a href="https://jekyllrb.com" rel="noreferrer" target="_blank">Jekyll</a> using a <a href="https://github.com/rundocs/jekyll-rtd-theme" rel="noreferrer" target="_blank" title="remote theme: jekyll-rtd-theme v2.0.9">theme</a> provided by <a href="https://rundocs.io" rel="noreferrer" target="_blank">RunDocs</a>. </div> </div> </div> </div> <div class="addons-wrap d-flex flex-column overflow-y-auto"> <div class="status d-flex flex-justify-between p-2"> <div class="title p-1"> <i class="fa fa-book"></i> Node Feature Discovery </div> <div class="branch p-1"> <span class="name"> v0.6 </span> <i class="fa fa-caret-down"></i> </div> </div> <div class="addons d-flex flex-column height-full p-2 d-none"> <dl id="versions"> <dt>Versions</dt> <script src="/node-feature-discovery/versions.js"></script> <script> var dt = document.getElementById('versions'); var items = getVersionListItems(); for (var i=0; i < items.length; i++) { var dd = document.createElement('dd'); var a = dd.appendChild(document.createElement('a')); a.appendChild(document.createTextNode(items[i].name)); a.href = items[i].url; dt.appendChild(dd); } </script> </dl> <dl> <dt>GitHub</dt> <dd> <a href="https://github.com/kubernetes-sigs/node-feature-discovery" title="Stars: 548"> <i class="fa fa-github"></i> Homepage </a> </dd> <dd> <a href="https://github.com/kubernetes-sigs/node-feature-discovery/issues" title="Open issues: 34"> <i class="fa fa-question-circle-o"></i> Issues </a> </dd> <dd> <a href="https://github.com/kubernetes-sigs/node-feature-discovery/zipball/gh-pages" title="Size: 88490 Kb"> <i class="fa fa-download"></i> Download </a> </dd> </dl> <hr> <div class="license f6 pb-2"> The <a href="/node-feature-discovery/v0.6/">software</a> is under the terms of <a href="https://github.com/kubernetes-sigs/node-feature-discovery">Apache License 2.0</a>. </div> </div> </div> <script> window.ui = { title: "Node Feature Discovery", baseurl: "/node-feature-discovery/v0.6", i18n: { search_results: "Search Results", search_results_found: "Search finished, found # page(s) matching the search query.", search_results_not_found: "Your search did not match any documents, please make sure that all characters are spelled correctly!" } }; </script> <script src="https://cdn.jsdelivr.net/gh/rundocs/jekyll-rtd-theme@2.0.9/assets/js/jquery.min.js"></script><script src="https://cdn.jsdelivr.net/gh/rundocs/jekyll-rtd-theme@2.0.9/assets/js/theme.min.js"></script> </body> </html> |