Skip to content

Commit

Permalink
docs: add helm env values
Browse files Browse the repository at this point in the history
  • Loading branch information
ramantehlan committed Jul 28, 2024
1 parent 8536429 commit 716af26
Show file tree
Hide file tree
Showing 2 changed files with 36 additions and 3 deletions.
12 changes: 9 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,13 +22,14 @@ Kubernetes clusters can become costly, especially when running multiple services
> The name Elasti comes from a superhero "Elasti-Girl" from DC Comics. Her supower is to expand or shrink her body at will—from hundreds of feet tall to mere inches in height.

<div align="center"> <b> Demo </b></div>
<div align="center">
<a href="https://www.loom.com/share/6dae33a27a5847f081f7381f8d9510e6">
<img style="max-width:640px;" src="https://cdn.loom.com/sessions/thumbnails/6dae33a27a5847f081f7381f8d9510e6-adf9e85a899f85fd-full-play.gif">
</a>
</div>

Refer to the [Docs](./docs/README.md) to know how it works.


# Contents

Expand Down Expand Up @@ -122,6 +123,8 @@ With Elasti, you can easily manage and scale your Kubernetes services by using a
helm install <release-name> elasti/elasti --namespace <namespace>
```

Check out [docs](./docs/README.md#5-helm-values) to see config in the helm value file.

### 3. Verify the Installation

Check the status of your Helm release and ensure that the elasti components are running:
Expand All @@ -135,6 +138,8 @@ With Elasti, you can easily manage and scale your Kubernetes services by using a
1. **Controller/Operator:** `elasti-operator-controller-manager-...` is to switch the traffic, watch resources, scale etc.
2. **Resolver:** `elasti-resolver-...` is to proxy the requests.

Refer to the [Docs](./docs/README.md) to know how it works.

## Configuration

To configure a service to handle its traffic via elasti, you'll need to create and apply a `ElastiService` custom resource:
Expand Down Expand Up @@ -288,6 +293,7 @@ or
kind create cluster
```
or

Enable it in Docker-Desktop

### 2. Start a Local Docker Registry
Expand Down Expand Up @@ -420,7 +426,7 @@ Testing is crucial to ensure the reliability and performance of Elasti. This sec
# Port-forward to access the dashboard
kubectl port-forward -n prometheus services/prometheus-stack-grafana 3000:80

# Get the admin password.
# Get the admin user.
kubectl get secret --namespace prometheus prometheus-stack-grafana -o jsonpath="{.data.admin-user}" | base64 --decode ; echo
# Get the admin password.
kubectl get secret --namespace prometheus prometheus-stack-grafana -o jsonpath="{.data.admin-password}" | base64 --decode ; echo
Expand Down Expand Up @@ -474,7 +480,7 @@ Follows the steps mentioned in [development](#development) section. Post that fo
Your pull request will be reviewed by project maintainers. Be responsive to feedback and make necessary changes. Post review, it will be merged!


> **You just contributed to Elasti!**
<div align="center"> <b> You just contributed to Elasti! </b></div>
<div align="center">

<img src="./docs/assets/awesome.gif" width="400px">
Expand Down
27 changes: 27 additions & 0 deletions docs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -74,3 +74,30 @@ The Elasti project is designed to enable serverless capability for Kubernetes se
<div align="center">
<img src="./assets/lld-resolver.png" width="800px">
</div>

## 5. Helm Values

Values you can pass to elastiResolver env.
```yaml

// HeaderForHost is the header to look for to get the host. X-Envoy-Decorator-Operation is the key for istio
headerForHost: X-Envoy-Decorator-Operation
// InitialCapacity is the initial capacity of the semaphore
initialCapacity: "500"
maxIdleProxyConns: "100"
maxIdleProxyConnsPerHost: "500"
// MaxQueueConcurrency is the maximum number of concurrent requests
maxQueueConcurrency: "100"
// OperatorRetryDuration is the duration for which we don't inform the operator
// about the traffic on the same host
operatorRetryDuration: "10"
// QueueRetryDuration is the duration after we retry the requests in queue
queueRetryDuration: "3"
// QueueSize is the size of the queue
queueSize: "50000"
// ReqTimeout is the timeout for each request
reqTimeout: "120"
// TrafficReEnableDuration is the duration for which the traffic is disabled for a host
// This is also duration for which we don't recheck readiness of the service
trafficReEnableDuration: "5"
```

0 comments on commit 716af26

Please sign in to comment.