Skip to content

Commit

Permalink
Merge branch 'master' into r/mentoring
Browse files Browse the repository at this point in the history
  • Loading branch information
imrajdas committed May 20, 2023
2 parents 4775441 + cf86f7e commit 74ad7e9
Show file tree
Hide file tree
Showing 105 changed files with 28,260 additions and 3,507 deletions.
3 changes: 3 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
*.go linguist-language=Go
*.sh linguist-language=Shell
*.js linguist-language=JavaScript
26 changes: 25 additions & 1 deletion .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,8 @@ jobs:
uses: Jerome1337/goimports-action@v1.0.3
with:
goimports-path: ./litmus-portal
- shell: bash
- name: Backend checks
shell: bash
run: |
cd litmus-portal
make backend-services-checks
Expand All @@ -79,11 +80,29 @@ jobs:
cd litmus-portal
make frontend-services-checks
backend-unit-tests:
runs-on: ubuntu-latest
needs:
- changes
- backend-checks
steps:
- name: Checkout repository
uses: actions/checkout@v2
- uses: actions/setup-go@v2
with:
go-version: "1.16" # By default, the go version is v1.15 in runner.
- name: Backend unit tests
shell: bash
run: |
cd litmus-portal
make unit-tests
docker-build-graphql-server:
runs-on: ubuntu-latest
needs:
- backend-checks
- changes
- backend-unit-tests
if: ${{ needs.changes.outputs.graphql-server == 'true' }}
steps:
- name: Checkout code
Expand All @@ -109,6 +128,7 @@ jobs:
needs:
- backend-checks
- changes
- backend-unit-tests
if: ${{ needs.changes.outputs.authentication == 'true' }}
steps:
- name: Checkout code
Expand All @@ -133,6 +153,7 @@ jobs:
needs:
- backend-checks
- changes
- backend-unit-tests
if: ${{ needs.changes.outputs.subscriber == 'true' }}
steps:
- name: Checkout code
Expand All @@ -157,6 +178,7 @@ jobs:
needs:
- backend-checks
- changes
- backend-unit-tests
if: ${{ needs.changes.outputs.event-tracker == 'true' }}
steps:
- name: Checkout code
Expand All @@ -181,6 +203,7 @@ jobs:
needs:
- backend-checks
- changes
- backend-unit-tests
if: ${{ needs.changes.outputs.upgrade-agent-cp == 'true' }}
steps:
- name: Checkout code
Expand Down Expand Up @@ -220,6 +243,7 @@ jobs:
needs:
- backend-checks
- changes
- backend-unit-tests
if: needs.changes.outputs.dex-server == 'true'
steps:
- name: Checkout code
Expand Down
3 changes: 3 additions & 0 deletions ADOPTERS.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,8 @@ devops/reliability pipelines (such as for customer portals/websites etc.,) withi
|[VMWare](https://www.vmware.com/)|Chaos Engineering in CD|[Our Story](adopters/organizations/vmware.md)|
|[Zebrium](https://www.zebrium.com?utm_source=github&utm_campaign=litmuschaos_repo)|[Zebrium K8s Chaos Project](https://github.com/zebrium/zebrium-kubernetes-demo)|[Our Story](adopters/organizations/zebrium.md)|
|[Container Solutions](https://www.container-solutions.com/)|Building Chaos Engineering for E-Commerce Customers|[Our Story](adopters/organizations/containersolutions.md)|
|[Infracloud Technologies](https://www.infracloud.io/)|Developing Resiliency Framework at Infracloud|[Our Story](adopters/organizations/infracloud.md)|


### Cloud-Native Solutions & Service Providers

Expand Down Expand Up @@ -72,5 +74,6 @@ existing functions.
|[Red Hat](https://www.redhat.com/en)|[Chaos Engineering with Kraken](https://github.com/cloud-bulldozer/kraken)|[Our Story](adopters/organizations/redhat_kraken.md)|
|[Iter8](https://iter8.tools)|[SLO validation with chaos injection](https://iter8.tools/0.7/tutorials/deployments/slo-validation-chaos/)|To Be Added|
|[CNF Test Suite](https://github.com/cncf/cnf-testsuite)|To validate the resilience of Cloud Native Network Functions (CNFs)|[Our Story](adopters/organizations/cnftestsuite.md)|
|[APACHE APISIX](https://apisix.apache.org/)|Practicing Chaos Engineering using Litmus in the Apache APISIX Ingress.|[Our Story](adopters/organizations/apisix.md)|


16 changes: 16 additions & 0 deletions adopters/organizations/apisix.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# APISIX Apache

Developed and donated by API7.ai, Apache APISIX is an open source, dynamic, scalable, and high-performance cloud native API gateway for all your APIs and microservices. It is a top-level project of the Apache Software Foundation.

You can use APISIX API Gateway as a traffic entrance to process all business data. It offers features including dynamic routing, dynamic upstream, dynamic certificates, A/B testing, canary release, blue-green deployment, limit rate, defense against malicious attacks, metrics, monitoring alarms, service observability, service governance, and more.




## How do we use Litmus
We practice chaos engineering using Litmus in the Apache APISIX Ingress.

Litmus also helped us find hidden bugs.

Project website: https://apisix.apache.org/
This is the text version of my online sharing content. https://dev.to/apisix/building-a-more-robust-apache-apisix-ingress-controller-with-litmus-chaos-3ldn
23 changes: 23 additions & 0 deletions adopters/organizations/infracloud.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# Infracloud Technologies

InfraCloud Technologies is a Kubernetes focused B2B Open Source Cloud Native Computing company which has been building products, services, and solutions to modernize applications and infrastructure.

InfraCloud was one of the first Kubernetes partners and have been contributing to the open source community around cloud-native technologies. It has been growing almost 100% for last few years consistently.

Company website: https://www.infracloud.io/
Company GitHub: https://github.com/infracloudio

## Why Do We Use Litmus:

At InfraCloud, we are using Litmus to develop Resiliency Frameworks.
To simulate various Chaos scenarios using fault injection templates provided by Litmus. Litmus also helps to incorporate custom fault templates developed using AWS SSM documents.

## How do we use Litmus.
Currently, we have tested with different kind of scenarios including faults like pod deletion, network latency, resource stressing, network partitioning in databases, and many more.

## Benefits in using Litmus.

Easy deployment.
Easy Fault injection.
Custom Grading for experiments
SSM integration helps to inject fault in both EKS and external AWS components.
9 changes: 9 additions & 0 deletions litmus-portal/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -97,6 +97,15 @@ backend-services-checks:
&& exit 1; \
fi

unit-tests:
@echo "------------------"
@echo "--> Running unit tests"
@echo "------------------"
@cd graphql-server && go test -cover ./...
# @cd authentication && go test -v ./...
# @cd cluster-agents/subscriber && go test -v ./...
# @cd cluster-agents/event-tracker && go test -v ./...

.PHONY: docker.buildx
docker.buildx:
@echo "------------------------------"
Expand Down
12 changes: 6 additions & 6 deletions litmus-portal/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,23 +22,23 @@ ChaosCenter provides console and UI experience for managing, monitoring, and eve

#### Applying k8s manifest

> Litmus-3.0.0-beta5 Cluster Scope manifest
> Litmus-3.0.0-beta7 Cluster Scope manifest
```bash
kubectl apply -f https://raw.githubusercontent.com/litmuschaos/litmus/master/mkdocs/docs/3.0.0-beta5/litmus-3.0.0-beta5.yaml
kubectl apply -f https://raw.githubusercontent.com/litmuschaos/litmus/master/mkdocs/docs/3.0.0-beta7/litmus-3.0.0-beta7.yaml
```

Or

> Litmus-3.0.0-beta5 Namespaced Scope manifest.
> Litmus-3.0.0-beta7 Namespaced Scope manifest.
```bash
#Create a namespace eg: litmus
kubectl create ns litmus
#Install CRDs, if SELF_AGENT env is set to TRUE
kubectl apply -f https://raw.githubusercontent.com/litmuschaos/litmus/master/mkdocs/docs/3.0.0-beta5/litmus-portal-crds-3.0.0-beta5.yml
kubectl apply -f https://raw.githubusercontent.com/litmuschaos/litmus/master/mkdocs/docs/3.0.0-beta7/litmus-portal-crds-3.0.0-beta7.yml
#Install ChaosCenter
kubectl apply -f https://raw.githubusercontent.com/litmuschaos/litmus/master/mkdocs/docs/3.0.0-beta5/litmus-namespaced-3.0.0-beta5.yaml -n litmus
kubectl apply -f https://raw.githubusercontent.com/litmuschaos/litmus/master/mkdocs/docs/3.0.0-beta7/litmus-namespaced-3.0.0-beta7.yaml -n litmus
```

Or
Expand Down Expand Up @@ -99,7 +99,7 @@ View the User Guide <b>[here](https://docs.litmuschaos.io/)</b>
### **Local Development Guide for ChaosCenter**
Local Development Guide for ChaosCenter can be found <b>[here](https://github.com/litmuschaos/litmus/wiki/ChaosCenter-Development-Guide)</b>

### **Upgrade from 2.13.0 to 2.14.0**
### **Upgrade from 3.0.0-beta6 to 3.0.0-beta7**

You can upgrade using the steps from [section here](https://docs.litmuschaos.io/docs/user-guides/upgrade)

Expand Down
6 changes: 4 additions & 2 deletions litmus-portal/graphql-server/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ require (
github.com/golang/protobuf v1.5.2
github.com/google/uuid v1.3.0
github.com/gorilla/websocket v1.5.0
github.com/grpc-ecosystem/go-grpc-middleware v1.4.0
github.com/jinzhu/copier v0.3.5
github.com/kelseyhightower/envconfig v1.4.0
github.com/litmuschaos/chaos-operator v0.0.0-20230109130222-de7c74a937a9
Expand All @@ -22,11 +23,12 @@ require (
github.com/prometheus/client_golang v1.12.1
github.com/prometheus/common v0.32.1
github.com/sirupsen/logrus v1.8.1
github.com/stretchr/testify v1.8.2
github.com/tidwall/gjson v1.14.0
github.com/tidwall/sjson v1.2.4
github.com/vektah/gqlparser/v2 v2.1.0
go.mongodb.org/mongo-driver v1.8.2
golang.org/x/crypto v0.0.0-20220315160706-3147a52a75dd
go.mongodb.org/mongo-driver v1.11.4
golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d
google.golang.org/grpc v1.44.0
google.golang.org/protobuf v1.27.1
gopkg.in/yaml.v2 v2.4.0
Expand Down
Loading

0 comments on commit 74ad7e9

Please sign in to comment.