GoogleCloudPlatform / GoogleCloudPlatform/konlet

Add configMap support

Open
#57 0 comments 1 reaction 0 assignees View on GitHub
Dominant language
Go
Stars
88
Forks
24
PR merge metrics
No merged PRs in 30d

Description

Currently, konlet supports `emptyDir`, `hostPath`, and `gcePersistentDisk` volumes.

Could we please add `configMap` support? This is really really useful feature in Kubernetes where the Pod's YAML file can specify some data that will be injected into the running containers via the filesystem. It's a bit like emptyDir in that it specifies a transient volume, but additionally allows key:value pairs in the YAML (from GCE-metadata) to initially populate the files in the volume.

At the moment, konlet works really well if the Docker image already contains all the files it needs to run. But it's very awkward to use konlet/ContainerOS if the Docker image needs anything to be injected in.

By emulating more of the Kubernetes YAML format, konlet will be easier to use, so services can be switched between GCE and GKE with fewer configuration differences.

---

Implementation-wise, I'm guessing it will be a Docker host-mount under the hood, using a tmpfs directory where konlet writes some files corresponding to the configMap key:value pairs, before starting the Docker container.

Contributor guide

Open the contributing guide

Research direction

Start by locating konlet's existing emptyDir, hostPath, and gcePersistentDisk volume handling, then trace how Docker host mounts are prepared before containers start. Done means configMap key:value data from the Pod YAML is written as files in a transient volume and made available inside the running container.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker, go, google-cloud, kubernetes
Domain
cloud, devops, infrastructure
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.