{
  "slug": "env-to-configmap",
  "name": "gizza-ai/env-to-configmap",
  "version": "0.1.0",
  "title": "env to ConfigMap — Convert a .env file to a Kubernetes ConfigMap or Secret — gizza.ai",
  "description": "Convert a .env file into a Kubernetes ConfigMap or Secret YAML manifest, in your browser. Base64 Secret data, namespace and labels. Free, private, no upload.",
  "tags": [
    "env to configmap",
    "dotenv kubernetes",
    "kubernetes secret generator",
    "env to secret yaml",
    "configmap yaml"
  ],
  "category": "developer",
  "urls": {
    "page": "https://gizza.ai/tools/env-to-configmap/",
    "markdown": "https://gizza.ai/tools/env-to-configmap/index.md",
    "descriptor": "https://gizza.ai/tools/env-to-configmap/tool.json",
    "deep_link_example": "https://gizza.ai/tools/env-to-configmap/?env=DB_HOST%3Dlocalhost%0ADB_PORT%3D5432%0AAPI_TOKEN%3Ds3cr3t&kind=configmap&name=app-config&namespace=default&secret_encoding=data&labels=app%3Dweb%2Ctier%3Dbackend"
  },
  "cli": "gizza tool env-to-configmap \"DB_HOST=localhost\nDB_PORT=5432\nAPI_TOKEN=s3cr3t\"",
  "tool": {
    "description": "Convert a .env file (KEY=value lines; '#' comments, blank lines and a leading 'export ' are ignored, quoted values are unquoted) into a Kubernetes ConfigMap (default) or Secret YAML manifest. Set name/namespace/labels for metadata. Secret values are base64-encoded under 'data' by default, or kept plaintext under 'stringData'. Values that look like numbers/booleans are quoted so they stay strings. Runs locally.",
    "parameters": {
      "additionalProperties": false,
      "properties": {
        "env": {
          "description": "The .env file contents: KEY=value lines. '#' comments, blank lines and a leading 'export ' are ignored; quoted values are unquoted.",
          "type": "string"
        },
        "kind": {
          "default": "configmap",
          "description": "Output manifest: 'configmap' (default) for non-sensitive config, or 'secret' for confidential values.",
          "enum": [
            "configmap",
            "secret"
          ],
          "type": "string"
        },
        "labels": {
          "default": "",
          "description": "Optional metadata.labels as comma-separated key=value pairs, e.g. 'app=web,tier=backend'. Blank (default) adds no labels.",
          "type": "string"
        },
        "name": {
          "default": "app-config",
          "description": "metadata.name of the manifest (RFC 1123: lowercase letters, digits, '-' and '.'). Default 'app-config'.",
          "type": "string"
        },
        "namespace": {
          "default": "",
          "description": "metadata.namespace. Blank (default) omits the field so it applies to the current namespace.",
          "type": "string"
        },
        "secret_encoding": {
          "default": "data",
          "description": "For a Secret: 'data' (default) base64-encodes each value; 'stringData' keeps plaintext and lets Kubernetes encode on apply. Ignored for a ConfigMap.",
          "enum": [
            "data",
            "stringData"
          ],
          "type": "string"
        }
      },
      "required": [
        "env"
      ],
      "type": "object"
    }
  }
}