Skip to content

Latest commit

 

History

History
94 lines (75 loc) · 3.58 KB

deployment-http-options.md

File metadata and controls

94 lines (75 loc) · 3.58 KB

Deployment HTTP Options

Akash deployment SDL services stanza definitions have been augmented to include “http_options” allowing granular specification of HTTP endpoint parameters. Inclusion of the parameters in this section are optional but will afford detailed definitions of attributes such as body/payload max size where necessary.

Overview

The following “http_options” have been introduced in this version. In subsequent sections of this guide the placement of “http_options” within the SDL services stanza will be detailed.\

NOTE - the default HTTP option settings can be found here

  • max_body_size - sets the maximum size of an individual HTTP request body
  • read_timeout - duration the proxy will wait for a response from the service
  • send_timeout - duration the proxy will wait for the service to accept a request
  • next_cases - defines the cases where the proxy will try another replica in the service. Reference the upcoming “Next Cases Attribute Usage” section for details pertaining to allowed values.
  • next_tries - number of attempts the proxy will attempt another replica
  • next_timeout - amount of time the proxy will wait before considering a timeout has occurred

Example HTTP Options Usage

  • Depiction displays the placement and structure of the http_options key within the greater services section and within a specific service’s expose key.
  • Service section of the greater SDL isolated for focus.

  • Depiction displays the placement of http_options within the entire, greater SDL definition

Next Cases Attribute Usage

The “http_options” key of “next_cases” accepts an array of values which may contain one or more of the following values. When included in the “next_cases” array value - the specified HTTP response code/message will provoke an attempt to service the request by one of the other container members/replicas of the deployment. The “next_cases” attempt to service via an additional container will only provoke if the SDL defines a count of greater than one (1). A deployment with a count of one (1) would have no other replicas to facilitate the additional service attempt.

  • error”
  • “timeout”
  • “403”
  • “404”
  • “429”
  • “500”
  • “502”
  • “503”
  • “504”
  • “off”

SDL Example Utilized

Full SDL code samples used throughout this guide

---
version: "2.0"
services:
 web:
   image: pengbai/docker-supermario
   expose:
     - port: 8080
       as: 80
       to:
         - global: true
       http_options:
         max_body_size: 3145728
         read_timeout: 50000
         send_timeout: 51000
         next_cases: ["error", "500"]
         next_tries: 2
       accept:
         - supermariotest.akash.network
profiles:
 compute:
   web:
     resources:
       cpu:
         units: 0.1
       memory:
         size: 512Mi
       storage:
         size: 512Mi
 placement:
   westcoast:
     signedBy:
       anyOf:
         - "akash1365yvmc4s7awdyj3n2sav7xfx76adc6dnmlx63"
     pricing:
       web:
         denom: uakt
         amount: 3000
deployment:
 web:
   westcoast:
     profile: web
     count: 1