97fb41fc9816a4f0e5c27b3a7a76a001cafb05b4
gotgt 
Simple Golang SCSI Target framework, this includes two binaries, one is citadm which is command line to config and control, the other is citd which is a target daemon.
Build
$ mkdir -p $GOPATH/src/github.com/gostor/
$ cd $GOPATH/src/github.com/gostor/
$ git clone https://github.com/gostor/gotgt gotgt
$ cd gotgt
$ ./autogen.sh
$ ./configure
$ make
How to use
Currenty, there is lack of commands to operate the target and LU, however you can init the target/LU with config file in ~/.gotgt/config.json, such as:
{
"storages": [
{
"deviceID":1000,
"path":"file:/var/tmp/disk.img",
"online":true
}
],
"targets": {
"test-iscsi-target": {
"name": "iqn.2016-09.com.gotgt.gostor:example_tgt_0",
"luns": {"0": 1000}
}
}
}
Note: make sure file
/var/tmp/disk.imgis existed, you can useddto create it.
Test
You can test this with open-iscsi or libiscsi.
Roadmap
- Auth (p3)
- Login Process (p2)
- ACL (Access control) (p3)
- SCSI Task Management (p3)
- iSCSI Task Management (p3)
- Dummy LUN0 (orzhang, p1)
- SCSI Command Queue (p2)
- More SCSI commands
- SPC3/SAM2
- Page83(Inquiry) (orzhang, p1)
- Page0 (Inquiry) (orzhang, p1)
- Define Device UUID
- More SCSI flags (carmark, p1)
- Read8,16 (carmark, p1)
- Verify (carmark, p1)
- Support
Target GroupandTarget Port(p3)
- Refactor (carmark, p1)
- Command Line (carmark, p1)
- More Backstore Plugins(such as
cephandraw device) (orzhang, p1) - Redirect iSCSI Target (orzhang, p2)
- Homepage (p3)
- More test cases (p2)
- Docker image (p3)
Contributing
Want to help build gotgt? Check out our contributing documentation.
Description
Languages
Go
96.1%
Shell
3.5%
Dockerfile
0.2%
Makefile
0.2%