DuckDB with a Go
This guide shows you how to use DuckDB, an in-process SQL OLAP database management system, in your Go project.
To run it example, follow these steps:
-
Install the
kraftCLI tool and a container runtime engine, for example Docker. -
Clone the
examplesrepository andcdinto theexamples/duckdb-go/directory:
Code(bash)
Make sure to log into Unikraft Cloud by setting your token and a metro close to you.
This guide uses fra (Frankfurt, ๐ฉ๐ช):
Code(bash)
When done, invoke the following command to deploy this app on Unikraft Cloud:
Code(bash)
The output shows the instance address and other details:
Code(ansi)
In this case, the instance name is duckdb-go-qfd8x and the address is https://autumn-gorilla-hg4h6sup.fra.unikraft.app.
They're different for each run.
Use curl to query the Unikraft Cloud instance of DuckDB.
Code(bash)
Code(ansi)
You can list information about the instance by running:
Code(bash)
Code(text)
When done, you can remove the instance:
Code(bash)
Customize your app
To customize the app, update the files in the repository, listed below:
src/main.go: the Go web server frontendKraftfile: the Unikraft Cloud specification, including command-line argumentsDockerfile: the Docker-specified app filesystem
The following options are available for customizing the app:
-
If you only update the implementation in the
main.gosource file, you don't need to make any other changes. -
If you create any new source files, copy them into the app filesystem by using the
COPYcommand in theDockerfile. -
If you add new source code files, build them using the corresponding
go buildcommand. -
If you build a new executable, update the
cmdline in theKraftfileand replace/serverwith the path to the new executable. -
More extensive changes may require extending the
Dockerfile(seeDockerfilesyntax reference).
Learn more
Use the --help option for detailed information on using Unikraft Cloud:
Code(bash)
Or visit the CLI Reference.