Skip to content

(hotfix): extra volumes #72

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
2 changes: 1 addition & 1 deletion charts/minecraft-bedrock/Chart.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
apiVersion: v1
name: minecraft-bedrock
version: 1.1.9
version: 1.1.10
appVersion: 1.16
home: https://minecraft.net/
description: Minecraft server
Expand Down
151 changes: 69 additions & 82 deletions charts/minecraft-bedrock/README.md
Original file line number Diff line number Diff line change
@@ -1,82 +1,69 @@
# Minecraft

[Minecraft](https://minecraft.net/en/) is a game about placing blocks and going on adventures.

## Introduction

This chart creates a single [Minecraft Bedrock Server](https://www.minecraft.net/en-us/download/server/bedrock/) Pod, plus Services for the Minecraft server.

## Prerequisites

- 512 MB of RAM
- Kubernetes 1.4+ with Beta APIs enabled
- PV provisioner support in the underlying infrastructure

## Installing the Chart

To install the chart with the release name `minecraft`, read the [Minecraft EULA](https://account.mojang.com/documents/minecraft_eula) run:

```shell
helm install minecraft-bedrock \
--set minecraftServer.eula=true itzg/minecraft
```

This command deploys a Minecraft dedicated server with sensible defaults.

> **Tip**: List all releases using `helm list`

## Uninstalling the Chart

To uninstall/delete the `minecraft-bedrock` deployment:

```shell
helm delete minecraft-bedrock
```

The command removes all the Kubernetes components associated with the chart and deletes the release.

## Configuration

Refer to [values.yaml](values.yaml) for the full run-down on defaults. These are a mixture of Kubernetes and Minecraft-related directives that map to environment variables in the [itzg/minecraft-bedrock-server](https://hub.docker.com/r/itzg/minecraft-bedrock-server/) Docker image.

Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. For example,

```shell
helm install --name minecraft-bedrock \
--set minecraftServer.eula=true,minecraftServer.Difficulty=hard \
itzg/minecraft
```

Alternatively, a YAML file that specifies the values for the parameters can be provided while installing the chart. For example,

```shell
helm install --name minecraft -f values.yaml itzg/minecraft
```

> **Tip**: You can use the default [values.yaml](values.yaml)

## Persistence

The [itzg/minecraft-bedrock-server](https://hub.docker.com/r/itzg/minecraft-bedrock-server/) image stores the saved games and mods under /data.

By default a PersistentVolumeClaim is created and mounted for saves but not mods. In order to disable this functionality
you can change the values.yaml to disable persistence under the sub-sections under `persistence`.

> *"An emptyDir volume is first created when a Pod is assigned to a Node, and exists as long as that Pod is running on that node. When a Pod is removed from a node for any reason, the data in the emptyDir is deleted forever."*

## Backups

You can backup the state of your minecraft server to your local machine via the `kubectl cp` command.

```shell
NAMESPACE=default
POD_ID=lionhope-387ff8d-sdis9
kubectl attach --namespace ${NAMESPACE} ${POD_ID} -it
save hold
save query
^P + ^Q (CtrlP and CtrlQ)
kubectl cp ${NAMESPACE}/${POD_ID}:/data .
kubectl attach --namespace ${NAMESPACE} ${POD_ID} -it
save resume
^P + ^Q (CtrlP and CtrlQ)
```
# minecraft-bedrock

![Version: 1.1.10](https://img.shields.io/badge/Version-1.1.10-informational?style=flat-square) ![AppVersion: 1.16](https://img.shields.io/badge/AppVersion-1.16-informational?style=flat-square)

Minecraft server

**Homepage:** <https://minecraft.net/>

## Maintainers

| Name | Email | Url |
| ---- | ------ | --- |
| gtaylor | gtaylor@gc-taylor.com | |
| billimek | jeff@billimek.com | |
| itzg | itzgeoff@gmail.com | |

## Source Code

* <https://github.com/itzg/minecraft-server-charts>

## Values

| Key | Type | Default | Description |
|-----|------|---------|-------------|
| affinity | object | `{}` | |
| deploymentAnnotations | object | `{}` | |
| extraEnv | object | `{}` | |
| image | string | `"itzg/minecraft-bedrock-server"` | |
| imagePullSecret | string | `""` | |
| imageTag | string | `"latest"` | |
| initContainers | list | `[]` | |
| livenessProbe.initialDelaySeconds | int | `30` | |
| minecraftServer.cheats | bool | `false` | |
| minecraftServer.defaultPermission | string | `"member"` | |
| minecraftServer.difficulty | string | `"easy"` | |
| minecraftServer.eula | string | `"FALSE"` | |
| minecraftServer.gameMode | string | `"survival"` | |
| minecraftServer.levelName | string | `"level"` | |
| minecraftServer.levelSeed | string | `nil` | |
| minecraftServer.levelType | string | `"DEFAULT"` | |
| minecraftServer.loadBalancerIP | string | `nil` | |
| minecraftServer.maxPlayers | int | `10` | |
| minecraftServer.maxThreads | int | `8` | |
| minecraftServer.members | string | `nil` | |
| minecraftServer.onlineMode | bool | `true` | |
| minecraftServer.ops | string | `nil` | |
| minecraftServer.playerIdleTimeout | int | `30` | |
| minecraftServer.serverName | string | `"Dedicated Server"` | |
| minecraftServer.serviceType | string | `"ClusterIP"` | |
| minecraftServer.texturepackRequired | bool | `false` | |
| minecraftServer.tickDistance | int | `4` | |
| minecraftServer.version | string | `"LATEST"` | |
| minecraftServer.viewDistance | int | `10` | |
| minecraftServer.visitors | string | `nil` | |
| minecraftServer.whitelist | string | `nil` | |
| minecraftServer.whitelistUsers | string | `nil` | |
| nodeSelector | object | `{}` | |
| persistence.dataDir.Size | string | `"1Gi"` | |
| persistence.dataDir.enabled | bool | `false` | |
| podAnnotations | object | `{}` | |
| readinessProbe.initialDelaySeconds | int | `30` | |
| resources.requests.cpu | string | `"500m"` | |
| resources.requests.memory | string | `"512Mi"` | |
| serviceAnnotations | object | `{}` | |
| strategyType | string | `"Recreate"` | |
| tolerations | list | `[]` | |

----------------------------------------------
Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0)
13 changes: 13 additions & 0 deletions charts/minecraft-bedrock/ci/test-values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,16 @@
minecraftServer:
eula: "TRUE"
# fix in place and rebased
extraVolumes:
- name: test
emptyDir: {}
initContainers:
- name: test
image: busybox
command:
- touch
args:
- /test/hello
volumeMounts:
- name: test
mountPath: /test
8 changes: 4 additions & 4 deletions charts/minecraft-bedrock/templates/deployment.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -123,8 +123,8 @@ spec:
volumeMounts:
- name: datadir
mountPath: /data
{{- range .Values.extraVolumes }}
{{- toYaml .volumeMounts | nindent 8 }}
{{- if .Values.extraVolumeMounts }}
{{- toYaml .Values.extraVolumeMounts | nindent 8 }}
{{- end }}
volumes:
- name: datadir
Expand All @@ -138,8 +138,8 @@ spec:
{{- else }}
emptyDir: {}
{{- end }}
{{- range .Values.extraVolumes }}
{{- toYaml .volumes | nindent 6 }}
{{- if .Values.extraVolumes }}
{{- toYaml .Values.extraVolumes | nindent 6 }}
{{- end }}
{{- if .Values.nodeSelector }}
nodeSelector:
Expand Down
24 changes: 11 additions & 13 deletions charts/minecraft-bedrock/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -37,20 +37,18 @@ readinessProbe:
# readOnly: true
initContainers: []

# extraVolumeMounts:
# - name: nfs
# mountPath: /mnt/volume
# readOnly: true
# extraVolumes:
# - volumeMounts:
# - name: nfs
# mountPath: /mnt/volume
# readOnly: true
# volumes:
# - name: nfs
# server: some.nfs.server.com
# path: /
# mountOptions:
# - port=2049
# - hard
# - vers=4
extraVolumes: []
# - name: nfs
# server: some.nfs.server.com
# path: /
# mountOptions:
# - port=2049
# - hard
# - vers=4

minecraftServer:
# This must be overridden, since we can't accept this for the user.
Expand Down
2 changes: 1 addition & 1 deletion charts/minecraft-proxy/Chart.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
apiVersion: v1
name: minecraft-proxy
version: 2.0.3
version: 2.0.4
appVersion: SeeValues
description: Minecraft proxy server (BungeeCord, Waterfall, Velocity, etc.)
keywords:
Expand Down
119 changes: 82 additions & 37 deletions charts/minecraft-proxy/README.md
Original file line number Diff line number Diff line change
@@ -1,37 +1,82 @@
# Minecraft Proxy

[Minecraft](https://minecraft.net/en/) proxies allows for a single server to become a network of seamlessly integrated servers.

[BungeeCord](https://www.spigotmc.org/wiki/about-bungeecord/) is the most well known solution in this arena, but [several](https://github.com/PaperMC/Waterfall) [other](https://github.com/PaperMC/Travertine) forks of BungeeCord and new projects such as [Velocity](https://velocitypowered.com/) have become popular choices.

This chart relies on the [itzg/bungeecord](https://hub.docker.com/r/itzg/bungeecord) container which supports BungeeCord, Waterfall, and Velocity out of the box. It is also designed to allow the use of any other custom proxies with some additional configuration.

## Introduction

This chart creates a single Proxy Pod, Services for the BungeeCord, server and RCON.

## Prerequisites

- 512 MB of RAM
- Kubernetes 1.4+ with Beta APIs enabled
- PV provisioner support in the underlying infrastructure

## Configuration

Refer to [values.yaml](values.yaml) for the full run-down on defaults. These are a mixture of Kubernetes and BungeeCord-related directives that map to environment variables in the [itzg/bungeecord](https://hub.docker.com/r/itzg/bungeecord/) Docker image.

Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`.

Alternatively, a YAML file that specifies the values for the parameters can be provided while installing the chart.

> **Tip**: You can use the default [values.yaml](values.yaml)

## Persistence

The [itzg/bungeecord](https://hub.docker.com/r/itzg/bungeecord/) image stores config and state under `/server`.

When [persistence.dataDir.enabled in values.yaml](https://github.com/ArchitectSMP/charts/blob/main/bungee/values.yaml#L180) is set to true PersistentVolumeClaim is created and mounted. In order to enable this functionality
you can change the values.yaml to enable persistence under the sub-sections under `persistence`.
The config file for the server can be added to the persistent volume manually, or optionally, you can set it by amending the config file path (if your proxy type has a different config path) and pasting your config under [bungeecord.configFilePath and bungeeCord.config in values.yaml](https://github.com/ArchitectSMP/charts/blob/main/bungee/values.yaml#L103).

> *"If persistence is not enabled, an emptyDir volume is first created when a Pod is assigned to a Node, and exists as long as that Pod is running on that node. When a Pod is removed from a node for any reason, the data in the emptyDir is deleted forever."*
# minecraft-proxy

![Version: 2.0.4](https://img.shields.io/badge/Version-2.0.4-informational?style=flat-square) ![AppVersion: SeeValues](https://img.shields.io/badge/AppVersion-SeeValues-informational?style=flat-square)

Minecraft proxy server (BungeeCord, Waterfall, Velocity, etc.)

**Homepage:** <https://github.com/itzg/minecraft-server-charts>

## Maintainers

| Name | Email | Url |
| ---- | ------ | --- |
| chipwolf | hello@chipwolf.uk | |
| gtaylor | gtaylor@gc-taylor.com | |
| billimek | jeff@billimek.com | |
| itzg | itzgeoff@gmail.com | |

## Source Code

* <https://github.com/itzg/minecraft-server-charts>

## Values

| Key | Type | Default | Description |
|-----|------|---------|-------------|
| deploymentAnnotations | object | `{}` | |
| extraEnv | object | `{}` | |
| extraVolumes | list | `[]` | |
| image | string | `"itzg/bungeecord"` | |
| imagePullSecret | string | `""` | |
| imageTag | string | `"latest"` | |
| initContainers | list | `[]` | |
| livenessProbe.failureThreshold | int | `10` | |
| livenessProbe.initialDelaySeconds | int | `30` | |
| livenessProbe.periodSeconds | int | `5` | |
| livenessProbe.successThreshold | int | `1` | |
| livenessProbe.timeoutSeconds | int | `1` | |
| minecraftProxy.configFilePath | string | `"/server/config.yml"` | |
| minecraftProxy.externalIPs | string | `nil` | |
| minecraftProxy.jarFile | string | `nil` | |
| minecraftProxy.jarRevision | string | `nil` | |
| minecraftProxy.jarUrl | string | `nil` | |
| minecraftProxy.jenkinsBaseUrl | string | `nil` | |
| minecraftProxy.jenkinsJobId | string | `"lastStableBuild"` | |
| minecraftProxy.jvmOpts | string | `""` | |
| minecraftProxy.jvmXXOpts | string | `""` | |
| minecraftProxy.loadBalancerIP | string | `nil` | |
| minecraftProxy.memory | string | `"512M"` | |
| minecraftProxy.onlineMode | bool | `true` | |
| minecraftProxy.plugins | list | `[]` | |
| minecraftProxy.rcon.enabled | bool | `false` | |
| minecraftProxy.rcon.loadBalancerIP | string | `nil` | |
| minecraftProxy.rcon.password | string | `"CHANGEME!"` | |
| minecraftProxy.rcon.port | int | `25575` | |
| minecraftProxy.rcon.serviceType | string | `"LoadBalancer"` | |
| minecraftProxy.serviceAnnotations | object | `{}` | |
| minecraftProxy.serviceType | string | `"ClusterIP"` | |
| minecraftProxy.type | string | `"BUNGEECORD"` | |
| minecraftProxy.velocityVersion | string | `"1.1.0"` | |
| minecraftProxy.waterfallBuildId | string | `"latest"` | |
| minecraftProxy.waterfallVersion | string | `"latest"` | |
| persistence.dataDir.Size | string | `"1Gi"` | |
| persistence.dataDir.enabled | bool | `false` | |
| podAnnotations | object | `{}` | |
| rconServiceAnnotations | object | `{}` | |
| readinessProbe.failureThreshold | int | `10` | |
| readinessProbe.initialDelaySeconds | int | `30` | |
| readinessProbe.periodSeconds | int | `5` | |
| readinessProbe.successThreshold | int | `1` | |
| readinessProbe.timeoutSeconds | int | `1` | |
| resources.requests.cpu | string | `"500m"` | |
| resources.requests.memory | string | `"512Mi"` | |
| securityContext.fsGroup | int | `2000` | |
| securityContext.runAsGroup | int | `1000` | |
| securityContext.runAsUser | int | `1000` | |
| serviceAnnotations | object | `{}` | |
| startupProbe.enabled | bool | `false` | |
| startupProbe.failureThreshold | int | `30` | |
| startupProbe.periodSeconds | int | `10` | |

----------------------------------------------
Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0)
2 changes: 1 addition & 1 deletion charts/minecraft/Chart.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
apiVersion: v1
name: minecraft
version: 3.1.6
version: 3.1.7
appVersion: SeeValues
home: https://minecraft.net/
description: Minecraft server
Expand Down
Loading