# ncw-swift **Repository Path**: mirrors_back/ncw-swift ## Basic Information - **Project Name**: ncw-swift - **Description**: mirrors of https://github.com/ncw/swift - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-07-01 - **Last Updated**: 2022-07-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README Swift ===== This package provides an easy to use library for interfacing with Swift / Openstack Object Storage / Rackspace cloud files from the Go Language [![Build Status](https://github.com/ncw/swift/workflows/build/badge.svg?branch=master)](https://github.com/ncw/swift/actions) [![Go Reference](https://pkg.go.dev/badge/github.com/ncw/v2/swift.svg)](https://pkg.go.dev/github.com/ncw/swift/v2) Install ------- Use go to install the library go get github.com/ncw/swift/v2 Usage ----- See here for full package docs - https://pkg.go.dev/github.com/ncw/swift/v2 Here is a short example from the docs ```go import "github.com/ncw/swift/v2" // Create a connection c := swift.Connection{ UserName: "user", ApiKey: "key", AuthUrl: "auth_url", Domain: "domain", // Name of the domain (v3 auth only) Tenant: "tenant", // Name of the tenant (v2 auth only) } // Authenticate err := c.Authenticate() if err != nil { panic(err) } // List all the containers containers, err := c.ContainerNames(nil) fmt.Println(containers) // etc... ``` Migrating from `v1` ----- The library has current major version v2. If you want to migrate from the first version of library `github.com/ncw/swift` you have to explicitly add the `/v2` suffix to the imports. Most of the exported functions were added a new `context.Context` parameter in the `v2`, which you will have to provide when migrating. Additions --------- The `rs` sub project contains a wrapper for the Rackspace specific CDN Management interface. Testing ------- To run the tests you can either use an embedded fake Swift server either use a real Openstack Swift server or a Rackspace Cloud files account. When using a real Swift server, you need to set these environment variables before running the tests export SWIFT_API_USER='user' export SWIFT_API_KEY='key' export SWIFT_AUTH_URL='https://url.of.auth.server/v1.0' And optionally these if using v2 authentication export SWIFT_TENANT='TenantName' export SWIFT_TENANT_ID='TenantId' And optionally these if using v3 authentication export SWIFT_TENANT='TenantName' export SWIFT_TENANT_ID='TenantId' export SWIFT_API_DOMAIN_ID='domain id' export SWIFT_API_DOMAIN='domain name' And optionally these if using v3 trust export SWIFT_TRUST_ID='TrustId' And optionally this if you want to skip server certificate validation export SWIFT_AUTH_INSECURE=1 And optionally this to configure the connect channel timeout, in seconds export SWIFT_CONNECTION_CHANNEL_TIMEOUT=60 And optionally this to configure the data channel timeout, in seconds export SWIFT_DATA_CHANNEL_TIMEOUT=60 Then run the tests with `go test` License ------- This is free software under the terms of MIT license (check COPYING file included in this package). Contact and support ------------------- The project website is at: - https://github.com/ncw/swift There you can file bug reports, ask for help or contribute patches. Authors ------- - Nick Craig-Wood Contributors ------------ - Brian "bojo" Jones - Janika Liiv - Yamamoto, Hirotaka - Stephen - platformpurple - Paul Querna - Livio Soares - thesyncim - lsowen - Sylvain Baubeau - Chris Kastorff - Dai HaoJun - Hua Wang - Fabian Ruff - Arturo Reuschenbach Puncernau - Petr Kotek - Stefan Majewsky - Cezar Sa Espinola - Sam Gunaratne - Richard Scothern - Michel Couillard - Christopher Waldon - dennis - hag - Alexander Neumann - eclipseo <30413512+eclipseo@users.noreply.github.com> - Yuri Per - Falk Reimann - Arthur Paim Arnold - Bruno Michel - Charles Hsu - Omar Ali - Andreas Andersen - kayrus - CodeLingo Bot - Jérémy Clerc - 4xicom <37339705+4xicom@users.noreply.github.com> - Bo - Thiago da Silva - Brandon WELSCH - Damien Tournoud - Pedro Kiefer - Martin Chodur - Devendra - timss - Jos Houtman - Paul Collins