@awlsring/cdk8s-valheim
TypeScript icon, indicating that this package has built-in type declarations

0.0.299 • Public • Published

CDK8s Valheim

This is a CDK8s project that defines a Kubernetes deployment for Valheim using the lloesche/valheim-server image.

Use

A default deployment can be created with:

new ValheimChart(app, 'valheim')

Default deployment will produce a server configured with all default environment variables. The container will request resources for the games minimum recommended specs of 2 CPU and 4GB of memory.

Settings can be customized by passing in a ValheimChartProps object. This will allow you to configure all supported environment customizations and container configurations

new ValheimChart(app, 'valheim', {
  server: {
    name: 'K8S Valheim',
    worldName: 'K8S',
    password: {
      raw: 'password',
    },
  },
})

Persistence

By default, the server will store its data on a host path. This is not recommended as your world data can easily be lost.

This chart allows for storing the data on a PersistentVolumeClaim. Two pvcs can be created, one for the world data and one for the configuration. The world data is mounted at /opt/valheim/data directory and the configuration is mounted at /config directory.

To create these, the PVCs can be configured as follows:

new ValheimChart(app, 'valheim'. {
    persistence: {
    server: {
      storageClass: "my-class",
    },
    config: {
      storageClass: "my-class",
    },
  },
})

Package Sidebar

Install

npm i @awlsring/cdk8s-valheim

Weekly Downloads

1

Version

0.0.299

License

Apache-2.0

Unpacked Size

186 kB

Total Files

9

Last publish

Collaborators

  • awlsring