---
id: "k8s-config-map"
type: "component"
kind: "feature-flag-service"
provider: "k8s"
category: "ops"
aliases: "cm"
docs: "https://kubernetes.io/docs/concepts/configuration/configmap/"
url: "https://localhost:3000/catalogue/components/k8s-config-map"
---

# ConfigMap

Holds non-confidential key-value configuration that Pods read as environment variables, arguments or mounted files.

| | |
|---|---|
| Provider | [k8s](https://localhost:3000/catalogue?provider=k8s) |
| Kind | [Feature flag service](https://localhost:3000/catalogue/kinds/feature-flag-service) |
| Category | Operations |
| Official docs | [https://kubernetes.io/docs/concepts/configuration/configmap/](https://kubernetes.io/docs/concepts/configuration/configmap/) |
| Also known as | cm |

## Properties

| property | type | values | required | kind default | this component |
|---|---|---|---|---|---|
| `consumedAs` | enum | `env-var`, `command-arg`, `volume-file`, `api` | no | — | inherited |
| `encrypted` | boolean | — | no | false | inherited |
| `immutable` | boolean | — | no | false | inherited |
| `killSwitches` | boolean | — | no | true | **false** |
| `managed` | boolean | — | no | false | **false** |
| `maxSizeBytes` | integer | — | no | 1048576 | inherited |
| `mountedFilesAutoUpdate` | boolean | — | no | true | inherited |
| `stagedRollout` | boolean | — | no | false | **false** |

Bold values are the ones this component pins.

## Rules that apply · 0

No rule selects this kind or its category.

## Other products of the same kind · 17

- [AWS AppConfig](https://localhost:3000/catalogue/components/aws-appconfig.md) `aws-appconfig` — aws
- [Azure App Configuration](https://localhost:3000/catalogue/components/azure-app-configuration.md) `azure-app-configuration` — azure
- [Cloudflare Flagship](https://localhost:3000/catalogue/components/cloudflare-flagship.md) `cloudflare-flagship` — cloudflare
- [Apollo Config](https://localhost:3000/catalogue/components/apollo-config.md) `apollo-config` — default
- [ConfigCat](https://localhost:3000/catalogue/components/configcat.md) `configcat` — default
- [Generic feature flag service](https://localhost:3000/catalogue/components/feature-flag-service.md) `feature-flag-service` — default
- [Flagsmith](https://localhost:3000/catalogue/components/flagsmith.md) `flagsmith` — default
- [Flipt](https://localhost:3000/catalogue/components/flipt.md) `flipt` — default
- [GrowthBook](https://localhost:3000/catalogue/components/growthbook.md) `growthbook` — default
- [LaunchDarkly](https://localhost:3000/catalogue/components/launchdarkly.md) `launchdarkly` — default
- [Optimizely Feature Experimentation](https://localhost:3000/catalogue/components/optimizely.md) `optimizely` — default
- [Harness FME](https://localhost:3000/catalogue/components/split.md) `split` — default
- [Spring Cloud Config Server](https://localhost:3000/catalogue/components/spring-cloud-config.md) `spring-cloud-config` — default
- [Statsig](https://localhost:3000/catalogue/components/statsig.md) `statsig` — default
- [Unleash](https://localhost:3000/catalogue/components/unleash.md) `unleash` — default
- [Firebase Remote Config](https://localhost:3000/catalogue/components/google-firebase-remote-config.md) `google-firebase-remote-config` — gcp
- [IBM Cloud App Configuration](https://localhost:3000/catalogue/components/ibm-app-configuration.md) `ibm-app-configuration` — ibm

## Use it in a design

```yaml
nodes:
  - { id: "k8s-config-map", component: "k8s-config-map" }
```

## Source (`component` YAML, verbatim)

```yaml
# yaml-language-server: $schema=../../schema/component.schema.json
# Kubernetes ConfigMap: non-confidential key-value configuration consumed by Pods as environment
# variables, command-line arguments or files in a volume. Per "ConfigMaps" it provides no secrecy
# and no encryption, is capped at 1 MiB, is mutable unless immutable: true is set (a field added in
# v1.19), and a mounted ConfigMap is refreshed automatically when its data changes. It carries no
# targeting or rollout semantics, so staged rollout and kill switches are both off.
schemaVersion: "1"
type: "component"
id: "k8s-config-map"
kind: "feature-flag-service"
provider: "k8s"
docs: "https://kubernetes.io/docs/concepts/configuration/configmap/"
aliases: ["cm"]
defaults:
  managed: false
  stagedRollout: false
  killSwitches: false
properties:
  maxSizeBytes:
    type: "integer"
    default: 1048576
  immutable:
    type: "boolean"
    default: false
  encrypted:
    type: "boolean"
    default: false
  mountedFilesAutoUpdate:
    type: "boolean"
    default: true
  consumedAs:
    type: "enum"
    values: ["env-var", "command-arg", "volume-file", "api"]
```

Human page: https://localhost:3000/catalogue/components/k8s-config-map
