Ocelot/README.md
2016-10-25 22:07:56 +01:00

3.1 KiB

Ocelot

Build status

Join the chat at https://gitter.im/Ocelotey/Lobby

Attempt at a .NET Api Gateway

This project is aimed at people using .NET running a micro services / service orientated architecture that need a unified point of entry into their system.

In particular I want easy integration with IdentityServer reference and bearer tokens.

We have been unable to find this in my current workplace without having to write our own Javascript middlewares to handle the IdentityServer reference tokens. We would rather use the IdentityServer code that already exists to do this.

How to install

Ocelot is designed to work with ASP.NET core only and is currently built to .NET Standard 1.4 this documentation may prove helpful when working out if Ocelot would be suitable for you.

Install Ocelot and it's dependecies using nuget. At the moment all we have is the pre version. Once we have something working in a half decent way we will drop a version.

Install-Package Ocelot -Pre

All versions can be found here

Configuration

Startup

An example startup using a yaml file for configuration can be seen below. Currently this is the only way to get configuration into Ocelot.

` public class Startup { public IConfigurationRoot Configuration { get; }

    public Startup(IHostingEnvironment env)
    {
        var builder = new ConfigurationBuilder()
            .SetBasePath(env.ContentRootPath)
            .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true)
            .AddJsonFile($"appsettings.{env.EnvironmentName}.json", optional: true)
            .AddYamlFile("configuration.yaml")
            .AddEnvironmentVariables();

        Configuration = builder.Build();
    }
    // This method gets called by the runtime. Use this method to add services to the container.
    // For more information on how to configure your application, visit http://go.microsoft.com/fwlink/?LinkID=398940
    public void ConfigureServices(IServiceCollection services)
    {
        services.AddOcelotYamlConfiguration(Configuration);
        services.AddOcelot();
    }

    // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
    public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
    {
        loggerFactory.AddConsole();

        if (env.IsDevelopment())
        {
            app.UseDeveloperExceptionPage();
        }
        app.UseOcelot();
    }
}

`

An example configuration can be found here

This is pretty much all you need to get going.......more to come!