GoIsilon represents API bindings for Go that allow you to manage Isilon
NAS platforms. In the true nature of API bindings, it is intended that the
functions available are basically a direct implementation of what is available
through the API. There is however, an abstraction called object which can be
used by things like Docker, Mesos, and
REX-Ray to integrate Isilon.
Currently only tested with v7+.
The package was written using test files, so these can be looked at for a more comprehensive view of how to implement the different functions.
Intialize a new client
c, err := NewClient() // or NewClientWithArgs(endpoint, insecure, userName,
password,volumePath)
if err != nil {
panic(err)
}
Create a Volume
volume, err := c.CreateVolume("testing")
Export a Volume
err := c.ExportVolume("testing")
Delete a Volume
_, err := c.DeleteVolume(name)
For example usage you can see the REX-Ray
repo. There, the goisilon package is used to implement a
Volume Manager across multiple storage platforms. This includes managing
multipathing, mounts, and filesystems.
| Name | Description |
|---|---|
GOISILON_ENDPOINT |
the API endpoint, https://172.17.177.230:8080 |
GOISILON_USERNAME |
the username |
GOISILON_GROUP |
the user's group |
GOISILON_PASSWORD |
the password |
GOISILON_INSECURE |
whether to skip SSL validation |
GOISILON_VOLUMEPATH |
which base path to use when looking for volume directories |
Please contribute!
Licensed under the Apache License, Version 2.0 (the “License”); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
If you have questions relating to the project, please either post
Github Issues, join our
Slack channel available by signup through
community.emc.com and post questions into
#projects, or reach out to the maintainers directly. The code and
documentation are released with no warranties or SLAs and are intended to be
supported through a community driven process.