Giter Club home page Giter Club logo

tinkerbell-docs's Introduction

Important

The docs content of this repo have been moved into https://github.com/tinkerbell/tinkerbell.org, please see that repo for further updates.

Tinkerbell Docs

This is the source repo for the Tinkerbell docs. They are build using static-site generator MkDocs and using the mkdocs-material theme, then served by netlify to docs.tinkerbell.org.

Development

This repository uses MkDocs as the documentation framework and Poetry to manage it's dependencies. Make sure to have Python installed. If you wish, you can install mkdocs and other dependencies to build the docs locally by running the following commands

poetry install
poetry run mkdocs serve

If you wish to work within a development environment you can use Poetry's virtualenv environment:

$ poetry install
$ poetry shell

To deactivate the virtual environment, simply run deactivate.

Contributing to the Tinkerbell Docs

All the markdown source files for the documentation are in the docs/ folder. Find the file that you want to update and edit it. Then open a Pull Request with your changes. Make sure that the build passes, and take a look at the netlify preview to see your changes staged on the website.

Page metadata

Currently the metadata for the page is yaml formatted, with two fields: title and date. If you edit a doc, update the date to when you made your edits.

Adding Images

All the images for the docs are in the images/ folder. To pull the image into your doc, use a relative link to the image file. Example:

![Architecture]

Adding a page

If you would like to submit a new page to the documentation, be sure to add it to the nav section in mkdocs.yml. This will ensure that the page appears in the table of contents.

tinkerbell-docs's People

Contributors

c22 avatar cbkhare avatar chrisdoherty4 avatar cursedclock avatar dailyalice avatar dependabot[bot] avatar displague avatar felixwidjaja avatar geriadam avatar gianarb avatar guilhem avatar imusmanmalik avatar instagrim-dev avatar jacobweinstock avatar jeremytanner avatar jmarhee avatar lukaskalvenas avatar mergify[bot] avatar metahertz avatar micahhausler avatar mmlb avatar mrchrd avatar nicklasfrahm avatar nshalman avatar ronggur avatar teamsmiley avatar thebsdbox avatar thomcrowe avatar tstromberg avatar zdyxry avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

tinkerbell-docs's Issues

FAQ: Update links

Hi @geriadam

In FAQ links are still pointing to the super old doc URL. Please update.

Does using Tinkerbell rely on having a Equinix Metal account?
https://docs.tinkerbell.org/setup/local-vagrant/

Can Tinkerbell be used to install OSes without Internet access (where both the Provider and Worker hosts are in an isolated network)?
https://docs.tinkerbell.org/about/architecture/
https://docs.tinkerbell.org/#whats-powering-tinkerbell

Is Tinkerbell able to operate remote server power settings (power on; power off)? How about resetting?
https://docs.tinkerbell.org/#whats-powering-tinkerbell

Thanks.

Operating System section -> Create raw image with Packer

In the Deploying Operating Systems section of the docs, add in a document that details the basic usage of Packer to create a raw image (can be compressed with gz afterwards). Followed by the basic workflow required to deploy this image to a target machine.

Lots of dead links

Lets collect/fix all the dead links under this issue? We should also make use of https://www.npmjs.com/package/netlify-plugin-checklinks to avoid more dead links.

Here's what I got just now:

/ # hyperlink https://docs.tinkerbell.org
Guessing --root from input files: https://docs.tinkerbell.org
TAP version 13
# Crawling internal assets
ok 1 load https://docs.tinkerbell.org
ok 2 load https://www.google-analytics.com/analytics.js
ok 3 load https://docs.tinkerbell.org/stylesheets/extra.css
ok 4 load https://docs.tinkerbell.org/stylesheets/simple-grid.css
ok 5 load https://docs.tinkerbell.org/assets/javascripts/bundle.f81dfb4d.min.js
ok 6 load https://docs.tinkerbell.org/stylesheets/font-awesome.min.css
ok 7 load https://docs.tinkerbell.org/assets/stylesheets/palette.196e0c26.min.css
ok 8 load https://docs.tinkerbell.org/assets/icon/manifest.json
ok 9 load https://docs.tinkerbell.org/assets/javascripts/vendor.0ac82a11.min.js
ok 10 load https://docs.tinkerbell.org/assets/stylesheets/main.19753c6b.min.css
not ok 11 load https://docs.tinkerbell.org/None
  ---
    operator: load
    expected: "200 https://docs.tinkerbell.org/None"
    actual:   "HTTP 404 Not Found"
    at: https://docs.tinkerbell.org (82:36) <meta property="og:url" content="None">
  ...
ok 12 load https://fonts.googleapis.com/css?family=Lato:400,300,300italic,400italic,700,700italic
not ok 13 load https://cloud.typography.com/6193438/7900212/css/fonts.css
  ---
    operator: load
    expected: "200 https://cloud.typography.com/6193438/7900212/css/fonts.css"
    actual:   "HTTP 403 Forbidden"
    at: https://docs.tinkerbell.org (95:15) <link href="https://cloud.typography.com/6193438/7900212/css/fonts.css" rel="stylesheet">
  ...
ok 14 fragment-check https://docs.tinkerbell.org --> #the-tinkerbell-docs
ok 15 fragment-check https://docs.tinkerbell.org --> #what-is-tinkerbell
ok 16 fragment-check https://docs.tinkerbell.org --> #whats-powering-tinkerbell
ok 17 fragment-check https://docs.tinkerbell.org --> #first-steps
ok 18 fragment-check https://docs.tinkerbell.org --> #get-help
ok 19 fragment-check https://docs.tinkerbell.org --> #what-is-tinkerbell
ok 20 fragment-check https://docs.tinkerbell.org --> #whats-powering-tinkerbell
ok 21 fragment-check https://docs.tinkerbell.org --> #first-steps
ok 22 fragment-check https://docs.tinkerbell.org --> #get-help
# Crawling 84 outgoing urls
ok 23 external-check https://docs.tinkerbell.org/assets/images/favicon.png
ok 24 external-check https://docs.tinkerbell.org/assets/icon/favicon-32x32.png
ok 25 external-check https://docs.tinkerbell.org/
ok 26 external-check https://docs.tinkerbell.org/assets/icon/android-icon-192x192.png
ok 27 external-check https://docs.tinkerbell.org/assets/icon/apple-icon-72x72.png
ok 28 external-check https://docs.tinkerbell.org/assets/icon/apple-icon-120x120.png
ok 29 external-check https://docs.tinkerbell.org/assets/icon/apple-icon-180x180.png
ok 30 external-check https://docs.tinkerbell.org/assets/icon/favicon-16x16.png
ok 31 external-check https://docs.tinkerbell.org/assets/icon/favicon-96x96.png
ok 32 external-check https://docs.tinkerbell.org/assets/icon/apple-icon-144x144.png
ok 33 external-check https://docs.tinkerbell.org/assets/icon/apple-icon-76x76.png
ok 34 external-check https://docs.tinkerbell.org/assets/icon/ms-icon-144x144.png
ok 35 external-check https://docs.tinkerbell.org/assets/icon/apple-icon-152x152.png
ok 36 external-check https://docs.tinkerbell.org/assets/icon/apple-icon-114x114.png
ok 37 external-check https://docs.tinkerbell.org/assets/icon/apple-icon-60x60.png
ok 38 external-check https://tinkerbell.org/images/social/tinkerbell-social-image.png
ok 39 external-check https://twitter.com/tinkerbell_oss
ok 40 external-check https://tinkerbell.org/faq/
ok 41 external-check https://docs.tinkerbell.org/assets/logo.png
ok 42 external-check https://tinkerbell.org/community/
ok 43 external-check https://docs.tinkerbell.org/hardware-data/
ok 44 external-check https://docs.tinkerbell.org/services/osie/
ok 45 external-check https://docs.tinkerbell.org/services/tink/
ok 46 external-check https://tinkerbell.org/
ok 47 external-check https://www.youtube.com/channel/UCTzWInTQPvzH21KHS8jrq7A
ok 48 external-check https://docs.tinkerbell.org/services/hegel/
ok 49 external-check https://docs.tinkerbell.org/architecture/
ok 50 external-check https://docs.tinkerbell.org/services/boots/
ok 51 external-check https://docs.tinkerbell.org/templates/
ok 52 external-check https://docs.tinkerbell.org/setup/local-vagrant/
ok 53 external-check https://tinkerbell.org/examples/
ok 54 external-check https://tinkerbell.org/community/slack/
ok 55 external-check https://docs.tinkerbell.org/cli-reference/hardware/
ok 56 external-check https://docs.tinkerbell.org/examples/hello-world-workflow/
ok 57 external-check https://docs.tinkerbell.org/cli-reference/workflow/
ok 58 external-check https://docs.tinkerbell.org/cli-reference/template/
ok 59 external-check https://docs.tinkerbell.org/workflows/
ok 60 external-check https://docs.tinkerbell.org/setup/packet-terraform/
ok 61 external-check https://docs.tinkerbell.org/setup/extending-vagrant/
ok 62 external-check https://docs.tinkerbell.org/troubleshooting/
not ok 63 external-check https://docs.tinkerbell.org/assets/icon/apple-favicon.png
  ---
    operator: external-check
    expected: "200 https://docs.tinkerbell.org/assets/icon/apple-favicon.png"
    actual:   "404 https://docs.tinkerbell.org/assets/icon/apple-favicon.png"
    at: https://docs.tinkerbell.org (58:38) <link rel="apple-touch-icon" href="/assets/icon/apple-favicon.png">
  ...
not ok 64 external-check https://docs.tinkerbell.org/assets/icon/favicon.ico%27)/%3E%0A%20%20%3Clink%20rel=
  ---
    operator: external-check
    expected:
      "200 https://docs.tinkerbell.org/assets/icon/favicon.ico%27)/%3E%0A%20%20%3Clink%20rel="
    actual:
      "404 https://docs.tinkerbell.org/assets/icon/favicon.ico%27)/%3E%0A%20%20%3Clink%20rel="
    at: https://docs.tinkerbell.org (60:46) <link rel="icon" type="image/x-icon" href="/assets/icon/favicon.ico')/>\n  <link rel=" apple-touch-icon"="" sizes="57x57">
  ...
ok 65 external-check https://github.com/tinkerbell/
ok 66 external-check https://quay.io/
ok 67 external-check https://hub.docker.com/
ok 68 external-check https://www.postgresql.org/
ok 69 external-check https://hub.docker.com/_/registry
ok 70 external-check https://www.nginx.com/
ok 71 external-check https://metal.equinix.com/
ok 72 external-check https://docs.tinkerbell.org/assets/javascripts/bundle.f81dfb4d.min.js.map
not ok 73 external-redirect https://docs.tinkerbell.org/services/osie
  ---
    operator: external-redirect
    expected:
      "302 https://docs.tinkerbell.org/services/osie --> 200 https://docs.tinkerbell.org/services/osie/"
    actual:
      "301 https://docs.tinkerbell.org/services/osie --> 200 https://docs.tinkerbell.org/services/osie/"
    at: https://docs.tinkerbell.org (645:13) <a href="/services/osie">...</a>
  ...
ok 74 external-check https://docs.tinkerbell.org/services/osie
ok 75 external-check https://tinkerbell.org/community/contributors/
not ok 76 external-redirect https://docs.tinkerbell.org/examples/hello-world-workflow
  ---
    operator: external-redirect
    expected:
      "302 https://docs.tinkerbell.org/examples/hello-world-workflow --> 200 https://docs.tinkerbell.org/examples/hello-world-workflow/"
    actual:
      "301 https://docs.tinkerbell.org/examples/hello-world-workflow --> 200 https://docs.tinkerbell.org/examples/hello-world-workflow/"
    at: https://docs.tinkerbell.org (667:18) <a href="/examples/hello-world-workflow">...</a>
  ...
ok 77 external-check https://docs.tinkerbell.org/examples/hello-world-workflow
not ok 78 external-redirect https://docs.tinkerbell.org/services/tink
  ---
    operator: external-redirect
    expected:
      "302 https://docs.tinkerbell.org/services/tink --> 200 https://docs.tinkerbell.org/services/tink/"
    actual:
      "301 https://docs.tinkerbell.org/services/tink --> 200 https://docs.tinkerbell.org/services/tink/"
    at: https://docs.tinkerbell.org (636:13) <a href="/services/tink">...</a>
  ...
ok 79 external-check https://docs.tinkerbell.org/services/tink
ok 80 external-check https://docs.tinkerbell.org/fonts/fontawesome-webfont.woff2?v=4.6.1
ok 81 external-check https://docs.tinkerbell.org/fonts/fontawesome-webfont.eot?
ok 82 external-check https://ipxe.org/
not ok 83 external-redirect https://docs.tinkerbell.org/services/boots
  ---
    operator: external-redirect
    expected:
      "302 https://docs.tinkerbell.org/services/boots --> 200 https://docs.tinkerbell.org/services/boots/"
    actual:
      "301 https://docs.tinkerbell.org/services/boots --> 200 https://docs.tinkerbell.org/services/boots/"
    at: https://docs.tinkerbell.org (639:13) <a href="/services/boots">...</a>
  ...
ok 84 external-check https://docs.tinkerbell.org/services/boots
ok 85 external-check https://github.com/tinkerbell/pbnj
ok 86 external-check https://docs.tinkerbell.org/fonts/fontawesome-webfont.woff?v=4.6.1
ok 87 external-check https://docs.tinkerbell.org/assets/stylesheets/palette.196e0c26.min.css.map
not ok 88 external-redirect https://docs.tinkerbell.org/services/hegel
  ---
    operator: external-redirect
    expected:
      "302 https://docs.tinkerbell.org/services/hegel --> 200 https://docs.tinkerbell.org/services/hegel/"
    actual:
      "301 https://docs.tinkerbell.org/services/hegel --> 200 https://docs.tinkerbell.org/services/hegel/"
    at: https://docs.tinkerbell.org (642:13) <a href="/services/hegel">...</a>
  ...
ok 89 external-check https://docs.tinkerbell.org/services/hegel
ok 90 external-check https://docs.tinkerbell.org/fonts/fontawesome-webfont.ttf?v=4.6.1
ok 91 external-check https://docs.tinkerbell.org/fonts/fontawesome-webfont.svg?v=4.6.1
ok 92 external-check https://docs.tinkerbell.org/fonts/fontawesome-webfont.eot?v=4.6.1
ok 93 external-check https://fonts.gstatic.com/s/lato/v17/S6u_w4BMUTPHjxsI9w2_Gwfo.ttf
ok 94 external-check https://fonts.gstatic.com/s/lato/v17/S6u8w4BMUTPHjxsAXC-v.ttf
ok 95 external-check https://fonts.gstatic.com/s/lato/v17/S6u_w4BMUTPHjxsI5wq_Gwfo.ttf
ok 96 external-check https://fonts.gstatic.com/s/lato/v17/S6u9w4BMUTPHh7USSwiPHA.ttf
ok 97 external-check https://docs.tinkerbell.org/assets/javascripts/vendor.0ac82a11.min.js.map
not ok 98 external-redirect https://tinkerbell.org/terms
  ---
    operator: external-redirect
    expected:
      "302 https://tinkerbell.org/terms --> 200 https://tinkerbell.org/terms/"
    actual:
      "301 https://tinkerbell.org/terms --> 200 https://tinkerbell.org/terms/"
    at: https://docs.tinkerbell.org (728:38) <a href="https://tinkerbell.org/terms" title="">...</a>
  ...
ok 99 external-check https://tinkerbell.org/terms
ok 100 external-check https://fonts.gstatic.com/s/lato/v17/S6uyw4BMUTPHjx4wWw.ttf
ok 101 external-check https://docs.tinkerbell.org/assets/stylesheets/main.19753c6b.min.css.map
ok 102 external-check https://fonts.gstatic.com/s/lato/v17/S6u9w4BMUTPHh6UVSwiPHA.ttf
not ok 103 external-redirect https://tinkerbell.org/terms/contributor-guide
  ---
    operator: external-redirect
    expected:
      "302 https://tinkerbell.org/terms/contributor-guide --> 200 https://tinkerbell.org/terms/contributor-guide/"
    actual:
      "301 https://tinkerbell.org/terms/contributor-guide --> 200 https://tinkerbell.org/terms/contributor-guide/"
    at: https://docs.tinkerbell.org (731:38) <a href="https://tinkerbell.org/terms/contributor-guide" title="">...</a>
  ...
ok 104 external-check https://tinkerbell.org/terms/contributor-guide
not ok 105 external-check https://docs.tinkerbell.org/android-icon-48x48.png
  ---
    operator: external-check
    expected: "200 https://docs.tinkerbell.org/android-icon-48x48.png"
    actual:   "404 https://docs.tinkerbell.org/android-icon-48x48.png"
    at: https://docs.tinkerbell.org/assets/icon/manifest.json (11:13) 
  ...
not ok 106 external-check https://docs.tinkerbell.org/android-icon-96x96.png
  ---
    operator: external-check
    expected: "200 https://docs.tinkerbell.org/android-icon-96x96.png"
    actual:   "404 https://docs.tinkerbell.org/android-icon-96x96.png"
    at: https://docs.tinkerbell.org/assets/icon/manifest.json (23:13) 
  ...
not ok 107 external-redirect https://tinkerbell.org/terms/license
  ---
    operator: external-redirect
    expected:
      "302 https://tinkerbell.org/terms/license --> 200 https://tinkerbell.org/terms/license/"
    actual:
      "301 https://tinkerbell.org/terms/license --> 200 https://tinkerbell.org/terms/license/"
    at: https://docs.tinkerbell.org (729:38) <a href="https://tinkerbell.org/terms/license" title="">...</a>
  ...
ok 108 external-check https://tinkerbell.org/terms/license
not ok 109 external-redirect https://slack.packet.com/
  ---
    operator: external-redirect
    expected:
      "302 https://slack.packet.com/ --> 200 https://slack.equinixmetal.com/"
    actual:
      "301 https://slack.packet.com/ --> 200 https://slack.equinixmetal.com/"
    at: https://docs.tinkerbell.org (673:23) <a href="https://slack.packet.com/">...</a>
  ...
ok 110 external-check https://slack.packet.com/
not ok 111 external-redirect https://tinkerbell.org/terms/code-of-conduct
  ---
    operator: external-redirect
    expected:
      "302 https://tinkerbell.org/terms/code-of-conduct --> 200 https://tinkerbell.org/terms/code-of-conduct/"
    actual:
      "301 https://tinkerbell.org/terms/code-of-conduct --> 200 https://tinkerbell.org/terms/code-of-conduct/"
    at: https://docs.tinkerbell.org (730:38) <a href="https://tinkerbell.org/terms/code-of-conduct" title="">...</a>
  ...
ok 112 external-check https://tinkerbell.org/terms/code-of-conduct
not ok 113 external-check https://docs.tinkerbell.org/android-icon-36x36.png
  ---
    operator: external-check
    expected: "200 https://docs.tinkerbell.org/android-icon-36x36.png"
    actual:   "404 https://docs.tinkerbell.org/android-icon-36x36.png"
    at: https://docs.tinkerbell.org/assets/icon/manifest.json (5:13) 
  ...
not ok 114 external-check https://docs.tinkerbell.org/android-icon-144x144.png
  ---
    operator: external-check
    expected: "200 https://docs.tinkerbell.org/android-icon-144x144.png"
    actual:   "404 https://docs.tinkerbell.org/android-icon-144x144.png"
    at: https://docs.tinkerbell.org/assets/icon/manifest.json (29:13) 
  ...
not ok 115 external-check https://docs.tinkerbell.org/android-icon-72x72.png
  ---
    operator: external-check
    expected: "200 https://docs.tinkerbell.org/android-icon-72x72.png"
    actual:   "404 https://docs.tinkerbell.org/android-icon-72x72.png"
    at: https://docs.tinkerbell.org/assets/icon/manifest.json (17:13) 
  ...
not ok 116 external-check https://docs.tinkerbell.org/android-icon-192x192.png
  ---
    operator: external-check
    expected: "200 https://docs.tinkerbell.org/android-icon-192x192.png"
    actual:   "404 https://docs.tinkerbell.org/android-icon-192x192.png"
    at: https://docs.tinkerbell.org/assets/icon/manifest.json (35:13) 
  ...
# Connecting to 0 hosts (checking <link rel="preconnect" href="...">
# Looking up 0 host names (checking <link rel="dns-prefetch" href="...">

1..116
# tests 116
# pass  96
# fail  20

Contributor path for translating docs into additional languages

Expected Behaviour

Contributors should have a path for offering additional languages to the Tinkerbell documentation.

Current Behaviour

English is the only language provided. There is no documentation on how to add additional languages.

Possible Solution

mkdocs offers translation documentation here:
https://www.mkdocs.org/dev-guide/translations/

Context

In the 2021-07-05 community call, a Korean translation was proposed by a new community member.

Broken Links on Templates page

Links to the command in the CLI Reference are broken.

image (1)

Looking at the markdown, I think the broken ones are missing a leading /.

Document deployment via docker-compose / installation script

Currently, the documentation only provides information about how to set up Tinkerbell in a virtualized environment or on Equinix Metal. It might be nice to add some documentation for how to set it up with docker-compose on a host that already exists inside the network.

When adding this to the docs, I am wondering if there is a smart way of embedding the content of the [docker-compose.yml] from the sandbox repository to the documentation, such that it updates automatically and does not get out of date. Maybe we could avoid this altogether add an installation script, that users could download and execute?

Maybe users could create a .env file that would be sourced by the installation script, such that the docker-compose.yml file can be supplied with all necessary variables.

I'd be happy to implement this if you can give me some input on how you imagine this.

requirements.txt usage

As someone who doesn't use virtual environments for Python (I know, I know), would someone be willing to write up a short "setting up mkdocs with all the niceties" section of the readme?

Font family

@Geri docs.tinkerbell please use this font

@import url(“//cloud.typography.com/6193438/7900212/css/fonts.css”);

then use it for text, heading, label, etc except for code format

$font-family:“Gotham A”, “Gotham B”, Helvetica, Roboto, Arial, sans-serif;

Copying code snippets through the copy button should only copy the command, not the output

Using the copy hoverover item on the docs copies the command and the output when it should just copy the command.

Expected Behaviour

Screenshot 2020-11-26 at 17 30 51

Only docker exec -i deploy_tink-cli_1 tink hardware push < ./hardware-data.json should be copied to the clipboard.

Current Behaviour

All this is copied to the clipboard.

docker exec -i deploy_tink-cli_1 tink hardware push < ./hardware-data.json
> 2020/06/17 14:12:45 Hardware data pushed successfully

Possible Solution

I don't know.

Steps to Reproduce (for bugs)

See above.

Context

The extra lines get dumped into the terminal when pasting, which is inconvenient and confusing.

Your Environment

n/a

about/hardware-data.md shouldn't doc metadata

The hardware.metadata values are meant to be opaque to tinkerbell services and only really meant for use by workflows. The current examples is just what Equinix Metal happens to stuff into it, but not really relevant for any other operator. We should remove the example.

How to configure the UEFI boot options?

To properly install an OS in a UEFI machine we need to reset the existing UEFI boot options and configure UEFI to boot the new OS.

In a regular debian root shell, we can do this as:

# delete all boot options (the BootXXXX UEFI variables).
efibootmgr \
  | perl -n -e '/^Boot([0-9A-F]{4})/ && print "$1\n"' \
  | xargs -I% efibootmgr --quiet --delete-bootnum --bootnum %
efibootmgr --quiet --delete-bootorder
# install the current OS boot option.
grub-install

While trying to transpose this to tinkerbell, I've failed to use the cexec action in this non-working workflow:

version: "0.1"
name: debian
global_timeout: 1800
tasks:
  - name: debian-install
    worker: '{{.device_1}}'
    volumes:
      - /dev:/dev
      - /sys/firmware/efi/efivars:/sys/firmware/efi/efivars
      - /worker:/worker
    actions:
      - name: install
        image: image2disk:v1.0.0
        environment:
          IMG_URL: '{{.img_url}}'
          COMPRESSED: true
          DEST_DISK: '{{.boot_device}}'
      - name: configure-uefi
        image: cexec:v1.0.0
        environment:
          BLOCK_DEVICE: '{{.boot_device}}3'
          FS_TYPE: ext4
          CHROOT: y
          DEFAULT_INTERPRETER: /bin/bash -euxo pipefail -c
          CMD_LINE: |
            # delete all the boot options (the firmware will recover them at the next boot).
            # you can also explicitly install it.
            mount
            efibootmgr
            efibootmgr \
              | perl -n -e '/^Boot([0-9A-F]{4})/ && print "$1\n"' \
              | xargs -I% efibootmgr --quiet --delete-bootnum --bootnum %
            efibootmgr --quiet --delete-bootorder
            grub-install --root-directory=/boot {{.boot_device}}
            efibootmgr
      - name: reboot
        image: reboot

This fails to execute the configure-uefi action because the /sys/firmware/efi/efivars is not mounted in the cexec created chroot:

screenshot

So, how can this be done?

Should a new action for the efibootmgr exist? and only use cexec for running grub-install?

Add Google Analytics script

Hi @geriadam please add GA (below). @DailyAlice said you can add it through the mkdocs.yml file - https://squidfunk.github.io/mkdocs-material/setup/setting-up-site-analytics/
Thanks buddy.

<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-52258647-10"></script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());
  gtag('config', 'UA-52258647-10');
</script>

We're using an unsupported ubuntu version with Netlify causing errors in PRs

1:04:50 PM: Build ready to start
1:04:50 PM: ---------------------------------------------------------------------
  UNSUPPORTED BUILD IMAGE

  The build image for this site uses Ubuntu 16.04 Xenial Xerus, which is no longer supported.

  To enable builds for this site, select a later build image at the following link:
  https://app.netlify.com/sites/tinkerbell-docs/settings/deploys#build-image-selection

  For more details, visit the build migration guide:
  https://answers.netlify.com/t/please-read-end-of-support-for-xenial-build-image-everything-you-need-to-know/68239
  ---------------------------------------------------------------------

Write Kubernetes back-end documentation

Having introduced the Kubernetes back-end to the Tinkerbell stack we need to highlight in documentation that it exists.

The exact strategy/extent of the documentation is still under discussion. Options include:

  1. Document all the details on the docs website via this repository.
  2. Document what back-ends exist and point to the sandbox that details specifics in how to deploy specific back-ends.

Related

Uniform Standards Request: Experimental Repository

Hello!

We believe this repository is Experimental and therefore needs the following files updated:

If you feel the repository should be maintained or end of life or that you'll need assistance to create these files, please let us know by filing an issue with https://github.com/packethost/standards.

Packet maintains a number of public repositories that help customers to run various workloads on Packet. These repositories are in various states of completeness and quality, and being public, developers often find them and start using them. This creates problems:

  • Developers using low-quality repositories may infer that Packet generally provides a low quality experience.
  • Many of our repositories are put online with no formal communication with, or training for, customer success. This leads to a below average support experience when things do go wrong.
  • We spend a huge amount of time supporting users through various channels when with better upfront planning, documentation and testing much of this support work could be eliminated.

To that end, we propose three tiers of repositories: Private, Experimental, and Maintained.

As a resource and example of a maintained repository, we've created https://github.com/packethost/standards. This is also where you can file any requests for assistance or modification of scope.

The Goal

Our repositories should be the example from which adjacent, competing, projects look for inspiration.

Each repository should not look entirely different from other repositories in the ecosystem, having a different layout, a different testing model, or a different logging model, for example, without reason or recommendation from the subject matter experts from the community.

We should share our improvements with each ecosystem while seeking and respecting the feedback of these communities.

Whether or not strict guidelines have been provided for the project type, our repositories should ensure that the same components are offered across the board. How these components are provided may vary, based on the conventions of the project type. GitHub provides general guidance on this which they have integrated into their user experience.

Document integration of commodity hardware with Tinkerbell

To manage commodity hardware, that does not support IPMI, the boot order needs to be set up as shown below:

  1. Netboot via preferred network interface card
  2. Boot from desired mass storage device

This documentation should also include the information that Tinkerbell will only boot into OSIE if a workflow is available. Potentially a flow chart could be nice that goes a little bit more in depth compared to the description provided here.

I would be more that happy to add this documentation, but I first need to get some hardware up and running to test this.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.