etcd-fs

Use etcd as a filesystem

  • 所有者: xetorthio/etcd-fs
  • 平台:
  • 許可證: Apache License 2.0
  • 分類:
  • 主題:
  • 喜歡:
    0
      比較:

Github星跟蹤圖

etcd-fs

Use etcd as a filesystem

THis IS STILL WORK IN PROGRESS

Why using etcd as a fileystem?

Because filesystem API is super stable, widely known and supported, and very simple.

Also because it seems like this can be useful for lots of companies out there that have already deployed apps that read some configuration file from local filesystem and would love to load these configuration files to something like etcd and ensure a consistent view of across a cluster of nodes.

How does it work?

Etcd-fs uses go-fuse and go-etcd, two nice modules to create fuse filesystem in go and use etcd from go.

Every file maps to a key in etcd. Every directory maps to a directory in etcd.
The content of every file maps to the value of the key in etcd.

When you mount the filesystem, it will mount the root directory of etcd.

How do I install it?

Clone the project and build it.

make build

This generates an executable file etcdfs. You can mount etcd as a filesystem by running etcdfs ETCD_ENDPOINT MOUNT_PATH. For example:

./etcds /tmp/foobar http://localhost:4001

Then you can access /tmp/foobar and use etcd as a filesystem.

To unmount it:

fusermount -u /tmp/foobar

What is supported?

Basic filesystem operations like:

  • Reading/Writing files
  • Creating/Deleting files
  • Creating/Deleting directories

What is missing?

  • Lots of optimizations
  • Lots of error handling
  • Specifiying more options to etcd connection
  • Mount filesystem to some node in etcd, not necessarily the root
  • Use watch to get updates from etcd and maybe change file modification time (????)

主要指標

概覽
名稱與所有者xetorthio/etcd-fs
主編程語言Go
編程語言Go (語言數: 2)
平台
許可證Apache License 2.0
所有者活动
創建於2014-03-17 20:00:07
推送於2018-11-04 16:00:16
最后一次提交2017-05-17 19:07:59
發布數0
用户参与
星數184
關注者數20
派生數32
提交數23
已啟用問題?
問題數11
打開的問題數9
拉請求數1
打開的拉請求數2
關閉的拉請求數3
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?