Poseidon DevOps- API Gateway configuration

Register
Submit a solution
The challenge is finished.

Challenge Overview

Challenge Objective

 

Update Kubernetes deployment configurations to use Tyk API Gateway

 

NOTE: This challenge has a $100 bonus for submitting in the first 36 hours.

 

Technology stack

 
  • Kubernetes

  • Tyk

  • Flux

  • Helm

 

Assets

 

Gitlab repositories:

  • Terraform config - tf scripts and deployment instructions for setting up a new cluster

  • Flux config - contains flux configuration that is deployed to the cluster

  • Authentication poc - app that is deployed to the cluster (not used in this challenge)

  • Backend - app that is deployed to the cluster (not used in this challenge)

  • Mock services - apps that are deployed to the cluster

 

You should clone these repositories to your gitlab account as you won’t be able to make commits to the above repositories.

See forums for access to the above repositories.

 

Individual requirements

 

There are two major requirements in this challenge. 

First, we want to set up an API gateway for our services deployed in a Kubernetes cluster. For that purpose we want to deploy and configure the Tyk Api gateway, community edition (just the gateway, no dashboard for now). Your task is to update terraform-config repo to include tyk deployment and to update flux-config repo to configure all mock-services ingresses to go through api gateway. The following configuration is required on the api gateway:

  • Rate limit the api requests by ip to 20 requests per minute

  • Configure LetsEncrypt certificate for api gateway

NOTE: these are just sample configurations to set up the gateway and demonstrate some features, it’s unlikely they will end up being used in production

 

Helpful links:

 

Second task is to update the terraform-config repo to create an SQS queue during infrastructure setup. Use “poseidon-test-queue” for the queue name. This is a minor task and unrelated to the first task, and the queue won’t yet be used by any existing services.

 

Submission Guidelines

 

Submit git patches for terraform-config and flux-config repositories and a readme file explaining how to validate your changes

 



Final Submission Guidelines

See above

Review style

Final Review

Community Review Board

Approval

User Sign-Off

Challenge links

ID: 30118310