Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
231 commits
Select commit Hold shift + click to select a range
ca2e4d6
fix: Repair broken urls and fix typos
nurof3n Nov 10, 2025
c6c7cd0
fix: Repair broken urls and fix typos (#30)
craciunoiuc Nov 10, 2025
e50ff0d
feat(services): Add section about port handlers
nurof3n Nov 10, 2025
86d0227
feat(services): Add section about port handlers (#31)
craciunoiuc Nov 10, 2025
b332129
fix(guides/ferretdb): Fix urls
nurof3n Nov 3, 2025
bc22a38
chore(use-cases): Add links to Docker install page
nurof3n Dec 8, 2025
4faf237
chore(use-cases): Add links to Docker install page (#33)
craciunoiuc Dec 8, 2025
3716fd6
feat(use-cases): Add 2 MCP servers use cases
nurof3n Nov 21, 2025
51acb37
feat(use-cases): Add 2 MCP servers use cases (#32)
craciunoiuc Dec 8, 2025
3bf2de7
feat(use-cases): Add GitHub webhook use case
nurof3n Dec 17, 2025
bd2687d
fix(use-cases): Rectify claims about sub-millisecond boot times
nurof3n Dec 17, 2025
dcb16aa
feat(use-cases): Add GitHub webhook use case (#34)
craciunoiuc Dec 18, 2025
9bdd842
fix(docs): Adjust content to fix linting errors
nurof3n Dec 19, 2025
fd78685
fix(docs): Adjust content to fix linting errors (#36)
nderjung Dec 19, 2025
01e0b29
fix(use-cases): Rectify claims about sub-millisecond boot times (#35)
nderjung Dec 22, 2025
3d28911
feat(scripts): Add more features like ansi coloring
nurof3n Nov 4, 2025
2384e30
feat(actions): Add more features to mdx conversion from READMEs (#28)
razvand Dec 23, 2025
b9bca60
fix(features): Fix spelling mistakes
nurof3n Dec 22, 2025
6cb8f0f
fix(features): Fix spelling mistakes (#37)
razvand Dec 23, 2025
f4f20fe
chore: Ensure consistent syntax of kraft cloud deploy
nurof3n Dec 23, 2025
67dfa84
chore: Ensure consistent syntax of kraft cloud deploy (#39)
razvand Dec 23, 2025
3790b4a
feat(features): Add ROMs feature
nurof3n Dec 22, 2025
d9002a4
feat(features): Add ROMs feature (#38)
razvand Dec 24, 2025
48f8bdc
chore(use-cases): Change navigation_icon of MCP Servers
nurof3n Dec 24, 2025
7bd5576
chore(use-cases): Change navigation_icon of MCP Servers (#40)
razvand Dec 24, 2025
e627099
feat(pages): Add two new questions to FAQ
craciunoiuc Jan 12, 2026
362d3a0
chore: Disable linter for false positives
craciunoiuc Jan 12, 2026
1dcb82c
feat(pages): Add two new questions to FAQ (#41)
nurof3n Jan 13, 2026
9a95f0a
feat(pages): Add extra questions to FAQ
craciunoiuc Jan 12, 2026
1d8c191
fix(pages): Mention that 'ENV' is not supported
craciunoiuc Jan 13, 2026
6cd7c25
feat(pages): Add extra questions to FAQ (#42)
nurof3n Jan 13, 2026
c179371
feat(pages): Add tutorial for comparing CPIO with EROFS
craciunoiuc Jan 13, 2026
83fc88e
feat(pages/tutorial): Add more in-depth explanations
nurof3n Jan 13, 2026
2063a43
feat(pages): Add tutorial for comparing CPIO with EROFS (#43)
nurof3n Jan 13, 2026
cac4c56
feat(tutorials): Add tutorial for running rootless
craciunoiuc Jan 13, 2026
28d7c10
fix(rootfs-formats): Add missing --rootfs-type flags
nurof3n Jan 13, 2026
61070e3
feat(tutorials): Add tutorial for running rootless (#44)
nurof3n Jan 14, 2026
5bfe945
fix(rootfs-formats): Add missing --rootfs-type flags (#45)
craciunoiuc Jan 14, 2026
7efa50a
feat(faq): Add question about running on Unikraft/Tinyx
craciunoiuc Jan 19, 2026
378f665
fix(docs): Change /install to /docs/introduction
jesi-rgb Jan 22, 2026
96cea27
fix(docs): Change /install to /docs/introduction (#53)
razvand Jan 22, 2026
eec600d
feat(tutorials): Add tutorial comparing rootfses to volumes and roms
craciunoiuc Jan 20, 2026
b99e2eb
feat(tutorials): Add tutorial comparing rootfses to volumes and roms …
nurof3n Jan 27, 2026
829486f
feat(faq): Add question about the correlation between rootfs/size/memory
craciunoiuc Jan 19, 2026
63e51c4
feat(faq): Add more frequently asked questions (#47)
nurof3n Jan 27, 2026
84aea9f
feat(tutorials): Add tutorial for triggering scale-to-zero
craciunoiuc Jan 14, 2026
986a92b
feat(tutorials): Add tutorial for triggering scale-to-zero (#46)
nurof3n Jan 27, 2026
82f039b
fix(tutorials): Add necessary imports for scale-to-zero page
craciunoiuc Jan 14, 2026
283f8c0
fix(tutorials): Add necessary imports for scale-to-zero page (#54)
craciunoiuc Jan 27, 2026
3d6644b
feat(tutorials): Add tutorial comparing internal/external networks
craciunoiuc Jan 20, 2026
d95408e
feat(tutorials): Add tutorial comparing internal/external networks (#52)
nurof3n Jan 27, 2026
30ecbe6
feat(tutorials): Add tutorial on setting environment variables
craciunoiuc Jan 19, 2026
e31fa28
feat(tutorials): Add tutorial on setting environment variables (#50)
nurof3n Jan 27, 2026
27647e7
feat(tutorials): Add tutorial on rootfs compression
craciunoiuc Jan 19, 2026
c2fb613
feat(tutorials): Add tutorial on rootfs compression (#48)
nurof3n Jan 27, 2026
2ea8f16
feat(features): Add best practices for optimal scale-to-zero
craciunoiuc Jan 19, 2026
0fa1522
feat(features): Add best practices for optimal scale-to-zero configur…
nurof3n Jan 27, 2026
d708060
fix(faq): Add mention about Dockerfile USER keyword
nurof3n Feb 10, 2026
242c221
fix(faq): Add mention about Dockerfile USER keyword (#58)
craciunoiuc Feb 10, 2026
af51881
fix(features): Fix ROM device path
nurof3n Feb 25, 2026
2091fac
fix(features): Fix ROM device path (#60)
razvand Feb 26, 2026
12cd33e
fix(use-cases): Fix typo in Webhooks Learn More
nurof3n Mar 10, 2026
9d7e088
fix(use-cases): Fix typo in Webhooks Learn More (#62)
craciunoiuc Mar 10, 2026
6247482
docs: add instance forking reference page
JeromeJaggi Mar 13, 2026
9ef69e0
docs: add Go SDK reference page
JeromeJaggi Mar 13, 2026
1108fbf
docs: add user quotas reference page
JeromeJaggi Mar 13, 2026
73c16a2
docs: add notification signal section to scale-to-zero page
JeromeJaggi Mar 13, 2026
eba3e89
docs: add REST API reference section to images page
JeromeJaggi Mar 13, 2026
091f542
fix(introduction): Replace 'unikernels' with 'MicroVMs'
JeromeJaggi Mar 13, 2026
30cecc5
fix(use-cases): replace unikernel with microVM
JeromeJaggi Mar 15, 2026
caf01bc
chore(tutorials): remove rootless instances tutorial
JeromeJaggi Mar 15, 2026
75b3404
fix(faq): replace unikernel refs with microVM, restructure
JeromeJaggi Mar 15, 2026
214887c
fix(use-cases): replace unikernel with microVM
JeromeJaggi Mar 15, 2026
5f18e7b
fix(kubernetes): replace unikernel with microVM
JeromeJaggi Mar 15, 2026
5c93dfa
fix(troubleshooting): replace unikernel with microVM
JeromeJaggi Mar 15, 2026
f1a8a6f
fix(docs): replace unikernel terminology with microVM (#90)
nderjung Mar 15, 2026
84bb5e2
fix(docs): replace unikernel terminology with microVM (prod-staging) …
nderjung Mar 15, 2026
784993d
docs: add behavioural notes and platform features to kubernetes page
JeromeJaggi Mar 13, 2026
c5f7ffa
docs: Emphasize s20 notif usage
mariasfiraiala Mar 16, 2026
5cd464a
docs: add CLI registries reference page
JeromeJaggi Mar 13, 2026
b3e8fa4
docs: add CLI registries reference page (#71)
craciunoiuc Mar 16, 2026
b1c4e19
fix(pages): Remove references to the broken 'ENV' in the FAQ
craciunoiuc Mar 16, 2026
b385bf3
fix(pages): Remove references to the broken 'ENV' in the FAQ (#92)
nurof3n Mar 16, 2026
1ee1c27
docs: Update Go SDK page to be up-to-date
jedevc Mar 17, 2026
9fd11c6
docs: add Go SDK reference page (#73)
jedevc Mar 17, 2026
dc17875
docs(features/forking): Rewrite with user-facing filesystem interface
JeromeJaggi Mar 17, 2026
3a1bae7
docs(features/forking): Fix all vale lint errors
JeromeJaggi Mar 17, 2026
99f615a
docs(vale): Add FUSE to accepted vocabulary
JeromeJaggi Mar 17, 2026
748b38b
docs: add behavioural notes and platform features to Kubernetes page …
craciunoiuc Mar 17, 2026
8a1a4e2
docs: add notification signal section to scale-to-zero page (#82)
craciunoiuc Mar 17, 2026
0ad32ff
docs: add UDP, connection limits, and persistent groups to services
mdaria11 Mar 17, 2026
5e8a4fb
docs(features/forking): Remove unrelated info/implementation details
tlandsberg Mar 17, 2026
21f5507
docs(features/forking): Clarify details
tlandsberg Mar 17, 2026
73e5e37
docs: Add resource tagging documentation
JeromeJaggi Mar 13, 2026
04c0132
docs: add cron jobs and scheduled wake-ups reference page
JeromeJaggi Mar 13, 2026
27ee42f
docs: add instance forking reference page (#68)
craciunoiuc Mar 17, 2026
c0dbc90
docs: add cron jobs and scheduled wake-ups reference page (#67)
craciunoiuc Mar 17, 2026
91e2d28
docs: Add resource tagging documentation (#65)
craciunoiuc Mar 17, 2026
3b6fbc3
docs: Fix minor inconsistencies with images
mariasfiraiala Mar 17, 2026
45e1c89
docs: add REST API reference section to images page (#84)
craciunoiuc Mar 18, 2026
c3e207b
feat(tutorials): Add tutorial describing metrics and how to use them
craciunoiuc Mar 18, 2026
90c6ffe
feat(tutorials): Add tutorial describing metrics and how to use them …
nurof3n Mar 18, 2026
f9aa5e3
docs: add UDP, connection limits, and persistent groups to services (…
craciunoiuc Mar 18, 2026
08a6a1c
chore(sdks): Remove '<>' to get page to compile again
craciunoiuc Mar 18, 2026
df9fe07
chore(sdks): Remove '<>' to get page to compile again (#94)
craciunoiuc Mar 18, 2026
098aa16
fix(cli): Add missing 'tabs' import
craciunoiuc Mar 18, 2026
d19c4e3
fix(cli): Add missing 'tabs' import (#95)
craciunoiuc Mar 18, 2026
c0107c9
docs: add instance metrics reference page
JeromeJaggi Mar 13, 2026
7c68ab1
docs: add instance metrics reference page (#76)
dragosgheorghioiu Mar 19, 2026
50f4fa9
docs: Add autokill documentation
JeromeJaggi Mar 13, 2026
4858b83
docs: Add autokill documentation (#66)
dragosgheorghioiu Mar 20, 2026
31b6fda
fix(docs): Fix ansi coloring for instance metrics tutorial
nurof3n Mar 20, 2026
6f5f1be
fix(docs): Fix ansi coloring for instance metrics tutorial (#96)
craciunoiuc Mar 20, 2026
4744719
docs: add user quotas reference page (#77)
dragosgheorghioiu Mar 23, 2026
790a7b3
docs: Add delete locks documentation
JeromeJaggi Mar 13, 2026
f9e195d
docs: Add delete locks documentation (#64)
nurof3n Mar 23, 2026
d655eeb
fix(pages): Improve introduction page
razvand Jan 28, 2026
771d81a
fix(platform): Reduce sentence size
razvand Feb 2, 2026
c3ad3b9
fix(pages): Improve introduction page (#98)
dragosgheorghioiu Mar 23, 2026
dff7b1c
docs: add templates, cgroups, listing, and metrics to instances
mdaria11 Mar 17, 2026
a822b51
docs: add templates, cgroups, listing, and metrics to instances (#85)
dragosgheorghioiu Mar 24, 2026
c76b4b1
docs: add volume templates, cloning, and shared volumes sections
JeromeJaggi Mar 13, 2026
93a416c
fix: Remove v1 from endpoints references
nurof3n Mar 24, 2026
86b0f27
docs: add volume templates, cloning, and shared volumes sections (#87)
nurof3n Mar 24, 2026
fa747c8
docs: add policy types and step constraints to autoscale page
JeromeJaggi Mar 13, 2026
e18527f
docs: add policy types and step constraints to autoscale page (#81)
nurof3n Mar 24, 2026
24dd7ba
feat(tutorials): Add tutorial on how to port docker images to ukc
craciunoiuc Mar 25, 2026
9307ac5
feat(tutorials): Add tutorial on how to port docker images to ukc (#99)
nurof3n Mar 25, 2026
484a56a
feat(roms): Fixed Kraftfile example used for the two ROMs
dragosgheorghioiu Mar 26, 2026
bb94290
feat(roms): Fixed Kraftfile example used for the two ROMs (#100)
nurof3n Mar 26, 2026
0c25ec1
ci: Add pr preview placeholder
jedevc Mar 30, 2026
406cdba
ci: Add pr preview placeholder (#102)
nderjung Mar 30, 2026
234ce6e
docs: Add CLI tabs for new unikraft CLI
jedevc Mar 30, 2026
02041fd
feat: Add guides overview page
nurof3n Mar 31, 2026
4d77a56
feat: Add guides overview page (#107)
dragosgheorghioiu Apr 1, 2026
32eb7a0
ci: import setup-www action
jedevc Mar 31, 2026
6dee2da
feat: Add PR preview
jedevc Mar 30, 2026
bf7e3d5
fix(docs): General fixes and touch-ups
nurof3n Apr 1, 2026
c8c0129
docs: New CLI docs (#97)
dragosgheorghioiu Apr 1, 2026
d26be9b
feat: Add PR preview (#101)
nderjung Apr 2, 2026
319fcb5
feat(transform-script): added CLI CodeTabs to the generator script
dragosgheorghioiu Apr 2, 2026
a7f1d63
feat(transform-script): added CLI CodeTabs to the generator script (#…
nurof3n Apr 2, 2026
d65c219
fix: Pin kraftkit to v0.12.6
jedevc Apr 2, 2026
f295d6d
feat(features): Add exec action to cron jobs
nurof3n Apr 2, 2026
0063c89
feat(features): Add ROM automounting
nurof3n Apr 2, 2026
059957a
fix: Pin kraftkit to v0.12.6 (#109)
craciunoiuc Apr 2, 2026
cef2841
feat(features): Add exec action to cron jobs (#110)
craciunoiuc Apr 2, 2026
af70fe7
ci: Switch Dockerfile to use for getting platform APIs
jedevc Apr 2, 2026
3c4092d
feat(features): Add ROM automounting (#111)
craciunoiuc Apr 2, 2026
ce545de
chore: Update guides from examples repository
unikraft-bot Apr 2, 2026
eb36493
feat(guides): Add overview page
nurof3n Apr 6, 2026
b6c42ad
fix(guides): Fix kraft cli docs url
nurof3n Apr 6, 2026
a80625f
chore: Reorder zudoku pages
nurof3n Apr 6, 2026
4485e14
chore: Update guides from examples repository (#113)
craciunoiuc Apr 6, 2026
2e3fcac
ci: Switch Dockerfile to use for getting platform APIs (#112)
nderjung Apr 13, 2026
c230987
fix(introduction): Correct Deb/RPM installation instructions
nderjung Apr 15, 2026
29c06a2
fix(introduction): Correct Deb/RPM installation instructions (#117)
razvand Apr 15, 2026
4d0a52b
chore: Update zudoku to v0.74.3
jedevc Apr 16, 2026
a6c90bf
ci: Unpin kraftkit
jedevc Apr 16, 2026
59a5172
chore: Update zudoku to v0.74.3 (#118)
nderjung Apr 16, 2026
2af4b9a
docs(features): Add inline ROMs to the ROMs page
JeromeJaggi Apr 20, 2026
92c1ffc
docs(features): Add inline ROM limits table
JeromeJaggi Apr 20, 2026
048b8cd
fix(scripts): Group multiple code blocks into CodeTabs
nurof3n Apr 20, 2026
adadcce
feat(features): Add inline roms
nurof3n Apr 20, 2026
6c7e9ed
feat(features): Add inline roms (#121)
marcrittinghaus Apr 20, 2026
d6cba93
fix(scripts): Group multiple code blocks into CodeTabs (#122)
nurof3n Apr 21, 2026
afbf61b
docs(features): Add inline ROMs to the ROMs page (#120)
nderjung Apr 22, 2026
b21d76d
fix: Correct syntax for specifying image with `unikraft run`
nderjung Apr 10, 2026
bfb593e
chore: Update zudoku to version v0.76.0
jedevc Apr 22, 2026
f313455
chore: Update zudoku to version v0.76.0 (#124)
jesi-rgb Apr 22, 2026
c559c65
fix: Correct syntax for specifying image with `unikraft run` (#116)
jedevc Apr 22, 2026
0edd8e9
feat(cli): Added cli installation instructions to overview page
dragosgheorghioiu Apr 16, 2026
f9dfd7c
feat(cli): Include installation instruction cli overview (#119)
dragosgheorghioiu Apr 23, 2026
5f4d286
feat: Publish markdown pages as well
jedevc Apr 27, 2026
09a12de
chore: Update CLI sidebar
jedevc Apr 27, 2026
079677a
feat: Publish markdown pages as well (#126)
nurof3n Apr 27, 2026
82f29d4
feat: Add cli filter docs
jedevc Apr 27, 2026
fc9e2e7
feat: Add cli filter docs (#127)
nurof3n Apr 28, 2026
a45df9e
chore: Remove reference to public roadmap
jedevc Apr 29, 2026
4fad14f
feat: Add kraftfile docs tab
jedevc Apr 30, 2026
2baba81
chore: Update zudoku to version v0.77.0
jedevc May 6, 2026
b764069
chore: Update zudoku to version v0.77.0 (#136)
nurof3n May 6, 2026
a467758
chore: Switch to using pnpm
jedevc May 6, 2026
6b5aa5d
feat: Add kraftfile docs tab (#134)
nurof3n May 6, 2026
cf42d58
chore: Switch to using pnpm (#137)
nurof3n May 7, 2026
1af606b
chore(guides): Manual update to guides
nurof3n Apr 21, 2026
2909164
chore(guides): Manual update to guides (#123)
danielvallance May 7, 2026
e8e6267
chore: Remove reference to public roadmap (#129)
nurof3n May 7, 2026
5543652
fix: Added pnpm-workspace for esbuild build script
dragosgheorghioiu May 7, 2026
c2ef03d
fix: Added pnpm-workspace for esbuild build script (#138)
jedevc May 7, 2026
0a3af91
fix: Updated the images page to include unikraft and new agent image
dragosgheorghioiu May 6, 2026
181a0f0
fix: Removed redundant sentence and grammar
dragosgheorghioiu May 7, 2026
1c315a6
fix: Images page update with unikraft cli (#135)
jedevc May 8, 2026
d271829
fix(actions): Roll on all instances
craciunoiuc May 8, 2026
c95c3be
fix(actions): Roll on all instances (#139)
jedevc May 8, 2026
b61afee
feat(use-cases): Add checkpointing and branching to databases
tlandsberg May 8, 2026
f1e731a
feat(use-cases): Add serverless functions
nurof3n May 8, 2026
7f46a12
feat(use-cases): Add build and test environments
nurof3n May 8, 2026
b8d613e
feat(use-cases): Add function execution use cases (#140)
dragosgheorghioiu May 8, 2026
0b0fccf
fix(use-cases): Update ROM commands
nurof3n May 9, 2026
1f5d0b5
fix(use-cases): Remove acioc user mention
nurof3n May 9, 2026
587d49c
fix(use-cases): Refactor instance listing for new use cases
nurof3n May 9, 2026
995162b
feat(use-cases): Add game servers
nurof3n May 9, 2026
e62cc8e
fix(use-cases): Update ROM commands (#144)
dragosgheorghioiu May 11, 2026
4611517
feat(use-cases): Add game servers (#146)
craciunoiuc May 11, 2026
09cb76b
fix(use-cases): Remove acioc user mention (#145)
dragosgheorghioiu May 11, 2026
ee35609
chore: Make guides sync automated
nurof3n Apr 24, 2026
57ea1f9
fix(scripts): Better conversion of quotes to admonitions for mdx
nurof3n May 12, 2026
ff50c80
chore: Make guides sync automated (#125)
danielvallance May 12, 2026
1667640
fix(scripts): Better conversion of quotes to admonitions for mdx (#147)
danielvallance May 12, 2026
b18d180
feat: remove the cli labels when converting to mdx
dragosgheorghioiu May 12, 2026
714bfbd
feat: remove the cli labels when converting to mdx (#148)
nurof3n May 12, 2026
90a7ef7
feat(scripts): Add script to update zudoku guides list
nurof3n May 12, 2026
96f6206
fix(build): Add .dockerignore
nurof3n May 12, 2026
3e85d37
fix(sync): Use prod-staging branch of docs repo
danielvallance May 13, 2026
34e9f70
fix(build): Add .dockerignore (#152)
jedevc May 13, 2026
9afc8dc
fix(sync): Use prod-staging branch of docs repo (#153)
nurof3n May 13, 2026
75f7ff6
feat(scripts): Add script to update zudoku guides list (#151)
danielvallance May 13, 2026
8b9796c
fix(sync): Stage zudoku config file
nurof3n May 13, 2026
42b3955
fix(sync): Stage zudoku config file (#155)
danielvallance May 13, 2026
c40544c
chore: Update guides from examples repository
unikraft-bot May 13, 2026
4de372c
chore: Update guides from examples repository (#156)
danielvallance May 13, 2026
7b29644
feat(use-cases): Add checkpointing and branching to databases (#142)
nurof3n May 13, 2026
4b98ae1
feat(use-cases): Add remote desktops use-case with noVNC example
adinamariav May 8, 2026
d72900a
feat(use-cases): Add remote desktops use-case with noVNC example (#141)
nurof3n May 13, 2026
3df3113
feat(use-cases): Add sandbox use case
procub3r May 8, 2026
8df70a0
feat(use-cases): Add sandbox use case (#143)
nurof3n May 13, 2026
02e0eef
fix(use-cases): Fix instance listing ANSI coloring
nurof3n May 14, 2026
a5894c5
fix(use-cases): Fix instance listing ANSI coloring (#157)
jesi-rgb May 14, 2026
8670cff
chore(use-cases): Rename minecraft to game-servers
nurof3n May 15, 2026
429ec2e
chore(use-cases): Rename minecraft to game-servers (#160)
jesi-rgb May 15, 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
45 changes: 45 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
# Vale packages
.vale/styles/*
!.vale/styles/Unikraft/*
!.vale/styles/config/vocabularies/Unikraft/accept.txt

# Node/Zudoku
/node_modules
/.pnp
.pnp.*
.yarn/*
!.yarn/patches
!.yarn/plugins
!.yarn/releases
!.yarn/versions

# testing
/coverage

# zudoku
/dist/
/.zudoku/

# misc
.DS_Store
*.pem

# debug
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*

# env files (can opt-in for commiting if needed)
.env*

# typescript
*.tsbuildinfo

# build outputs
dist/

# generated files
apis/platform.yaml
build.log
.examples/
35 changes: 35 additions & 0 deletions .eslintrc.cjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
module.exports = {
env: {
browser: true,
es2021: true,
node: true,
},
extends: [
'eslint:recommended',
'plugin:@typescript-eslint/recommended'
],
overrides: [
{
env: {
node: true
},
files: [
'.eslintrc.{js,cjs}',
'scripts/**/*.js'
],
parserOptions: {
sourceType: 'module'
}
}
],
parser: '@typescript-eslint/parser',
parserOptions: {
ecmaVersion: 'latest',
sourceType: 'module'
},
plugins: [
'@typescript-eslint'
],
rules: {
}
}
39 changes: 39 additions & 0 deletions .github/actions/cleanup-www/action.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
name: cleanup-www

description: |
Destroys the Unikraft landing and docs website (www).

inputs:
name:
required: true
description: Name of the service.
metro:
required: false
description: Unikraft Cloud Metro.
default: was1
delete-image:
required: false
description: Also delete the image.
default: "false"

runs:
using: composite
steps:
- name: Delete Service
if: always()
id: service
shell: bash
run: |
kraft cloud --metro "${{ inputs.metro }}" service remove \
--drain \
"${{ inputs.name }}" \
;

- name: Delete Image
if: ${{ inputs.delete-image }}
id: image
shell: bash
run: |
kraft cloud --metro "${{ inputs.metro }}" image remove \
"${{ inputs.name }}" \
;
26 changes: 26 additions & 0 deletions .github/actions/setup-kraftkit/action.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
name: setup-kraftkit

description: Setup KraftKit.

inputs:
version:
description: KraftKit version to install (use latest to auto-detect).
required: false
default: latest

runs:
using: composite
steps:
- name: Install
shell: bash
run: |
if [[ -z $(command -v kraft) ]]; then
_VERSION="${{ inputs.version }}"
if [[ -z "${_VERSION}" || "${_VERSION}" == "latest" ]]; then
_VERSION=$(curl -fsSL https://get.kraftkit.sh/latest.txt)
fi
wget -nv -LO kraft.tar.gz https://github.com/unikraft/kraftkit/releases/download/v${_VERSION}/kraft_${_VERSION}_linux_amd64.tar.gz;
tar xzf kraft.tar.gz kraft;
sudo mv kraft /usr/bin/;
rm kraft.tar.gz;
fi
133 changes: 133 additions & 0 deletions .github/actions/setup-www/action.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,133 @@
name: setup-www

description: |
Deploys the Unikraft landing and docs website (www).

inputs:
environment:
required: true
description: The environment to use.
name:
required: true
description: Name of the service.
domain:
required: false
description: The domain to use for the deployment.
metro:
required: false
description: Unikraft Cloud Metro.
default: http://api.dal2.unikraft.cloud/v1
memory:
required: false
description: Set the memory size.
default: 1Gi
args:
required: false
description: Optional arguments you pass to kraft cloud deploy.
port:
required: false
description: The port the service listens on.
default: "2015"
log-level:
required: false
default: error
description: Set the logging level.
posthog-host:
required: false
description: The host address for the PostHog API.
posthog-key:
required: false
description: The key to authenticate with PostHog.
docs-channel:
required: false
default: prod-staging
description: The docs channel to use for the OpenAPI spec.

outputs:
domain:
description: |
Either the input domain if set or the automatically generated value
otherwise.
value: ${{ steps.service.outputs.domain }}

runs:
using: composite
steps:
- name: Create Deployment
uses: bobheadxi/deployments@v1
id: init-deploy
with:
step: start
token: ${{ github.token }}
env: ${{ inputs.environment }}

- name: Create Service Group
id: service
shell: bash
run: |
set -e;

# Create the service if it does not exist.
_SVC=$(kraft cloud --metro "${{ inputs.metro }}" service get "${{ inputs.name }}" -o raw | jq -r '.data.service_groups[].error')
if [[ "${_SVC}" == "8" ]]; then
if [[ "${{ inputs.domain }}" == "" ]]; then
kraft cloud --metro "${{ inputs.metro }}" service create \
--subdomain "${{ inputs.name }}" \
--name "${{ inputs.name }}" \
"443:${{ inputs.port }}" \
;
else
kraft cloud --metro "${{ inputs.metro }}" service create \
--domain "${{ inputs.domain }}" \
--name "${{ inputs.name }}" \
"443:${{ inputs.port }}" \
;
fi
fi

# Save the generated domain as an output variable
echo "domain=$(kraft cloud --metro ${{ inputs.metro }} service get ${{ inputs.name }} -o raw | jq -r '.data.service_groups[0].domains[0].fqdn')" >> $GITHUB_OUTPUT

- name: Deploy
id: deploy
shell: bash
run: |
kraft cloud deploy \
--rollout remove \
--rollout-qualifier all \
--build-arg API_URL="https://${{ steps.service.outputs.domain }}" \
--build-arg PUBLIC_API_URL="https://${{ steps.service.outputs.domain }}" \
--build-arg VITE_PUBLIC_SITE_URL="https://${{ steps.service.outputs.domain }}" \
--build-arg PUBLIC_STATUS_PAGE_SUMMARY_URL="https://status.unikraft.cloud/api/v1/summary" \
--build-arg PUBLIC_POSTHOG_HOST="${{ inputs.posthog-host }}" \
--build-arg PUBLIC_POSTHOG_KEY="${{ inputs.posthog-key }}" \
--build-arg DOCS_CHANNEL="${{ inputs.docs-channel }}" \
--memory "${{ inputs.memory }}" \
--service "${{ inputs.name }}" \
--image "${{ inputs.name }}" \
--as kraftfile-runtime \
.;

- name: Test liveliness
id: liveliness
continue-on-error: true
shell: bash
run: |
sleep 10;
curl -Lk --fail "https://${{ steps.service.outputs.domain }}/"

- name: Dump instance logs on failure
if: ${{ steps.liveliness.outcome == 'failure' }}
shell: bash
run: |
kraft cloud service logs "${{ inputs.name }}"
exit 1

- name: Update Deployment
uses: bobheadxi/deployments@v1
with:
step: finish
token: ${{ github.token }}
env: ${{ inputs.environment }}
deployment_id: ${{ steps.init-deploy.outputs.deployment_id }}
status: ${{ job.status }}
Loading
Loading