Ch 1 Getting Started with Repos, Containers, and Hugo

Setting up your Hugo environment (15 min)

Prereqs

  • Docker - older installs won’t work, so if you need to upgrade/reinstall
    • You can use your docker flavor of choice. Keep in mind Docker Desktop is no longer free for enterprise use.
    • We’ve tested Rancher Desktop, which works well. Caveat…your locally rendered version of the site may not update in real time as you modify content, so you may need to restart the server to see new content
  • GitHub keys
    • Follow the instructions here to generate a new SSH key pair
      Warning

      DO NOT USE A PASSPHRASE when you create the keys

    • Once created follow these directions to add the newly created Key to your GitHub account.

What is Hugo and how easy can this be?

  • The site you are viewing right now is built with Hugo.
  • You can navigate to specific chapters and tasks with the Left Navbar or the top banner table of contents
    • For a sequential step by step flow through this workshop, use the arrows in the upper right corner to go through each step individually

Development Environment Options

  • To start, you’ll request a new repo which is a clone of User Repo.
    • you’ll create the content for your TECWorkshop guides in this repo, and ultimately publish the Hugo built website to GitHub Pages
  • Once you have UserRepo, you can choose how to use Hugo
  1. Option 1: build a container with Hugo installed on it and a copy of all Fortinet specific customizations to the Hugo reLearn theme
    • Beyond providing an opportunity to learn the basics of container development, this option:
      • streamlines and simplifies the Hugo content creation process
      • minimizes local storage/upkeep of reusable componentry
      • reduces complications of version dependencies in devlopment environment for Hugo or the reLearn theme
      • future-proofs the content created for any given TECWorkshop so that any Fortinet branding changes can be easily re-applied to all guides
  2. Option 2: Install Hugo locally on your laptop/workstation and clone CentralRepo
    • You’ll have to
      • maintain CentralRepo including submodules on your local workstation
      • ensure your final site is published to the /docs folder in your UserRepo