Skip to content

mincheol-jeong/glue-api

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Glue-API

Glue의 기능을 제어하기 위한 REST API 입니다.

본 문서는 swagger로 작성된 API 목록을 swagger-markdown-ui를 사용해 작성된 README입니다.

API 목록

Method API 진행도 비고
GET api/v1/version Version
GET api/v1/glue GlueStatus
GET api/v1/glue/version GlueVersion
GET api/v1/glue/pool ListPools
DELETE api/v1/glue/pool/:poolname PoolDelete
GET api/v1/glue/rbd/:poolname ListImages
GET api/v1/gluefs FsStatus
GET api/v1/gluefs/info/:fs_name FsGetInfo
GET api/v1/gluefs/list FsList
POST api/v1/gluefs/:fs_name FsCreate
DELETE api/v1/gluefs/:fs_name FsDelete
GET api/v1/mirror MirrorStatus
POST api/v1/mirror MirrorSetup
PATCH api/v1/mirror
DELETE api/v1/mirror ♻️ MirrorDelete
GET api/v1/mirror/image MirrorImageList
GET api/v1/mirror/image/:pool/:imagename
POST api/v1/mirror/image/:pool/:imagename
PATCH api/v1/mirror/image/:pool/:imagename
DELETE api/v1/mirror/image/:pool/:imagename MirrorImageDelete
POST api/v1/mirror/image/prymary/:pool/:image
DELETE api/v1/mirror/image/prymary/:pool/:image
GET api/v1/mirror/image/prymary/:pool/:image
GET api/v1/nfs NfsClusterLs,NfsClusterInfo
DELETE api/v1/nfs/:cluster_id NfsClusterDelete
POST api/v1/nfs/:cluster_id/:port NfsClusterCreate
GET api/v1/nfs/export NfsExportDetailed
PUT api/v1/nfs/export/:cluster_id NfsExportUpdate
POST api/v1/nfs/export/:cluster_id NfsExportCreate
DELETE api/v1/nfs/export/:cluster_id/:export_id NfsExportDelete
POST api/v1/iscsi IscsiServiceCreate
PUT api/v1/iscsi/discovery IscsiUpdateDiscoveryAuth
GET api/v1/iscsi/discovery IscsiGetDiscoveryAuth
GET api/v1/iscsi/target IscsiTargetList
POST api/v1/iscsi/target IscsiTargetCreate
DELETE api/v1/iscsi/target IscsiTargetDelete
PUT api/v1/iscsi/target IscsiTargetUpdate
GET api/v1/smb SmbStatus
POST api/v1/smb SmbCreate
DELETE api/v1/smb SmbDelete
POST api/v1/smb/user SmbUserCreate
PUT api/v1/smb/user SmbUserUpdate
DELETE api/v1/smb/user SmbUserDelete
ANY swagger/index.html

/api/v1/glue

GET

Summary:

Show Status of Glue

Description:

Glue 의 상태값을 보여줍니다.

Responses
Code Description Schema
200 OK GlueStatus
400 Bad Request HTTP400BadRequest
404 Not Found HTTP404NotFound
500 Internal Server Error HTTP500InternalServerError

/api/v1/glue/pool

GET

Summary:

List Pools of Glue

Description:

Glue 의 스토리지 풀 목록을 보여줍니다..

Responses
Code Description Schema
200 OK GlueVersion
400 Bad Request HTTP400BadRequest
404 Not Found HTTP404NotFound
500 Internal Server Error HTTP500InternalServerError

/api/v1/glue/rbd/{pool_name}

GET

Summary:

List Images of Pool Glue

Description:

Glue 스토리지 풀의 이미지 목록을 보여줍니다..

Parameters
Name Located in Description Required Schema
pool_name path Pool Name Yes string
Responses
Code Description Schema
200 OK ListImages
400 Bad Request HTTP400BadRequest
404 Not Found HTTP404NotFound
500 Internal Server Error HTTP500InternalServerError

/api/v1/glue/pool/{pool_name}

DELETE

Summary:

Delete of Pool Glue

Description:

Glue 스토리지 풀을 삭제합니다..

Parameters
Name Located in Description Required Schema
pool_name path Pool Name Yes string
Responses
Code Description Schema
200 OK PoolDelete
400 Bad Request HTTP400BadRequest
404 Not Found HTTP404NotFound
500 Internal Server Error HTTP500InternalServerError

/api/v1/gluefs

GET

Summary:

Show Status of GlueFS

Description:

GlueFS의 상태값을 보여줍니다..

Responses
Code Description Schema
200 OK FsStatus
400 Bad Request HTTP400BadRequest
404 Not Found HTTP404NotFound
500 Internal Server Error HTTP500InternalServerError

/api/v1/gluefs/info/{fs_name}

GET

Summary:

Show Info of GlueFS

Description:

GlueFS의 상세정보를 보여줍니다..

Parameters
Name Located in Description Required Schema
fs_name path Glue FS Name Yes string
Responses
Code Description Schema
200 OK FsGetInfo
400 Bad Request HTTP400BadRequest
404 Not Found HTTP404NotFound
500 Internal Server Error HTTP500InternalServerError

/api/v1/gluefs/list

GET

Summary:

Show List of GlueFS

Description:

GlueFS의 리스트를 보여줍니다..

Responses
Code Description Schema
200 OK FsList
400 Bad Request HTTP400BadRequest
404 Not Found HTTP404NotFound
500 Internal Server Error HTTP500InternalServerError

/api/v1/gluefs/{fs_name}

POST

Summary:

Create of GlueFS

Description:

GlueFS를 생성합니다..

Parameters
Name Located in Description Required Schema
fs_name path Glue FS Name Yes string
Responses
Code Description Schema
200 OK FsCreate
400 Bad Request HTTP400BadRequest
404 Not Found HTTP404NotFound
500 Internal Server Error HTTP500InternalServerError

DELETE

Summary:

Delete of GlueFS

Description:

GlueFS를 삭제합니다..

Parameters
Name Located in Description Required Schema
fs_name path Glue FS Name Yes string
Responses
Code Description Schema
200 OK FsDelete
400 Bad Request HTTP400BadRequest
404 Not Found HTTP404NotFound
500 Internal Server Error HTTP500InternalServerError

/api/v1/glue/version

GET

Summary:

Show Versions of Glue

Description:

Glue 의 버전을 보여줍니다.

Responses
Code Description Schema
200 OK GlueVersion
400 Bad Request HTTP400BadRequest
404 Not Found HTTP404NotFound
500 Internal Server Error HTTP500InternalServerError

/api/v1/mirror

DELETE

Summary:

Delete Mirroring Cluster

Description:

Glue 의 미러링 클러스터를 제거합니다.

Parameters
Name Located in Description Required Schema
host formData Remote Cluster Host Address Yes string
privateKeyFile formData Remote Cluster PrivateKey Yes file
mirrorPool formData Pool Name for Mirroring Yes string
Responses
Code Description Schema
200 OK MirrorSetup
400 Bad Request HTTP400BadRequest
404 Not Found HTTP404NotFound
500 Internal Server Error HTTP500InternalServerError

GET

Summary:

Show Status of Mirror

Description:

Glue 의 미러링 상태를 보여줍니다.

Responses
Code Description Schema
200 OK MirrorStatus
400 Bad Request HTTP400BadRequest
404 Not Found HTTP404NotFound
500 Internal Server Error HTTP500InternalServerError

POST

Summary:

Setup Mirroring Cluster

Description:

Glue 의 미러링 클러스터를 설정합니다..

Parameters
Name Located in Description Required Schema
localClusterName formData Local Cluster Name Yes string
remoteClusterName formData Remote Cluster Name Yes string
host formData Remote Cluster Host Address Yes string
privateKeyFile formData Remote Cluster PrivateKey Yes file
mirrorPool formData Pool Name for Mirroring Yes string
Responses
Code Description Schema
200 OK MirrorSetup
400 Bad Request HTTP400BadRequest
404 Not Found HTTP404NotFound
500 Internal Server Error HTTP500InternalServerError

/api/v1/mirror/image

GET

Summary:

Show List of Mirrored Image

Description:

미러링중인 이미지의 목록과 상태를 보여줍니다.

Responses
Code Description Schema
200 OK MirrorList
400 Bad Request HTTP400BadRequest
404 Not Found HTTP404NotFound
500 Internal Server Error HTTP500InternalServerError

/api/v1/mirror/image/{pool}/{imagename}

DELETE

Summary:

Delete Mirrored Image

Description:

이미지의 미러링을 비활성화 합니다.

Parameters
Name Located in Description Required Schema
imageName path imageName Yes string
pool path pool Yes string
Responses
Code Description Schema
200 OK Message
400 Bad Request HTTP400BadRequest
404 Not Found HTTP404NotFound
500 Internal Server Error HTTP500InternalServerError

/api/v1/nfs

GET

Summary:

Show List of Glue NFS Cluster

Description:

Glue NFS Cluster의 리스트를 보여줍니다..

Responses
Code Description Schema
200 OK NfsClusterLs
400 Bad Request HTTP400BadRequest
404 Not Found HTTP404NotFound
500 Internal Server Error HTTP500InternalServerError

/api/v1/nfs/{cluster_id}

GET

Summary:

Show Info of Glue NFS Cluster

Description:

Glue NFS Cluster의 상세정보를 보여줍니다..

Parameters
Name Located in Description Required Schema
cluster_id path NFS Cluster Identifier Yes string
Responses
Code Description Schema
200 OK NfsClusterInfo
400 Bad Request HTTP400BadRequest
404 Not Found HTTP404NotFound
500 Internal Server Error HTTP500InternalServerError

DELETE

Summary:

Delete of Glue NFS Cluster

Description:

Glue NFS Cluster를 삭제합니다..

Parameters
Name Located in Description Required Schema
cluster_id path NFS Cluster Identifier Yes string
Responses
Code Description Schema
200 OK NfsClusterDelete
400 Bad Request HTTP400BadRequest
404 Not Found HTTP404NotFound
500 Internal Server Error HTTP500InternalServerError

/api/v1/nfs/{cluster_id}/{port}

POST

Summary:

Create of Glue NFS Cluster

Description:

Glue NFS Cluster를 생성합니다..

Parameters
Name Located in Description Required Schema
cluster_id path NFS Cluster Identifier Yes string
port path NFS Cluster Port Yes string
Responses
Code Description Schema
200 OK NfsClusterCreate
400 Bad Request HTTP400BadRequest
404 Not Found HTTP404NotFound
500 Internal Server Error HTTP500InternalServerError

/api/v1/nfs/export/{cluster_id}

GET

Summary:

Show Detailed of Glue NFS Export

Description:

Glue NFS Export의 상세정보를 보여줍니다..

Parameters
Name Located in Description Required Schema
cluster_id path NFS Cluster Identifier Yes string
Responses
Code Description Schema
200 OK NfsExportDetailed
400 Bad Request HTTP400BadRequest
404 Not Found HTTP404NotFound
500 Internal Server Error HTTP500InternalServerError

PUT

Summary:

Update of Glue NFS Export

Description:

Glue NFS Export를 수정합니다..

Parameters
Name Located in Description Required Schema
cluster_id path NFS Cluster Identifier Yes string
json_file body NFS Cluster JSON File Yes string
Responses
Code Description Schema
200 OK NfsExportUpdate
400 Bad Request HTTP400BadRequest
404 Not Found HTTP404NotFound
500 Internal Server Error HTTP500InternalServerError

POST

Summary:

Create of Glue NFS Export

Description:

Glue NFS Export를 생성합니다..

Parameters
Name Located in Description Required Schema
cluster_id path NFS Cluster Identifier Yes string
json_file body NFS Cluster JSON File Yes string
Responses
Code Description Schema
200 OK NfsExportCreate
400 Bad Request HTTP400BadRequest
404 Not Found HTTP404NotFound
500 Internal Server Error HTTP500InternalServerError

/api/v1/nfs/export/{cluster_id}/{export_id}

DELETE

Summary:

Delete of Glue NFS Export

Description:

Glue NFS Export를 삭제합니다..

Parameters
Name Located in Description Required Schema
cluster_id path NFS Cluster Identifier Yes string
export_id path NFS Export ID Yes string
Responses
Code Description Schema
200 OK NfsExportDetailed
400 Bad Request HTTP400BadRequest
404 Not Found HTTP404NotFound
500 Internal Server Error HTTP500InternalServerError

/api/v1/iscsi

POST

Summary:

Create of Iscsi Servcie Daemon

Description:

Iscsi 서비스 데몬을 생성합니다.

Parameters
Name Located in Description Required Schema
hosts formData Host Name Yes []string
service_id formData ISCSI Service Name Yes string
service_id formData ISCSI Service Name Yes string
pool formData Pool Name Yes string
api_port formData ISCSI API Port Yes int
api_user formData ISCSI API User Yes string
api_password formData ISCSI API Password Yes string
count formData Iscsi Service Daemon Count Yes int
Responses
Code Description Schema
200 OK IscsiServiceCreate
400 Bad Request HTTP400BadRequest
404 Not Found HTTP404NotFound
500 Internal Server Error HTTP500InternalServerError

/api/v1/iscsi/discovery

GET

Summary:

Show of Iscsi Discovery Auth Details

Description:

Iscsi 계정 정보를 가져옵니다.

Responses
Code Description Schema
200 OK IscsiGetDiscoveryAuth
400 Bad Request HTTP400BadRequest
404 Not Found HTTP404NotFound
500 Internal Server Error HTTP500InternalServerError

PUT

Summary:

Update of Iscsi Discovery Auth Details

Description:

Iscsi 계정 정보를 수정합니다.

Parameters
Name Located in Description Required Schema
user formData Iscsi Discovery Authorization Username No string
password formData Iscsi Discovery Authorization Password No string
mutual_user formData Iscsi Discovery Authorization Mutual Username No string
mutual_password formData Iscsi Discovery Authorization Mutual Password No string
Responses
Code Description Schema
200 OK IscsiUpdateDiscoveryAuth
400 Bad Request HTTP400BadRequest
404 Not Found HTTP404NotFound
500 Internal Server Error HTTP500InternalServerError

/api/v1/iscsi/target

GET

Summary:

Show List of Iscsi Target

Description:

Iscsi 타겟 리스트를 가져옵니다.

Parameters
Name Located in Description Required Schema
iqn_id query Iscsi Target IQN Name No string
Responses
Code Description Schema
200 OK IscsiCommon
400 Bad Request HTTP400BadRequest
404 Not Found HTTP404NotFound
500 Internal Server Error HTTP500InternalServerError

DELETE

Summary:

Delete of Iscsi Target

Description:

Iscsi 타겟을 삭제합니다.

Parameters
Name Located in Description Required Schema
iqn_id query Iscsi Target IQN Name No string
Responses
Code Description Schema
200 OK IscsiCommon
400 Bad Request HTTP400BadRequest
404 Not Found HTTP404NotFound
500 Internal Server Error HTTP500InternalServerError

POST

Summary:

Create of Iscsi Target

Description:

Iscsi 타겟을 생성합니다.

Parameters
Name Located in Description Required Schema
iqn_id formData Iscsi Target IQN Name Yes string
hostname formData Gateway Host Name Yes []string
ip_address formData Gateway Host IP Address Yes []string
pool_name formData Glue Pool Name No []string
image_name formData Glue Image Name No []string
acl_enabled formData scsi Authentication Yes boolean
username formData Iscsi Auth User No string
password formData Iscsi Auth Password No string
mutual_username formData Iscsi Auth Mutual User No string
mutual_password formData Iscsi Auth Mutaul Password No string
Responses
Code Description Schema
200 OK IscsiCommon
400 Bad Request HTTP400BadRequest
404 Not Found HTTP404NotFound
500 Internal Server Error HTTP500InternalServerError

/api/v1/smb

GET

Summary:

Show Status of Smb Servcie Daemon

Description:

SMB 서비스 데몬 상태를 조회합니다.

Responses
Code Description Schema
200 OK SmbStatus
400 Bad Request HTTP400BadRequest
404 Not Found HTTP404NotFound
500 Internal Server Error HTTP500InternalServerError

DELETE

Summary:

Delete of Smb Service

Description:

SMB 서비스 전체를 삭제합니다.

Responses
Code Description Schema
200 OK ["Success"]
400 Bad Request HTTP400BadRequest
404 Not Found HTTP404NotFound
500 Internal Server Error HTTP500InternalServerError

POST

Summary:

Create of Smb Service

Description:

SMB 서비스 전체를 생성합니다.

Parameters
Name Located in Description Required Schema
username formData SMB Username Yes string
password formData SMB Password Yes string
folder_name formData SMB Share Folder Name Yes string
path formData SMB Server Actual Shared Path Yes string
Responses
Code Description Schema
200 OK ["Success"]
400 Bad Request HTTP400BadRequest
404 Not Found HTTP404NotFound
500 Internal Server Error HTTP500InternalServerError

/api/v1/smb/user

PUT

Summary:

Update User of Smb Service

Description:

SMB 서비스 사용자의 패스워드를 변경합니다.

Parameters
Name Located in Description Required Schema
username formData SMB Username Yes string
password formData SMB Password Yes string
Responses
Code Description Schema
200 OK ["Success"]
400 Bad Request HTTP400BadRequest
404 Not Found HTTP404NotFound
500 Internal Server Error HTTP500InternalServerError

DELETE

Summary:

Delete User of Smb Service

Description:

SMB 서비스 사용자를 삭제합니다.

Parameters
Name Located in Description Required Schema
username formData SMB Username Yes string
Responses
Code Description Schema
200 OK ["Success"]
400 Bad Request HTTP400BadRequest
404 Not Found HTTP404NotFound
500 Internal Server Error HTTP500InternalServerError

POST

Summary:

Create User of Smb Service

Description:

SMB 서비스 사용자를 생성합니다.

Parameters
Name Located in Description Required Schema
username formData SMB Username Yes string
password formData SMB Password Yes string
Responses
Code Description Schema
200 OK ["Success"]
400 Bad Request HTTP400BadRequest
404 Not Found HTTP404NotFound
500 Internal Server Error HTTP500InternalServerError

/version

GET

Summary:

Show Versions of API

Description:

API 의 버전을 보여줍니다.

Responses
Code Description Schema
200 OK Version
400 Bad Request HTTP400BadRequest
404 Not Found HTTP404NotFound
500 Internal Server Error HTTP500InternalServerError

Models

GlueStatus

Name Type Description Required
election_epoch integer (uint32) No
fsid string (uuid) Glue클러스터를 구분하는 ID No
fsmap object No
health object No
mgrmap object No
monmap object No
osdmap object No
pgmap object No
progress_events object No
quorum [ integer ] No
quorum_age integer No
quorum_names [ string ] No
servicemap object No

GlueVersion

Name Type Description Required
mgr object No
mon object No
osd object No
overall object No
rbd-mirror object No
rgw object No

HTTP400BadRequest

Name Type Description Required
code integer No
message string No

HTTP404NotFound

Name Type Description Required
code integer No
message string No

HTTP500InternalServerError

Name Type Description Required
code integer No
message string No

Message

Name Type Description Required
message string No

MirrorImage

Name Type Description Required
image string No
items [ MirrorImageItem ] No
namespace string No
pool string No

MirrorImageItem

Name Type Description Required
interval string No
start_time string No

MirrorList

Name Type Description Required
Local [ MirrorImage ] No
Remote [ MirrorImage ] No
debug boolean (bool) Debug info No

MirrorSetup

Name Type Description Required
host string No
localClusterName string 미러링 상태 No
localToken string No
mirrorPool string No
privateKeyFile object No
remoteClusterName string 미러링 상태 No
remoteToken string No

MirrorStatus

Name Type Description Required
daemon_health string 미러링 데몬 상태 No
health string 미러링 상태 No
image_health string 이미지 상태 No
states object 이미지 상세 No

FsStatus

Name Type Description Required
clients object No
mdsversion object No
mdsmap object No
pools object No

FsStatus

Name Type Description Required
mdsmap object No
id integer No

FsList

Name Type Description Required
name string No
metadatapool string No
metadatapoolid string No
datapoolids []integer No
datapools []string No

NfsClusterLs

Name Type Description Required
name string No

NfsClusterInfo

Name Type Description Required
object No

NfsExportDetailed

Name Type Description Required
accesstype string No
clients []string No
clusterid string No
exportid integer No
fsal object No
path string No
protocols []string No
pseudo string No
securitylabel boolean No
squash string No
transports []string No

IscsiServiceCreate

Name Type Description Required
service_type string No
service_id string No
placement object No
spec object No

IscsiTargetList

Name Type Description Required
targets object No

IscsiDiscoveryAuth

Name Type Description Required
username string No
password string No
mutual_username string No
mutual_password string No

SmbStatus

Name Type Description Required
names string No
description string No
status string No
state string No
users object No

IscsiCommon

Name Type Description Required
object No

Version

Name Type Description Required
version string (string) No

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 93.6%
  • Shell 6.4%