{"id":34936173,"url":"https://github.com/warm-metal/csi-driver-configmap","last_synced_at":"2026-04-24T15:31:51.011Z","repository":{"id":52949006,"uuid":"350401161","full_name":"warm-metal/csi-driver-configmap","owner":"warm-metal","description":"A CSI driver to mount and modify ConfigMaps.","archived":false,"fork":false,"pushed_at":"2021-04-12T17:39:22.000Z","size":117,"stargazers_count":5,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-12-28T04:45:36.468Z","etag":null,"topics":["configmap","kubernetes","volume"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/warm-metal.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-03-22T15:49:33.000Z","updated_at":"2025-10-17T02:03:58.000Z","dependencies_parsed_at":"2022-08-28T09:53:51.642Z","dependency_job_id":null,"html_url":"https://github.com/warm-metal/csi-driver-configmap","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/warm-metal/csi-driver-configmap","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/warm-metal%2Fcsi-driver-configmap","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/warm-metal%2Fcsi-driver-configmap/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/warm-metal%2Fcsi-driver-configmap/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/warm-metal%2Fcsi-driver-configmap/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/warm-metal","download_url":"https://codeload.github.com/warm-metal/csi-driver-configmap/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/warm-metal%2Fcsi-driver-configmap/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32228955,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-24T13:21:15.438Z","status":"ssl_error","status_checked_at":"2026-04-24T13:21:15.005Z","response_time":64,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["configmap","kubernetes","volume"],"created_at":"2025-12-26T18:08:43.078Z","updated_at":"2026-04-24T15:31:51.005Z","avatar_url":"https://github.com/warm-metal.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# csi-driver-configmap\n\nIt is a CSI driver to mount ConfigMap as ephemeral volume. \nUnlike the k8s builtin driver, it focuses on ConfigMap sharing and updating. That is,\n\n1. Sharing ConfigMap between namespaces,\n2. Updating ConfigMap while modifying mounted files, or delay the commit action until unmount the local volume,\n3. Stay current with the ConfigMap if it is updated by other clients.\n\n## Installation\n```shell script\nkubectl apply -f https://raw.githubusercontent.com/warm-metal/csi-driver-configmap/master/install/csi-driver-cm.yaml\n```\n\n## Usage\n```yaml\napiVersion: v1\nkind: Pod\nmetadata:\n  name: 01-0\n  namespace: foo\nspec:\n  containers:\n  - image: docker.io/library/alpine:3\n    command:\n    - tail\n    args:\n    - -f\n    - /dev/null\n    name: 01-0\n    volumeMounts:\n    - mountPath: /mnt\n      name: cm-foo\n  volumes:\n  - csi:\n      driver: csi-cm.warm-metal.tech\n      volumeAttributes:\n        # Name of the ConfigMap to be mounted\n        configMap: cm-foo\n\n        # Namespace of the ConfigMap. If not set, the current namespace is used.\n        namespace: bar\n        \n        # Same as subPath of the builtin ConfigMap driver\n        subPath: foo.txt\n        \n        # Stay current with the ConfigMap if updated by other clients.\n        keepCurrentAlways: \"true\"\n        \n        # When to commit changes of the local volume. Valid values are:\n        # \"\" (a blank string), don't commit changes,\n        # \"unmount\", commit changes when unmounting the volume,\n        # \"modify\", commit changes after each modify(on inotify event IN_CLOSE_WRITE).\n        commitChangesOn: \"unmount\"\n        \n        # Determine how to deal with conflicts while committing local changes.\n        # REQUIRED if commitChangesOn is set.\n        # Valid values are:\n        # \"override\", override the remote changes if conflicts arise,\n        # \"discard\", discard local changes.\n        conflictPolicy: \"override\"\n\n        # Specify how to update the ConfigMap if local size is over than the size limit, that is 1(one) MiB.\n        # The policy would not apply to ConfigMap.BinaryData. If size of ConfigMap.BinaryData is over the limit,\n        # all changes would be discarded.\n        # REQUIRED if commitChangesOn is set.\n        # Valid values are:\n        # \"truncateHead\", truncates the content from the head,\n        # \"truncateTail\", truncates the content from the tail,\n        # \"truncateHeadLine\", truncateHead and the partial line at the beginning, \n        # \"truncateTailLine\", truncateTail as well as the partial line at the end.\n        oversizePolicy: \"\"\n    name: cm-foo\n```\n\nNotice that, even though enabling both `keepCurrentAlways` and `commitChangesOn` for the same volume is supported,\nusers should avoid getting into this case.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwarm-metal%2Fcsi-driver-configmap","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwarm-metal%2Fcsi-driver-configmap","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwarm-metal%2Fcsi-driver-configmap/lists"}