Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
73 commits
Select commit Hold shift + click to select a range
7688b20
Initial commit
thokra-nav Nov 25, 2025
8005c41
Initial markdown renderer
thokra-nav Nov 25, 2025
94f44da
navigation
thokra-nav Nov 25, 2025
6aca1f4
More work
thokra-nav Nov 25, 2025
a4e230a
Render pages
thokra-nav Nov 25, 2025
8b84422
mermaid
thokra-nav Nov 26, 2025
a995a6d
Admonition
thokra-nav Nov 26, 2025
33f3d00
content tabs
thokra-nav Nov 26, 2025
1653e4b
Checkbox
thokra-nav Nov 26, 2025
b1c53f1
sync
thokra-nav Nov 26, 2025
bc5d5f1
def
thokra-nav Nov 26, 2025
3b4621c
fix
thokra-nav Nov 26, 2025
c2463bd
nav fixes
thokra-nav Nov 26, 2025
1812b15
shiki
thokra-nav Nov 26, 2025
e04f15a
sidebar
thokra-nav Nov 26, 2025
2b9ab58
Search
thokra-nav Nov 26, 2025
c5a7d55
gcp-only
thokra-nav Nov 26, 2025
ef875e7
agent cleanup
thokra-nav Nov 26, 2025
fe478d7
theme toggle
thokra-nav Nov 26, 2025
84314f1
Static and error
thokra-nav Nov 26, 2025
d27dfbe
Fix links and redirects
thokra-nav Nov 26, 2025
92c8d5d
annotations
thokra-nav Nov 26, 2025
75da2bc
Tags
thokra-nav Nov 26, 2025
4bcd4fe
deduplicate and reload
thokra-nav Nov 26, 2025
dae9397
Assets and some other stuff
thokra-nav Nov 26, 2025
f0da1a6
deploy
thokra-nav Nov 26, 2025
b9946b7
In the fork, remove other workflows
thokra-nav Nov 26, 2025
9f2f992
Fix routes
thokra-nav Nov 26, 2025
db70093
Fix search data
thokra-nav Nov 26, 2025
f6cf4d0
variables
thokra Nov 26, 2025
657d57c
Variables
thokra-nav Nov 27, 2025
f8ce679
Store state
thokra-nav Nov 27, 2025
9540ed9
A bit better with noscript
thokra-nav Nov 28, 2025
565fdde
More pink variables
thokra-nav Dec 1, 2025
ae98a32
Rethink annotations
thokra-nav Dec 1, 2025
bd4828c
Page metadata
thokra-nav Dec 1, 2025
e2475d7
external link icons
thokra-nav Dec 1, 2025
0558fcd
Fix timestamps
thokra-nav Dec 1, 2025
904822a
Heading spacings
thokra-nav Dec 1, 2025
b29e1db
Collapsible menu
thokra-nav Dec 1, 2025
6a265a3
Fix chevron
thokra-nav Dec 1, 2025
3d2c114
Less space
thokra-nav Dec 1, 2025
503503a
Mobile friendly
thokra-nav Dec 1, 2025
752338e
More mobile friendly
thokra-nav Dec 1, 2025
b1c055a
Build for nav, cleanup env
thokra-nav Dec 1, 2025
563e85e
Try some css for better spacing
thokra-nav Dec 1, 2025
8c0524b
Scroll selected into view
thokra-nav Dec 1, 2025
604822f
use tick
thokra-nav Dec 1, 2025
bdd5b01
blockquote and cleanup
thokra-nav Dec 1, 2025
40025a8
fix sidebar overflow
thokra-nav Dec 1, 2025
036102a
Fix code inside alert
thokra-nav Dec 1, 2025
7ff6b65
Fix some cards
thokra-nav Dec 2, 2025
d101f9c
Run fmt
thokra-nav Dec 2, 2025
6b2ecb3
Mermaid fixes and color on codespans
thokra-nav Dec 2, 2025
0d70889
Hide search/theme toggle when noscript
thokra-nav Dec 2, 2025
0adb3de
Tiny bit less spacing
thokra-nav Dec 2, 2025
e26bc49
Rework tags page
thokra-nav Dec 2, 2025
a4e0848
Fix heading id generation
thokra-nav Dec 2, 2025
bd77baf
Fix mermaid links
thokra-nav Dec 2, 2025
6c27694
emoji support
thokra-nav Dec 2, 2025
2580fbb
Better dl
thokra-nav Dec 2, 2025
eae7280
Some more definition list work
thokra-nav Dec 2, 2025
a51fd4f
Try to simplify code
thokra-nav Dec 2, 2025
10b411f
Definition list inside lists
thokra-nav Dec 2, 2025
6ff35a5
table fixes
thokra-nav Dec 2, 2025
d3e3957
Set favicon
thokra-nav Dec 2, 2025
f4802d4
Metadata
thokra-nav Dec 2, 2025
527add8
Initial file filter
thokra-nav Dec 5, 2025
073638f
Try to reduce duplication
thokra-nav Dec 5, 2025
6372104
Remove use of :octicons-link-external-16: for links
thokra-nav Dec 5, 2025
3ebed10
Fixes for redirects, style and lint
thokra-nav Dec 5, 2025
7c574d6
New alerts
thokra-nav Dec 9, 2025
f2d1bda
Small fixes
thokra-nav Dec 10, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 0 additions & 26 deletions .github/dependabot.yml

This file was deleted.

23 changes: 0 additions & 23 deletions .github/workflows/dependabot-auto-merge.yml

This file was deleted.

52 changes: 52 additions & 0 deletions .github/workflows/deploy-pages.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
name: Deploy to GitHub Pages

on:
push:
branches:
- ds-svelte

jobs:
build_site:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v6
with:
fetch-depth: 0 # Fetch all history for accurate git timestamps

- uses: jdx/mise-action@v3

- name: Install dependencies
working-directory: ./svdoc
run: bun i

- name: build
working-directory: ./svdoc
env:
BASE_PATH: "/${{ github.event.repository.name }}"
TENANT: "nav"
run: |
bun run build

- name: Upload Artifacts
uses: actions/upload-pages-artifact@v4
with:
# this should match the `pages` option in your adapter-static options
path: "svdoc/build/"

deploy:
needs: build_site
runs-on: ubuntu-latest

permissions:
pages: write
id-token: write

environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}

steps:
- name: Deploy
id: deployment
uses: actions/deploy-pages@v4
84 changes: 0 additions & 84 deletions .github/workflows/main.yml

This file was deleted.

1 change: 1 addition & 0 deletions .tool-versions
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
poetry 2.0.0
bun 1.3.3
3 changes: 3 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"editor.formatOnSave": false
}
6 changes: 0 additions & 6 deletions docs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,6 @@ hide:
- footer
- toc
---
<!-- This hides the edit button on the start page -->
<style>
.md-content__button {
display: none;
}
</style>

# :wave: **Welcome to the Nais developer documentation!**

Expand Down
12 changes: 6 additions & 6 deletions docs/auth/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,9 +40,9 @@ See the different scenarios below to identify which service(s) you need for your

Depending on who your users are, you can use the following services to log them in:

:person_standing: Log in _employees_ :octicons-arrow-right-24: [Entra ID]
:standing_person: Log in _employees_ :octicons-arrow-right-24: [Entra ID]

:person_standing: Log in _citizens_ :octicons-arrow-right-24: [ID-porten]
:standing_person: Log in _citizens_ :octicons-arrow-right-24: [ID-porten]

## Validating inbound requests

Expand All @@ -63,9 +63,9 @@ graph TD

The graph above can also be described as:

:material-server::person_standing: Validate requests from _internal_ application acting on behalf of _employee_ :octicons-arrow-right-24: [Entra ID]
:material-server::standing_person: Validate requests from _internal_ application acting on behalf of _employee_ :octicons-arrow-right-24: [Entra ID]

:material-server::person_standing: Validate requests from _internal_ application acting on behalf of _citizen_:octicons-arrow-right-24: [TokenX]
:material-server::standing_person: Validate requests from _internal_ application acting on behalf of _citizen_:octicons-arrow-right-24: [TokenX]

:material-server: Validate requests from _internal_ application :octicons-arrow-right-24: [Entra ID]

Expand All @@ -87,9 +87,9 @@ graph TD

The graph above can also be described as:

:material-server::person_standing: Make requests to _internal_ API on behalf of _employee_ :octicons-arrow-right-24: [Entra ID]
:material-server::standing_person: Make requests to _internal_ API on behalf of _employee_ :octicons-arrow-right-24: [Entra ID]

:material-server::person_standing: Make requests to _internal_ API on behalf of _citizen_ :octicons-arrow-right-24: [TokenX]
:material-server::standing_person: Make requests to _internal_ API on behalf of _citizen_ :octicons-arrow-right-24: [TokenX]

:material-server: Make requests to _internal_ API :octicons-arrow-right-24: [Entra ID]

Expand Down
2 changes: 1 addition & 1 deletion docs/auth/how-to/login.md
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ Before you begin, ensure that you have:
: The client secret for your application.

4. Optionally, add additional environment variables to the secret to configure the login proxy further.
See the [Wonderwall configuration reference :octicons-link-external-16:](https://github.com/nais/wonderwall/blob/master/docs/configuration.md) for all available options.
See the [Wonderwall configuration reference](https://github.com/nais/wonderwall/blob/master/docs/configuration.md) for all available options.

## Configure your application

Expand Down
8 changes: 4 additions & 4 deletions docs/explanations/under-the-hood.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,9 @@ In this explanation, we will go through some of the underlying technologies we u

### Runtime implementation

Each _environment_ is its own [Kubernetes :octicons-link-external-16:](https://kubernetes.io) cluster using [Google Kubernetes Engine (GKE) :octicons-link-external-16:](https://cloud.google.com/kubernetes-engine?hl=en).
Each _environment_ is its own [Kubernetes](https://kubernetes.io) cluster using [Google Kubernetes Engine (GKE)](https://cloud.google.com/kubernetes-engine?hl=en).

Inside each environment, every team has their own [namespace :octicons-link-external-16:](https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/).
Inside each environment, every team has their own [namespace](https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/).

A namespace can contain one or more [workloads](../workloads/README.md).
Only members of the team have access to the namespace and its resources.
Expand All @@ -33,13 +33,13 @@ In the example above, the team has an application and a job running in the `dev`

All workloads are deployed in a team namespace.

Every workload is isolated from _all_ other workloads with [Kubernetes network policies :octicons-link-external-16:](https://kubernetes.io/docs/concepts/services-networking/network-policies/).
Every workload is isolated from _all_ other workloads with [Kubernetes network policies](https://kubernetes.io/docs/concepts/services-networking/network-policies/).

Access is denied by default, unless [explicitly allowed](../workloads/explanations/zero-trust.md).

## Google Cloud Platform (GCP) resources

Each team has a dedicated [GCP project :octicons-link-external-16:](https://cloud.google.com/resource-manager/docs/creating-managing-projects) for _each_ environment.
Each team has a dedicated [GCP project](https://cloud.google.com/resource-manager/docs/creating-managing-projects) for _each_ environment.

When your workload requests resources e.g. a bucket, it will be provisioned in the team's project for the matching environment.

Expand Down
43 changes: 21 additions & 22 deletions docs/operate/cli/how-to/install.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,47 +8,46 @@ tags: [command-line, how-to]

1. Install [Homebrew](https://brew.sh/) (unless you already have it)
2. Add the nais tap
```bash
brew tap nais/tap
```
```bash
brew tap nais/tap
```
3. Install the nais-cli
```bash
brew install nais
```
```bash
brew install nais
```

=== "Ubuntu"

!!! tip
The PPA repo is shared between nais-cli and [naisdevice](../../naisdevice/README.md), so the first step may be unnecessary.

1. Add the nais PPA repo:
```
NAIS_GPG_KEY="/etc/apt/keyrings/nav_nais_gar.asc"
curl -sfSL "https://europe-north1-apt.pkg.dev/doc/repo-signing-key.gpg" | sudo dd of="$NAIS_GPG_KEY"
echo "deb [arch=amd64 signed-by=$NAIS_GPG_KEY] https://europe-north1-apt.pkg.dev/projects/nais-io nais-ppa main" | sudo tee /etc/apt/sources.list.d/nav_nais_gar.list
sudo apt update
```
```
NAIS_GPG_KEY="/etc/apt/keyrings/nav_nais_gar.asc"
curl -sfSL "https://europe-north1-apt.pkg.dev/doc/repo-signing-key.gpg" | sudo dd of="$NAIS_GPG_KEY"
echo "deb [arch=amd64 signed-by=$NAIS_GPG_KEY] https://europe-north1-apt.pkg.dev/projects/nais-io nais-ppa main" | sudo tee /etc/apt/sources.list.d/nav_nais_gar.list
sudo apt update
```
2. Install the nais package:
```
sudo apt install nais
```
```
sudo apt install nais
```

=== "Windows"

### Install using Scoop

1. Install [Scoop](https://scoop.sh) unless you already have it.
2. Add the nais bucket
```powershell
scoop bucket add nais https://github.com/nais/scoop-bucket
```
```
scoop bucket add nais https://github.com/nais/scoop-bucket
```
3. Install nais-cli
```powershell
scoop install nais-cli
```
```
scoop install nais-cli
```

=== "Manual"

Download the archive for windows from [nais/cli](https://github.com/nais/cli/releases/latest) and unpack the tool to a directory on your `$PATH`.
If you are unable to run nais after installing, check out our [troubleshooting guide](troubleshooting.md).

2 changes: 1 addition & 1 deletion docs/persistence/opensearch/how-to/create.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ This guide will show you how to create a OpenSearch instance for your team using

## Steps

1. Open [Nais Console :octicons-link-external-16:](https://console.<<tenant()>>.cloud.nais.io) in your browser
1. Open [Nais Console](https://console.<<tenant()>>.cloud.nais.io) in your browser
2. Select your team
3. Select **OpenSearch** in the sidebar menu
4. Click the **Create OpenSearch** button
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ Ensure that your workload is compatible with the new major version of OpenSearch

### 2. Upgrade the OpenSearch instance

1. Open [Nais Console :octicons-link-external-16:](https://console.<<tenant()>>.cloud.nais.io) in your browser
1. Open [Nais Console](https://console.<<tenant()>>.cloud.nais.io) in your browser
2. Select your team
3. Select **OpenSearch** in the sidebar menu
4. Select the OpenSearch instance you want to upgrade
Expand Down
2 changes: 1 addition & 1 deletion docs/persistence/valkey/how-to/create.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ This guide will show you how to create a Valkey instance for your team using [Na

## Steps

1. Open [Nais Console :octicons-link-external-16:](https://console.<<tenant()>>.cloud.nais.io) in your browser
1. Open [Nais Console](https://console.<<tenant()>>.cloud.nais.io) in your browser
2. Select your team
3. Select **Valkey** in the sidebar menu
4. Click the **Create Valkey** button
Expand Down
2 changes: 2 additions & 0 deletions docs/services/secrets/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ Secrets are kept separate from the codebase and configuration files that are usu
There are two types of secrets on the Nais platform:

<div class="grid cards" markdown>

- :construction_worker: **Platform-provided secrets**

---
Expand All @@ -22,6 +23,7 @@ There are two types of secrets on the Nais platform:
</div>

<div class="grid cards" markdown>

- :technologist: **User-defined secrets**

---
Expand Down
Loading