diff --git a/.github/workflows/deploy-github-pages.yml b/.github/workflows/deploy-github-pages.yml
index 159399d..d46e17e 100644
--- a/.github/workflows/deploy-github-pages.yml
+++ b/.github/workflows/deploy-github-pages.yml
@@ -49,6 +49,13 @@ jobs:
hugo-version: '0.125.5'
extended: true
+ - uses: actions/setup-node@v4
+ with:
+ node-version: '16'
+ check-latest: true
+
+ - run: npm ci
+
- run: hugo --baseURL https://${REPO_OWNER}.github.io/${REPO_NAME} --minify
working-directory: ./site
diff --git a/site/content/_index.md b/site/content/_index.md
index 73e0269..9b92685 100644
--- a/site/content/_index.md
+++ b/site/content/_index.md
@@ -1,37 +1,13 @@
---
-title: dranet
+title: DraNet
---
-DRANET is a Kubernetes Network Driver that uses Dynamic Resource Allocation (DRA) to deliver high-performance networking for demanding applications in Kubernetes.
-
-## Key Features
-
-- **DRA Integration:** Leverages the power of Kubernetes' Dynamic Resource Allocation.
-- **High-Performance Networking:** Designed for demanding workloads like AI/ML applications.
-- **Simplified Management:** Easy to deploy and manage.
-- **Enhanced Efficiency:** Optimizes resource utilization for improved overall performance.
-- **Cluster-Wide Scalability:** Effectively manages network resources across a large number of nodes for seamless operation in Kubernetes deployments.
-
-## How It Works
-
-The networking DRA driver uses GRPC to communicate with the Kubelet via the [DRA API](https://github.com/kubernetes/kubernetes/blob/3bec2450efd29787df0f27415de4e8049979654f/staging/src/k8s.io/kubelet/pkg/apis/dra/v1beta1/api.proto) and the Container Runtime via [NRI](https://github.com/containerd/nri). This architecture facilitates the supportability and reduces the complexity of the solution, it also makes it fully compatible and agnostic of the existing CNI plugins in the cluster.
-
-The DRA driver, once the Pod network namespaces has been created, will receive a GRPC call from the Container Runtime via NRI to execute the corresponding configuration. A more detailed diagram can be found in:
-
-[![](https://mermaid.ink/img/pako:eNp9UstuwyAQ_JUVp1ZNfoBDpMi-WFXdyLn6gs0mQTXgLtCHovx714nTWoobDgiW2dlhNEfReo1CioDvCV2LuVF7UrZ2wEul6F2yDdLl_pwa7DAul6vVU4nx09Mb5NUacjIfSBJK5toQ9oqwwuATtRgeHi-9pY8InmEw1_naRGUcxAPCtTPrlLF8Y10hgnIaMu92Zj_S3ZAMqpajwvtSrt_gXzDlMBhJS6iS23i95UmN_7pi_wADf1YWEniDdZ6P72VxfpjwMEmxCXPts55VBRy8f5sff981xoMb605ZDL1qGd4jqWi8C_esmiqGG7FTK2eF_eNhRqgi_lbCjI1T6lu4WAiLZJXRHMrj0FwLToXFWkg-atyp1MVa1O7E0CGg22_XChkp4UKkXjPfmGEhd6oLXEVtoqeXS9DPeT_9ABUC_8M?type=png)](https://mermaid.live/edit#pako:eNp9UstuwyAQ_JUVp1ZNfoBDpMi-WFXdyLn6gs0mQTXgLtCHovx714nTWoobDgiW2dlhNEfReo1CioDvCV2LuVF7UrZ2wEul6F2yDdLl_pwa7DAul6vVU4nx09Mb5NUacjIfSBJK5toQ9oqwwuATtRgeHi-9pY8InmEw1_naRGUcxAPCtTPrlLF8Y10hgnIaMu92Zj_S3ZAMqpajwvtSrt_gXzDlMBhJS6iS23i95UmN_7pi_wADf1YWEniDdZ6P72VxfpjwMEmxCXPts55VBRy8f5sff981xoMb605ZDL1qGd4jqWi8C_esmiqGG7FTK2eF_eNhRqgi_lbCjI1T6lu4WAiLZJXRHMrj0FwLToXFWkg-atyp1MVa1O7E0CGg22_XChkp4UKkXjPfmGEhd6oLXEVtoqeXS9DPeT_9ABUC_8M)
-
-## References
-
-- [KEP 3063 - Dynamic Resource Allocation #306](https://github.com/kubernetes/enhancements/blob/master/keps/sig-node/3063-dynamic-resource-allocation/README.md)
-- [KEP 3695 - DRA: structured parameters #438](https://github.com/kubernetes/enhancements/issues/4381)
-- [Extend PodResources to include resources from Dynamic Resource Allocation (DRA)](https://github.com/kubernetes/enhancements/issues/3695)
-- [Working Group Device Management](https://github.com/kubernetes-sigs/wg-device-management)
-- [Kubernetes Network Drivers, Antonio Ojea, Presentation](https://docs.google.com/presentation/d/1Vdr7BhbYXeWjwmLjGmqnUkvJr_eOUdU0x-JxfXWxUT8/edit?usp=sharing)
-- [The Future of Kubernetes Networking - Antonio Ojea, Googe & Dan Winship, Red Hat - Kubernetes Contributor Summit EU 2024](https://sched.co/1aOqO)
-- [Better Together! GPU, TPU and NIC Topological Alignment with DRA - John Belamaric, Google & Patrick Ohly, Intel - Kubecon US 2024](https://sched.co/1i7pv)
-
-## Disclaimer
-
-This is not an officially supported Google product. This project is not
-eligible for the [Google Open Source Software Vulnerability Rewards
-Program](https://bughunters.google.com/open-source-security).
\ No newline at end of file
+{{< blocks/cover title="Welcome to DraNet" image_anchor="top" height="full" >}}
+
+ Learn More
+
+
+ Download
+
+
A Kubernetes Network Driver!
+{{< /blocks/cover >}}
\ No newline at end of file
diff --git a/site/content/contributing/about.md b/site/content/contributing/about.md
deleted file mode 100644
index 463b20a..0000000
--- a/site/content/contributing/about.md
+++ /dev/null
@@ -1,5 +0,0 @@
-+++
-date = '2024-12-18T11:26:50Z'
-draft = true
-title = 'About'
-+++
diff --git a/site/content/docs/_index.md b/site/content/docs/_index.md
new file mode 100644
index 0000000..c0c6254
--- /dev/null
+++ b/site/content/docs/_index.md
@@ -0,0 +1,21 @@
+---
+title: dranet
+weight: 1150
+
+---
+
+DRANET is a Kubernetes Network Driver that uses Dynamic Resource Allocation (DRA) to deliver high-performance networking for demanding applications in Kubernetes.
+
+## Key Features
+
+- **DRA Integration:** Leverages the power of Kubernetes' Dynamic Resource Allocation.
+- **High-Performance Networking:** Designed for demanding workloads like AI/ML applications.
+- **Simplified Management:** Easy to deploy and manage.
+- **Enhanced Efficiency:** Optimizes resource utilization for improved overall performance.
+- **Cluster-Wide Scalability:** Effectively manages network resources across a large number of nodes for seamless operation in Kubernetes deployments.
+
+## Disclaimer
+
+This is not an officially supported Google product. This project is not
+eligible for the [Google Open Source Software Vulnerability Rewards
+Program](https://bughunters.google.com/open-source-security).
\ No newline at end of file
diff --git a/site/content/docs/contributing/_index.md b/site/content/docs/contributing/_index.md
new file mode 100644
index 0000000..b603cd5
--- /dev/null
+++ b/site/content/docs/contributing/_index.md
@@ -0,0 +1,4 @@
+---
+title: Contributing
+weight: 4
+---
diff --git a/site/content/docs/contributing/contributing.md b/site/content/docs/contributing/contributing.md
new file mode 100644
index 0000000..367a8e2
--- /dev/null
+++ b/site/content/docs/contributing/contributing.md
@@ -0,0 +1,35 @@
+---
+title: "Contributing"
+date: 2024-12-19T11:30:40Z
+---
+
+We would love to accept your patches and contributions to this project.
+
+## Before you begin
+
+### Sign our Contributor License Agreement
+
+Contributions to this project must be accompanied by a
+[Contributor License Agreement](https://cla.developers.google.com/about) (CLA).
+You (or your employer) retain the copyright to your contribution; this simply
+gives us permission to use and redistribute your contributions as part of the
+project.
+
+If you or your current employer have already signed the Google CLA (even if it
+was for a different project), you probably don't need to do it again.
+
+Visit to see your current agreements or to
+sign a new one.
+
+### Review our Community Guidelines
+
+This project follows [Google's Open Source Community
+Guidelines](https://opensource.google/conduct/).
+
+## Contribution process
+
+### Code Reviews
+
+All submissions, including submissions by project members, require review. We
+use [GitHub pull requests](https://docs.github.com/articles/about-pull-requests)
+for this purpose.
diff --git a/site/content/docs/design/_index.md b/site/content/docs/design/_index.md
new file mode 100644
index 0000000..bca1ab3
--- /dev/null
+++ b/site/content/docs/design/_index.md
@@ -0,0 +1,4 @@
+---
+title: Design
+weight: 3
+---
diff --git a/site/content/docs/design/howitworks.md b/site/content/docs/design/howitworks.md
new file mode 100644
index 0000000..a57f7ee
--- /dev/null
+++ b/site/content/docs/design/howitworks.md
@@ -0,0 +1,10 @@
+---
+title: "How It Works"
+date: 2024-12-19T11:20:46Z
+---
+
+The networking DRA driver uses GRPC to communicate with the Kubelet via the [DRA API](https://github.com/kubernetes/kubernetes/blob/3bec2450efd29787df0f27415de4e8049979654f/staging/src/k8s.io/kubelet/pkg/apis/dra/v1beta1/api.proto) and the Container Runtime via [NRI](https://github.com/containerd/nri). This architecture facilitates the supportability and reduces the complexity of the solution, it also makes it fully compatible and agnostic of the existing CNI plugins in the cluster.
+
+The DRA driver, once the Pod network namespaces has been created, will receive a GRPC call from the Container Runtime via NRI to execute the corresponding configuration. A more detailed diagram can be found in:
+
+[![](https://mermaid.ink/img/pako:eNp9UstuwyAQ_JUVp1ZNfoBDpMi-WFXdyLn6gs0mQTXgLtCHovx714nTWoobDgiW2dlhNEfReo1CioDvCV2LuVF7UrZ2wEul6F2yDdLl_pwa7DAul6vVU4nx09Mb5NUacjIfSBJK5toQ9oqwwuATtRgeHi-9pY8InmEw1_naRGUcxAPCtTPrlLF8Y10hgnIaMu92Zj_S3ZAMqpajwvtSrt_gXzDlMBhJS6iS23i95UmN_7pi_wADf1YWEniDdZ6P72VxfpjwMEmxCXPts55VBRy8f5sff981xoMb605ZDL1qGd4jqWi8C_esmiqGG7FTK2eF_eNhRqgi_lbCjI1T6lu4WAiLZJXRHMrj0FwLToXFWkg-atyp1MVa1O7E0CGg22_XChkp4UKkXjPfmGEhd6oLXEVtoqeXS9DPeT_9ABUC_8M?type=png)](https://mermaid.live/edit#pako:eNp9UstuwyAQ_JUVp1ZNfoBDpMi-WFXdyLn6gs0mQTXgLtCHovx714nTWoobDgiW2dlhNEfReo1CioDvCV2LuVF7UrZ2wEul6F2yDdLl_pwa7DAul6vVU4nx09Mb5NUacjIfSBJK5toQ9oqwwuATtRgeHi-9pY8InmEw1_naRGUcxAPCtTPrlLF8Y10hgnIaMu92Zj_S3ZAMqpajwvtSrt_gXzDlMBhJS6iS23i95UmN_7pi_wADf1YWEniDdZ6P72VxfpjwMEmxCXPts55VBRy8f5sff981xoMb605ZDL1qGd4jqWi8C_esmiqGG7FTK2eF_eNhRqgi_lbCjI1T6lu4WAiLZJXRHMrj0FwLToXFWkg-atyp1MVa1O7E0CGg22_XChkp4UKkXjPfmGEhd6oLXEVtoqeXS9DPeT_9ABUC_8M)
\ No newline at end of file
diff --git a/site/content/docs/design/references.md b/site/content/docs/design/references.md
new file mode 100644
index 0000000..38828eb
--- /dev/null
+++ b/site/content/docs/design/references.md
@@ -0,0 +1,12 @@
+---
+title: "References"
+date: 2024-12-19T11:20:46Z
+---
+
+- [KEP 3063 - Dynamic Resource Allocation #306](https://github.com/kubernetes/enhancements/blob/master/keps/sig-node/3063-dynamic-resource-allocation/README.md)
+- [KEP 3695 - DRA: structured parameters #438](https://github.com/kubernetes/enhancements/issues/4381)
+- [Extend PodResources to include resources from Dynamic Resource Allocation (DRA)](https://github.com/kubernetes/enhancements/issues/3695)
+- [Working Group Device Management](https://github.com/kubernetes-sigs/wg-device-management)
+- [Kubernetes Network Drivers, Antonio Ojea, Presentation](https://docs.google.com/presentation/d/1Vdr7BhbYXeWjwmLjGmqnUkvJr_eOUdU0x-JxfXWxUT8/edit?usp=sharing)
+- [The Future of Kubernetes Networking - Antonio Ojea, Googe & Dan Winship, Red Hat - Kubernetes Contributor Summit EU 2024](https://sched.co/1aOqO)
+- [Better Together! GPU, TPU and NIC Topological Alignment with DRA - John Belamaric, Google & Patrick Ohly, Intel - Kubecon US 2024](https://sched.co/1i7pv)
\ No newline at end of file
diff --git a/site/content/user/quick-start.md b/site/content/docs/quick-start.md
similarity index 98%
rename from site/content/user/quick-start.md
rename to site/content/docs/quick-start.md
index 27f703f..07fac2d 100644
--- a/site/content/user/quick-start.md
+++ b/site/content/docs/quick-start.md
@@ -1,13 +1,14 @@
---
title: "Quick Start"
date: 2024-12-17T14:47:05Z
+weight: 1
---
DRANET depends on the Kubernetes feature [Dynamic Resource Allocation (DRA)](https://kubernetes.io/docs/concepts/scheduling-eviction/dynamic-resource-allocation/), that is beta (disabled by default in v1.32).
In order to enable DRA you need to enable both the [feature gates and the API groups](https://kubernetes.io/docs/concepts/scheduling-eviction/dynamic-resource-allocation/#enabling-dynamic-resource-allocation).
-## Create a Kubernetes Cluster
+## Kubernetes cluster with DRA
### KIND
@@ -88,7 +89,7 @@ kubectl get --raw /metrics | grep kubernetes_feature_enabled | grep DynamicResou
kubernetes_feature_enabled{name="DynamicResourceAllocation",stage="BETA"} 1
```
-## Install DRANET
+### Installation
You can install the latest stable version using the provided manifest:
@@ -96,7 +97,7 @@ You can install the latest stable version using the provided manifest:
kubectl apply -f https://raw.githubusercontent.com/google/dranet/refs/heads/main/install.yaml
```
-## How to use it
+### How to use it
Once the Kubernetes Network Driver is running you can see the list of Network Interfaces and its attributes published by the drivers:
@@ -297,7 +298,7 @@ spec:
resourceClaimName: cloud-network-dra-net-3
```
-Kubernets schedules the `Pod` to the corresponding `Node` and attach the network interface to the `Pod`:
+Kubernetes schedules the `Pod` to the corresponding `Node` and attach the network interface to the `Pod`:
```sh
kubectl get pods -o wide
diff --git a/site/content/docs/user/_index.md b/site/content/docs/user/_index.md
new file mode 100644
index 0000000..94906e2
--- /dev/null
+++ b/site/content/docs/user/_index.md
@@ -0,0 +1,4 @@
+---
+title: User Guides
+weight: 2
+---
diff --git a/site/content/docs/user/contributing.md b/site/content/docs/user/contributing.md
new file mode 100644
index 0000000..7d5d132
--- /dev/null
+++ b/site/content/docs/user/contributing.md
@@ -0,0 +1,6 @@
+---
+title: "Attach Network Interfaces"
+date: 2024-12-19T11:30:40Z
+draft: true
+---
+
diff --git a/site/content/featured-background.jpg b/site/content/featured-background.jpg
new file mode 100644
index 0000000..a4b5abf
Binary files /dev/null and b/site/content/featured-background.jpg differ
diff --git a/site/hugo.toml b/site/hugo.toml
index e2b7f43..a09d776 100644
--- a/site/hugo.toml
+++ b/site/hugo.toml
@@ -5,11 +5,7 @@ languageCode = "en-us"
# we use this to disable indexing for the non-production build
enableRobotsTXT = true
-# this allows us to show the source commit in the footer
-enableGitInfo = true
-
-# we don't use these currently
-disableKinds = ["taxonomy", "taxonomyTerm"]
+contentDir = "content"
# syntax highlighting options
[markup]
@@ -35,30 +31,96 @@ sectionPagesMenu = "main"
identifier = "home"
name = "Home"
title = "Home"
-url = "/"
+url = "/docs"
weight = 1
[[menu.main]]
identifier = "user"
-name = "User Guide"
-title = "User Guide"
+url = "/docs/user"
+name = "User Guides"
+title = "User Guides"
weight = 2
[[menu.main]]
identifier = "design"
+url = "/docs/design"
name = "Design"
title = "Design"
weight = 5
[[menu.main]]
identifier = "contributing"
+url = "/docs/contributing"
name = "Contributing"
-title = "contributing"
+title = "Contributing"
weight = 6
-
[outputs]
home = ["HTML"]
[params]
-stable = "v0.25.0"
+privacy_policy = "https://policies.google.com/privacy"
+
+# First one is picked as the Twitter card image if not set on page.
+# images = ["images/project-illustration.png"]
+
+# Repository configuration (URLs for in-page links to opening issues and suggesting changes)
+github_repo = "https://github.com/google/dranet"
+
+# Specify a value here if your content directory is not in your repo's root directory
+github_subdir = "site"
+
+# Uncomment this if your GitHub repo does not have "main" as the default branch,
+# or specify a new value if you want to reference another branch in your GitHub links
+github_branch= "main"
+
+# Google Custom Search Engine ID. Remove or comment out to disable search.
+gcs_engine_id = "d72aa9b2712488cc3"
+
+# Enable Lunr.js offline search
+offlineSearch = false
+
+# Enable syntax highlighting and copy buttons on code blocks with Prism
+prism_syntax_highlighting = false
+
+[params.copyright]
+ authors = "Google LLC | [CC BY 4.0](https://creativecommons.org/licenses/by/4.0) | "
+ from_year = 2024
+
+# User interface configuration
+[params.ui]
+# Set to true to disable breadcrumb navigation.
+breadcrumb_disable = false
+# Set to false if you don't want to display a logo (/assets/icons/logo.svg) in the top navbar
+navbar_logo = false
+# Set to true if you don't want the top navbar to be translucent when over a `block/cover`, like on the homepage.
+navbar_translucent_over_cover_disable = false
+# Enable to show the side bar menu in its compact state.
+sidebar_menu_compact = false
+# Set to true to hide the sidebar search box (the top nav search box will still be displayed if search is enabled)
+sidebar_search_disable = false
+
+# Adds a reading time to the top of each doc.
+# If you want this feature, but occasionally need to remove the Reading time from a single page,
+# add "hide_readingtime: true" to the page's front matter
+[params.ui.readingtime]
+enable = false
+
+[params.links]
+# End user relevant links. These will show up on left side of footer and in the community page if you have one.
+[[params.links.user]]
+ name = "SIG Network mailing list"
+ url = "https://groups.google.com/forum/#!forum/kubernetes-sig-network"
+ icon = "fa fa-envelope"
+ desc = "Discussion and help from your fellow users"
+[[params.links.developer]]
+ name = "GitHub"
+ url = "https://github.com/google/dranet"
+ icon = "fab fa-github"
+ desc = "Development takes place here!"
+[[params.links.developer]]
+ name = "Slack"
+ url = "https://kubernetes.slack.com/messages/sig-network"
+ icon = "fab fa-slack"
+ desc = "Chat with other project developers"
+
# privacy settings
[privacy]
@@ -68,4 +130,4 @@ privacyEnhanced = true
[module]
[[module.imports]]
-path = 'github.com/thingsym/hugo-theme-techdoc'
\ No newline at end of file
+path = 'github.com/google/docsy'
\ No newline at end of file