Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
78 commits
Select commit Hold shift + click to select a range
ecddf6d
Initial commit
thokra-nav Nov 25, 2025
dc06a22
Initial markdown renderer
thokra-nav Nov 25, 2025
b7e87b0
navigation
thokra-nav Nov 25, 2025
cc26ef9
More work
thokra-nav Nov 25, 2025
1ff0670
Render pages
thokra-nav Nov 25, 2025
8be8f81
mermaid
thokra-nav Nov 26, 2025
28c6b75
Admonition
thokra-nav Nov 26, 2025
2a167e0
content tabs
thokra-nav Nov 26, 2025
2e2cc4e
Checkbox
thokra-nav Nov 26, 2025
5592b0a
sync
thokra-nav Nov 26, 2025
e6835a5
def
thokra-nav Nov 26, 2025
945d1ed
fix
thokra-nav Nov 26, 2025
c76e9e6
nav fixes
thokra-nav Nov 26, 2025
f2cd575
shiki
thokra-nav Nov 26, 2025
604bf5d
sidebar
thokra-nav Nov 26, 2025
1da375f
Search
thokra-nav Nov 26, 2025
f2b947f
gcp-only
thokra-nav Nov 26, 2025
faed597
agent cleanup
thokra-nav Nov 26, 2025
0509d03
theme toggle
thokra-nav Nov 26, 2025
9206f3d
Static and error
thokra-nav Nov 26, 2025
62d84c7
Fix links and redirects
thokra-nav Nov 26, 2025
9ece06b
annotations
thokra-nav Nov 26, 2025
33e7a92
Tags
thokra-nav Nov 26, 2025
253401a
deduplicate and reload
thokra-nav Nov 26, 2025
1798c98
Assets and some other stuff
thokra-nav Nov 26, 2025
af5ee38
deploy
thokra-nav Nov 26, 2025
6c1a6dc
In the fork, remove other workflows
thokra-nav Nov 26, 2025
b8f9008
Fix routes
thokra-nav Nov 26, 2025
163a427
Fix search data
thokra-nav Nov 26, 2025
964b969
variables
thokra Nov 26, 2025
a97579e
Variables
thokra-nav Nov 27, 2025
9b408d6
Store state
thokra-nav Nov 27, 2025
4c5a5a0
A bit better with noscript
thokra-nav Nov 28, 2025
ee4b707
More pink variables
thokra-nav Dec 1, 2025
cf73c7a
Rethink annotations
thokra-nav Dec 1, 2025
d2b483f
Page metadata
thokra-nav Dec 1, 2025
fcb1e5a
external link icons
thokra-nav Dec 1, 2025
891b969
Fix timestamps
thokra-nav Dec 1, 2025
554f434
Heading spacings
thokra-nav Dec 1, 2025
619aeca
Collapsible menu
thokra-nav Dec 1, 2025
7113665
Fix chevron
thokra-nav Dec 1, 2025
2d2d003
Less space
thokra-nav Dec 1, 2025
7670cfb
Mobile friendly
thokra-nav Dec 1, 2025
17db8fb
More mobile friendly
thokra-nav Dec 1, 2025
db194c8
Build for nav, cleanup env
thokra-nav Dec 1, 2025
df944d4
Try some css for better spacing
thokra-nav Dec 1, 2025
00688b3
Scroll selected into view
thokra-nav Dec 1, 2025
61e06b7
use tick
thokra-nav Dec 1, 2025
71fa810
blockquote and cleanup
thokra-nav Dec 1, 2025
9c21cc4
fix sidebar overflow
thokra-nav Dec 1, 2025
478129a
Fix code inside alert
thokra-nav Dec 1, 2025
9c0a770
Fix some cards
thokra-nav Dec 2, 2025
0c290df
Run fmt
thokra-nav Dec 2, 2025
83591b4
Mermaid fixes and color on codespans
thokra-nav Dec 2, 2025
5a9b3cc
Hide search/theme toggle when noscript
thokra-nav Dec 2, 2025
b9dabef
Tiny bit less spacing
thokra-nav Dec 2, 2025
cf81468
Rework tags page
thokra-nav Dec 2, 2025
6c6a2b4
Fix heading id generation
thokra-nav Dec 2, 2025
4086d08
Fix mermaid links
thokra-nav Dec 2, 2025
aacaa24
emoji support
thokra-nav Dec 2, 2025
976df46
Better dl
thokra-nav Dec 2, 2025
ebafb36
Some more definition list work
thokra-nav Dec 2, 2025
551f787
Try to simplify code
thokra-nav Dec 2, 2025
8453f57
Definition list inside lists
thokra-nav Dec 2, 2025
855898e
table fixes
thokra-nav Dec 2, 2025
bfa0cb1
Set favicon
thokra-nav Dec 2, 2025
0a109bd
Metadata
thokra-nav Dec 2, 2025
15fb838
Initial file filter
thokra-nav Dec 5, 2025
1fd4f54
Try to reduce duplication
thokra-nav Dec 5, 2025
8ada6e2
Remove use of :octicons-link-external-16: for links
thokra-nav Dec 5, 2025
1e89cd2
Fixes for redirects, style and lint
thokra-nav Dec 5, 2025
da4edf0
New alerts
thokra-nav Dec 9, 2025
2e54277
Small fixes
thokra-nav Dec 10, 2025
a28cfe6
Upgrade deps, fix lint and check
thokra-nav Mar 2, 2026
8a6916e
Upgrades
thokra-nav Apr 20, 2026
0386d97
sync new redirects
thokra-nav Apr 20, 2026
c76eaa8
Remove removed page
thokra-nav Apr 20, 2026
b255b27
Run only on thokra-nav
thokra-nav Apr 20, 2026
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.

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

on:
push:
branches:
- ds-svelte

jobs:
build_site:
if: github.repository_owner == 'thokra-nav'
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
if: github.repository_owner == 'thokra-nav'
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
1 change: 0 additions & 1 deletion .tool-versions

This file was deleted.

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
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 @@ -28,7 +28,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
2 changes: 1 addition & 1 deletion docs/services/secrets/how-to/console.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ This how-to guide shows you how to create and manage a [secret](../README.md) in

## List secrets

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 the `Secrets` tab

Expand Down
2 changes: 1 addition & 1 deletion docs/services/secrets/reference/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ This is the reference documentation for [secrets](../README.md) on the Nais plat

## Console

Visit [Nais Console :octicons-link-external-16:](https://console.<<tenant()>>.cloud.nais.io) to find and manage your team's user-defined secrets.
Visit [Nais Console](https://console.<<tenant()>>.cloud.nais.io) to find and manage your team's user-defined secrets.

## Workloads

Expand Down
4 changes: 2 additions & 2 deletions docs/tutorials/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,10 @@ Tutorials are lessons that focuses on _learning by doing_.
These give you hands-on experience with various parts of Nais, where we carefully guide you each step of the way.

<div class="grid cards" markdown>
- :octicons-rocket-24:{ .lg .middle } [**Hello Nais**](./hello-nais.md)

- :rocket: [**Hello Nais**](./hello-nais.md)

---

Get your first application up and running on Nais.

</div>
2 changes: 1 addition & 1 deletion docs/workloads/application/how-to/delete.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ tags: [application, how-to]

## Delete your application

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 the `Apps` tab
4. Select the application that you want to delete
Expand Down
2 changes: 1 addition & 1 deletion docs/workloads/job/how-to/delete.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ tags: [job, how-to]

## Delete your job

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 the `Job` tab
4. Select the job that you want to delete
Expand Down
6 changes: 6 additions & 0 deletions mise.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
[settings]
pin = true

[tools]
bun = "1.3.12"
poetry = "2.0.0"
5 changes: 5 additions & 0 deletions svdoc/.env.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# Tenant configuration
# The tenant name (e.g., "nav", "test-nais")
TENANT=nav
NOT_TENANT=not-nav
CONTENT_STORE_LOG_LEVEL=info
23 changes: 23 additions & 0 deletions svdoc/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
node_modules

# Output
.output
.vercel
.netlify
.wrangler
/.svelte-kit
/build

# OS
.DS_Store
Thumbs.db

# Env
.env
.env.*
!.env.example
!.env.test

# Vite
vite.config.js.timestamp-*
vite.config.ts.timestamp-*
1 change: 1 addition & 0 deletions svdoc/.npmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
engine-strict=true
9 changes: 9 additions & 0 deletions svdoc/.prettierignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Package Managers
package-lock.json
pnpm-lock.yaml
yarn.lock
bun.lock
bun.lockb

# Miscellaneous
/static/
15 changes: 15 additions & 0 deletions svdoc/.prettierrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
{
"useTabs": true,
"singleQuote": false,
"trailingComma": "all",
"printWidth": 100,
"plugins": ["prettier-plugin-svelte", "prettier-plugin-tailwindcss"],
"overrides": [
{
"files": "*.svelte",
"options": {
"parser": "svelte"
}
}
]
}
5 changes: 5 additions & 0 deletions svdoc/.vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"files.associations": {
"*.css": "tailwindcss"
}
}
Loading