Skip to main content

Command Palette

Search for a command to run...

Istio Documentation - Local Build and Deploy

If you're interested in contributing to Istio's documentation, then learn how to get started by deploying the site locally.

Published
•3 min read•View as Markdown
Istio Documentation - Local Build and Deploy
A

With a background in computer science and nearly two decades of experience in the industry, Aditya is enthusiastic about solving complex problems and staying up-to-date with the latest technologies.

He has achieved the CKAD, CKA, CKS certifications in Kubernetes along with the AWS CLF-C02 and SAA-C03 certifications.​

He loves to share his knowledge through blogs, articles, videos and courses.

He thrives on challenges and enjoys exploring new opportunities in the world of microservices and cloud-native technologies, with a particular emphasis on Kubernetes.

Aditya is a member of the Kubernetes GitHub organization and actively contributes to the documentation for Kubernetes.

Istio is the most popular service mesh in the industry today. It is backed by a comprehensive documentation hosted at https://istio.io/latest/docs/

Like any open source project, Istio's documentation relies heavily on the contributions from the community. If you are passionate about documentation and would like to make a contribution, the first step is to set up the documentation site locally. In this article, we will learn the basic steps to achieve this.

Prerequisites

Local Setup

Fork the repository

Create a fork of the istio/istio.io repository

Clone the fork

💡
Use the url of your forked repo
git clone https://github.com/adityasamant25/istio.io

Create a branch

💡
'issue-10' has been used as an example for the branch name
// Navigate to the project directory
cd istio.io
git checkout -b issue-10

Deploy the website locally

Istio provides a Docker image with all the tools needed, including Hugo which is the site generator. To build and publish the website locally within the docker container, execute the command below:

make serve
💡
In case you receive an error stating "Failed to read Git log: fatal: detected dubious ownership in repository at '/work'", execute the below command locally and then run the make serve command again.
git config --global --add safe.directory /work

Once the website builds successfully, you should see the following message:

Built in 18037 ms
Environment: "development"
Serving pages from disk
Web Server is available at http://localhost:1313/latest/ (bind address 0.0.0.0)

Access the URL http://localhost:1313/latest/ from within a browser. The Istio documentation is now available to you locally.

Contribute changes

The documentation for the English language is available at the following path:

/content/en/docs

Navigate to the .md file you need to edit. Make the appropriate changes and save the file. Saving the changes automatically triggers a redeployment of the site. The browser refreshes automatically and this enables you to immediately validate your changes locally.

Once you are satisfied with your changes, perform the following steps:

  • Commit the changes to your local branch

      git add <file paths>
      git commit -m "Fixed issue 10"
    
  • Push the changes to a branch on your fork

      git push origin issue-10
    
  • Raise a pull request from your branch to the istio.io master branch

After you raise a pull request, wait for a maintainer to review the changes. In case of any review comments, incorporate the changes and push a new commit.

Conclusion

Hope this article helps in getting you started on your journey to contribute to Istio documentation. In case of any issues, please post a reply and I will try to assist.