README.md

# Platform.sh Config Reader (Elixir)

This library provides a streamlined and easy to use way to interact with a Platform.sh environment. It offers utility methods to access routes and relationships more cleanly than reading the raw environment variables yourself.

## Usage
```
alias Platformsh.Config, as: Config

if Config.is_valid_platform?() do
    IO.inspect Config.credentials("mysql")
end
```

Will give out:
```
%{
  "cluster" => "ehsumw32qasrm-master-7rqtwti",
  "host" => "mysql.internal",
  "hostname" => "ofin73prjy2zp7dwzxgf2lizfu.mysql.service._.eu-2.platformsh.site",
  "ip" => "169.254.9.46",
  "password" => "",
  "path" => "main",
  "port" => 3306,
  "query" => %{"is_master" => true},
  "rel" => "mysql",
  "scheme" => "mysql",
  "service" => "mysql",
  "username" => "user"
}
````

> Take note that the library should be used in `config/releases.exs` rather that in `config/prod.exs` as yo want it to evaluate during runtime rather than during build time.


## Installation

If [available in Hex](https://hex.pm/docs/publish), the package can be installed
by adding `platformshconfig` to your list of dependencies in `mix.exs`:

```elixir
def deps do
  [
    {:platformshconfig, "~> 0.1.0"}
  ]
end
```

Documentation can be generated with [ExDoc](https://github.com/elixir-lang/ex_doc)
and published on [HexDocs](https://hexdocs.pm). Once published, the docs can
be found at [https://hexdocs.pm/platformshconfig](https://hexdocs.pm/platformshconfig).