An open API service indexing awesome lists of open source software.

https://github.com/piszmog/cf-services

Retrieve configurations from Cloud Foundry with Rust.
https://github.com/piszmog/cf-services

cloud-foundry cloudfoundry pcf

Last synced: about 2 months ago
JSON representation

Retrieve configurations from Cloud Foundry with Rust.

Awesome Lists containing this project

README

        

# CF Services

[![crates.io](https://img.shields.io/crates/v/cf-services.svg)](https://crates.io/crates/cf-services)
[![Rust](https://github.com/Piszmog/cf-services/actions/workflows/rust.yml/badge.svg)](https://github.com/Piszmog/cf-services/actions/workflows/rust.yml)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

This library is aimed at removing the boilerplate code and let developers just worry about using actually connecting to
the services they have bounded to their app.

## Retrieving VCAP_SERVICES

Simply use `cf_services::get_services_from_env()`.

```rust
use cf_services::get_services_from_env;

fn main() {
let services = get_services_from_env().unwrap();
let service = services.get("serviceA").unwrap();
// Use information about service A to perform actions (such as creating an OAuth2 Client)
}
```

## Retrieving Credentials of a Service

Call `cf_services::get_service_credentials(..)` by passing the `VCAP_SERVICES` marshalled JSON and the name of the
service to retrieve the credentials for. If `VCAP_SERVICES` is guaranteed to be an environment variable
use `cf_services::get_service_cred_from_env(..)`
instead.

```rust
use cf_services::{get_services_from_env, get_service_credentials, get_service_cred_from_env};

fn main() {
let services = get_services_from_env().unwrap();
let creds = get_service_credentials(services, "serviceB").unwrap();
// Use credentials...

// Retrieve the JSON from the environment
let creds = get_service_cred_from_env("serviceB").unwrap();
// Use credentials...
}
```