Compare commits

...

1144 Commits

Author SHA1 Message Date
Calvinaud 0183efd7a6
Add amadeus in the list of adopters (#5133)
Signed-off-by: Calvin Audier <calvin.audier@amadeus.com>
2025-06-10 14:58:25 +05:30
Vedant Shrotria 89be587687
Update push.yml (#5136)
Signed-off-by: Vedant Shrotria <vedant.shrotria@harness.io>
2025-05-21 17:16:04 +05:30
Vedant Shrotria 944e9ca074
Update push.yml (#5135)
Signed-off-by: Vedant Shrotria <vedant.shrotria@harness.io>
2025-05-21 17:12:07 +05:30
Vedant Shrotria 898360115c
Enable Dex Server builds in PR checks and Push pipelines (#5134)
* Enable Dex Server builds

Signed-off-by: Jonsy13 <vedant.shrotria@harness.io>

* Enable Dex Server builds

Signed-off-by: Jonsy13 <vedant.shrotria@harness.io>

* Enable Dex Server builds

Signed-off-by: Jonsy13 <vedant.shrotria@harness.io>

* Enable Dex Server builds

Signed-off-by: Jonsy13 <vedant.shrotria@harness.io>

* Enable Dex Server builds

Signed-off-by: Jonsy13 <vedant.shrotria@harness.io>

* Enable Dex Server builds

Signed-off-by: Jonsy13 <vedant.shrotria@harness.io>

* Enable Dex Server builds

Signed-off-by: Jonsy13 <vedant.shrotria@harness.io>

---------

Signed-off-by: Jonsy13 <vedant.shrotria@harness.io>
2025-05-21 17:04:56 +05:30
Shubham Chaudhary 2ab209ac79
chore(3.19.0): Adding the installation charts for 3.19.0 version (#5129)
Signed-off-by: Shubham Chaudhary <shubham.chaudhary@harness.io>
2025-05-19 19:40:10 +05:30
Sayan Mondal ea767ec2d6
chore: Adding Litmus install manifest for 3.19.0 (#5130) 2025-05-19 19:39:10 +05:30
Shubham Chaudhary 4f0749ccbe
chore(3.18.0): Adding the installation charts for 3.18.0 version (#5095)
Signed-off-by: Shubham Chaudhary <shubham.chaudhary@harness.io>
2025-04-16 10:49:05 +05:30
Sayan Mondal 25f347b8e3
chore: Adding Litmus install manifest for 3.18.0 (#5094)
Signed-off-by: Sayan Mondal <sayan.mondal@harness.io>
2025-04-15 17:39:22 +05:30
Sayan Mondal 69527a8509
chore: Adding Litmus install manifest for 3.17.0 (#5093)
* chore: Adding Litmus install manifest for 3.17.0

Signed-off-by: Sayan Mondal <sayan.mondal@harness.io>

* chore: Renaming folder

Signed-off-by: Sayan Mondal <sayan.mondal@harness.io>

---------

Signed-off-by: Sayan Mondal <sayan.mondal@harness.io>
2025-04-15 17:26:44 +05:30
Meet Soni 7f7d7ab4dc
ci: update artifact version (#5050)
Signed-off-by: Meet Soni <meetsoni3017@gmail.com>
Co-authored-by: Namkyu Park <53862866+namkyu1999@users.noreply.github.com>
2025-04-15 16:44:59 +05:30
dependabot[bot] 8127e0d9aa
chore(deps): Bump @babel/runtime in /chaoscenter/web (#5081)
Bumps [@babel/runtime](https://github.com/babel/babel/tree/HEAD/packages/babel-runtime) from 7.16.7 to 7.27.0.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.27.0/packages/babel-runtime)

---
updated-dependencies:
- dependency-name: "@babel/runtime"
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-15 16:44:02 +05:30
pbibra 5ef8065704
update date filter to pass integers to graphql (#5087)
* update date filter to pass ints to graphql

Signed-off-by: Priya Bibra <priya.bibra@airbnb.com>

* revert go mod

Signed-off-by: Priya Bibra <priya.bibra@airbnb.com>

* sign

Signed-off-by: Priya Bibra <priya.bibra@airbnb.com>

* gofmt

Signed-off-by: Priya Bibra <priya.bibra@airbnb.com>

* revert go ver

Signed-off-by: Priya Bibra <priya.bibra@airbnb.com>

---------

Signed-off-by: Priya Bibra <priya.bibra@airbnb.com>
Co-authored-by: Priya Bibra <priya.bibra@airbnb.com>
2025-04-10 11:59:56 +05:30
Namkyu Park e9db75b884
Update: documentation for the Chaoscenter Authentication REST API (#5012)
* fix: update swagger details

Signed-off-by: namkyu1999 <lak9348@gmail.com>

* feat: add authentication api document

Signed-off-by: namkyu1999 <lak9348@gmail.com>

* feat: add auth api documentation using redoc

Signed-off-by: namkyu1999 <lak9348@gmail.com>

* remove auto generated files

Signed-off-by: namkyu1999 <lak9348@gmail.com>

* fix: update response objects

Signed-off-by: namkyu1999 <lak9348@gmail.com>

* chore: add new docs

Signed-off-by: namkyu1999 <lak9348@gmail.com>

* chore: passed tests

Signed-off-by: namkyu1999 <lak9348@gmail.com>

---------

Signed-off-by: namkyu1999 <lak9348@gmail.com>
2025-03-28 10:26:13 +05:30
Dayeon Jung 49972737cc
[Proposal] Support a LitmusChaos Python SDK (#5009)
* docs: add python-sdk.md(#5004)

Signed-off-by: 잉퓨 <dayeon620@kakao.com>

* docs: modify creation date (#5004)

Signed-off-by: 잉퓨 <dayeon620@kakao.com>

---------

Signed-off-by: 잉퓨 <dayeon620@kakao.com>
2025-03-27 16:14:26 +05:30
dependabot[bot] 6bb3a921e3
chore(deps): Bump serialize-javascript in /chaoscenter/web (#5053)
Bumps [serialize-javascript](https://github.com/yahoo/serialize-javascript) from 6.0.0 to 6.0.2.
- [Release notes](https://github.com/yahoo/serialize-javascript/releases)
- [Commits](https://github.com/yahoo/serialize-javascript/compare/v6.0.0...v6.0.2)

---
updated-dependencies:
- dependency-name: serialize-javascript
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-27 12:21:53 +05:30
dependabot[bot] f419ff07f1
chore(deps): Bump golang.org/x/net (#5069)
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.25.0 to 0.36.0.
- [Commits](https://github.com/golang/net/compare/v0.25.0...v0.36.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Sayan Mondal <sayan.mondal@harness.io>
2025-03-27 12:21:33 +05:30
Shubham Chaudhary 172c4b9ffb
chore(3.17.0): Adding the installation charts for 3.17.0 version (#5074)
Signed-off-by: Shubham Chaudhary <shubham.chaudhary@harness.io>
2025-03-17 15:08:27 +05:30
Shubham Chaudhary 7f4259c78c
chore(3.16.0): Add the installation manifests for 3.16.0 version (#5051)
Signed-off-by: Shubham Chaudhary <shubham.chaudhary@harness.io>
2025-02-17 19:26:44 +05:30
Sayan Mondal b7d4a85d8e
chore: Adding LitmusChaos Install manifest for 3.16.0 (#5048)
Signed-off-by: Sayan Mondal <sayan.mondal@harness.io>
2025-02-17 16:22:55 +05:30
Shubham Chaudhary 220305e7f8
chore(3.15.0): Add the installation manifests for 3.15.0 version (#5027)
Signed-off-by: Shubham Chaudhary <shubham.chaudhary@harness.io>
2025-01-16 00:09:03 +05:30
Jemin Seo 54579b175d
refactor: update code syntax in backend server (#4944)
* refactor: update codes in backend server

Signed-off-by: Jemin <jemin9812@gmail.com>

* refactor: add space

Signed-off-by: Jemin <jemin9812@gmail.com>

* refactor: add space

Signed-off-by: Jemin <jemin9812@gmail.com>

---------

Signed-off-by: Jemin <jemin9812@gmail.com>
Co-authored-by: Namkyu Park <53862866+namkyu1999@users.noreply.github.com>
Co-authored-by: Amit Kumar Das <amit.das@harness.io>
Co-authored-by: Saranya Jena <saranya.jena@harness.io>
2025-01-15 13:54:22 +05:30
Saranya Jena ed833023a1
Added 3.15 installation manifests and fixed vulnerabilities (#5025)
Signed-off-by: Saranya-jena <saranya.jena@harness.io>
2025-01-15 12:49:45 +05:30
Ayush Sharma e4aeaa39ec
fix: return only message when no projects are found (#5011)
Signed-off-by: Ayush Sharma <kshitij3160@gmail.com>
Co-authored-by: Saranya Jena <saranya.jena@harness.io>
2025-01-15 11:36:30 +05:30
Sayan Mondal 66e852304e
chore: Fixing ISSUE_TEMPLATE naming (#5018)
Signed-off-by: Sayan Mondal <sayan.mondal@harness.io>
2025-01-13 11:56:30 +05:30
Sayan Mondal ed20511377
chore: Fixing MAINTAINER.md formatting (#5017)
Signed-off-by: Sayan Mondal <sayan.mondal@harness.io>
2025-01-09 13:11:33 +05:30
Sayan Mondal 5ece9cb846
chore: Updating Governance policy and memebership roles (#5016) 2025-01-09 12:18:33 +05:30
Rogério Brito a5db094db2
Add probe source part to kubernetes cmd properties of ChaosEngine manifest (#4881)
Signed-off-by: Rogério Brito <rogeriobritoufu@gmail.com>
Co-authored-by: Sayan Mondal <sayan.mondal@harness.io>
2024-12-20 13:17:43 +05:30
Saranya Jena b577b03ccd
Fix vulnerabilities in Graphql and Authentication server (#5002)
* updated go mod in auth and gql

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* updated go mod in auth and gql

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

---------

Signed-off-by: Saranya-jena <saranya.jena@harness.io>
2024-12-20 12:45:43 +05:30
dependabot[bot] b74707b638
chore(deps): Bump golang.org/x/crypto (#4985)
Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.23.0 to 0.31.0.
- [Commits](https://github.com/golang/crypto/compare/v0.23.0...v0.31.0)

---
updated-dependencies:
- dependency-name: golang.org/x/crypto
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-20 12:05:53 +05:30
Kursat Aktas 420c4b0a5d
Introducing LitmusChaos Guru on Gurubase.io (#4943)
Signed-off-by: Kursat Aktas <kursat.ce@gmail.com>
Co-authored-by: Saranya Jena <saranya.jena@harness.io>
2024-12-20 12:05:11 +05:30
Björn Kylberg b6d18ce164
JVM fault injection proposal (#4977)
Signed-off-by: Björn Kylberg <47784470+bjoky@users.noreply.github.com>
Co-authored-by: Saranya Jena <saranya.jena@harness.io>
2024-12-20 12:00:40 +05:30
Namkyu Park 4fcec60d82
chore: update base image because of the CVE-2024-3596 (#4964)
Signed-off-by: namkyu1999 <lak9348@gmail.com>
2024-12-20 12:00:16 +05:30
dependabot[bot] b970fce669
chore(deps): Bump cross-spawn from 7.0.3 to 7.0.6 in /chaoscenter/web (#4957)
Bumps [cross-spawn](https://github.com/moxystudio/node-cross-spawn) from 7.0.3 to 7.0.6.
- [Changelog](https://github.com/moxystudio/node-cross-spawn/blob/master/CHANGELOG.md)
- [Commits](https://github.com/moxystudio/node-cross-spawn/compare/v7.0.3...v7.0.6)

---
updated-dependencies:
- dependency-name: cross-spawn
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-20 11:57:32 +05:30
dependabot[bot] 5866d72253
chore(deps): Bump nanoid from 3.3.7 to 3.3.8 in /chaoscenter/web (#4992)
Bumps [nanoid](https://github.com/ai/nanoid) from 3.3.7 to 3.3.8.
- [Release notes](https://github.com/ai/nanoid/releases)
- [Changelog](https://github.com/ai/nanoid/blob/main/CHANGELOG.md)
- [Commits](https://github.com/ai/nanoid/compare/3.3.7...3.3.8)

---
updated-dependencies:
- dependency-name: nanoid
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-20 11:56:50 +05:30
DongYoung Kim a14282a62a
Proposal: Load testing with locust (#4955)
Signed-off-by: DongYoung Kim <kwx4957@gmail.com>
2024-12-20 11:52:49 +05:30
Sayan Mondal ac30fbb0fc
chore: Adding Pokerbaazi as adopters (#4958)
Signed-off-by: Sayan Mondal <sayan.mondal@harness.io>
2024-12-20 11:51:05 +05:30
Shubham Chaudhary 89d7f242ff
chore(3.14.0): Add the installation manifest for 3.14.0 version (#4995)
Signed-off-by: Shubham Chaudhary <shubham.chaudhary@harness.io>
2024-12-17 11:15:43 +05:30
Saranya Jena 247d2f1787
Added installation manifest for 3.14.0 (#4993)
* added installation manifest for 3.14.0

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* added installation manifest for 3.14.0

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

---------

Signed-off-by: Saranya-jena <saranya.jena@harness.io>
2024-12-15 12:00:35 +05:30
dependabot[bot] d7890aa80f
chore(deps): Bump go.mongodb.org/mongo-driver (#4911)
Bumps [go.mongodb.org/mongo-driver](https://github.com/mongodb/mongo-go-driver) from 1.17.0 to 1.17.1.
- [Release notes](https://github.com/mongodb/mongo-go-driver/releases)
- [Commits](https://github.com/mongodb/mongo-go-driver/compare/v1.17.0...v1.17.1)

---
updated-dependencies:
- dependency-name: go.mongodb.org/mongo-driver
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-22 13:44:43 +05:30
dependabot[bot] fdcc9c6621
chore(deps): Bump golang.org/x/crypto in /chaoscenter/graphql/server (#4868)
Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.24.0 to 0.27.0.
- [Commits](https://github.com/golang/crypto/compare/v0.24.0...v0.27.0)

---
updated-dependencies:
- dependency-name: golang.org/x/crypto
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Raj Das <mail.rajdas@gmail.com>
2024-11-22 13:34:53 +05:30
dependabot[bot] 6074a5dd00
chore(deps): Bump http-proxy-middleware in /chaoscenter/web (#4930)
Bumps [http-proxy-middleware](https://github.com/chimurai/http-proxy-middleware) from 2.0.6 to 2.0.7.
- [Release notes](https://github.com/chimurai/http-proxy-middleware/releases)
- [Changelog](https://github.com/chimurai/http-proxy-middleware/blob/v2.0.7/CHANGELOG.md)
- [Commits](https://github.com/chimurai/http-proxy-middleware/compare/v2.0.6...v2.0.7)

---
updated-dependencies:
- dependency-name: http-proxy-middleware
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-22 13:33:59 +05:30
dependabot[bot] fa15304b93
chore(deps-dev): Bump webpack from 5.90.3 to 5.94.0 in /chaoscenter/web (#4854)
Bumps [webpack](https://github.com/webpack/webpack) from 5.90.3 to 5.94.0.
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](https://github.com/webpack/webpack/compare/v5.90.3...v5.94.0)

---
updated-dependencies:
- dependency-name: webpack
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-22 13:32:38 +05:30
Suhyen Im d9e095682b
feat: update recent videos in README-ko (#4956)
Signed-off-by: Suhyen Im <suhyenim.kor@gmail.com>
2024-11-22 13:29:58 +05:30
Hrishav 55195a1093
chore: Updated maintainer's list (#4954)
Signed-off-by: Hrishav <hrishav.kumar@harness.io>
2024-11-22 13:29:06 +05:30
Bokyum Kim | 김보겸 5f0ea899fd
fix: add empty slice initialization (#4931)
Signed-off-by: BoGyum Kim | 김보겸 <109015852+seedspirit@users.noreply.github.com>
Co-authored-by: Namkyu Park <53862866+namkyu1999@users.noreply.github.com>
2024-11-22 13:26:38 +05:30
Jemin Seo bef5ca02b1
[Proposal] Support a LitmusChaos Java SDK (#4871)
* add litmus java sdk proposal

Signed-off-by: Jemin <jemin9812@gmail.com>

* update java-sdk-proposal

Signed-off-by: Jemin <jemin9812@gmail.com>

* docs: add usecase of sdk

Signed-off-by: Jemin <jemin9812@gmail.com>

---------

Signed-off-by: Jemin <jemin9812@gmail.com>
Co-authored-by: Namkyu Park <53862866+namkyu1999@users.noreply.github.com>
2024-11-22 13:09:08 +05:30
Suhyen Im faa6e482a5
feat: add otel-demo tutorial (#4858)
* feat: add otel-demo tutorial

Co-authored-by: Suhyen Im <suhyenim.kor@gmail.com>
Co-authored-by: Jaeyeon Park <donionbs7@gmail.com>
Signed-off-by: Suhyen Im <suhyenim.kor@gmail.com>
Signed-off-by: Jaeyeon Park <donionbs7@gmail.com>

* feat: add otel-demo screenshots

Co-authored-by: Suhyen Im <suhyenim.kor@gmail.com>
Co-authored-by: Jaeyeon Park <donionbs7@gmail.com>
Signed-off-by: Suhyen Im <suhyenim.kor@gmail.com>
Signed-off-by: Jaeyeon Park <donionbs7@gmail.com>

* chore: update tutorial and architecture image

Co-authored-by: Suhyen Im <suhyenim.kor@gmail.com>
Co-authored-by: Jaeyeon Park <donionbs7@gmail.com>
Signed-off-by: Suhyen Im <suhyenim.kor@gmail.com>
Signed-off-by: Jaeyeon Park <donionbs7@gmail.com>

---------

Signed-off-by: Suhyen Im <suhyenim.kor@gmail.com>
Signed-off-by: Jaeyeon Park <donionbs7@gmail.com>
Co-authored-by: Jaeyeon Park <donionbs7@gmail.com>
Co-authored-by: Namkyu Park <53862866+namkyu1999@users.noreply.github.com>
2024-11-22 13:08:32 +05:30
Saransh Shankar dcc7f60b7e
Add Pre Commit Check (#4642)
* Removed unused strings in strings.en.yml

Signed-off-by: Wise-Wizard <saransh.shankar@gmail.com>

* Removed unncessary changes

Signed-off-by: Wise-Wizard <saransh.shankar@gmail.com>

* Removed Comments

Signed-off-by: Wise-Wizard <saransh.shankar@gmail.com>

---------

Signed-off-by: Wise-Wizard <saransh.shankar@gmail.com>
Co-authored-by: Namkyu Park <53862866+namkyu1999@users.noreply.github.com>
Co-authored-by: Sayan Mondal <sayan.mondal@harness.io>
2024-11-22 13:06:08 +05:30
sukkyun hong 14c9808302
Add operator interface for Probe pkg (#4849)
* refactor: add operator interface for Probe pkg

- Add probeOperator to probe pkg
- Add probeOperator to handler that uses probeUtils
- Add probe operator as parameter to functions that use probe operations in probeUtils

Signed-off-by: sukkyun2 <goobghd@gmail.com>

* test: add operator to handlers that use probeUtils

Signed-off-by: sukkyun2 <goobghd@gmail.com>

* fix: reorder golang Imports

- Apply goimports

Signed-off-by: sukkyun2 <goobghd@gmail.com>

* test: add probeOperator to unit tests

Signed-off-by: sukkyun2 <goobghd@gmail.com>

* refactor: move GenerateProbeManifest logic into ProbeService

- Updated handler to call GenerateExperimentManifestWithProbes, GenerateCronExperimentManifestWithProbes via ProbeService

Signed-off-by: sukkyun2 <goobghd@gmail.com>

* test: replace probeOperator with probeService

- add mock probeService generated by mockery

Signed-off-by: sukkyun2 <goobghd@gmail.com>

* fix: reorder goimports

Signed-off-by: sukkyun2 <goobghd@gmail.com>

---------

Signed-off-by: sukkyun2 <goobghd@gmail.com>
Co-authored-by: Namkyu Park <53862866+namkyu1999@users.noreply.github.com>
2024-11-22 13:04:11 +05:30
Namkyu Park 8902dfbedc
Proposal: Distributed tracing for chaos experiments (#4684)
* proposal: Distributed tracing for chaos experiments

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>

* feat: add reference

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>

* feat: add implementation PRs tab

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>

* update: add a new pr

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>

* fix: add a link

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>

---------

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>
Co-authored-by: Saranya Jena <saranya.jena@harness.io>
2024-11-22 12:52:56 +05:30
Suyeon Jung aab8a5eb4c
type(docs): Update GraphQL document (support 3.11.0) (#4791)
* Update graphql docs v3.9.x

Signed-off-by: Suyeon Jung <suyeonjungdev@gmail.com>

* Update graphql docs v3.10.x

Signed-off-by: Suyeon Jung <suyeonjungdev@gmail.com>

* Update graphql docs v3.11.x

Signed-off-by: Suyeon Jung <suyeonjungdev@gmail.com>

* Update latest GraphQL documentation url

Signed-off-by: Suyeon Jung <suyeonjungdev@gmail.com>

* Change graphql docs v3.9.x path to v3.9.0

Signed-off-by: Suyeon Jung <suyeonjungdev@gmail.com>

* Change graphql docs v3.10.x path to v3.10.0

Signed-off-by: Suyeon Jung <suyeonjungdev@gmail.com>

* Change graphql docs v3.11.x path to v3.11.0

Signed-off-by: Suyeon Jung <suyeonjungdev@gmail.com>

---------

Signed-off-by: Suyeon Jung <suyeonjungdev@gmail.com>
2024-11-21 19:20:36 +05:30
Karthik Satchitanand 25ff937cba
(chore)roadmap: update the litmus roadmap (#4953)
Signed-off-by: ksatchit <karthik.s@harness.io>
2024-11-21 17:00:11 +05:30
Karthik Satchitanand 0573db7ea7
(chore)maintainers: add newer maintainers for the Litmus websites (#4951)
Signed-off-by: ksatchit <karthik.s@harness.io>
2024-11-21 16:23:43 +05:30
Prithvi Raj 26fa2653c2
Update CODE_OF_CONDUCT.md (#4936)
update with new email

Signed-off-by: Prithvi Raj <52114109+prithvi1307@users.noreply.github.com>
2024-11-20 10:24:25 +05:30
Suhyen Im 117afbfb15
feat: update recent videos (#4939)
Signed-off-by: Suhyen Im <suhyenim.kor@gmail.com>
2024-11-20 10:24:01 +05:30
Sayan Mondal 79cd2734ea
chore: Updating Emirates NBD story link (#4950)
Signed-off-by: Sayan Mondal <sayan.mondal@harness.io>
2024-11-19 12:27:39 +05:30
Sayan Mondal f8bf3dfb8d
chore: Add adopters (#4948)
Signed-off-by: Sayan Mondal <sayan.mondal@harness.io>
2024-11-19 11:37:19 +05:30
Shubham Chaudhary 1ff9c12c5d
chore(3.13.0): Add the installation manifest for 3.13.0 version (#4947)
Signed-off-by: Shubham Chaudhary <shubham.chaudhary@harness.io>
2024-11-18 13:36:35 +05:30
Saranya Jena 839d650465
added installation manifest for 3.13.0 (#4945)
Signed-off-by: Saranya-jena <saranya.jena@harness.io>
2024-11-15 23:26:59 +05:30
DongYoung Kim 0c4d175436
Add: replace mongoDB features proposal (#4812)
Signed-off-by: DongYoung Kim <kwx4957@gmail.com>
2024-11-13 16:04:53 +05:30
Jongwoo Han 72a4c14920
Proposal: New Chaos Fault for AWS RDS Instance (#4860)
Signed-off-by: Jongwoo Han <jongwooo.han@gmail.com>
Co-authored-by: Namkyu Park <53862866+namkyu1999@users.noreply.github.com>
2024-11-07 19:45:30 +05:30
DongYoung Kim 5f21a1e660
Fix condition not returning error during initial login (#4927)
* Fix an error creating a project when the password is default

Signed-off-by: DongYoung Kim <kwx4957@gmail.com>

* Separate logic into a single if block for better readability

Signed-off-by: DongYoung Kim <kwx4957@gmail.com>

* Fix condition not returning error during initial login

Signed-off-by: DongYoung Kim <kwx4957@gmail.com>

---------

Signed-off-by: DongYoung Kim <kwx4957@gmail.com>
2024-10-29 14:48:09 +05:30
Shubham Chaudhary b17b093bea
chore(3.12.0): Add the installation manifest for 3.12.0 version (#4924)
Signed-off-by: Shubham Chaudhary <shubham.chaudhary@harness.io>
2024-10-16 10:26:05 +05:30
Saranya Jena 2d50a1ac59
Added installation manifests for 3.12.0 (#4922)
Signed-off-by: Saranya-jena <saranya.jena@harness.io>
2024-10-15 16:06:26 +05:30
DongYoung Kim ff85c86891
Add error msg to the log on UpdateChaosExperiment (#4905)
* Add error msg to the log

Signed-off-by: DongYoung Kim <kwx4957@gmail.com>

* Change error to log message for better debugging

Signed-off-by: DongYoung Kim <kwx4957@gmail.com>

---------

Signed-off-by: DongYoung Kim <kwx4957@gmail.com>
2024-10-11 11:50:49 +05:30
Richard Boisvert 5e1ec254a4
Remove invalid links in README.md (#4895)
Removed 3 broken links in the community blogs section as the corresponding pages appear to have been removed from the websites. No suitable replacements were found.

Signed-off-by: Richard Boisvert <rboisvert@devolutions.net>
2024-10-11 11:49:51 +05:30
soyeon Park b719682e7c
bugfix: CIFuzz fail due to timeout on FuzzReadExperimentFile (#4876)
* bugfix: CIFuzz fail due to timeout on FuzzReadExperimentFile
* Since we're testing for non-existent files in our unit tests, we'll skip the unnecessary tests.

Signed-off-by: Soyeon Park <sypark9646@gmail.com>

* bugfix: Delete the FuzzReadExperimentFile test case
* Deleting test cases due to timeouts

Signed-off-by: Soyeon Park <sypark9646@gmail.com>

* bugfix: CIFuzz fail due to timeout on FuzzProcessExperimentRunDelete

Signed-off-by: Soyeon Park <sypark9646@gmail.com>

---------

Signed-off-by: Soyeon Park <sypark9646@gmail.com>
Co-authored-by: Namkyu Park <53862866+namkyu1999@users.noreply.github.com>
2024-10-11 11:48:34 +05:30
Joonkyu Park 57ca03e134
Fix typo (#4919)
Signed-off-by: Joonkyu Park <vpark45@gmail.com>
Co-authored-by: Namkyu Park <53862866+namkyu1999@users.noreply.github.com>
2024-10-11 11:34:47 +05:30
Thiha Min Thant e1f0d646e8
fix: Add Git Username env variable #4315 (#4915)
Signed-off-by: Thiha Min Thant <thihaminthant20@gmail.com>
Co-authored-by: Saranya Jena <saranya.jena@harness.io>
2024-10-09 10:43:15 +05:30
Baalekshan c8e145c085
Support for delete/abort when experiment is stuck in Queued state (#4856)
* Support for delete/abort when experiment is stuck in Queued state

Signed-off-by: Baalekshan <baalekshan@gmail.com>

* Support for delete/abort when experiment is stuck in Queued state

Signed-off-by: Baalekshan <69910615+Baalekshan@users.noreply.github.com>

---------

Signed-off-by: Baalekshan <baalekshan@gmail.com>
Signed-off-by: Baalekshan <69910615+Baalekshan@users.noreply.github.com>
2024-10-08 14:03:10 +05:30
aditya3103 29e7130f4e
Image registry bug fix (#4887)
* fix: fetch image registry data correctly in StudioOverviewView

Fixes an issue where the image registry data was not being fetched

Why:
Previously, the image registry data was not being fetched, even though ExperimentMetadata has a field ‘imageRegistry’. This change ensures that the form receives the correct image registry data.

How:
Added a check for loading state by disabling the ‘next’ button and assigned the fetched image registry data to a variable before form submission. This ensures the `values.imageRegistry` field is populated correctly.

Signed-off-by: Aditya Sridasyam <sridasyamaditya@gmail.com>

* fix: passed imageRegistry in kubernetesBlankCanvasTemplate

Fixes an issue where the image registry data was not being passed in the kubernetesBlankCanvasTemplate function

Why:
kubernetesBlankCanvasTemplate is expecting imageRegistry but never being passed, it is overridden always by default imageRegistry values.

Signed-off-by: Aditya Sridasyam <sridasyamaditya@gmail.com>

* Rectified import order 

imported @utils before `./StudioOverview.module.scss`, rectified as per the frontend check pipeline error 

Signed-off-by: aditya3103 <85363167+aditya3103@users.noreply.github.com>

* Fixed max character limit warning - kubernetesBlankCanvasTemplate function

Signed-off-by: aditya3103 <85363167+aditya3103@users.noreply.github.com>

* Fixed max character limit & trailing comma warning

Signed-off-by: aditya3103 <85363167+aditya3103@users.noreply.github.com>

* Fixed trailing comma warning - kubernetesBlankCanvasTemplate

Signed-off-by: Aditya Sridasyam <sridasyamaditya@gmail.com>

Signed-off-by: aditya3103 <85363167+aditya3103@users.noreply.github.com>

---------

Signed-off-by: Aditya Sridasyam <sridasyamaditya@gmail.com>
Signed-off-by: aditya3103 <85363167+aditya3103@users.noreply.github.com>
Co-authored-by: Saranya Jena <saranya.jena@harness.io>
2024-10-07 16:28:13 +05:30
Suyeon Jung 101557c658
Converted an extended operation type to a root type in the GraphQL schema (#4894)
* Converted an extended operation type to a root type in the GraphQL schema

Signed-off-by: Suyeon Jung <suyeonjungdev@gmail.com>

* Refactored GraphQL schema to use Query and Mutation root types in chaos_experiment.graphqls for gqlgen compatibility

Signed-off-by: Suyeon Jung <suyeonjungdev@gmail.com>

* Update github.com/99designs/gqlgen version 0.17.42 to 0.17.49

Signed-off-by: Suyeon Jung <suyeonjungdev@gmail.com>

---------

Signed-off-by: Suyeon Jung <suyeonjungdev@gmail.com>
Co-authored-by: Namkyu Park <53862866+namkyu1999@users.noreply.github.com>
2024-09-23 10:36:36 +05:30
dependabot[bot] 58e59cc016
chore(deps): Bump go.mongodb.org/mongo-driver (#4891)
Bumps [go.mongodb.org/mongo-driver](https://github.com/mongodb/mongo-go-driver) from 1.16.1 to 1.17.0.
- [Release notes](https://github.com/mongodb/mongo-go-driver/releases)
- [Commits](https://github.com/mongodb/mongo-go-driver/compare/v1.16.1...v1.17.0)

---
updated-dependencies:
- dependency-name: go.mongodb.org/mongo-driver
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-20 01:05:51 +05:30
Kartikay 0d755fc8ee
Auth: Changing PasswordEncryptionCost to reduce the latency in /login api (#4878)
* auth: change PasswordEncryptionCost

Signed-off-by: Kartikay <kartikay_2101ce32@iitpac.in>

* refactor: cost of encryption to 8

Signed-off-by: Kartikay <kartikay_2101ce32@iitpac.in>

* fix: fix goimports

Signed-off-by: Kartikay <kartikay_2101ce32@iitpac.in>

---------

Signed-off-by: Kartikay <kartikay_2101ce32@iitpac.in>
Co-authored-by: Kartikay <kartikay_2101ce32@iitpac.in>
Co-authored-by: Saranya Jena <saranya.jena@harness.io>
2024-09-18 22:43:51 +05:30
Ali e599c3ddaa
ADOPTERS.md updated. (#4870)
Signed-off-by: Ali Çiçek <ali.cicek@enuygun.com>
Co-authored-by: Ali Çiçek <ali.cicek@enuygun.com>
2024-09-18 22:42:11 +05:30
dependabot[bot] 7f923343d7
chore(deps): Bump micromatch from 4.0.5 to 4.0.8 in /chaoscenter/web (#4855)
Bumps [micromatch](https://github.com/micromatch/micromatch) from 4.0.5 to 4.0.8.
- [Release notes](https://github.com/micromatch/micromatch/releases)
- [Changelog](https://github.com/micromatch/micromatch/blob/master/CHANGELOG.md)
- [Commits](https://github.com/micromatch/micromatch/compare/4.0.5...4.0.8)

---
updated-dependencies:
- dependency-name: micromatch
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-18 22:29:09 +05:30
dependabot[bot] 7234efd347
chore(deps): Bump express from 4.18.3 to 4.20.0 in /chaoscenter/web (#4875)
Bumps [express](https://github.com/expressjs/express) from 4.18.3 to 4.20.0.
- [Release notes](https://github.com/expressjs/express/releases)
- [Changelog](https://github.com/expressjs/express/blob/master/History.md)
- [Commits](https://github.com/expressjs/express/compare/4.18.3...4.20.0)

---
updated-dependencies:
- dependency-name: express
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-18 22:14:58 +05:30
dependabot[bot] 1638d6784a
chore(deps): Bump google.golang.org/grpc in /chaoscenter/authentication (#4877)
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.66.0 to 1.66.2.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.66.0...v1.66.2)

---
updated-dependencies:
- dependency-name: google.golang.org/grpc
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-18 22:09:41 +05:30
Vedant Shrotria 970eb38581
Update push.yml (#4884)
Signed-off-by: Vedant Shrotria <vedant.shrotria@harness.io>
2024-09-14 10:27:00 +05:30
Shubham Chaudhary 7e83db582d
chore(3.11.0): Add the installation manifest for 3.11.0 version (#4882)
Signed-off-by: Shubham Chaudhary <shubham.chaudhary@harness.io>
2024-09-14 10:03:30 +05:30
Saranya Jena d9e4d8417e
Added installation manifests for 3.11.0 (#4879)
Signed-off-by: Saranya-jena <saranya.jena@harness.io>
2024-09-14 10:02:59 +05:30
Kartikay 41da06acf9
Revamped Upgrade Agent for Litmus 3.x.x (#4740)
* initialise upgrade-agent

Signed-off-by: Kartikay <120778728+kartikaysaxena@users.noreply.github.com>

* dockerfile revert

Signed-off-by: Kartikay <120778728+kartikaysaxena@users.noreply.github.com>

* go.mod

Signed-off-by: Kartikay <120778728+kartikaysaxena@users.noreply.github.com>

* litmus-portal to chaoscenter

Signed-off-by: Kartikay <120778728+kartikaysaxena@users.noreply.github.com>

* dummy versions and log

Signed-off-by: Kartikay <120778728+kartikaysaxena@users.noreply.github.com>

* CONTRIBUTING.md init

Signed-off-by: Kartikay <120778728+kartikaysaxena@users.noreply.github.com>

* added checks while upgrading

Signed-off-by: Kartikay <120778728+kartikaysaxena@users.noreply.github.com>

* transactions

Signed-off-by: Kartikay <120778728+kartikaysaxena@users.noreply.github.com>

* transaction implemented in v3.4.0

Signed-off-by: Kartikay <120778728+kartikaysaxena@users.noreply.github.com>

* added upgrades for version 3.9.0

Signed-off-by: Kartikay <120778728+kartikaysaxena@users.noreply.github.com>

* nit: gofmt

Signed-off-by: Kartikay <kartikay_2101ce32@iitp.ac.in>

* Template for upgrades

Signed-off-by: Kartikay <kartikay_2101ce32@iitp.ac.in>

* refactoring and dumping dummy versions

Signed-off-by: Kartikay <kartikay_2101ce32@iitp.ac.in>

* gofmt

Signed-off-by: Kartikay <kartikay_2101ce32@iitp.ac.in>

* best practices

Signed-off-by: Kartikay <kartikay_2101ce32@iitp.ac.in>

* removed commented code

Signed-off-by: Kartikay <kartikay_2101ce32@iitp.ac.in>

* added flowchart

Signed-off-by: Kartikay <kartikay_2101ce32@iitp.ac.in>

* removed dummy version from map

Signed-off-by: Kartikay <kartikay_2101ce32@iitp.ac.in>

* refactor: better logs and comments

Signed-off-by: Kartikay <kartikay_2101ce32@iitpac.in>

---------

Signed-off-by: Kartikay <120778728+kartikaysaxena@users.noreply.github.com>
Signed-off-by: Kartikay <kartikay_2101ce32@iitp.ac.in>
Signed-off-by: Kartikay <kartikay_2101ce32@iitpac.in>
Co-authored-by: Saranya Jena <saranya.jena@harness.io>
Co-authored-by: Kartikay <kartikay_2101ce32@iitpac.in>
2024-09-13 18:28:41 +05:30
Janhavi Alekar ed7b5a8463
Added the remoteHub field (for Git repository name) in the ChaosHub Frontend (#4843)
* added dropdown in add chaoshub modal(AddHubModalWizard)

Signed-off-by: JanhaviAlekar <janhavialekar@gmail.com>

* added svg for list chaoshub in chaoshub page(ChaosHubs.tsx)

Signed-off-by: JanhaviAlekar <janhavialekar@gmail.com>

* added dropdown list in edit chaoshub modal(EditHubModalWizard.tsx)

Signed-off-by: JanhaviAlekar <janhavialekar@gmail.com>

* made remoteHub as required field

Signed-off-by: JanhaviAlekar <janhavialekar@gmail.com>

---------

Signed-off-by: JanhaviAlekar <janhavialekar@gmail.com>
2024-09-13 11:53:53 +05:30
dependabot[bot] a5b5866b87
chore(deps): Bump google.golang.org/grpc in /chaoscenter/authentication (#4852)
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.65.0 to 1.66.0.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.65.0...v1.66.0)

---
updated-dependencies:
- dependency-name: google.golang.org/grpc
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Raj Das <mail.rajdas@gmail.com>
2024-09-11 14:39:56 +05:30
Calvinaud 1165445571
Seperate call to retrieve namespace list and retrieve KubeObject for only a single namespace (#4680)
* Create a seperate function to get Namespace in subscriber

Signed-off-by: Calvin Audier <calvinaudier@gmail.com>

* Update graphql server to include KubeNamespace call (model not generated)

Signed-off-by: Calvin Audier <calvinaudier@gmail.com>

* Update graphqls to include KubeNamespace model
Update objectmodel and subscriber to incldue KubeNamespace

Signed-off-by: Calvin Audier <calvinaudier@gmail.com>

* Fix issue in graphqls and adding KubeNamespace type.
Regenerating model with gqlgen.

Signed-off-by: Calvin Audier <calvinaudier@gmail.com>

* Update model to includude missing field in KubeNamespaceData
Rename getKubeNamespace function that didn't match graphqls operation in Subscription
Add missing function for the graphql server to retrieve list of namespace

Signed-off-by: Calvin Audier <calvinaudier@gmail.com>

* Add remaining function in k8s pkg and requests to return list of namespace

Signed-off-by: Calvin Audier <calvinaudier@gmail.com>

* Update graphql/subscriber to transform KubeObject to not be a array since subscriber will only return one element.

Signed-off-by: Calvin Audier <calvinaudier@gmail.com>

* Update web server to seperate call for KubeObject and KubeNamespace.

Signed-off-by: Calvin Audier <calvinaudier@gmail.com>

* Fix import with goimports

Signed-off-by: Calvin Audier <calvinaudier@gmail.com>

* Reverting upgrade of  webpack-dev-server so it's compatible with github workflow

Signed-off-by: Calvin Audier <calvinaudier@gmail.com>

* Run gofmt with correct version.

Signed-off-by: Calvin Audier <calvinaudier@gmail.com>

* Bumping ubi-minimal:8.8 to 8.10 to fix some HIGH CVE severity detected by trivy.

Signed-off-by: Calvin Audier <calvinaudier@gmail.com>

* Updating chaos_infrastructure mock to include KubeNamespace.
Fix a comment

Signed-off-by: Calvin Audier <calvinaudier@gmail.com>

* Fix issue from Codacy
Removing some unused code

Signed-off-by: Calvin Audier <calvinaudier@gmail.com>

* Fix codacy issue:
- Add some trailing comma
- Trying transform subscription function to resolve "non-arrow functions are forbidden"
- Add null check

Signed-off-by: Calvin Audier <calvinaudier@gmail.com>

* Continue fix Codacy issue
- Adding trailing comma
- Re-ordering by alphabetic order some parameters

Signed-off-by: Calvin Audier <calvinaudier@gmail.com>

---------

Signed-off-by: Calvin Audier <calvinaudier@gmail.com>
Signed-off-by: Calvinaud <calvinaudier@gmail.com>
Co-authored-by: Namkyu Park <53862866+namkyu1999@users.noreply.github.com>
Co-authored-by: Saranya Jena <saranya.jena@harness.io>
2024-09-06 13:34:38 +05:30
weeeeestern 2bdec7eee9
add fuzz test in chaos_experiment_run (#4834)
* add handler_fuzz_test file

Signed-off-by: weeeeestern <liz0824@naver.com>

* add service_fuzz_test file

Signed-off-by: weeeeestern <liz0824@naver.com>

* test: add fuzz test

Signed-off-by: weeeeestern <liz0824@naver.com>

* test: add fuzz_test

Signed-off-by: weeeeestern <liz0824@naver.com>

* test: modify fuzz-test

Signed-off-by: weeeeestern <liz0824@naver.com>

* test: modify fuzz-test

Signed-off-by: weeeeestern <liz0824@naver.com>

---------

Signed-off-by: weeeeestern <liz0824@naver.com>
Co-authored-by: Namkyu Park <53862866+namkyu1999@users.noreply.github.com>
Co-authored-by: Saranya Jena <saranya.jena@harness.io>
2024-09-06 12:27:43 +05:30
soyeon Park 4873194142
test: add fuzz test in chaoshub/handler (#4857)
* test: add fuzz test to GetChartsPath function in handler

Signed-off-by: Soyeon Park <sypark9646@gmail.com>

* test: add fuzz test to FuzzReadExperimentFile function in handler

* Removed the ./types.go example in unit test handler_test.go/TestReadExperimentFile because it returns a file does not exist error, not the file is not a yaml error that the test is intended to return.

Signed-off-by: Soyeon Park <sypark9646@gmail.com>

* * test: Add the FuzzReadExperimentYAMLFile test in the handler_fuzz_test.go file

Signed-off-by: Soyeon Park <sypark9646@gmail.com>

* test: add fuzz test to FuzzIsFileExisting function in handler

Signed-off-by: Soyeon Park <sypark9646@gmail.com>

* test: add fuzz test to FuzzGetExperimentData, FuzzUnzipRemoteHub function in handler

Signed-off-by: Soyeon Park <sypark9646@gmail.com>

* refactor: remove unused imported library

Signed-off-by: Soyeon Park <sypark9646@gmail.com>

* fix: check yaml: control characters are not allowed

Signed-off-by: Soyeon Park <sypark9646@gmail.com>

* refactor: save goimport order

Signed-off-by: Soyeon Park <sypark9646@gmail.com>

---------

Signed-off-by: Soyeon Park <sypark9646@gmail.com>
2024-09-06 12:26:08 +05:30
dependabot[bot] f8cc0a90a2
chore(deps): Bump github.com/tidwall/gjson (#4847)
Bumps [github.com/tidwall/gjson](https://github.com/tidwall/gjson) from 1.17.1 to 1.17.3.
- [Commits](https://github.com/tidwall/gjson/compare/v1.17.1...v1.17.3)

---
updated-dependencies:
- dependency-name: github.com/tidwall/gjson
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Saranya Jena <saranya.jena@harness.io>
2024-09-06 12:21:17 +05:30
DongYoung Kim 597b8c9087
Comment response invalidCredentials status has changed from 400 to 401 (#4866)
Signed-off-by: DongYoung Kim <kwx4957@gmail.com>
2024-09-06 12:06:47 +05:30
inpyu e01444b71e
add fuzz test(#4795) (#4816)
Signed-off-by: 잉퓨 <dayeon620@kakao.com>
Co-authored-by: Namkyu Park <53862866+namkyu1999@users.noreply.github.com>
Co-authored-by: Saranya Jena <saranya.jena@harness.io>
Co-authored-by: Vedant Shrotria <vedant.shrotria@harness.io>
2024-09-06 12:02:29 +05:30
Janhavi Alekar 1a037586c2
feat : Group chaos infra in infrastructure selection modal (#4779)
* Adding environment filter in Infrastructure selection modal

Signed-off-by: JanhaviAlekar <janhavialekar@gmail.com>

* setting initialAllInfrastructureLength as 0 initially

Signed-off-by: JanhaviAlekar <janhavialekar@gmail.com>

* making InitialAllInfrastructureLength consistent

Signed-off-by: JanhaviAlekar <janhavialekar@gmail.com>

* Scroll env list and Pagination(infra)

Signed-off-by: JanhaviAlekar <janhavialekar@gmail.com>

* added preSelectedEnvironmentID

Signed-off-by: JanhaviAlekar <janhavialekar@gmail.com>

* Minor changes in code

Signed-off-by: JanhaviAlekar <janhavialekar@gmail.com>

* Refactored code

Signed-off-by: JanhaviAlekar <janhavialekar@gmail.com>

* Changing height of infralist section

Signed-off-by: JanhaviAlekar <janhavialekar@gmail.com>

* Minor improvements

Signed-off-by: JanhaviAlekar <janhavialekar@gmail.com>

---------

Signed-off-by: JanhaviAlekar <janhavialekar@gmail.com>
Co-authored-by: Sahil <sahil.kumar@harness.io>
Co-authored-by: Saranya Jena <saranya.jena@harness.io>
2024-09-06 12:01:53 +05:30
Janhavi Alekar e7c18ba842
added '#' as valid Password Character (#4833)
Signed-off-by: JanhaviAlekar <janhavialekar@gmail.com>
Co-authored-by: Namkyu Park <53862866+namkyu1999@users.noreply.github.com>
2024-09-06 11:47:40 +05:30
Janhavi Alekar 804a4e96bc
Changed schema chaoshub (#4842)
Signed-off-by: JanhaviAlekar <janhavialekar@gmail.com>
2024-09-06 11:47:18 +05:30
hursit 5232f49739
Create wingie-enuygun.md (#4861)
Signed-off-by: hursit <hursit.topal@enuygun.com>
2024-09-04 11:44:45 +05:30
dependabot[bot] 37fae3a457
chore(deps): Bump go.mongodb.org/mongo-driver (#4818)
Bumps [go.mongodb.org/mongo-driver](https://github.com/mongodb/mongo-go-driver) from 1.15.1 to 1.16.1.
- [Release notes](https://github.com/mongodb/mongo-go-driver/releases)
- [Commits](https://github.com/mongodb/mongo-go-driver/compare/v1.15.1...v1.16.1)

---
updated-dependencies:
- dependency-name: go.mongodb.org/mongo-driver
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Saranya Jena <saranya.jena@harness.io>
2024-08-23 13:11:14 +05:30
Suyeon Jung 21054692c5
fix: Correct swagger.json file versions (#4838)
Signed-off-by: Suyeon Jung <suyeonjungdev@gmail.com>
2024-08-23 12:27:26 +05:30
Baalekshan 4f91bc3761
Allow older infras to connect with chaos centre (#4823)
Signed-off-by: Baalekshan <baalekshan@gmail.com>
2024-08-23 12:24:58 +05:30
dependabot[bot] bf3039e902
chore(deps): Bump go.mongodb.org/mongo-driver (#4817)
Bumps [go.mongodb.org/mongo-driver](https://github.com/mongodb/mongo-go-driver) from 1.15.0 to 1.16.1.
- [Release notes](https://github.com/mongodb/mongo-go-driver/releases)
- [Commits](https://github.com/mongodb/mongo-go-driver/compare/v1.15.0...v1.16.1)

---
updated-dependencies:
- dependency-name: go.mongodb.org/mongo-driver
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-08-23 12:21:36 +05:30
dependabot[bot] 938544c7cc
chore(deps): Bump golang.org/x/crypto in /chaoscenter/authentication (#4813)
Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.25.0 to 0.26.0.
- [Commits](https://github.com/golang/crypto/compare/v0.25.0...v0.26.0)

---
updated-dependencies:
- dependency-name: golang.org/x/crypto
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-08-23 12:20:07 +05:30
Janhavi Alekar 273e1a146c
improvement in pagination component (#4832)
Signed-off-by: JanhaviAlekar <janhavialekar@gmail.com>
Co-authored-by: Namkyu Park <53862866+namkyu1999@users.noreply.github.com>
Co-authored-by: Sahil <sahil.kumar@harness.io>
2024-08-23 12:19:16 +05:30
Denish Tomar 90a8990c2c
Improved documentation with spelling and grammar corrections (#4762)
Signed-off-by: Denish Tomar <denishtomar3436@gmail.com>
Co-authored-by: Saranya Jena <saranya.jena@harness.io>
2024-08-23 12:14:47 +05:30
Prashant Andoriya 5f327fc737
Fix Horizontal Scroll Bar in "Enable Chaos Environments" Pop-up (#4692)
Signed-off-by: andoriyaprashant <prashantandoriya@gmail.com>
Co-authored-by: Saranya Jena <saranya.jena@harness.io>
2024-08-23 12:04:03 +05:30
dependabot[bot] 51786f3afe
chore(deps): Bump github.com/99designs/gqlgen (#4708)
Bumps [github.com/99designs/gqlgen](https://github.com/99designs/gqlgen) from 0.17.47 to 0.17.49.
- [Release notes](https://github.com/99designs/gqlgen/releases)
- [Changelog](https://github.com/99designs/gqlgen/blob/master/CHANGELOG.md)
- [Commits](https://github.com/99designs/gqlgen/compare/v0.17.47...v0.17.49)

---
updated-dependencies:
- dependency-name: github.com/99designs/gqlgen
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-08-23 11:57:57 +05:30
Prashant Andoriya 4e7eb5e917
e2e.yml fixed (#4696)
Signed-off-by: andoriyaprashant <prashantandoriya@gmail.com>
Co-authored-by: Namkyu Park <53862866+namkyu1999@users.noreply.github.com>
2024-08-23 11:55:26 +05:30
Janhavi Alekar 5545dd4bf3
fixes #4665 Invalid version details in backend. (#4666)
* fix: Invalid version details in backend.

Signed-off-by: JanhaviAlekar <janhavialekar@gmail.com>

* Checking CIVersion at start

Signed-off-by: JanhaviAlekar <janhavialekar@gmail.com>

---------

Signed-off-by: JanhaviAlekar <janhavialekar@gmail.com>
Co-authored-by: Vedant Shrotria <vedant.shrotria@harness.io>
Co-authored-by: Amit Kumar Das <amit.das@harness.io>
Co-authored-by: Namkyu Park <53862866+namkyu1999@users.noreply.github.com>
2024-08-23 11:50:08 +05:30
Shubham Chaudhary 3263df9e8a
chore(3.10.0): Adding the installation manifest for 3.10.0 (#4830)
Signed-off-by: Shubham Chaudhary <shubham.chaudhary@harness.io>
2024-08-19 10:22:59 +05:30
Jongwoo Han 87dc1c8d54
Rename env to EC2_INSTANCE_TAG (#4815)
Signed-off-by: Jongwoo Han <jongwooo.han@gmail.com>
2024-08-14 15:53:45 +05:30
Jongwoo Han a325a0ebc4
Fix image links in README (#4811)
Signed-off-by: Jongwoo Han <jongwooo.han@gmail.com>
Co-authored-by: Namkyu Park <53862866+namkyu1999@users.noreply.github.com>
2024-08-14 15:47:13 +05:30
Saranya Jena 09cbd37793
Added installation manifests for 3.10.0 (#4827)
Signed-off-by: Saranya-jena <saranya.jena@harness.io>
2024-08-14 15:46:49 +05:30
Hrishav d827c32b12
fix: Fixed routing issues with project switcher (#4828)
Signed-off-by: Hrishav <hrishav.kumar@harness.io>
2024-08-14 15:32:32 +05:30
Aryan Bhokare 50a66ff652
Fixing RBACs of RunChaosExperiment function (#4822)
Signed-off-by: aryan <aryan1bhokare@gmail.com>
Co-authored-by: Saranya Jena <saranya.jena@harness.io>
2024-08-14 11:49:50 +05:30
Bruno Ledesma fd9cb3f38a
Subscriber reconnect (#4776)
* Force infra/subscriber disconnection when is already connected

Signed-off-by: Bruno Ledesma <led.bruno@gmail.com>

* Force infra/subscriber disconnection when is already connected

Signed-off-by: Bruno Ledesma <led.bruno@gmail.com>

---------

Signed-off-by: Bruno Ledesma <led.bruno@gmail.com>
2024-08-14 11:22:05 +05:30
Ji Hoon Bae 3874a5b758
Apply golang code review comments to `chaoscenter/graphql/server/server.go` (#4778)
* feat: remove duplicate import

Signed-off-by: JiHoon Bae <hahawjstk@gmail.com>

* feat: apply import convention

Signed-off-by: JiHoon Bae <hahawjstk@gmail.com>

* feat: apply `Indent Error Flow` from code review comments

Signed-off-by: JiHoon Bae <hahawjstk@gmail.com>

* feat: apply `Indent Error Flow` from code review comments and make simple if statements

Signed-off-by: JiHoon Bae <hahawjstk@gmail.com>

---------

Signed-off-by: JiHoon Bae <hahawjstk@gmail.com>
Co-authored-by: Saranya Jena <saranya.jena@harness.io>
2024-08-14 11:21:47 +05:30
Janhavi Alekar 3959491fa2
all repo support in chaoshub (#4748)
Signed-off-by: JanhaviAlekar <janhavialekar@gmail.com>
Co-authored-by: Namkyu Park <53862866+namkyu1999@users.noreply.github.com>
Co-authored-by: Saranya Jena <saranya.jena@harness.io>
2024-08-14 11:21:23 +05:30
Ji Hoon Bae 69982ee29b
Version up github action workflow that is working with node12 or node16 that is deprecated (#4825)
* ci: version up actions/checkout@v2 to v4

Signed-off-by: JiHoon Bae <hahawjstk@gmail.com>

* ci: version up actions/setup-go@v2 to v5

Signed-off-by: JiHoon Bae <hahawjstk@gmail.com>

* ci: version up actions/setup-node@v3 to v4

Signed-off-by: JiHoon Bae <hahawjstk@gmail.com>

* ci: version up dorny/paths-filter@v2 to v3

Signed-off-by: JiHoon Bae <hahawjstk@gmail.com>

---------

Signed-off-by: JiHoon Bae <hahawjstk@gmail.com>
Co-authored-by: Namkyu Park <53862866+namkyu1999@users.noreply.github.com>
2024-08-13 11:06:34 +05:30
Park, Chang Sun 69cdfc5dd0
[Security] Refactor gitMutex key naming in chaoscenter/graphql/server/pkg/gitops/git-lock.go (#4810)
* fix: gitMutex key naming in chaoscenter/graphql/server/pkg/gitops/git-lock.go

Signed-off-by: ParkChangSun <changsun19991212@gmail.com>

* fix: log key in chaoscenter/graphql/server/pkg/gitops/git-lock.go

Signed-off-by: ParkChangSun <changsun19991212@gmail.com>

* fix: log key in chaoscenter/graphql/server/pkg/gitops/git-lock.go

Signed-off-by: ParkChangSun <changsun19991212@gmail.com>

---------

Signed-off-by: ParkChangSun <changsun19991212@gmail.com>
Co-authored-by: Saranya Jena <saranya.jena@harness.io>
Co-authored-by: Amit Kumar Das <amit.das@harness.io>
2024-08-09 13:59:36 +05:30
Jeongyeon Lee 420d2070c5
feat: Change Connect Hub button to display a loading state (#4797)
Signed-off-by: Lee Jeong Yeon <leeeeeyeonn@gmail.com>
Co-authored-by: Namkyu Park <53862866+namkyu1999@users.noreply.github.com>
Co-authored-by: Saranya Jena <saranya.jena@harness.io>
2024-08-09 12:17:40 +05:30
sukkyun hong 698892dc88
[Security] Added 'eq' operation when querying entitiy (#4820)
* refactor: Added 'eq' operation when querying project entitiy

- Resolving security vulnerabilities raised by codeQL 'Database query built from user-controlled sources'

Signed-off-by: sukkyun2 <goobghd@gmail.com>
(cherry picked from commit 522ddca5e89d26ea14ff97a8c92e05c0f915303c)

* refactor: Added 'eq' operation when querying entitiy

- Resolving security vulnerabilities raised by codeQL 'Database query built from user-controlled sources'

Signed-off-by: sukkyun2 <goobghd@gmail.com>

---------

Signed-off-by: sukkyun2 <goobghd@gmail.com>
Co-authored-by: Namkyu Park <53862866+namkyu1999@users.noreply.github.com>
Co-authored-by: Saranya Jena <saranya.jena@harness.io>
2024-08-09 11:52:54 +05:30
Suhyen Im 1d44031f59
Update README-ko.md file (#4781)
* Update README-ko.md file

Signed-off-by:  Suhyen Im <suhyenim.kor@gmail.com>
Signed-off-by: imsuhyen <ishyenn@gmail.com>

* Update README-ko.md

Signed-off-by:  Suhyen Im <suhyenim.kor@gmail.com>

Signed-off-by: Suhyen Im <suhyenim.kor@gmail.com>

* Update README-ko.md file

Signed-off-by: imsuhyen <suhyenim.kor@gmail.com>

---------

Signed-off-by: Suhyen Im <suhyenim.kor@gmail.com>
Signed-off-by: imsuhyen <ishyenn@gmail.com>
Signed-off-by: imsuhyen <suhyenim.kor@gmail.com>
Co-authored-by: Namkyu Park <53862866+namkyu1999@users.noreply.github.com>
2024-08-09 11:37:15 +05:30
Saranya Jena 9c1f0c794b
Updated release guidelines (#4819)
Signed-off-by: Saranya-jena <saranya.jena@harness.io>
2024-08-08 12:27:38 +05:30
Saranya Jena 1f3cf95afb
Added installation manifest for 3.9.2 (#4804)
Signed-off-by: Saranya-jena <saranya.jena@harness.io>
2024-08-02 15:32:51 +05:30
Saranya Jena 9437cf58b7
Updated error codes to be geenric in login api (#4801)
Signed-off-by: Saranya-jena <saranya.jena@harness.io>
2024-08-02 12:27:08 +05:30
Janhavi Alekar 86e2dd78c1
fix ususual space around project selection card (#4676)
* fix ususual space around project selection card

Signed-off-by: JanhaviAlekar <janhavialekar@gmail.com>

* Removed .grow class

Signed-off-by: JanhaviAlekar <janhavialekar@gmail.com>

* removing grow class

Signed-off-by: JanhaviAlekar <janhavialekar@gmail.com>

---------

Signed-off-by: JanhaviAlekar <janhavialekar@gmail.com>
Signed-off-by: Janhavi Alekar <97527096+JanhaviAlekar@users.noreply.github.com>
Co-authored-by: Namkyu Park <53862866+namkyu1999@users.noreply.github.com>
2024-08-02 10:15:45 +05:30
Aryan Bhokare 691058da50
Added architecture and proposal. (#4525)
Signed-off-by: Aryan Bhokare <92683836+aryan-bhokare@users.noreply.github.com>
Co-authored-by: Namkyu Park <53862866+namkyu1999@users.noreply.github.com>
Co-authored-by: Saranya Jena <saranya.jena@harness.io>
2024-08-01 15:02:32 +05:30
Aryan Bhokare 9d09211678
Feat: Added support for multiple project owners (#4597)
* Modified db schema of Owner.

Signed-off-by: aryan <aryan1bhokare@gmail.com>

* Added new API GetProjectOwners.

Signed-off-by: aryan <aryan1bhokare@gmail.com>

* fix: return type error.

Signed-off-by: aryan <aryan1bhokare@gmail.com>

* chore(deps): Bump golang.org/x/crypto in /chaoscenter/authentication (#4527)

Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.18.0 to 0.21.0.
- [Commits](https://github.com/golang/crypto/compare/v0.18.0...v0.21.0)

---
updated-dependencies:
- dependency-name: golang.org/x/crypto
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): Bump follow-redirects in /chaoscenter/web (#4529)

Bumps [follow-redirects](https://github.com/follow-redirects/follow-redirects) from 1.15.5 to 1.15.6.
- [Release notes](https://github.com/follow-redirects/follow-redirects/releases)
- [Commits](https://github.com/follow-redirects/follow-redirects/compare/v1.15.5...v1.15.6)

---
updated-dependencies:
- dependency-name: follow-redirects
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): Bump github.com/golang/protobuf (#4493)

Bumps [github.com/golang/protobuf](https://github.com/golang/protobuf) from 1.5.3 to 1.5.4.
- [Release notes](https://github.com/golang/protobuf/releases)
- [Commits](https://github.com/golang/protobuf/compare/v1.5.3...v1.5.4)

---
updated-dependencies:
- dependency-name: github.com/golang/protobuf
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Raj Das <mail.rajdas@gmail.com>

* Modified SendInvitation API.

This modification unables to send invite with the role as owner.

Signed-off-by: aryan <aryan1bhokare@gmail.com>

* Modified LeaveProject API.

This modification checks if the User is the last owner of the project and if not User can leave the project.

Signed-off-by: aryan <aryan1bhokare@gmail.com>

* RBAC modification `LeaveProject`.

Allows Owner to be able to leave the project.

Signed-off-by: aryan <aryan1bhokare@gmail.com>

* Added `UpdateMemberRole` API.

This API is used for updating role of the member in the project.

Signed-off-by: aryan <aryan1bhokare@gmail.com>

* Fixed some syntax errors.

Signed-off-by: aryan <aryan1bhokare@gmail.com>

* Updated roles for owner.

Signed-off-by: aryan <aryan1bhokare@gmail.com>

* Added new API `DeleteProject`.
Owner can delete project with help of this API.

Signed-off-by: aryan <aryan1bhokare@gmail.com>

* Added mocks.

Signed-off-by: aryan <aryan1bhokare@gmail.com>

* modified go.sum

Signed-off-by: aryan <aryan1bhokare@gmail.com>

* Added condition `UpdateMemberRole`.

User cannot change role of their own, so that it will avoid edge cases like
1. User is the last owner of the project.
2. User accidentally losing owner access to the projects.

Signed-off-by: aryan <aryan1bhokare@gmail.com>

* made suggested changes.

Signed-off-by: aryan <aryan1bhokare@gmail.com>

* Changed DeleteProject endpoint to have url parameter.

Signed-off-by: aryan <aryan1bhokare@gmail.com>

* Minor fixes.

Signed-off-by: aryan <aryan1bhokare@gmail.com>

* [WIP] : Multiple project owner backend. (#4536)

* Modified db schema of Owner.

Signed-off-by: aryan <aryan1bhokare@gmail.com>

* Added new API GetProjectOwners.

Signed-off-by: aryan <aryan1bhokare@gmail.com>

* fix: return type error.

Signed-off-by: aryan <aryan1bhokare@gmail.com>

* chore(deps): Bump golang.org/x/crypto in /chaoscenter/authentication (#4527)

Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.18.0 to 0.21.0.
- [Commits](https://github.com/golang/crypto/compare/v0.18.0...v0.21.0)

---
updated-dependencies:
- dependency-name: golang.org/x/crypto
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): Bump follow-redirects in /chaoscenter/web (#4529)

Bumps [follow-redirects](https://github.com/follow-redirects/follow-redirects) from 1.15.5 to 1.15.6.
- [Release notes](https://github.com/follow-redirects/follow-redirects/releases)
- [Commits](https://github.com/follow-redirects/follow-redirects/compare/v1.15.5...v1.15.6)

---
updated-dependencies:
- dependency-name: follow-redirects
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): Bump github.com/golang/protobuf (#4493)

Bumps [github.com/golang/protobuf](https://github.com/golang/protobuf) from 1.5.3 to 1.5.4.
- [Release notes](https://github.com/golang/protobuf/releases)
- [Commits](https://github.com/golang/protobuf/compare/v1.5.3...v1.5.4)

---
updated-dependencies:
- dependency-name: github.com/golang/protobuf
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Raj Das <mail.rajdas@gmail.com>

* Modified SendInvitation API.

This modification unables to send invite with the role as owner.

Signed-off-by: aryan <aryan1bhokare@gmail.com>

* Modified LeaveProject API.

This modification checks if the User is the last owner of the project and if not User can leave the project.

Signed-off-by: aryan <aryan1bhokare@gmail.com>

* RBAC modification `LeaveProject`.

Allows Owner to be able to leave the project.

Signed-off-by: aryan <aryan1bhokare@gmail.com>

* Added `UpdateMemberRole` API.

This API is used for updating role of the member in the project.

Signed-off-by: aryan <aryan1bhokare@gmail.com>

* Fixed some syntax errors.

Signed-off-by: aryan <aryan1bhokare@gmail.com>

* Updated roles for owner.

Signed-off-by: aryan <aryan1bhokare@gmail.com>

* Added new API `DeleteProject`.
Owner can delete project with help of this API.

Signed-off-by: aryan <aryan1bhokare@gmail.com>

* Added mocks.

Signed-off-by: aryan <aryan1bhokare@gmail.com>

* modified go.sum

Signed-off-by: aryan <aryan1bhokare@gmail.com>

* Added condition `UpdateMemberRole`.

User cannot change role of their own, so that it will avoid edge cases like
1. User is the last owner of the project.
2. User accidentally losing owner access to the projects.

Signed-off-by: aryan <aryan1bhokare@gmail.com>

* made suggested changes.

Signed-off-by: aryan <aryan1bhokare@gmail.com>

* Changed DeleteProject endpoint to have url parameter.

Signed-off-by: aryan <aryan1bhokare@gmail.com>

* Minor fixes.

Signed-off-by: aryan <aryan1bhokare@gmail.com>

---------

Signed-off-by: aryan <aryan1bhokare@gmail.com>
Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Aryan Bhokare <92683836+aryan-bhokare@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Raj Das <mail.rajdas@gmail.com>

* Added new route .

Signed-off-by: aryan <aryan1bhokare@gmail.com>

* Added `CreateProject` modal.

Added a modal CreateProject with it's controller and views.

Signed-off-by: aryan <aryan1bhokare@gmail.com>

* Some changes in `CreateProjectView`.

Signed-off-by: aryan <aryan1bhokare@gmail.com>

* Added `ProjectDashboardCardMenu`.

Signed-off-by: aryan <aryan1bhokare@gmail.com>

* Added `ProjectDashboardCard`.

Signed-off-by: aryan <aryan1bhokare@gmail.com>

* Added `DeleteProject` API mutations.

Signed-off-by: aryan <aryan1bhokare@gmail.com>

* Added `ProjectDashboard`.

Signed-off-by: aryan <aryan1bhokare@gmail.com>

* Added image and strings.

Signed-off-by: aryan <aryan1bhokare@gmail.com>

* Modified `project entities`.

Added new fields in `Project` struct.
Added fields for filters, pagination, and some constants.
Modified `CreateProjectInput`.

Signed-off-by: aryan <aryan1bhokare@gmail.com>

* [Backend] Modification in Backend for the UI.

Added Filters and pagination in Backend.
Modified API's and added a pipeline for the aggregation of results.

Signed-off-by: aryan <aryan1bhokare@gmail.com>

* Added `project_util` for validation of input request.

Signed-off-by: aryan <aryan1bhokare@gmail.com>

* Indent Fixes

Signed-off-by: aryan <aryan1bhokare@gmail.com>

* Modification for Frontend Hook of `CreateProject` API.

Signed-off-by: aryan <aryan1bhokare@gmail.com>

* Modified `ListProject` Query frontend hook.

Signed-off-by: aryan <aryan1bhokare@gmail.com>

* Removed string constants and some minor changes.

Signed-off-by: aryan <aryan1bhokare@gmail.com>

* Added Project Filters.

Signed-off-by: aryan <aryan1bhokare@gmail.com>

* Added pagination and filter subheader in Dashboard.

Signed-off-by: aryan <aryan1bhokare@gmail.com>

* modified auth-api swagger file.

Signed-off-by: aryan <aryan1bhokare@gmail.com>

* Added tags section in create-project modal.

Signed-off-by: aryan <aryan1bhokare@gmail.com>

* Changes due to modification of API and addition of new strings

Signed-off-by: aryan <aryan1bhokare@gmail.com>

* minor changes and resolved some errors.

Signed-off-by: aryan <aryan1bhokare@gmail.com>

* Added routing when clicked on the card.

Signed-off-by: aryan <aryan1bhokare@gmail.com>

* Modifications in backend tests as per API updates.

Signed-off-by: aryan <aryan1bhokare@gmail.com>

* Fix: NoProjects Element and NoFilteredProject Results element.

Signed-off-by: aryan <aryan1bhokare@gmail.com>

* Added scroll for the project list.

Signed-off-by: aryan <aryan1bhokare@gmail.com>

* Some changes in UI w.r.t Multiple Project Owner Feature.

Signed-off-by: aryan <aryan1bhokare@gmail.com>

* Made search text type insensitive.

Signed-off-by: aryan <aryan1bhokare@gmail.com>

* Update chaoscenter/web/src/controllers/ProjectDashboard/ProjectFilters.tsx

Co-authored-by: Hrishav <hrishav.kumar@harness.io>
Signed-off-by: Aryan Bhokare <92683836+aryan-bhokare@users.noreply.github.com>

* requested changes.

Signed-off-by: aryan <aryan1bhokare@gmail.com>

* removed unnecessary handle function

Signed-off-by: aryan <aryan1bhokare@gmail.com>

* requested backend changes and small fixes

Signed-off-by: aryan <aryan1bhokare@gmail.com>

* Changed folder structure.

Signed-off-by: aryan <aryan1bhokare@gmail.com>

* requested changes.

Signed-off-by: aryan <aryan1bhokare@gmail.com>

* fixed import orders

Signed-off-by: aryan <aryan1bhokare@gmail.com>

* fixing RoleEditor to RoleExecuter

Signed-off-by: aryan <aryan1bhokare@gmail.com>

* removed redundant deleteprojectinput

Signed-off-by: aryan <aryan1bhokare@gmail.com>

* fixed bug caused in merging

Signed-off-by: aryan <aryan1bhokare@gmail.com>

* fixed bug caused in merging

Signed-off-by: aryan <aryan1bhokare@gmail.com>

* removed duplicate struct

Signed-off-by: aryan <aryan1bhokare@gmail.com>

* Fix: frontend chaoshub test

Signed-off-by: aryan <aryan1bhokare@gmail.com>

* fix: tag rendering issue in project dashboard

Signed-off-by: aryan <aryan1bhokare@gmail.com>

* fix: Less user details in createProject

Signed-off-by: aryan <aryan1bhokare@gmail.com>

* fix: import orders

Signed-off-by: aryan <aryan1bhokare@gmail.com>

---------

Signed-off-by: aryan <aryan1bhokare@gmail.com>
Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Aryan Bhokare <92683836+aryan-bhokare@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Raj Das <mail.rajdas@gmail.com>
Co-authored-by: Hrishav <hrishav.kumar@harness.io>
Co-authored-by: Saranya Jena <saranya.jena@harness.io>
2024-07-22 14:14:28 +05:30
Aryan Bhokare 164e280392
Multiple project owner backend (#4774)
* Modified db schema of Owner.

Signed-off-by: aryan <aryan1bhokare@gmail.com>

* Added new API GetProjectOwners.

Signed-off-by: aryan <aryan1bhokare@gmail.com>

* fix: return type error.

Signed-off-by: aryan <aryan1bhokare@gmail.com>

* chore(deps): Bump golang.org/x/crypto in /chaoscenter/authentication (#4527)

Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.18.0 to 0.21.0.
- [Commits](https://github.com/golang/crypto/compare/v0.18.0...v0.21.0)

---
updated-dependencies:
- dependency-name: golang.org/x/crypto
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): Bump follow-redirects in /chaoscenter/web (#4529)

Bumps [follow-redirects](https://github.com/follow-redirects/follow-redirects) from 1.15.5 to 1.15.6.
- [Release notes](https://github.com/follow-redirects/follow-redirects/releases)
- [Commits](https://github.com/follow-redirects/follow-redirects/compare/v1.15.5...v1.15.6)

---
updated-dependencies:
- dependency-name: follow-redirects
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): Bump github.com/golang/protobuf (#4493)

Bumps [github.com/golang/protobuf](https://github.com/golang/protobuf) from 1.5.3 to 1.5.4.
- [Release notes](https://github.com/golang/protobuf/releases)
- [Commits](https://github.com/golang/protobuf/compare/v1.5.3...v1.5.4)

---
updated-dependencies:
- dependency-name: github.com/golang/protobuf
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Raj Das <mail.rajdas@gmail.com>

* Modified SendInvitation API.

This modification unables to send invite with the role as owner.

Signed-off-by: aryan <aryan1bhokare@gmail.com>

* Modified LeaveProject API.

This modification checks if the User is the last owner of the project and if not User can leave the project.

Signed-off-by: aryan <aryan1bhokare@gmail.com>

* RBAC modification `LeaveProject`.

Allows Owner to be able to leave the project.

Signed-off-by: aryan <aryan1bhokare@gmail.com>

* Added `UpdateMemberRole` API.

This API is used for updating role of the member in the project.

Signed-off-by: aryan <aryan1bhokare@gmail.com>

* Fixed some syntax errors.

Signed-off-by: aryan <aryan1bhokare@gmail.com>

* Updated roles for owner.

Signed-off-by: aryan <aryan1bhokare@gmail.com>

* Added new API `DeleteProject`.
Owner can delete project with help of this API.

Signed-off-by: aryan <aryan1bhokare@gmail.com>

* Added mocks.

Signed-off-by: aryan <aryan1bhokare@gmail.com>

* modified go.sum

Signed-off-by: aryan <aryan1bhokare@gmail.com>

* Added condition `UpdateMemberRole`.

User cannot change role of their own, so that it will avoid edge cases like
1. User is the last owner of the project.
2. User accidentally losing owner access to the projects.

Signed-off-by: aryan <aryan1bhokare@gmail.com>

* made suggested changes.

Signed-off-by: aryan <aryan1bhokare@gmail.com>

* Changed DeleteProject endpoint to have url parameter.

Signed-off-by: aryan <aryan1bhokare@gmail.com>

* Minor fixes.

Signed-off-by: aryan <aryan1bhokare@gmail.com>

* fixed import orders

Signed-off-by: aryan <aryan1bhokare@gmail.com>

* fixing RoleEditor to RoleExecuter

Signed-off-by: aryan <aryan1bhokare@gmail.com>

---------

Signed-off-by: aryan <aryan1bhokare@gmail.com>
Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Aryan Bhokare <92683836+aryan-bhokare@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Raj Das <mail.rajdas@gmail.com>
Co-authored-by: Saranya Jena <saranya.jena@harness.io>
2024-07-22 11:49:35 +05:30
Janhavi Alekar 08c111a0aa
Adding gitops support for all git repositories (#4743)
* adding gitops support for all git repo

Signed-off-by: JanhaviAlekar <janhavialekar@gmail.com>

* Changing Github-repository to Remote-repository in UI

Signed-off-by: JanhaviAlekar <janhavialekar@gmail.com>

* Adding comments

Signed-off-by: JanhaviAlekar <janhavialekar@gmail.com>

---------

Signed-off-by: JanhaviAlekar <janhavialekar@gmail.com>
Co-authored-by: Amit Kumar Das <amit.das@harness.io>
Co-authored-by: Namkyu Park <53862866+namkyu1999@users.noreply.github.com>
Co-authored-by: Saranya Jena <saranya.jena@harness.io>
2024-07-22 11:06:30 +05:30
Janhavi Alekar 50c2ef5a6d
Fixes #4673 Improvements in user management screen (#4674)
* fix: Accept Invitation Button duplicates

Signed-off-by: JanhaviAlekar <janhavialekar@gmail.com>

* fix: Delete project Invite Dialog not closing on delete invite

Signed-off-by: JanhaviAlekar <janhavialekar@gmail.com>

* fix: Leave project Dialog not closing on leaving project

Signed-off-by: JanhaviAlekar <janhavialekar@gmail.com>

* fix: handling create user error with toast

Signed-off-by: JanhaviAlekar <janhavialekar@gmail.com>

---------

Signed-off-by: JanhaviAlekar <janhavialekar@gmail.com>
Signed-off-by: Janhavi Alekar <97527096+JanhaviAlekar@users.noreply.github.com>
Co-authored-by: Saranya Jena <saranya.jena@harness.io>
2024-07-22 10:49:39 +05:30
Janhavi Alekar ff21351864
fix cannot read properties of undefined in ChaosFaultController (#4668)
Signed-off-by: JanhaviAlekar <janhavialekar@gmail.com>
Co-authored-by: Amit Kumar Das <amit.das@harness.io>
2024-07-22 10:42:27 +05:30
Dahyeon Kang 67a19857eb
Changing trivy exit code to 1 (#4772)
* feat: change exit-code

Signed-off-by: dusdjhyeon <dusdj0813@gmail.com>

* chore: Just for build triggers

Signed-off-by: dusdjhyeon <dusdj0813@gmail.com>

---------

Signed-off-by: dusdjhyeon <dusdj0813@gmail.com>
2024-07-17 11:35:19 +05:30
Dahyeon Kang 28bbf3c872
UBI migration of Images - chaoscenter (#4753)
* feat: ubi-migration chaoscenter/authentication

Signed-off-by: dusdjhyeon <dusdj0813@gmail.com>

* feat: ubi-migration chaoscenter/event-tracker

Signed-off-by: dusdjhyeon <dusdj0813@gmail.com>

* feat: ubi-migration chaoscenter/graphql-server

Signed-off-by: dusdjhyeon <dusdj0813@gmail.com>

* feat: ubi-migration chaoscenter/subscriber

Signed-off-by: dusdjhyeon <dusdj0813@gmail.com>

* refactor: app user dir uniformity

Signed-off-by: dusdjhyeon <dusdj0813@gmail.com>

* refactor: modify permissions

Signed-off-by: dusdjhyeon <dusdj0813@gmail.com>

---------

Signed-off-by: dusdjhyeon <dusdj0813@gmail.com>
Co-authored-by: Namkyu Park <53862866+namkyu1999@users.noreply.github.com>
Co-authored-by: Vedant Shrotria <vedant.shrotria@harness.io>
2024-07-17 09:53:23 +05:30
dependabot[bot] 0825a7714e
chore(deps): Bump google.golang.org/grpc in /chaoscenter/authentication (#4742)
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.64.0 to 1.65.0.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.64.0...v1.65.0)

---
updated-dependencies:
- dependency-name: google.golang.org/grpc
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Raj Das <mail.rajdas@gmail.com>
2024-07-16 22:19:04 +05:30
Mark Shields 60e5bf647c
docs(install): spelling, grammar (#4755)
* docs(install): spelling, grammar

Signed-off-by: Mark Shields <4237425+beejiujitsu@users.noreply.github.com>

* Update mkdocs/docs/experiments/troubleshooting/install.md

Signed-off-by: Mark Shields <4237425+beejiujitsu@users.noreply.github.com>

---------

Signed-off-by: Mark Shields <4237425+beejiujitsu@users.noreply.github.com>
2024-07-16 22:18:27 +05:30
dependabot[bot] cd64d1a52a
chore(deps): Bump golang.org/x/crypto in /chaoscenter/authentication (#4749)
Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.24.0 to 0.25.0.
- [Commits](https://github.com/golang/crypto/compare/v0.24.0...v0.25.0)

---
updated-dependencies:
- dependency-name: golang.org/x/crypto
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Raj Das <mail.rajdas@gmail.com>
2024-07-16 22:17:26 +05:30
Shubham Chaudhary bf3565e38b
chore(3.9.0): Adding the installation manifest for 3.9.0 (#4770)
Signed-off-by: Shubham Chaudhary <shubham.chaudhary@harness.io>
2024-07-16 10:52:21 +05:30
Saranya Jena 7b562a8c59
Removed envs for jwt secret (#4767)
* updated envs

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* removed installation readme

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* updated manifest

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

---------

Signed-off-by: Saranya-jena <saranya.jena@harness.io>
2024-07-15 17:03:07 +05:30
Baalekshan 0eceb42eb8
Fix not getting experiment pod logs in the UI and format logs (#4732)
* fix: Not getting experiment pod logs in the UI during experiment execution

Signed-off-by: Baalekshan <baalekshan@gmail.com>

* made changes

Signed-off-by: Baalekshan <69910615+Baalekshan@users.noreply.github.com>

* made changes

Signed-off-by: Baalekshan <69910615+Baalekshan@users.noreply.github.com>

---------

Signed-off-by: Baalekshan <baalekshan@gmail.com>
Signed-off-by: Baalekshan <69910615+Baalekshan@users.noreply.github.com>
2024-07-15 16:04:32 +05:30
Sarthak Jain 374c76faa6
added experimentID in response of saveChaosExperiment API (#4765)
Signed-off-by: Sarthak Jain <sarthak.jain@harness.io>
2024-07-15 16:04:21 +05:30
Saranya Jena 7423b8263c
updated dex deployment yaml (#4764)
* updated dex deployment yaml

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* removed jwt secret

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

---------

Signed-off-by: Saranya-jena <saranya.jena@harness.io>
2024-07-15 14:32:48 +05:30
Saranya Jena 462fd1f3f9
Prepended colon in the ports env (#4760)
* Prepended colon in the ports env

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* Prepended colon in the ports env

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* updated manifest

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* updated manifest

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

---------

Signed-off-by: Saranya-jena <saranya.jena@harness.io>
2024-07-15 14:06:13 +05:30
Saranya Jena 33ad30870f
added installation manifest for 3.9.0 (#4763)
* added installation manifest for 3.9

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* removed jwt secret

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

---------

Signed-off-by: Saranya-jena <saranya.jena@harness.io>
2024-07-15 13:12:59 +05:30
Saranya Jena b8de057078
Updated litmus installation yaml (#4757)
* Updated litmus installation yaml

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* Updated litmus installation yaml

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* Updated litmus installation yaml and envs

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* Update chaoscenter/manifests/litmus-installation.yaml

Signed-off-by: Vedant Shrotria <vedant.shrotria@harness.io>

* Update chaoscenter/manifests/litmus-installation.yaml

Signed-off-by: Vedant Shrotria <vedant.shrotria@harness.io>

* Updated tls logic

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* Updated tls logic

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* Updated tls logic

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* fixed tests

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* Updated litmus installation yaml and envs

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* Updated litmus installation yaml and envs

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

---------

Signed-off-by: Saranya-jena <saranya.jena@harness.io>
Signed-off-by: Vedant Shrotria <vedant.shrotria@harness.io>
Co-authored-by: Vedant Shrotria <vedant.shrotria@harness.io>
2024-07-10 20:07:29 +05:30
dependabot[bot] bd08cea355
chore(deps): Bump google.golang.org/grpc in /chaoscenter/graphql/server (#4756)
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.64.0 to 1.64.1.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.64.0...v1.64.1)

---
updated-dependencies:
- dependency-name: google.golang.org/grpc
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-10 13:47:51 +05:30
Saranya Jena 0b239070fb
Fixed issues with go routines (#4754)
Signed-off-by: Saranya-jena <saranya.jena@harness.io>
2024-07-09 17:52:44 +05:30
Hrishav 7503f0d628
feat: Updated login and update password APIs (#4751)
* fix: Added error response in createUser API

Signed-off-by: Hrishav <hrishav.kumar@harness.io>

* fix: added project ID to update password mutation

Signed-off-by: Hrishav <hrishav.kumar@harness.io>

* fix: fixed failing UTs

Signed-off-by: Hrishav <hrishav.kumar@harness.io>

---------

Signed-off-by: Hrishav <hrishav.kumar@harness.io>
2024-07-09 10:14:03 +05:30
Shovan Maity a02767d994
add network policy yamls (#4745)
* add network policy yamls

Signed-off-by: Shovan Maity <shovan.maity@harness.io>

* remove litmus-cluster-scope.yaml

Signed-off-by: Shovan Maity <shovan.maity@harness.io>

* rename litmus-namespaced-scope.yaml -> litmus-installation.yaml

Signed-off-by: Shovan Maity <shovan.maity@harness.io>

---------

Signed-off-by: Shovan Maity <shovan.maity@harness.io>
2024-07-08 17:25:48 +05:30
Saranya Jena 9f4fe2598b
Added env based support for HTTPS connection (#4706)
* Added env based support for HTTPS connection

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* resolved review comments

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* updated logic

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* fixed importd

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* added helper files

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* resolved comments

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* resolved comments

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* Update push.yml

* minor changes

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* minor changes

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* minor changes

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* minor changes

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* minor changes

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* Update push.yml

* updated oush.yam

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* updated manifest

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

---------

Signed-off-by: Saranya-jena <saranya.jena@harness.io>
Co-authored-by: Namkyu Park <53862866+namkyu1999@users.noreply.github.com>
2024-07-08 13:59:43 +05:30
Saranya Jena a00691fe8b
Removed k8s client go dependencies from graphql (#4747)
* removed k8s client-go dependencies

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* Update push.yml

* removed k8s client-go dependencies

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* removed token issues

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* removed token issues

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* removed token issues

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* removed token issues

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* removed token issues

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* removed token issues

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* fixed imports

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* reverted changes for push pipeline

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* updated go mod

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* updated mocks

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* updated manifests

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* updated manifest

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* updated manifest

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

---------

Signed-off-by: Saranya-jena <saranya.jena@harness.io>
2024-07-08 12:52:45 +05:30
Saranya Jena 9d58d8b584
Added support for jwt secret creation of each user upon user login (#4719)
* Added support for jwt secret creation of each user upon logic

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* Fixed imports

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* Add fixes in dex service

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* Fixed UTs

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* resolved comments

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* updated logic

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* fixed UTs and removed unecessary test cases

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* fixed imports

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* fixed imports

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* resolved comments

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* fixed imports

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* resolved comments

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* added server endpoint in allowed origins

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* fixed imports

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* minor chnages

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* minor chnages

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* fixed imports

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

---------

Signed-off-by: Saranya-jena <saranya.jena@harness.io>
2024-07-05 15:14:07 +05:30
Hrishav fb46bb9334
feat: Added password reset as a route to manage initial login case (#4744)
* feat: Added password reset as a route to manage initial login case

Signed-off-by: Hrishav <hrishav.kumar@harness.io>

* feat: Fixed deepspan issue

Signed-off-by: Hrishav <hrishav.kumar@harness.io>

* fix: Updated API response in front-end

Signed-off-by: Hrishav <hrishav.kumar@harness.io>

* chore: addressed review comment

Signed-off-by: Hrishav <hrishav.kumar@harness.io>

---------

Signed-off-by: Hrishav <hrishav.kumar@harness.io>
2024-07-05 12:37:36 +05:30
Saranya Jena 00f0bd7366
Added enhacements in password mandate logic (#4741)
Signed-off-by: Saranya-jena <saranya.jena@harness.io>
2024-07-04 16:21:12 +05:30
Aryan Bhokare 9efc00c2a3
Executor role implementation. (#4737)
* Refactor editor to executer in Authentication service.

Signed-off-by: aryan <aryan1bhokare@gmail.com>

* Refactor editor to executer in GraphQl servers.

Signed-off-by: aryan <aryan1bhokare@gmail.com>

* Changing executor roles.

Signed-off-by: aryan <aryan1bhokare@gmail.com>

* Updation in frontend hooks corresponding to backend refactor.

Signed-off-by: aryan <aryan1bhokare@gmail.com>

* Executer role implementation.

Converted editor roles to executer role in frontend files. And Changed rbacs of the new Executer role.

Signed-off-by: aryan <aryan1bhokare@gmail.com>

* modification of api specs for executor

Signed-off-by: aryan <aryan1bhokare@gmail.com>

* removed executor role from userInfraRegistration and fixed import orders.

Signed-off-by: aryan <aryan1bhokare@gmail.com>

* refactor executer to executor

Signed-off-by: aryan <aryan1bhokare@gmail.com>

* Removing exector permission from launch experiment FE

Signed-off-by: aryan <aryan1bhokare@gmail.com>

* minor fix

Signed-off-by: aryan <aryan1bhokare@gmail.com>

---------

Signed-off-by: aryan <aryan1bhokare@gmail.com>
Co-authored-by: Namkyu Park <53862866+namkyu1999@users.noreply.github.com>
2024-07-02 09:56:16 +05:30
Aryan Bhokare 9d2c93a1cd
Added strict validation for username and password in backend. (#4670)
* Added strict validation for username and password in backend.

Signed-off-by: aryan <aryan1bhokare@gmail.com>

* fixed silly mistake

Signed-off-by: aryan <aryan1bhokare@gmail.com>

* some requested changes.

Signed-off-by: aryan <aryan1bhokare@gmail.com>

* modified tests

Signed-off-by: aryan <aryan1bhokare@gmail.com>

* small change

Signed-off-by: aryan <aryan1bhokare@gmail.com>

* Update message string in chaoscenter/authentication/api/handlers/doc.go

Co-authored-by: Vedant Shrotria <vedant.shrotria@harness.io>
Signed-off-by: Aryan Bhokare <92683836+aryan-bhokare@users.noreply.github.com>

* Update error message chaoscenter/authentication/pkg/utils/sanitizers.go

Co-authored-by: Vedant Shrotria <vedant.shrotria@harness.io>
Signed-off-by: Aryan Bhokare <92683836+aryan-bhokare@users.noreply.github.com>

* Modified swagger with requested changes.

Signed-off-by: aryan <aryan1bhokare@gmail.com>

* added negative tests for requested functions and fixed some conflicts.

Signed-off-by: aryan <aryan1bhokare@gmail.com>

---------

Signed-off-by: aryan <aryan1bhokare@gmail.com>
Signed-off-by: Aryan Bhokare <92683836+aryan-bhokare@users.noreply.github.com>
Co-authored-by: Vedant Shrotria <vedant.shrotria@harness.io>
Co-authored-by: Saranya Jena <saranya.jena@harness.io>
2024-06-27 21:21:24 +05:30
Shovan Maity 544d32401e
update allowed origins list and nginx config (#4730)
* update allowed origins list

Signed-off-by: Shovan Maity <shovan.maity@harness.io>

* update nginx config

Signed-off-by: Shovan Maity <shovan.maity@harness.io>

* add manifest changes

Signed-off-by: Shovan Maity <shovan.maity@harness.io>

* update local value of allowed origins

Signed-off-by: Shovan Maity <shovan.maity@harness.io>

---------

Signed-off-by: Shovan Maity <shovan.maity@harness.io>
2024-06-27 12:43:58 +05:30
Hrishav 16ea8cb728
feat: Added reset password as a mandatory step if new user logs in (#4729)
* feat: Added reset password for new user first login

Signed-off-by: Hrishav <hrishav.kumar@harness.io>

* feat: Resolved few Codacy failing checks

Signed-off-by: Hrishav <hrishav.kumar@harness.io>

---------

Signed-off-by: Hrishav <hrishav.kumar@harness.io>
2024-06-26 09:46:19 +05:30
Saranya Jena 5e52f7f0b5
Added nil check for token validation (#4727)
Signed-off-by: Saranya-jena <saranya.jena@harness.io>
2024-06-25 20:19:13 +05:30
Shovan Maity 17085b44c0
add cors check (#4725)
* add cors check

Signed-off-by: Shovan Maity <shovan.maity@harness.io>

* add cors check custom middleware

Signed-off-by: Shovan Maity <shovan.maity@harness.io>

* change default url

Signed-off-by: Shovan Maity <shovan.maity@harness.io>

---------

Signed-off-by: Shovan Maity <shovan.maity@harness.io>
Signed-off-by: Shovan Maity <shovan.cse91@gmail.com>
2024-06-25 12:14:23 +05:30
Saranya Jena 902cfde41f
Added mandatory checks for default password reset (#4720)
* Added mandatory checks for default password reset

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* Fixed UTs

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

---------

Signed-off-by: Saranya-jena <saranya.jena@harness.io>
2024-06-24 13:50:36 +05:30
dependabot[bot] c7d079691b
chore(deps): Bump ws from 7.5.7 to 7.5.10 in /chaoscenter/web (#4716)
Bumps [ws](https://github.com/websockets/ws) from 7.5.7 to 7.5.10.
- [Release notes](https://github.com/websockets/ws/releases)
- [Commits](https://github.com/websockets/ws/compare/7.5.7...7.5.10)

---
updated-dependencies:
- dependency-name: ws
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-24 13:04:01 +05:30
Saranya Jena fc80010c19
Added necessary rbacs for invite_users and get_project_members API (#4697)
* Added necessary rbacs for invite_users and get_project_members API

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* fixed imports

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* fixed UTs

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* fixed imports

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* fixed UTs

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* resolved review comments

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

---------

Signed-off-by: Saranya-jena <saranya.jena@harness.io>
2024-06-24 12:58:09 +05:30
dependabot[bot] b6c336d06a
chore(deps): Bump go.mongodb.org/mongo-driver (#4715)
Bumps [go.mongodb.org/mongo-driver](https://github.com/mongodb/mongo-go-driver) from 1.15.0 to 1.15.1.
- [Release notes](https://github.com/mongodb/mongo-go-driver/releases)
- [Commits](https://github.com/mongodb/mongo-go-driver/compare/v1.15.0...v1.15.1)

---
updated-dependencies:
- dependency-name: go.mongodb.org/mongo-driver
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-24 12:49:58 +05:30
Shubham Chaudhary e73efaa4ed
chore(schedule): update the scheduler crd (#4721)
Signed-off-by: Shubham Chaudhary <shubham.chaudhary@harness.io>
2024-06-20 13:58:39 +05:30
dependabot[bot] 9297ded05f
chore(deps): Bump github.com/gorilla/websocket (#4713)
Bumps [github.com/gorilla/websocket](https://github.com/gorilla/websocket) from 1.5.1 to 1.5.3.
- [Release notes](https://github.com/gorilla/websocket/releases)
- [Commits](https://github.com/gorilla/websocket/compare/v1.5.1...v1.5.3)

---
updated-dependencies:
- dependency-name: github.com/gorilla/websocket
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-17 11:06:36 +05:30
dependabot[bot] 616ddc30d8
chore(deps): Bump github.com/gorilla/websocket (#4714)
Bumps [github.com/gorilla/websocket](https://github.com/gorilla/websocket) from 1.5.1 to 1.5.3.
- [Release notes](https://github.com/gorilla/websocket/releases)
- [Commits](https://github.com/gorilla/websocket/compare/v1.5.1...v1.5.3)

---
updated-dependencies:
- dependency-name: github.com/gorilla/websocket
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-17 11:06:17 +05:30
Shubham Chaudhary 8dcb09cd67
chore(3.8.0): Adding the installation manifest for 3.8.0 (#4711)
Signed-off-by: Shubham Chaudhary <shubham.chaudhary@harness.io>
2024-06-14 15:44:59 +05:30
Saranya Jena 8b97d596e0
Added installation manifest for 3.8.0 (#4709)
* Added installation manifest for 3.8.0

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* Added env

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

---------

Signed-off-by: Saranya-jena <saranya.jena@harness.io>
2024-06-14 15:39:55 +05:30
Hrishav 12082b3182
fix: Updated Edit Probe button to RBACButton (#4710)
* fix: Updated Edit Probe button to RBACButton

Signed-off-by: Hrishav <hrishav.kumar@harness.io>

* fix: Updated dockerfile

Signed-off-by: Hrishav <hrishav.kumar@harness.io>

---------

Signed-off-by: Hrishav <hrishav.kumar@harness.io>
2024-06-14 12:59:23 +05:30
Vedant Shrotria 50bdd64781
Temporarily removing version check for Database in 3.x (#4703)
Signed-off-by: Vedant Shrotria <vedant.shrotria@harness.io>
2024-06-12 17:40:19 +05:30
dependabot[bot] 91cb1d0864
chore(deps): Bump google.golang.org/protobuf (#4701)
Bumps google.golang.org/protobuf from 1.34.1 to 1.34.2.

---
updated-dependencies:
- dependency-name: google.golang.org/protobuf
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-12 14:35:40 +05:30
dependabot[bot] 3bcb00034f
chore(deps): Bump google.golang.org/protobuf (#4700)
Bumps google.golang.org/protobuf from 1.34.1 to 1.34.2.

---
updated-dependencies:
- dependency-name: google.golang.org/protobuf
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-12 14:35:24 +05:30
dependabot[bot] 39aaeadfe9
chore(deps): Bump golang.org/x/crypto in /chaoscenter/authentication (#4688)
Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.23.0 to 0.24.0.
- [Commits](https://github.com/golang/crypto/compare/v0.23.0...v0.24.0)

---
updated-dependencies:
- dependency-name: golang.org/x/crypto
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-07 12:29:27 +05:30
dependabot[bot] 1e07a4be59
chore(deps): Bump golang.org/x/crypto in /chaoscenter/graphql/server (#4689)
Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.23.0 to 0.24.0.
- [Commits](https://github.com/golang/crypto/compare/v0.23.0...v0.24.0)

---
updated-dependencies:
- dependency-name: golang.org/x/crypto
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-07 12:29:08 +05:30
Namkyu Park 7e496f33f3
update README.md (#4671)
Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>
Co-authored-by: Saranya Jena <saranya.jena@harness.io>
2024-06-07 12:21:38 +05:30
Namkyu Park 92dc14c781
chore: update experiment docs (#4641)
* chore: update docs

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>

* fix: update link

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>

---------

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>
2024-06-07 12:00:41 +05:30
Baalekshan 719d78316d
Hide 'Cluster-Wide' Access in namespace scoped ChaosCentre (#4615)
Signed-off-by: Baalekshan <baalekshan@gmail.com>
2024-06-07 11:53:24 +05:30
Saranya Jena dbf78d8eda
Added env support to enable/disable gql introspection (#4672)
* Added env support to enable/disable gql introspection

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* resolved comments

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* fixed imports

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* fixed build issues

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

---------

Signed-off-by: Saranya-jena <saranya.jena@harness.io>
2024-06-06 12:12:56 +05:30
Saranya Jena cc2aa27264
Upgrade go version in all the modules (#4669)
* upgrade go version in all the modules

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* upgrade go version in dockerfiles

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* upgrade go version in github actions

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* updated go sum

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* updated subscriber dockerfile

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

---------

Signed-off-by: Saranya-jena <saranya.jena@harness.io>
2024-06-04 14:19:36 +05:30
Shubham Chaudhary 720214ce79
fix(logs): fix the rank warning in logs (#4682)
Signed-off-by: Shubham Chaudhary <shubham.chaudhary@harness.io>
2024-06-01 12:27:05 +05:30
Saranya Jena 5e74572bf1
fixed nil pointer issue with default chaoshubs (#4683)
Signed-off-by: Saranya-jena <saranya.jena@harness.io>
2024-06-01 12:03:00 +05:30
Kale Oum Nivrathi f97e583b96
Updating email id of Oum kale (#4658) 2024-05-23 20:32:33 +05:30
dependabot[bot] 98895fef9a
chore(deps): Bump github.com/vektah/gqlparser/v2 (#4660)
Bumps [github.com/vektah/gqlparser/v2](https://github.com/vektah/gqlparser) from 2.5.11 to 2.5.12.
- [Release notes](https://github.com/vektah/gqlparser/releases)
- [Commits](https://github.com/vektah/gqlparser/compare/v2.5.11...v2.5.12)

---
updated-dependencies:
- dependency-name: github.com/vektah/gqlparser/v2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-21 12:01:42 +05:30
dependabot[bot] 4a6f6a5994
--- (#4664)
updated-dependencies:
- dependency-name: github.com/99designs/gqlgen
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-21 12:01:10 +05:30
dependabot[bot] 7b2161e8aa
chore(deps): Bump github.com/gin-contrib/cors (#4659)
Bumps [github.com/gin-contrib/cors](https://github.com/gin-contrib/cors) from 1.3.1 to 1.7.2.
- [Release notes](https://github.com/gin-contrib/cors/releases)
- [Changelog](https://github.com/gin-contrib/cors/blob/master/.goreleaser.yaml)
- [Commits](https://github.com/gin-contrib/cors/compare/v1.3.1...v1.7.2)

---
updated-dependencies:
- dependency-name: github.com/gin-contrib/cors
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-20 20:20:36 +05:30
dependabot[bot] fd40adbb1b
chore(deps): Bump github.com/tidwall/gjson (#4663)
Bumps [github.com/tidwall/gjson](https://github.com/tidwall/gjson) from 1.14.2 to 1.17.1.
- [Commits](https://github.com/tidwall/gjson/compare/v1.14.2...v1.17.1)

---
updated-dependencies:
- dependency-name: github.com/tidwall/gjson
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-20 20:20:20 +05:30
dependabot[bot] 0560e1306d
chore(deps): Bump go.mongodb.org/mongo-driver (#4661)
Bumps [go.mongodb.org/mongo-driver](https://github.com/mongodb/mongo-go-driver) from 1.11.4 to 1.15.0.
- [Release notes](https://github.com/mongodb/mongo-go-driver/releases)
- [Commits](https://github.com/mongodb/mongo-go-driver/compare/v1.11.4...v1.15.0)

---
updated-dependencies:
- dependency-name: go.mongodb.org/mongo-driver
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-20 20:19:33 +05:30
dependabot[bot] 33b38dfec8
chore(deps): Bump github.com/sirupsen/logrus (#4662)
Bumps [github.com/sirupsen/logrus](https://github.com/sirupsen/logrus) from 1.9.0 to 1.9.3.
- [Release notes](https://github.com/sirupsen/logrus/releases)
- [Changelog](https://github.com/sirupsen/logrus/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sirupsen/logrus/compare/v1.9.0...v1.9.3)

---
updated-dependencies:
- dependency-name: github.com/sirupsen/logrus
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-20 20:19:16 +05:30
Sahil ae21ffb011
fix: added username and password validation for various screen (#4650)
* fix: added username and password validation for various screens

Signed-off-by: Sahil <sahil.kumar@harness.io>

* fix: fixed tests

Signed-off-by: Sahil <sahil.kumar@harness.io>

---------

Signed-off-by: Sahil <sahil.kumar@harness.io>
Co-authored-by: Saranya Jena <saranya.jena@harness.io>
2024-05-18 13:40:15 +05:30
dependabot[bot] c4d23a7575
chore(deps): Bump github.com/gin-gonic/gin (#4656)
Bumps [github.com/gin-gonic/gin](https://github.com/gin-gonic/gin) from 1.9.1 to 1.10.0.
- [Release notes](https://github.com/gin-gonic/gin/releases)
- [Changelog](https://github.com/gin-gonic/gin/blob/master/CHANGELOG.md)
- [Commits](https://github.com/gin-gonic/gin/compare/v1.9.1...v1.10.0)

---
updated-dependencies:
- dependency-name: github.com/gin-gonic/gin
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-17 17:59:24 +05:30
dependabot[bot] 86762454a9
chore(deps): Bump go.mongodb.org/mongo-driver (#4654)
Bumps [go.mongodb.org/mongo-driver](https://github.com/mongodb/mongo-go-driver) from 1.14.0 to 1.15.0.
- [Release notes](https://github.com/mongodb/mongo-go-driver/releases)
- [Commits](https://github.com/mongodb/mongo-go-driver/compare/v1.14.0...v1.15.0)

---
updated-dependencies:
- dependency-name: go.mongodb.org/mongo-driver
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-17 17:59:06 +05:30
dependabot[bot] 41635b1c57
chore(deps): Bump google.golang.org/protobuf (#4657)
Bumps google.golang.org/protobuf from 1.34.0 to 1.34.1.

---
updated-dependencies:
- dependency-name: google.golang.org/protobuf
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-17 17:58:46 +05:30
dependabot[bot] d041c56f08
chore(deps): Bump github.com/tidwall/sjson (#4655)
Bumps [github.com/tidwall/sjson](https://github.com/tidwall/sjson) from 1.2.4 to 1.2.5.
- [Commits](https://github.com/tidwall/sjson/compare/v1.2.4...v1.2.5)

---
updated-dependencies:
- dependency-name: github.com/tidwall/sjson
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-17 17:58:29 +05:30
dependabot[bot] a08fc34ff8
chore(deps): Bump google.golang.org/grpc in /chaoscenter/authentication (#4653)
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.61.0 to 1.64.0.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.61.0...v1.64.0)

---
updated-dependencies:
- dependency-name: google.golang.org/grpc
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-17 17:58:11 +05:30
dependabot[bot] 4ddcd841a6
chore(deps): Bump github.com/gorilla/websocket (#4282)
Bumps [github.com/gorilla/websocket](https://github.com/gorilla/websocket) from 1.5.0 to 1.5.1.
- [Release notes](https://github.com/gorilla/websocket/releases)
- [Commits](https://github.com/gorilla/websocket/compare/v1.5.0...v1.5.1)

---
updated-dependencies:
- dependency-name: github.com/gorilla/websocket
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-16 15:30:21 +05:30
dependabot[bot] 32b16e1dc6
chore(deps): Bump github.com/gin-contrib/cors (#4652)
Bumps [github.com/gin-contrib/cors](https://github.com/gin-contrib/cors) from 1.3.1 to 1.7.2.
- [Release notes](https://github.com/gin-contrib/cors/releases)
- [Changelog](https://github.com/gin-contrib/cors/blob/master/.goreleaser.yaml)
- [Commits](https://github.com/gin-contrib/cors/compare/v1.3.1...v1.7.2)

---
updated-dependencies:
- dependency-name: github.com/gin-contrib/cors
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-16 15:28:43 +05:30
Vedant Shrotria d1c63b8454
Added gitleaks in PR-Checks (#4649)
* Added gitleaks in PR-Check

Signed-off-by: Jonsy13 <vedant.shrotria@harness.io>

* Added gitleaks in PR-Check

Signed-off-by: Jonsy13 <vedant.shrotria@harness.io>

* Added gitleaks in PR-Check

Signed-off-by: Jonsy13 <vedant.shrotria@harness.io>

* Added gitleaks in PR-Check

Signed-off-by: Jonsy13 <vedant.shrotria@harness.io>

* Added gitleaks in PR-Check

Signed-off-by: Jonsy13 <vedant.shrotria@harness.io>

---------

Signed-off-by: Jonsy13 <vedant.shrotria@harness.io>
2024-05-16 14:29:00 +05:30
alininja 7e262852f5
Add alternative kill commands for OpenShift (#4609)
* remove extraneous escape characters for memory hog experiment

Signed-off-by: alininja <signup@alininja.anonaddy.com>

* remove extraneous escape characters for cpu hog experiment

Signed-off-by: alininja <signup@alininja.anonaddy.com>

* fix suggested alternative command in tuneables table as well

Signed-off-by: alininja <signup@alininja.anonaddy.com>

---------

Signed-off-by: alininja <signup@alininja.anonaddy.com>
2024-05-16 14:27:54 +05:30
dependabot[bot] 8aa70f674c
chore(deps): Bump github.com/gin-gonic/gin (#4635)
Bumps [github.com/gin-gonic/gin](https://github.com/gin-gonic/gin) from 1.9.1 to 1.10.0.
- [Release notes](https://github.com/gin-gonic/gin/releases)
- [Changelog](https://github.com/gin-gonic/gin/blob/master/CHANGELOG.md)
- [Commits](https://github.com/gin-gonic/gin/compare/v1.9.1...v1.10.0)

---
updated-dependencies:
- dependency-name: github.com/gin-gonic/gin
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-16 14:24:44 +05:30
dependabot[bot] e6600c5f66
chore(deps): Bump golang.org/x/crypto in /chaoscenter/authentication (#4636)
Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.22.0 to 0.23.0.
- [Commits](https://github.com/golang/crypto/compare/v0.22.0...v0.23.0)

---
updated-dependencies:
- dependency-name: golang.org/x/crypto
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-16 14:24:26 +05:30
dependabot[bot] 6946c56782
chore(deps): Bump github.com/jinzhu/copier (#4639)
Bumps [github.com/jinzhu/copier](https://github.com/jinzhu/copier) from 0.3.5 to 0.4.0.
- [Commits](https://github.com/jinzhu/copier/compare/v0.3.5...v0.4.0)

---
updated-dependencies:
- dependency-name: github.com/jinzhu/copier
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-16 14:23:53 +05:30
dependabot[bot] 3c7c3ea8db
chore(deps): Bump sigs.k8s.io/yaml in /chaoscenter/graphql/server (#4640)
Bumps [sigs.k8s.io/yaml](https://github.com/kubernetes-sigs/yaml) from 1.3.0 to 1.4.0.
- [Release notes](https://github.com/kubernetes-sigs/yaml/releases)
- [Changelog](https://github.com/kubernetes-sigs/yaml/blob/master/RELEASE.md)
- [Commits](https://github.com/kubernetes-sigs/yaml/compare/v1.3.0...v1.4.0)

---
updated-dependencies:
- dependency-name: sigs.k8s.io/yaml
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-16 14:23:24 +05:30
dependabot[bot] 0eec8ed7f1
chore(deps): Bump google.golang.org/grpc in /chaoscenter/graphql/server (#4648)
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.56.3 to 1.64.0.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.56.3...v1.64.0)

---
updated-dependencies:
- dependency-name: google.golang.org/grpc
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-16 14:22:34 +05:30
Shubham Chaudhary 38ddcb8117
chore(3.7.0): Adding the installation manifest for 3.7.0 (#4647)
Signed-off-by: Shubham Chaudhary <shubham.chaudhary@harness.io>
2024-05-16 10:04:38 +05:30
Vedant Shrotria 26a4e2fa69
Added permissions to get secrets for graphql server (#4645)
Signed-off-by: Jonsy13 <vedant.shrotria@harness.io>
2024-05-15 21:27:34 +05:30
Saranya Jena 15f24bcc16
Added installation manifest for 3.7.0 (#4644)
* Added installation manifest for 3.7.0

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* Added changes for 3.7.x

Signed-off-by: Jonsy13 <vedant.shrotria@harness.io>

---------

Signed-off-by: Saranya-jena <saranya.jena@harness.io>
Signed-off-by: Jonsy13 <vedant.shrotria@harness.io>
Co-authored-by: Jonsy13 <vedant.shrotria@harness.io>
2024-05-15 15:05:55 +05:30
Hrishav 1124ea8281
feat: Added edit Probe button in probe details tab (#4606)
Signed-off-by: Hrishav <hrishav.kumar@harness.io>
Co-authored-by: Saranya Jena <saranya.jena@harness.io>
2024-05-15 13:18:20 +05:30
Hrishav 9b91eb7056
fix: Removed allErrors falg from PROD env (#4614)
Signed-off-by: Hrishav <hrishav.kumar@harness.io>
Co-authored-by: Saranya Jena <saranya.jena@harness.io>
2024-05-15 12:51:19 +05:30
Hrishav bd6c3cdc87
fix: Removed unused axios package (#4628)
* fix: Removed unused axios package

Signed-off-by: Hrishav <hrishav.kumar@harness.io>

* chore: Added trivyignore file

Signed-off-by: Hrishav <hrishav.kumar@harness.io>

---------

Signed-off-by: Hrishav <hrishav.kumar@harness.io>
Co-authored-by: Namkyu Park <53862866+namkyu1999@users.noreply.github.com>
2024-05-15 12:42:55 +05:30
Shubham Chaudhary effdddfa6d
docs(k8s-version): update the litmus & k8s version compatibility metrics (#4643)
Signed-off-by: Shubham Chaudhary <shubham.chaudhary@harness.io>
2024-05-13 18:14:26 +05:30
Namkyu Park 87f06850ab
Replace deprecated package (#4559)
* upgrade: upgrade codeql version

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>

* feat: replace deprecated pkg in auth

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>

* feat: replace unused pkg to subscriber

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>

* fix: replace unused pkg to graphql

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>

* fix: resolve conflict

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>

---------

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>
Co-authored-by: Saranya Jena <saranya.jena@harness.io>
2024-05-12 23:42:51 +05:30
Chaitanya Deshmukh 53c1165144
tests: add tests for `chaoscenter/authentication/api/middleware/jwt_middlware.go` (#4574)
* Add unit tests for JwtMiddleware in jwt_middleware_test.go

Signed-off-by: ChaitanyaD48 <chaitanya.d48@gmail.com>

* Ordering of Imports Updated

Signed-off-by: ChaitanyaD48 <chaitanya.d48@gmail.com>

* Ordering of Imports Updated

Signed-off-by: ChaitanyaD48 <chaitanya.d48@gmail.com>

---------

Signed-off-by: ChaitanyaD48 <chaitanya.d48@gmail.com>
Co-authored-by: Saranya Jena <saranya.jena@harness.io>
2024-05-09 23:20:06 +05:30
dependabot[bot] f654eb62e3
chore(deps): Bump golang.org/x/oauth2 in /chaoscenter/authentication (#4621)
Bumps [golang.org/x/oauth2](https://github.com/golang/oauth2) from 0.16.0 to 0.20.0.
- [Commits](https://github.com/golang/oauth2/compare/v0.16.0...v0.20.0)

---
updated-dependencies:
- dependency-name: golang.org/x/oauth2
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-09 23:18:30 +05:30
dependabot[bot] eb27f7118e
chore(deps): Bump github.com/gorilla/websocket (#4625)
Bumps [github.com/gorilla/websocket](https://github.com/gorilla/websocket) from 1.5.0 to 1.5.1.
- [Release notes](https://github.com/gorilla/websocket/releases)
- [Commits](https://github.com/gorilla/websocket/compare/v1.5.0...v1.5.1)

---
updated-dependencies:
- dependency-name: github.com/gorilla/websocket
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-09 23:18:15 +05:30
dependabot[bot] 028d887b8a
chore(deps): Bump github.com/go-git/go-git/v5 (#4626)
Bumps [github.com/go-git/go-git/v5](https://github.com/go-git/go-git) from 5.11.0 to 5.12.0.
- [Release notes](https://github.com/go-git/go-git/releases)
- [Commits](https://github.com/go-git/go-git/compare/v5.11.0...v5.12.0)

---
updated-dependencies:
- dependency-name: github.com/go-git/go-git/v5
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-09 23:18:00 +05:30
Chaitanya Deshmukh 1aba8365dc
Improved Probe Card Text Formatting #4578
Signed-off-by: ChaitanyaD48 <chaitanya.d48@gmail.com>
Co-authored-by: Namkyu Park <53862866+namkyu1999@users.noreply.github.com>
2024-05-09 23:09:46 +05:30
okestro-yj.yoo 99ea826d46
refectoring: simplify code (#4580)
- some conditional expressions have been simplified.

Signed-off-by: Youngjun <yj.yoo@okestro.com>
Co-authored-by: Namkyu Park <53862866+namkyu1999@users.noreply.github.com>
2024-05-09 23:06:23 +05:30
dependabot[bot] f10f5a62d7
chore(deps): Bump webpack-dev-middleware in /chaoscenter/web (#4547)
Bumps [webpack-dev-middleware](https://github.com/webpack/webpack-dev-middleware) from 5.3.3 to 5.3.4.
- [Release notes](https://github.com/webpack/webpack-dev-middleware/releases)
- [Changelog](https://github.com/webpack/webpack-dev-middleware/blob/v5.3.4/CHANGELOG.md)
- [Commits](https://github.com/webpack/webpack-dev-middleware/compare/v5.3.3...v5.3.4)

---
updated-dependencies:
- dependency-name: webpack-dev-middleware
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-09 23:01:33 +05:30
dependabot[bot] b81630ac5c
chore(deps): Bump github.com/stretchr/testify in /chaoscenter/subscriber (#4572)
Bumps [github.com/stretchr/testify](https://github.com/stretchr/testify) from 1.8.2 to 1.9.0.
- [Release notes](https://github.com/stretchr/testify/releases)
- [Commits](https://github.com/stretchr/testify/compare/v1.8.2...v1.9.0)

---
updated-dependencies:
- dependency-name: github.com/stretchr/testify
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-09 23:00:30 +05:30
dependabot[bot] ab4e25d41f
chore(deps): Bump github.com/mrz1836/go-sanitize (#4622)
Bumps [github.com/mrz1836/go-sanitize](https://github.com/mrz1836/go-sanitize) from 1.3.1 to 1.3.2.
- [Release notes](https://github.com/mrz1836/go-sanitize/releases)
- [Changelog](https://github.com/mrz1836/go-sanitize/blob/master/.goreleaser.yml)
- [Commits](https://github.com/mrz1836/go-sanitize/compare/v1.3.1...v1.3.2)

---
updated-dependencies:
- dependency-name: github.com/mrz1836/go-sanitize
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-09 22:58:28 +05:30
dependabot[bot] c08fe17823
chore(deps): Bump github.com/google/uuid in /chaoscenter/graphql/server (#4624)
Bumps [github.com/google/uuid](https://github.com/google/uuid) from 1.3.0 to 1.6.0.
- [Release notes](https://github.com/google/uuid/releases)
- [Changelog](https://github.com/google/uuid/blob/master/CHANGELOG.md)
- [Commits](https://github.com/google/uuid/compare/v1.3.0...v1.6.0)

---
updated-dependencies:
- dependency-name: github.com/google/uuid
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-09 22:58:12 +05:30
dependabot[bot] 57790e510a
chore(deps): Bump google.golang.org/protobuf (#4629)
Bumps google.golang.org/protobuf from 1.33.0 to 1.34.1.

---
updated-dependencies:
- dependency-name: google.golang.org/protobuf
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-09 22:57:48 +05:30
dependabot[bot] a8db83aceb
chore(deps): Bump github.com/99designs/gqlgen (#4631)
Bumps [github.com/99designs/gqlgen](https://github.com/99designs/gqlgen) from 0.17.42 to 0.17.46.
- [Release notes](https://github.com/99designs/gqlgen/releases)
- [Changelog](https://github.com/99designs/gqlgen/blob/master/CHANGELOG.md)
- [Commits](https://github.com/99designs/gqlgen/compare/v0.17.42...v0.17.46)

---
updated-dependencies:
- dependency-name: github.com/99designs/gqlgen
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-09 22:57:33 +05:30
Prithvi Raj 9175465c11
Update RELEASE GUIDELINES (#4630)
* Update CODE_OF_CONDUCT.md

updated code of conduct according to latest guidelines

Signed-off-by: Prithvi Raj <52114109+prithvi1307@users.noreply.github.com>

* Update ADOPTERS.md

updating latest adopters

Signed-off-by: Prithvi Raj <52114109+prithvi1307@users.noreply.github.com>

* Create community folder

Signed-off-by: Prithvi Raj <52114109+prithvi1307@users.noreply.github.com>

* Delete community

Signed-off-by: Prithvi Raj <52114109+prithvi1307@users.noreply.github.com>

* Create Readme.md

Signed-off-by: Prithvi Raj <52114109+prithvi1307@users.noreply.github.com>

* Update Community Readme.md

Signed-off-by: Prithvi Raj <52114109+prithvi1307@users.noreply.github.com>

* Update README.md

update readme with community details

Signed-off-by: Prithvi Raj <52114109+prithvi1307@users.noreply.github.com>

* Add Gsoc Mentorship Details v1

Signed-off-by: Prithvi Raj <52114109+prithvi1307@users.noreply.github.com>

* Add Security image

Signed-off-by: Prithvi Raj <52114109+prithvi1307@users.noreply.github.com>

* Rename Screenshot 2024-03-21 at 11.33.32 AM.png to securityreport

Signed-off-by: Prithvi Raj <52114109+prithvi1307@users.noreply.github.com>

* Rename securityreport to securityreport.png

Signed-off-by: Prithvi Raj <52114109+prithvi1307@users.noreply.github.com>

* Adding Security Image

adding image to report vulnerability

Signed-off-by: Prithvi Raj <52114109+prithvi1307@users.noreply.github.com>

* Update SECURITY.md

updating security.md

Signed-off-by: Prithvi Raj <52114109+prithvi1307@users.noreply.github.com>

* Create community-roles.md

Signed-off-by: Prithvi Raj <52114109+prithvi1307@users.noreply.github.com>

* Update community-roles.md

Signed-off-by: Prithvi Raj <52114109+prithvi1307@users.noreply.github.com>

* Update community-roles.md

Signed-off-by: Prithvi Raj <52114109+prithvi1307@users.noreply.github.com>

* Update README.md

Signed-off-by: Prithvi Raj <52114109+prithvi1307@users.noreply.github.com>

* Adding Report a Vulnerability image

Signed-off-by: Prithvi Raj <52114109+prithvi1307@users.noreply.github.com>

* Update SECURITY.md

Signed-off-by: Prithvi Raj <52114109+prithvi1307@users.noreply.github.com>

* Update ADOPTERS.md

Signed-off-by: Prithvi Raj <52114109+prithvi1307@users.noreply.github.com>

* Update GOVERNANCE.md

Signed-off-by: Prithvi Raj <52114109+prithvi1307@users.noreply.github.com>

* Update RELEASE_GUIDELINES.md

Signed-off-by: Prithvi Raj <52114109+prithvi1307@users.noreply.github.com>

* Update RELEASE_GUIDELINES.md

Signed-off-by: Prithvi Raj <52114109+prithvi1307@users.noreply.github.com>

* Update RELEASE_GUIDELINES.md

Signed-off-by: Prithvi Raj <52114109+prithvi1307@users.noreply.github.com>

* Update RELEASE_GUIDELINES.md

Signed-off-by: Prithvi Raj <52114109+prithvi1307@users.noreply.github.com>

---------

Signed-off-by: Prithvi Raj <52114109+prithvi1307@users.noreply.github.com>
Co-authored-by: Saranya Jena <saranya.jena@harness.io>
Co-authored-by: Namkyu Park <53862866+namkyu1999@users.noreply.github.com>
2024-05-09 19:46:09 +05:30
Saranya Jena 8e87c1ee7c
Added necessary RBACs for creating and fetching jwt token (#4619)
* Added necessary RBACs for creating and fetching jwt token

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* fixed UTs

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* Added rbac in get user api

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* fixed UTs

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

---------

Signed-off-by: Saranya-jena <saranya.jena@harness.io>
Co-authored-by: Namkyu Park <53862866+namkyu1999@users.noreply.github.com>
2024-05-07 14:18:39 +05:30
Saranya Jena 197dd6065b
Made the login error messages generic (#4627)
* Made the login error messages generic

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* minor fix

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

---------

Signed-off-by: Saranya-jena <saranya.jena@harness.io>
Co-authored-by: Namkyu Park <53862866+namkyu1999@users.noreply.github.com>
2024-05-07 12:11:16 +05:30
Shubham Chaudhary bfd5eb246b
chore(rbac): Restructure RBACs to resolve secrets/cm poisoning (separate roles restriction) (#4607)
* chore(rbac): Restructure RBACs to resolve secrets/cm poisoning (separate roles restriction)

Signed-off-by: Shubham Chaudhary <shubham.chaudhary@harness.io>

* chore(rbac): run workflow controller in ns mode

Signed-off-by: Shubham Chaudhary <shubham.chaudhary@harness.io>

---------

Signed-off-by: Shubham Chaudhary <shubham.chaudhary@harness.io>
2024-05-06 15:07:15 +05:30
Saranya Jena 0e84171713
Updated golang.org/x/net to 0.24.0 in backend (#4618)
* Updated golang.org/x/net to 0.24.0 in backend

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* updated go sum

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

---------

Signed-off-by: Saranya-jena <saranya.jena@harness.io>
2024-05-06 11:49:01 +05:30
dependabot[bot] c82f7ac9e0
chore(deps): Bump golang.org/x/net in /chaoscenter/authentication (#4591)
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.22.0 to 0.23.0.
- [Commits](https://github.com/golang/net/compare/v0.22.0...v0.23.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Vedant Shrotria <vedant.shrotria@harness.io>
2024-05-06 10:56:52 +05:30
Shubham Chaudhary e15d6700f0
chore(tls): Fix the subscriber & event-tracker to add CUSTOM_TLS_CERT to root cert pool instead of override (#4604)
Signed-off-by: Shubham Chaudhary <shubham.chaudhary@harness.io>
Co-authored-by: Vedant Shrotria <vedant.shrotria@harness.io>
2024-05-03 13:01:22 +05:30
Hrishav 2d965b5ca2
chore: Updated CRD version in Infrastructure installation (#4602)
Signed-off-by: Hrishav <hrishav.kumar@harness.io>
Co-authored-by: Saranya Jena <saranya.jena@harness.io>
2024-05-02 11:55:22 +05:30
dependabot[bot] bcdb799d26
chore(deps): Bump github.com/golang/protobuf (#4575)
Bumps [github.com/golang/protobuf](https://github.com/golang/protobuf) from 1.5.3 to 1.5.4.
- [Release notes](https://github.com/golang/protobuf/releases)
- [Commits](https://github.com/golang/protobuf/compare/v1.5.3...v1.5.4)

---
updated-dependencies:
- dependency-name: github.com/golang/protobuf
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-26 12:32:39 +05:30
Saranya Jena 529b910cb9
Update README.md (#4608)
Signed-off-by: Saranya Jena <saranya.jena@harness.io>
2024-04-25 23:10:29 +05:30
Saranya Jena b7bbc55481
Added installation manifests for 3.6.1 (#4600)
* Added installation manifests for 3.6.1

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* Added changes for chaos-3.6.1

Signed-off-by: Jonsy13 <vedant.shrotria@harness.io>

---------

Signed-off-by: Saranya-jena <saranya.jena@harness.io>
Signed-off-by: Jonsy13 <vedant.shrotria@harness.io>
Co-authored-by: Jonsy13 <vedant.shrotria@harness.io>
2024-04-24 16:28:35 +05:30
Shubham Chaudhary 496ac7fd16
chore(rbac): Consolidate the serviceaccounts in the chaos infrastructure (#4598)
* chore(rbac): Consolidate the serviceaccounts in the chaos infrastructure

Signed-off-by: Shubham Chaudhary <shubham.chaudhary@harness.io>

* add rbac for event tracker

Signed-off-by: Shubham Chaudhary <shubham.chaudhary@harness.io>

---------

Signed-off-by: Shubham Chaudhary <shubham.chaudhary@harness.io>
2024-04-24 14:38:43 +05:30
Shubham Chaudhary a102b66dcf
chore(3.6.0): Adding the installation manifest for 3.6.0 (#4583)
Signed-off-by: Shubham Chaudhary <shubham.chaudhary@harness.io>
2024-04-15 13:04:51 +05:30
Saranya Jena bb29e4c24d
Added installation manifests for 3.6.0 (#4581)
Signed-off-by: Saranya-jena <saranya.jena@harness.io>
2024-04-15 12:55:30 +05:30
Saranya Jena 5267d5286f
leveraging crypto/rand package to generate access keys (#4577)
Signed-off-by: Saranya-jena <saranya.jena@harness.io>
2024-04-15 11:43:37 +05:30
Prithvi Raj 7e6ac525d7
Updates to security, governance and adopters (#4579)
* Update ADOPTERS.md

updating latest adopters

Signed-off-by: Prithvi Raj <52114109+prithvi1307@users.noreply.github.com>
2024-04-15 10:37:15 +05:30
Namkyu Park 53b91615bb
Add a k6-loadgen chaos fault to mkdocs (#4509)
* feat: add k6-loadgen docs

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>

* fix: enhance docs

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>

* chore: delete unused tab

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>

* fix: type

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>

* fix: update diagram

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>

---------

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>
2024-04-12 15:39:44 +05:30
smit thakkar cea879c320
Show `Login with SSO` button when Dex is enabled (#4538)
* feat: expose dex login enabled through capabilities route

Signed-off-by: smit thakkar <smit.thakkar@deliveryhero.com>

* chore: generate docs

Signed-off-by: smit thakkar <smit.thakkar@deliveryhero.com>

* chore: generate client functions for capabilities

Signed-off-by: smit thakkar <smit.thakkar@deliveryhero.com>

* feat: show login with sso button when dex is enabled

Signed-off-by: smit thakkar <smit.thakkar@deliveryhero.com>

* style: fix codacy errors

Signed-off-by: smit thakkar <smit.thakkar@deliveryhero.com>

* chore: go mod tidy

Signed-off-by: smit thakkar <smit.thakkar@deliveryhero.com>

---------

Signed-off-by: smit thakkar <smit.thakkar@deliveryhero.com>
Co-authored-by: Saranya Jena <saranya.jena@harness.io>
2024-04-08 17:45:48 +05:30
Kartikay 77336cb170
User Management Screen improvements (#4454)
* pagination added

Signed-off-by: Kartikay <kartikay_2101ce32@iitp.ac.in>

* manual itemsPerPage limit options

Signed-off-by: Kartikay <kartikay_2101ce32@iitp.ac.in>

* manual itemsPerPage limit options

Signed-off-by: Kartikay <kartikay_2101ce32@iitp.ac.in>

Signed-off-by: Kartikay <kartikay_2101ce32@iitp.ac.in>

* Update chaoscenter/web/src/views/AccountSettingsUserManagement/AccountSettingsUserManagement.tsx

Co-authored-by: Sahil <sahil.kumar@harness.io>
Signed-off-by: Kartikay <120778728+kartikaysaxena@users.noreply.github.com>

* Update chaoscenter/web/src/views/AccountSettingsUserManagement/AccountSettingsUserManagement.tsx

Co-authored-by: Sahil <sahil.kumar@harness.io>
Signed-off-by: Kartikay <120778728+kartikaysaxena@users.noreply.github.com>

* Update chaoscenter/web/src/views/AccountSettingsUserManagement/AccountSettingsUserManagement.tsx

Co-authored-by: Sahil <sahil.kumar@harness.io>
Signed-off-by: Kartikay <120778728+kartikaysaxena@users.noreply.github.com>

* suggestion implemented

Signed-off-by: Kartikay <120778728+kartikaysaxena@users.noreply.github.com>

---------

Signed-off-by: Kartikay <kartikay_2101ce32@iitp.ac.in>
Signed-off-by: Kartikay <120778728+kartikaysaxena@users.noreply.github.com>
Co-authored-by: Saranya Jena <saranya.jena@harness.io>
Co-authored-by: Sarthak Jain <sarthak.jain@harness.io>
Co-authored-by: Hrishav <hrishav.kumar@harness.io>
Co-authored-by: Sahil <sahil.kumar@harness.io>
2024-04-08 11:44:13 +05:30
Saranya Jena fc0b70ce19
Updated ci-fuzz github workflow to run on specific paths and fuzz duration (#4573)
Signed-off-by: Saranya-jena <saranya.jena@harness.io>
Co-authored-by: Vedant Shrotria <vedant.shrotria@harness.io>
2024-04-08 11:13:26 +05:30
Nabil Houidi 0048ab1f8e
fix(ui): make gitops git access token text field hidden (#4553)
Signed-off-by: Nabil Houidi <35373676+NabilHouidi@users.noreply.github.com>
Co-authored-by: Saranya Jena <saranya.jena@harness.io>
2024-04-05 12:22:21 +05:30
Namkyu Park 36276bbf06
fix: resolve templates in ChaosHub not running correctly (#4561)
* fix: add uuid after auto-generated probe name

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>

* fix: add create ns role

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>

---------

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>
2024-04-05 11:01:18 +05:30
Michael Morris 43819fbe35
Remove unused variable (#4552)
Signed-off-by: MichaelMorris <michael.morris@est.tech>
2024-04-05 10:20:40 +05:30
M R DHANUSH c1467b704a
verifying EnvironmentID (#4484)
Signed-off-by: Dhanush0369 <dhanush789245@gmail.com>
Co-authored-by: Sarthak Jain <sarthak.jain@harness.io>
Co-authored-by: Saranya Jena <saranya.jena@harness.io>
2024-04-05 10:17:27 +05:30
Amit Kumar Das cc74f22cb5
added fuzzy test for subscriber (#4518)
* added fuzzy test for subscriber

Signed-off-by: Amit Kumar Das <amit.das@harness.io>

* removed print statements

Signed-off-by: Amit Kumar Das <amit.das@harness.io>

---------

Signed-off-by: Amit Kumar Das <amit.das@harness.io>
Co-authored-by: Saranya Jena <saranya.jena@harness.io>
2024-04-04 21:28:38 +05:30
Amit Kumar Das 328bd2610d
chore: [#4397]: Added env to support connection of custom default chaos-hub (#4495)
Signed-off-by: Amit Kumar Das <amit.das@harness.io>
Co-authored-by: Saranya Jena <saranya.jena@harness.io>
2024-04-04 14:33:39 +05:30
Sarthak Jain 8041e8ddc7
Added security issue template (#4570) 2024-04-04 13:35:51 +05:30
Amit Kumar Das 1577937993
chore: [#4362]: Fixed experiment run execution even if runExperiment is disabled (#4496)
* chore: [#4362]: Fixed experiment run execution even if runExperiment is disabled

Signed-off-by: Amit Kumar Das <amit.das@harness.io>

* fixed test case

Signed-off-by: Amit Kumar Das <amit.das@harness.io>

---------

Signed-off-by: Amit Kumar Das <amit.das@harness.io>
2024-04-04 13:10:37 +05:30
Karthik Satchitanand 12d2595660
Update README.md with OpenSSF badge (#4569)
Signed-off-by: Karthik Satchitanand <karthik.s@harness.io>
2024-04-04 12:42:57 +05:30
Sarthak Jain dfed4daff7
addded path sanitisation for hub repo URL (#4568)
* addded path sanitisation for hub repo URL

Signed-off-by: Sarthak Jain <sarthak.jain@harness.io>

* Sanitized hub repo URL

Signed-off-by: Sarthak Jain <sarthak.jain@harness.io>

---------

Signed-off-by: Sarthak Jain <sarthak.jain@harness.io>
2024-04-04 12:08:30 +05:30
Prithvi Raj 5da7e55e9d
Add Community Roles File (#4563)
- updated code of conduct according to latest guidelines

Signed-off-by: Prithvi Raj <52114109+prithvi1307@users.noreply.github.com>
2024-04-02 09:14:43 +05:30
Prithvi Raj 999d554db0
Updating SECURITY.md (#4562)
* Update CODE_OF_CONDUCT.md

updated code of conduct according to latest guidelines

Signed-off-by: Prithvi Raj <52114109+prithvi1307@users.noreply.github.com>

* Update ADOPTERS.md

updating latest adopters

Signed-off-by: Prithvi Raj <52114109+prithvi1307@users.noreply.github.com>

* Create community folder

Signed-off-by: Prithvi Raj <52114109+prithvi1307@users.noreply.github.com>

* Delete community

Signed-off-by: Prithvi Raj <52114109+prithvi1307@users.noreply.github.com>

* Create Readme.md

Signed-off-by: Prithvi Raj <52114109+prithvi1307@users.noreply.github.com>

* Update Community Readme.md

Signed-off-by: Prithvi Raj <52114109+prithvi1307@users.noreply.github.com>

* Update README.md

update readme with community details

Signed-off-by: Prithvi Raj <52114109+prithvi1307@users.noreply.github.com>

* Add Gsoc Mentorship Details v1

Signed-off-by: Prithvi Raj <52114109+prithvi1307@users.noreply.github.com>

* Add Security image

Signed-off-by: Prithvi Raj <52114109+prithvi1307@users.noreply.github.com>

* Rename Screenshot 2024-03-21 at 11.33.32 AM.png to securityreport

Signed-off-by: Prithvi Raj <52114109+prithvi1307@users.noreply.github.com>

* Rename securityreport to securityreport.png

Signed-off-by: Prithvi Raj <52114109+prithvi1307@users.noreply.github.com>

* Adding Security Image

adding image to report vulnerability

Signed-off-by: Prithvi Raj <52114109+prithvi1307@users.noreply.github.com>

* Update SECURITY.md

updating security.md

Signed-off-by: Prithvi Raj <52114109+prithvi1307@users.noreply.github.com>

---------

Signed-off-by: Prithvi Raj <52114109+prithvi1307@users.noreply.github.com>
Co-authored-by: Saranya Jena <saranya.jena@harness.io>
2024-04-01 15:17:10 +05:30
dependabot[bot] d176b92e26
chore(deps): Bump github.com/golang/protobuf (#4493)
Bumps [github.com/golang/protobuf](https://github.com/golang/protobuf) from 1.5.3 to 1.5.4.
- [Release notes](https://github.com/golang/protobuf/releases)
- [Commits](https://github.com/golang/protobuf/compare/v1.5.3...v1.5.4)

---
updated-dependencies:
- dependency-name: github.com/golang/protobuf
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Raj Das <mail.rajdas@gmail.com>
2024-03-22 15:39:07 +05:30
dependabot[bot] ef88b13ce9
chore(deps): Bump follow-redirects in /chaoscenter/web (#4529)
Bumps [follow-redirects](https://github.com/follow-redirects/follow-redirects) from 1.15.5 to 1.15.6.
- [Release notes](https://github.com/follow-redirects/follow-redirects/releases)
- [Commits](https://github.com/follow-redirects/follow-redirects/compare/v1.15.5...v1.15.6)

---
updated-dependencies:
- dependency-name: follow-redirects
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-21 17:43:34 +05:30
dependabot[bot] f47f175c9c
chore(deps): Bump golang.org/x/crypto in /chaoscenter/authentication (#4527)
Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.18.0 to 0.21.0.
- [Commits](https://github.com/golang/crypto/compare/v0.18.0...v0.21.0)

---
updated-dependencies:
- dependency-name: golang.org/x/crypto
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-21 17:40:00 +05:30
Calvinaud 3459e7ef8c
Update Dockerfile of litmus-portal frontend (#4396)
- Update the chown command for openshift need
- Combine the 3 RUN for chown command into a single one to reduce number of layers

Signed-off-by: Calvin Audier <calvin.audier@gmail.com>
Co-authored-by: Calvin Audier <calvin.audier@gmail.com>
Co-authored-by: Saranya Jena <saranya.jena@harness.io>
2024-03-15 16:26:28 +05:30
Shubham Chaudhary 596394eb26
chore(3.5.0): Adding the installation manifest for 3.5.0 (#4530)
Signed-off-by: Shubham Chaudhary <shubham.chaudhary@harness.io>
2024-03-15 13:12:54 +05:30
Saranya Jena e923bf2728
Added installation manifest for 3.5.0 (#4526)
* Added installation manifest for 3.5.0

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* resolved comments

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* resolved comments

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

---------

Signed-off-by: Saranya-jena <saranya.jena@harness.io>
2024-03-15 13:11:02 +05:30
Amit Kumar Das e5b5a61bc3
Revert "Replace deprecated package (#4475)" (#4533)
This reverts commit da8ae75699.
2024-03-15 12:48:14 +05:30
Tan Nhu 5cad842713
chore(deps): Update package.json to use UICore 4.0.0-beta.1a (#4528)
* Update package.json

While fixing CSS conflict between UICore V3 (from harness-core-ui) and UICore V4, I accidentally unpublished `4.0.0-beta.1`. This action is unrecoverable per NPMJS Support team.

This leads to packages that depends on `4.0.0-beta.1` (Limus and Gitness) fail to build.

To fix this issue, a change from `4.0.0-beta.1` to `4.0.0-beta.1a` is needed. `4.0.0-beta.1a` is exact the same as `4.0.0-beta.1`.

Signed-off-by: Tan Nhu <tan@harness.io>

* Update yarn.lock

---------

Signed-off-by: Tan Nhu <tan@harness.io>
Co-authored-by: Tan Nhu <tnhu@users.noreply.github.com>
2024-03-15 09:40:43 +05:30
Namkyu Park 7c32e784e6
Proposal: Load testing with k6 (#4309)
* proposal: load testing with k6

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>
2024-03-14 19:37:31 +05:30
dependabot[bot] 4e83a443fd
chore(deps): Bump github.com/cloudflare/circl (#4523)
Bumps [github.com/cloudflare/circl](https://github.com/cloudflare/circl) from 1.3.3 to 1.3.7.
- [Release notes](https://github.com/cloudflare/circl/releases)
- [Commits](https://github.com/cloudflare/circl/compare/v1.3.3...v1.3.7)

---
updated-dependencies:
- dependency-name: github.com/cloudflare/circl
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Sarthak Jain <sarthak.jain@harness.io>
Co-authored-by: Saranya Jena <saranya.jena@harness.io>
2024-03-14 19:21:11 +05:30
Saranya Jena 5479d12c4a
Added fuzzers in utils and authorization(graphql) (#4467)
* Added fuzzers in utils and authorization

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* fixed imports

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* fixed imports

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* go mod changes

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* updated directories

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* updated file strucuture

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

---------

Signed-off-by: Saranya-jena <saranya.jena@harness.io>
Co-authored-by: Namkyu Park <53862866+namkyu1999@users.noreply.github.com>
2024-03-14 18:38:54 +05:30
Sarthak Jain 786bb52736
fixed vulnerabilities in event-tracker (#4522)
Signed-off-by: Sarthak Jain <sarthak.jain@harness.io>
2024-03-14 17:48:09 +05:30
Sarthak Jain bbc1dc0b42
fixed vulnerabilities in subscriber (#4520)
Signed-off-by: Sarthak Jain <sarthak.jain@harness.io>
2024-03-14 16:54:19 +05:30
Sarthak Jain aaf6867762
Fixed vulnerability in graphql-server (#4516)
* Fixed vulnerability in graphql-server

Signed-off-by: Sarthak Jain <sarthak.jain@harness.io>

* reverted protobuf version to 1.30.0

Signed-off-by: Sarthak Jain <sarthak.jain@harness.io>

* updated protobuf version to 1.33.0

Signed-off-by: Sarthak Jain <sarthak.jain@harness.io>

---------

Signed-off-by: Sarthak Jain <sarthak.jain@harness.io>
2024-03-14 15:54:07 +05:30
Sarthak Jain 515090467e
Fixed vulnerability in authentication-server (#4513)
Signed-off-by: Sarthak Jain <sarthak.jain@harness.io>
2024-03-14 12:03:36 +05:30
Amit Kumar Das 6f24d44eca
chore: [chaoscenter]: Added git ops functionality in experiment handlers (#4446)
* chore: [chaoscenter]: Added git ops functionality in experiment handlers

Signed-off-by: Amit Kumar Das <amit.das@harness.io>

* chore: [chaoscenter]: Gofmt fix

Signed-off-by: Amit Kumar Das <amit.das@harness.io>

* go mod tidy

Signed-off-by: Amit Kumar Das <amit.das@harness.io>

---------

Signed-off-by: Amit Kumar Das <amit.das@harness.io>
Co-authored-by: Sarthak Jain <sarthak.jain@harness.io>
Co-authored-by: Saranya Jena <saranya.jena@harness.io>
2024-03-13 11:21:14 +05:30
Amit Kumar Das 731bdc4e32
added fuzz tests for subscriber (#4507)
* added fuzz tests for subscriber

Signed-off-by: Amit Kumar Das <amit.das@harness.io>

* fixed go fmt

Signed-off-by: Amit Kumar Das <amit.das@harness.io>

---------

Signed-off-by: Amit Kumar Das <amit.das@harness.io>
Co-authored-by: Vedant Shrotria <vedant.shrotria@harness.io>
2024-03-13 10:28:57 +05:30
Vedant Shrotria 916d3d3ef0
Added script changes to run fuzz tests dynamically (#4506)
* Added script changes to run tests dynamically

Signed-off-by: Jonsy13 <vedant.shrotria@harness.io>

* Added script changes to run tests dynamically

Signed-off-by: Jonsy13 <vedant.shrotria@harness.io>

* Added script changes to run tests dynamically

Signed-off-by: Jonsy13 <vedant.shrotria@harness.io>

* Added script changes to run tests dynamically

Signed-off-by: Jonsy13 <vedant.shrotria@harness.io>

* Added script changes to run tests dynamically

Signed-off-by: Jonsy13 <vedant.shrotria@harness.io>

* Added script changes to run tests dynamically

Signed-off-by: Jonsy13 <vedant.shrotria@harness.io>

* Added script changes to run tests dynamically

Signed-off-by: Jonsy13 <vedant.shrotria@harness.io>

* Added script changes to run tests dynamically

Signed-off-by: Jonsy13 <vedant.shrotria@harness.io>

* Added script changes to run tests dynamically

Signed-off-by: Jonsy13 <vedant.shrotria@harness.io>

* Added script changes to run tests dynamically

Signed-off-by: Jonsy13 <vedant.shrotria@harness.io>

---------

Signed-off-by: Jonsy13 <vedant.shrotria@harness.io>
2024-03-12 22:53:47 +05:30
Saranya Jena 7226819296
Fixed failing SaveExperiment Fuzz test (#4508)
* fixed failing SaveExperiment Fuzz test

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* fixed imports

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

---------

Signed-off-by: Saranya-jena <saranya.jena@harness.io>
2024-03-12 22:09:03 +05:30
Nageshbansal 547a367990
[ Fix ] : Gitops trigger in Save, Delete, and Update Experiment (#4435)
* Fixes gitops pushes to repo

Signed-off-by: nagesh bansal <nageshbansal59@gmail.com>

* Fixes Fuzz test for UpsertExperimentToGit

Signed-off-by: nagesh bansal <nageshbansal59@gmail.com>

---------

Signed-off-by: nagesh bansal <nageshbansal59@gmail.com>
2024-03-12 16:41:54 +05:30
Saranya Jena b1f08d4f4d
Added fuzzers in chaos experiment (#4488)
* Added fuzzers in chaos experiment

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* fixed imports

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

---------

Signed-off-by: Saranya-jena <saranya.jena@harness.io>
2024-03-12 12:12:01 +05:30
Saranya Jena 9fbbef44d2
Added fuzzing tests for authentication (#4503)
Signed-off-by: Saranya-jena <saranya.jena@harness.io>
2024-03-12 10:50:30 +05:30
Saranya Jena c7b7d29655
Added environment fuzzers ina directory (#4501)
* added env fuzzers ina directory

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* updated import

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* updated fuzz build

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

---------

Signed-off-by: Saranya-jena <saranya.jena@harness.io>
Co-authored-by: Vedant Shrotria <vedant.shrotria@harness.io>
2024-03-11 15:10:32 +05:30
Saranya Jena 6640951936
updated fuzz build file with the updated directory (#4502)
Signed-off-by: Saranya-jena <saranya.jena@harness.io>
2024-03-11 14:53:43 +05:30
Chaitanya Deshmukh 4c13f7d933
fix: Update 'Name' field from mandatory to optional in Create User Modal (#4451)
* fix: Update 'Name' field from mandatory to optional in Create User Modal

Signed-off-by: ChaitanyaD48 <chaitanya.d48@gmail.com>

* Remove form field validation test in CreateNewUserView

Signed-off-by: ChaitanyaD48 <chaitanya.d48@gmail.com>

* Refactor: Remove unused import

Signed-off-by: ChaitanyaD48 <chaitanya.d48@gmail.com>

---------

Signed-off-by: ChaitanyaD48 <chaitanya.d48@gmail.com>
Co-authored-by: Namkyu Park <53862866+namkyu1999@users.noreply.github.com>
Co-authored-by: Saranya Jena <saranya.jena@harness.io>
Co-authored-by: Sarthak Jain <sarthak.jain@harness.io>
2024-03-08 17:46:23 +05:30
Saranya Jena f05556a1b7
Removed litmus-portal and moved upgrade agents (#4499)
Signed-off-by: Saranya-jena <saranya.jena@harness.io>
2024-03-07 18:06:49 +05:30
Prithvi Raj d4d4b81aa8
Updated Readme community section (#4498)
* Update CODE_OF_CONDUCT.md

updated code of conduct according to latest guidelines

Signed-off-by: Prithvi Raj <52114109+prithvi1307@users.noreply.github.com>

* Update ADOPTERS.md

updating latest adopters

Signed-off-by: Prithvi Raj <52114109+prithvi1307@users.noreply.github.com>

* Create community folder

Signed-off-by: Prithvi Raj <52114109+prithvi1307@users.noreply.github.com>

* Delete community

Signed-off-by: Prithvi Raj <52114109+prithvi1307@users.noreply.github.com>

* Create Readme.md

Signed-off-by: Prithvi Raj <52114109+prithvi1307@users.noreply.github.com>

* Update Community Readme.md

Signed-off-by: Prithvi Raj <52114109+prithvi1307@users.noreply.github.com>

* Update README.md

update readme with community details

Signed-off-by: Prithvi Raj <52114109+prithvi1307@users.noreply.github.com>

* Add Gsoc Mentorship Details v1

Signed-off-by: Prithvi Raj <52114109+prithvi1307@users.noreply.github.com>

---------

Signed-off-by: Prithvi Raj <52114109+prithvi1307@users.noreply.github.com>
Co-authored-by: Saranya Jena <saranya.jena@harness.io>
2024-03-07 17:43:37 +05:30
Amit Kumar Das 207676e823
chore: [#4400]: Updated experiment run status enums and removed hard-coded statuses (#4494)
Signed-off-by: Amit Kumar Das <amit.das@harness.io>
2024-03-07 17:26:32 +05:30
Sahil dc5c36abf3
fix: fixed vulnerablities and migrated away from old argo-ui package (#4497)
Signed-off-by: Sahil <sahil.kumar@harness.io>
2024-03-07 12:21:38 +05:30
M!l!nd c73ad1c291
fixed incorrect dates (#4481)
Signed-off-by: milinddethe15 <milinddethe15@gmail.com>
Co-authored-by: Sarthak Jain <sarthak.jain@harness.io>
2024-03-07 12:06:57 +05:30
Saranya Jena 8ee307664b
Added Fuzzers for Environment (#4483)
* Added Fuzzers for Environment

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* separated out fuzzers and UTs

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* removed old testdata

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* fixed imports

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

---------

Signed-off-by: Saranya-jena <saranya.jena@harness.io>
Co-authored-by: Namkyu Park <53862866+namkyu1999@users.noreply.github.com>
2024-03-07 11:44:50 +05:30
Prithvi Raj c7f896d6d8
Adding Community Folder to the main repo (#4490)
* Update CODE_OF_CONDUCT.md

updated code of conduct according to latest guidelines

Signed-off-by: Prithvi Raj <52114109+prithvi1307@users.noreply.github.com>

* Update ADOPTERS.md

updating latest adopters

Signed-off-by: Prithvi Raj <52114109+prithvi1307@users.noreply.github.com>

* Create community folder

Signed-off-by: Prithvi Raj <52114109+prithvi1307@users.noreply.github.com>

* Delete community

Signed-off-by: Prithvi Raj <52114109+prithvi1307@users.noreply.github.com>

* Create Readme.md

Signed-off-by: Prithvi Raj <52114109+prithvi1307@users.noreply.github.com>

* Update Community Readme.md

Signed-off-by: Prithvi Raj <52114109+prithvi1307@users.noreply.github.com>

---------

Signed-off-by: Prithvi Raj <52114109+prithvi1307@users.noreply.github.com>
Co-authored-by: Saranya Jena <saranya.jena@harness.io>
2024-03-06 16:43:17 +05:30
Ripul Handoo 5778044ef1
Refactos: GraphQL Server to Remove unused RBAC's (#4265)
* Refactos: GraphQL Server to Remove unused RABC's

Signed-off-by: Ripul Handoo <ripulhandoo1234@gmail.com>

* Refactos: GraphQL Server to Remove unused RABC's

Signed-off-by: Ripul Handoo <ripulhandoo1234@gmail.com>

* refactor: unused rbac's in chaoshub.resolver.go

Signed-off-by: Ripul Handoo <ripulhandoo1234@gmail.com>

* fix typo : ListEnvironment -> ListExperiment

Signed-off-by: Ripul Handoo <ripulhandoo1234@gmail.com>

---------

Signed-off-by: Ripul Handoo <ripulhandoo1234@gmail.com>
Co-authored-by: Saranya Jena <saranya.jena@harness.io>
2024-03-06 10:57:00 +05:30
M!l!nd def75c22b3
fixed main-nav height (#4472)
Signed-off-by: M!l!nd  <99114125+milinddethe15@users.noreply.github.com>
Co-authored-by: Namkyu Park <53862866+namkyu1999@users.noreply.github.com>
Co-authored-by: Saranya Jena <saranya.jena@harness.io>
2024-03-06 10:26:37 +05:30
Aryan Bhokare 52ab1d592b
Added loader in UserManagement modal. (#4452)
* Added loader in UserManagement modal.

Signed-off-by: Aryan <aryan1bhokare@gmail.com>

* Removed OverlaySpinner and extra state variable.

Signed-off-by: Aryan Bhokare <92683836+aryan-bhokare@users.noreply.github.com>

* fixed web tests failing.

Signed-off-by: Aryan Bhokare <92683836+aryan-bhokare@users.noreply.github.com>

* fixed minwidth for all buttons.

Signed-off-by: Aryan Bhokare <92683836+aryan-bhokare@users.noreply.github.com>

---------

Signed-off-by: Aryan <aryan1bhokare@gmail.com>
Signed-off-by: Aryan Bhokare <92683836+aryan-bhokare@users.noreply.github.com>
Co-authored-by: Saranya Jena <saranya.jena@harness.io>
2024-03-05 21:38:20 +05:30
Prithvi Raj f9d5247901
update adopters (#4487)
* Update CODE_OF_CONDUCT.md

updated code of conduct according to latest guidelines

Signed-off-by: Prithvi Raj <52114109+prithvi1307@users.noreply.github.com>

* Update ADOPTERS.md

updating latest adopters

Signed-off-by: Prithvi Raj <52114109+prithvi1307@users.noreply.github.com>

---------

Signed-off-by: Prithvi Raj <52114109+prithvi1307@users.noreply.github.com>
Co-authored-by: Saranya Jena <saranya.jena@harness.io>
2024-03-05 16:12:43 +05:30
Prithvi Raj 5df86aba05
Update CODE_OF_CONDUCT.md (#4485)
updated code of conduct according to latest guidelines

Signed-off-by: Prithvi Raj <52114109+prithvi1307@users.noreply.github.com>
Co-authored-by: Saranya Jena <saranya.jena@harness.io>
2024-03-05 14:36:02 +05:30
Aryan Bhokare b85a60d2ac
Husky hook fix. (#4469)
* Modified pre-commit script to Posix-compilant.

Signed-off-by: aryan <aryan1bhokare@gmail.com>

* Modified pre-push script to Posix-compilant.

Signed-off-by: aryan <aryan1bhokare@gmail.com>

---------

Signed-off-by: aryan <aryan1bhokare@gmail.com>
Co-authored-by: Sarthak Jain <sarthak.jain@harness.io>
Co-authored-by: Saranya Jena <saranya.jena@harness.io>
2024-03-05 12:50:13 +05:30
Namkyu Park da8ae75699
Replace deprecated package (#4475)
* fix: replace deprecated library in chaoscenter/graphql

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>

* fix: replace deprecated library in authentication server

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>

* fix: replace deprecated library in subscriber

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>

* fix: resolve security issue

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>

* fix: update codeql version

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>

---------

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>
2024-03-05 12:35:21 +05:30
Kanhaiya yadav 5449439d8c
pagination is now working for environment (#4470)
Signed-off-by: kanhaiya04 <kanhaiyayadav9999@gmail.com>
2024-03-04 18:00:26 +05:30
Nageshbansal 516a7a0541
Adds docs for toleratios in source cmdProbe (#4442)
Signed-off-by: nagesh bansal <nageshbansal59@gmail.com>
2024-03-01 16:06:32 +05:30
dependabot[bot] f86aad1328
chore(deps): Bump github.com/onsi/ginkgo in /chaoscenter/event-tracker (#4277)
Bumps [github.com/onsi/ginkgo](https://github.com/onsi/ginkgo) from 1.16.4 to 1.16.5.
- [Release notes](https://github.com/onsi/ginkgo/releases)
- [Changelog](https://github.com/onsi/ginkgo/blob/master/CHANGELOG.md)
- [Commits](https://github.com/onsi/ginkgo/compare/v1.16.4...v1.16.5)

---
updated-dependencies:
- dependency-name: github.com/onsi/ginkgo
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Raj Das <mail.rajdas@gmail.com>
2024-02-28 11:09:33 +05:30
Krish Aryan d30371d934
Updated README.md with latest version of litmus (#4471)
Signed-off-by: Krish Aryan <krisharyan.36@gmail.com>
2024-02-28 11:03:36 +05:30
Kanhaiya yadav f5f7ac8ef9
for owner no action button in members list (#4461)
Signed-off-by: kanhaiya04 <kanhaiyayadav9999@gmail.com>
Co-authored-by: Saranya Jena <saranya.jena@harness.io>
Co-authored-by: Namkyu Park <53862866+namkyu1999@users.noreply.github.com>
2024-02-23 15:28:16 +05:30
smit thakkar a7df0a15e5
chore(graphql-server): bump gqlgen version (#4371)
* chore: bump gqlgen version

Signed-off-by: smit thakkar <smit.thakkar@deliveryhero.com>

* chore: merge go.mod and go.sum

Signed-off-by: smit thakkar <smit.thakkar@deliveryhero.com>

* chore: run gqlgen

Signed-off-by: smit thakkar <smit.thakkar@deliveryhero.com>

---------

Signed-off-by: smit thakkar <smit.thakkar@deliveryhero.com>
Signed-off-by: smit thakkar <smitthakkar96@gmail.com>
Co-authored-by: Saranya Jena <saranya.jena@harness.io>
2024-02-23 12:27:02 +05:30
Saranya Jena 5df01f1c38
Added required manifest integrate OSS-Fuzz in CI (#4455)
Signed-off-by: Saranya-jena <saranya.jena@harness.io>
2024-02-21 16:59:34 +05:30
Saranya Jena 6cfff1688a
Updated Contributing Guidelines (#4453)
* Updated Contributing Guidelines

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* added backstage plugin for contribution

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

---------

Signed-off-by: Saranya-jena <saranya.jena@harness.io>
2024-02-21 16:12:41 +05:30
William Okano 84b76bd47d
feat: adding user RoleAdmin ability to fetch user with projects (#4409)
Signed-off-by: William Johnson dos Santos Okano <williamokano@gmail.com>
Co-authored-by: Saranya Jena <saranya.jena@harness.io>
Co-authored-by: Sarthak Jain <sarthak.jain@harness.io>
2024-02-19 10:43:35 +05:30
Saranya Jena b2147c5623
moved fuzz build.sh to chaoscenter directory (#4445)
Signed-off-by: Saranya-jena <saranya.jena@harness.io>
2024-02-16 10:19:30 +05:30
Shubham Chaudhary bc9af94721
chore(3.4.0): Adding the installation manifests for 3.4.0 (#4443)
Signed-off-by: Shubham Chaudhary <shubham.chaudhary@harness.io>
2024-02-16 00:46:22 +05:30
Saranya Jena 54877ef081
Added 3.4.0 installation files (#4439)
* Added 3.4.0 installation files

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* updated versions

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* updated versions

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

---------

Signed-off-by: Saranya-jena <saranya.jena@harness.io>
Co-authored-by: Vedant Shrotria <vedant.shrotria@harness.io>
2024-02-15 18:46:21 +05:30
Sarthak Jain a8a28724f3
updated the environment_id index to be a partia index (#4436)
Signed-off-by: Sarthak Jain <sarthak.jain@harness.io>
Co-authored-by: Amit Kumar Das <amit.das@harness.io>
Co-authored-by: Saranya Jena <saranya.jena@harness.io>
2024-02-15 18:14:06 +05:30
Saranya Jena 1ba88a9d4a
Fixed issue infra config map and secret patch (#4440)
Signed-off-by: Saranya-jena <saranya.jena@harness.io>
2024-02-15 17:11:58 +05:30
Nageshbansal 77124b385a
[Proposal] : Litmusctl Probe CRUD Commands (#4387)
* Adds litmusctl probe proposal

Signed-off-by: nagesh bansal <nageshbansal59@gmail.com>

* Adds implemantaions

Signed-off-by: nagesh bansal <nageshbansal59@gmail.com>

---------

Signed-off-by: nagesh bansal <nageshbansal59@gmail.com>
Co-authored-by: Saranya Jena <saranya.jena@harness.io>
2024-02-15 14:50:58 +05:30
Nageshbansal 7e530592df
Fixes getServerVersion gql (#4424)
Signed-off-by: nagesh bansal <nageshbansal59@gmail.com>
Co-authored-by: Saranya Jena <saranya.jena@harness.io>
Co-authored-by: Sarthak Jain <sarthak.jain@harness.io>
2024-02-15 12:21:28 +05:30
Saranya Jena d65c8afa34
Added Fuzz test suite for Get Environment API (#4437)
* Added fuzz test-case for env

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* Added fuzz test for get environment

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* Added build file for OSS-Fuzz integration

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* Added license details

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

---------

Signed-off-by: Saranya-jena <saranya.jena@harness.io>
Co-authored-by: Vedant Shrotria <vedant.shrotria@harness.io>
2024-02-15 10:31:36 +05:30
Sayan Mondal 78d6dec0e9
chore: [CHAOS-3808]: Resilience probe modal toggle reseting to default bugfix (#4431)
* chore: [CHAOS-3808]: Resilience probe modal toggle reseting to default bugfix

* chore: [CHAOS-3808]: Updating schema utils for probe

* chore: [CHAOS-3808]: Addressing review comments
2024-02-13 10:51:39 +05:30
dependabot[bot] 852ae25509
chore(deps): Bump golang.org/x/crypto (#4345)
Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.0.0-20220315160706-3147a52a75dd to 0.17.0.
- [Commits](https://github.com/golang/crypto/commits/v0.17.0)

---
updated-dependencies:
- dependency-name: golang.org/x/crypto
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Raj Das <mail.rajdas@gmail.com>
2024-02-12 19:47:18 +05:30
Namkyu Park 4fbd960852
fix: remove len(res)==0 condition (#4394)
Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>
Co-authored-by: Sarthak Jain <sarthak.jain@harness.io>
Co-authored-by: Saranya Jena <saranya.jena@harness.io>
2024-02-12 13:01:08 +05:30
Nageshbansal d4b5796564
Adds projectID in listInfras gql response (#4393)
Signed-off-by: nagesh bansal <nageshbansal59@gmail.com>
Co-authored-by: Saranya Jena <saranya.jena@harness.io>
2024-02-12 12:35:22 +05:30
Ripul Handoo d23414ecc2
refactor: Update subscriber to use Kubernetes patch for ConfigMaps an… (#4287)
* refactor: Update subscriber to use Kubernetes patch for ConfigMaps and Secrets instead of get-update

Signed-off-by: Ripul Handoo <ripulhandoo1234@gmail.com>

* refactor: Update subscriber to use Kubernetes patch for ConfigMaps

Signed-off-by: Ripul Handoo <ripulhandoo1234@gmail.com>

* Update operations.go

Signed-off-by: Ripul Handoo <107461226+RipulHandoo@users.noreply.github.com>

---------

Signed-off-by: Ripul Handoo <ripulhandoo1234@gmail.com>
Signed-off-by: Ripul Handoo <107461226+RipulHandoo@users.noreply.github.com>
Co-authored-by: Saranya Jena <saranya.jena@harness.io>
2024-02-12 12:21:13 +05:30
Saranya Jena 7b4bedb944
Fixes #4354: fixed gql schema for environment filter input (#4415)
* Fixes #4354: fixed gql schema for environment filter input

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* updated the gql schema in frontend

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

---------

Signed-off-by: Saranya-jena <saranya.jena@harness.io>
2024-02-11 22:06:17 +05:30
Namkyu Park 3e858b2768
feat: Automatically generate probes when creating a chaos experiment using a YAML file. (#4366)
* feat: auto generate probes

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>

* fix: change bson format

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>

* fix: insert context as parameter

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>

* fix: fix function parameter

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>

* feat: add insert annotations func

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>

* fix: organize code

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>

* fix: update fe changes

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>

* chore: fe format

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>

* fix: move functions to utils file

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>

* fix: pass testcases

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>

---------

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>
2024-02-07 10:39:14 +05:30
dependabot[bot] 9e56c6cce6
chore(deps): Bump golang.org/x/oauth2 in /chaoscenter/authentication (#4412)
Bumps [golang.org/x/oauth2](https://github.com/golang/oauth2) from 0.14.0 to 0.16.0.
- [Commits](https://github.com/golang/oauth2/compare/v0.14.0...v0.16.0)

---
updated-dependencies:
- dependency-name: golang.org/x/oauth2
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-29 16:56:10 +05:30
dependabot[bot] 784d7b55fc
chore(deps): Bump go.mongodb.org/mongo-driver (#4413)
Bumps [go.mongodb.org/mongo-driver](https://github.com/mongodb/mongo-go-driver) from 1.5.3 to 1.13.1.
- [Release notes](https://github.com/mongodb/mongo-go-driver/releases)
- [Commits](https://github.com/mongodb/mongo-go-driver/compare/v1.5.3...v1.13.1)

---
updated-dependencies:
- dependency-name: go.mongodb.org/mongo-driver
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-29 16:55:31 +05:30
dependabot[bot] 0aceec5301
chore(deps): Bump github.com/sirupsen/logrus (#4276)
Bumps [github.com/sirupsen/logrus](https://github.com/sirupsen/logrus) from 1.9.2 to 1.9.3.
- [Release notes](https://github.com/sirupsen/logrus/releases)
- [Changelog](https://github.com/sirupsen/logrus/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sirupsen/logrus/compare/v1.9.2...v1.9.3)

---
updated-dependencies:
- dependency-name: github.com/sirupsen/logrus
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Raj Das <mail.rajdas@gmail.com>
2024-01-25 11:57:31 +05:30
dependabot[bot] 811307d298
chore(deps): Bump github.com/sirupsen/logrus in /chaoscenter/subscriber (#4284)
Bumps [github.com/sirupsen/logrus](https://github.com/sirupsen/logrus) from 1.8.1 to 1.9.3.
- [Release notes](https://github.com/sirupsen/logrus/releases)
- [Changelog](https://github.com/sirupsen/logrus/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sirupsen/logrus/compare/v1.8.1...v1.9.3)

---
updated-dependencies:
- dependency-name: github.com/sirupsen/logrus
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-25 11:57:10 +05:30
dependabot[bot] 452d64f8c8
chore(deps): Bump google.golang.org/grpc in /chaoscenter/subscriber (#4269)
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.44.0 to 1.56.3.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.44.0...v1.56.3)

---
updated-dependencies:
- dependency-name: google.golang.org/grpc
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-25 11:55:59 +05:30
dependabot[bot] 27c171aca2
chore(deps): Bump github.com/sirupsen/logrus (#4275)
Bumps [github.com/sirupsen/logrus](https://github.com/sirupsen/logrus) from 1.8.1 to 1.9.3.
- [Release notes](https://github.com/sirupsen/logrus/releases)
- [Changelog](https://github.com/sirupsen/logrus/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sirupsen/logrus/compare/v1.8.1...v1.9.3)

---
updated-dependencies:
- dependency-name: github.com/sirupsen/logrus
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-25 11:51:21 +05:30
dependabot[bot] cea8be3a8f
chore(deps): Bump golang.org/x/crypto in /chaoscenter/authentication (#4373)
Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.13.0 to 0.18.0.
- [Commits](https://github.com/golang/crypto/compare/v0.13.0...v0.18.0)

---
updated-dependencies:
- dependency-name: golang.org/x/crypto
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Raj Das <mail.rajdas@gmail.com>
2024-01-25 11:47:18 +05:30
dependabot[bot] 5d9a8d08e9
chore(deps): Bump golang.org/x/crypto (#4346)
Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.0.0-20220315160706-3147a52a75dd to 0.17.0.
- [Commits](https://github.com/golang/crypto/commits/v0.17.0)

---
updated-dependencies:
- dependency-name: golang.org/x/crypto
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Raj Das <mail.rajdas@gmail.com>
2024-01-25 11:46:59 +05:30
dependabot[bot] 39099d0415
chore(deps): bump golang.org/x/crypto in /chaoscenter/graphql/server (#4403)
Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.5.0 to 0.17.0.
- [Commits](https://github.com/golang/crypto/compare/v0.5.0...v0.17.0)

---
updated-dependencies:
- dependency-name: golang.org/x/crypto
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Raj Das <mail.rajdas@gmail.com>
2024-01-25 11:41:42 +05:30
dependabot[bot] 11cb8f3972
chore(deps): bump google.golang.org/grpc in /chaoscenter/authentication (#4408)
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.32.0 to 1.61.0.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.32.0...v1.61.0)

---
updated-dependencies:
- dependency-name: google.golang.org/grpc
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-25 11:35:21 +05:30
dependabot[bot] f49fa05a25
chore(deps): bump github.com/google/uuid in /chaoscenter/authentication (#4399)
Bumps [github.com/google/uuid](https://github.com/google/uuid) from 1.3.0 to 1.6.0.
- [Release notes](https://github.com/google/uuid/releases)
- [Changelog](https://github.com/google/uuid/blob/master/CHANGELOG.md)
- [Commits](https://github.com/google/uuid/compare/v1.3.0...v1.6.0)

---
updated-dependencies:
- dependency-name: github.com/google/uuid
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-25 00:06:04 +05:30
Shubham Chaudhary 399af62ca8
chore(3.3.0): Adding the installation manifests for 3.3.0 (#4383)
Signed-off-by: Shubham Chaudhary <shubham.chaudhary@harness.io>
Co-authored-by: Saranya Jena <saranya.jena@harness.io>
2024-01-15 20:21:25 +05:30
Hrishav 7a29dc1eb1
fix: Fixed issue with API tokens refetch and copy button (#4382)
Signed-off-by: Hrishav <hrishav.kumar@harness.io>
2024-01-15 19:57:59 +05:30
Saranya Jena 7e12fc4c7f
Added installation manifests for 3.3.0 (#4381)
* Added installation manifests for 3.3.0

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* resolved comments

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

---------

Signed-off-by: Saranya-jena <saranya.jena@harness.io>
2024-01-15 18:56:24 +05:30
smit thakkar 52593fb9cf
test(graphql): fix broken tests for `chaoscenter/graphql/server` and integrate mockery to generate mocks (#4372)
* chore: add mockery

Signed-off-by: smit thakkar <smit.thakkar@deliveryhero.com>

* chore: generate mocks

Signed-off-by: smit thakkar <smit.thakkar@deliveryhero.com>

* test: fix broken tests

Signed-off-by: smit thakkar <smit.thakkar@deliveryhero.com>

* docs: add instructions for generating mocks

Signed-off-by: smit thakkar <smit.thakkar@deliveryhero.com>

* style: fix formatting on docs

Signed-off-by: smit thakkar <smit.thakkar@deliveryhero.com>

* refactor: make mock initialisation dry and remove unused mocks

Signed-off-by: smit thakkar <smit.thakkar@deliveryhero.com>

* style: fix lint errors

Signed-off-by: smit thakkar <smit.thakkar@deliveryhero.com>

* style: fix lint errors

Signed-off-by: smit thakkar <smit.thakkar@deliveryhero.com>

* style: fix lint errors

Signed-off-by: smit thakkar <smit.thakkar@deliveryhero.com>

---------

Signed-off-by: smit thakkar <smit.thakkar@deliveryhero.com>
2024-01-12 12:00:51 +05:30
Amit Kumar Das 7a57192588
chore(chaoscenter): Added node selector in chaos engine spec (#4365)
Signed-off-by: Amit Kumar Das <amit.das@harness.io>
2024-01-03 14:16:10 +05:30
Sayan Mondal 94680e81e4
chore: Refactored probe to make description optional, updated GetProbeYAML API, schema update for prom probe and bug fixes (#4356)
* chore: Refactored probe to make descriotion optional, updated GetProbeYAML API, schema update for prom probe and bug fixes

* fix: Fixing go fmt issues

* fix: Fixing go imports issue
;

---------

Co-authored-by: Saranya Jena <saranya.jena@harness.io>
2024-01-02 17:25:04 +05:30
Shubham Chaudhary 8f9febfe08
chore(3.2.0): Adding the manifests for 3.2.0 (#4341)
Signed-off-by: Shubham Chaudhary <shubham.chaudhary@harness.io>
2023-12-15 20:09:59 +05:30
Saranya Jena 6307a98f92
Added installation manifest for 3.2 release (#4338)
Signed-off-by: Saranya-jena <saranya.jena@harness.io>
2023-12-15 12:47:17 +05:30
Saranya Jena e8258d6846
Updated mentoring.md for LFX mentorship (#4333)
* Updated mentoring.md for LFX mentorship

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* resolved comments

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* resolved comments

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

---------

Signed-off-by: Saranya-jena <saranya.jena@harness.io>
2023-12-15 12:37:25 +05:30
Magnim Batale faa3627879
Feat: Tests cases for Chaoscenter Rest handler in Chaoscenter (#4238)
* feat: Tests cases for rest handlers

Signed-off-by: freedisch <freeproduc@gmail.com>

* fixed failing tests and updated mock service

Signed-off-by: freedisch <freeproduc@gmail.com>

* added test cases

Signed-off-by: freedisch <freeproduc@gmail.com>

* fixed failling and added more negatives test cases

Signed-off-by: freedisch <freeproduc@gmail.com>

---------

Signed-off-by: freedisch <freeproduc@gmail.com>
Signed-off-by: Magnim BATALE <82499435+Freedisch@users.noreply.github.com>
Co-authored-by: Namkyu Park <53862866+namkyu1999@users.noreply.github.com>
Co-authored-by: Saranya Jena <saranya.jena@harness.io>
2023-12-15 12:23:36 +05:30
Neelanjan Manna bb440940c9
chore: Updates fault docs for 3.0.0 (#4209)
* updates fault docs for 3.0.0

Signed-off-by: neelanjan00 <neelanjan.manna@harness.io>
2023-12-13 22:27:04 +05:30
Chandan Kumar 8b0fd42992
Update Maintainers email (#4320)
Signed-off-by: chandankumar4 <chandan.kr404@gmail.com>
2023-12-01 14:28:59 +05:30
Amit Kumar Das d23bc6a01c
updated litmus component images with scarf (#4298)
Signed-off-by: Amit Kumar Das <amit.das@harness.io>
Co-authored-by: Saranya Jena <saranya.jena@harness.io>
2023-11-28 15:52:55 +05:30
Saranya Jena 318994ac20
Updated Codeowners (#4316)
* Added Namkyu as codeowner for backstage plugin

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* updated maintainers list

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

---------

Signed-off-by: Saranya-jena <saranya.jena@harness.io>
2023-11-24 21:18:18 +05:30
Magnim BATALE 803b4f5c1c
Tests: added tests for ChaosCenter web views (#4307)
* feat added tests for accounts details password new user

Signed-off-by: freedisch <freeproduc@gmail.com>

* added tesst cases for kubernetesChaosInf

Signed-off-by: freedisch <freeproduc@gmail.com>

* added testWrapper

Signed-off-by: freedisch <freeproduc@gmail.com>

* updated failing tests to use testWrapper

Signed-off-by: freedisch <freeproduc@gmail.com>

---------

Signed-off-by: freedisch <freeproduc@gmail.com>
2023-11-22 17:37:43 +05:30
Magnim BATALE ad4ecca381
feat: Test cases for chaosHub views (#4249)
* added test cases for chaosHub views

Signed-off-by: freedisch <freeproduc@gmail.com>

* fix failing tests

Signed-off-by: freedisch <freeproduc@gmail.com>

* Update chaoscenter/web/src/views/ChaosFault/__tests__/ChaosFault.test.tsx

Co-authored-by: Sayan Mondal <sayan.mondal@harness.io>
Signed-off-by: Magnim BATALE <82499435+Freedisch@users.noreply.github.com>

* updated tests to use TestWrapper

Signed-off-by: freedisch <freeproduc@gmail.com>

---------

Signed-off-by: freedisch <freeproduc@gmail.com>
Signed-off-by: Magnim BATALE <82499435+Freedisch@users.noreply.github.com>
Co-authored-by: Sayan Mondal <sayan.mondal@harness.io>
2023-11-22 17:37:13 +05:30
Magnim BATALE 9f0943d4f4
Tests Choascenter: Added test cases for views (#4293)
* feat: added tests cases

Signed-off-by: freedisch <freeproduc@gmail.com>

* rm projectInvitation test

Signed-off-by: freedisch <freeproduc@gmail.com>

* replace mock with Testwrapper

Signed-off-by: freedisch <freeproduc@gmail.com>

* removed mock strings and added testwrapper

Signed-off-by: freedisch <freeproduc@gmail.com>

* fix failing tests

Signed-off-by: freedisch <freeproduc@gmail.com>

---------

Signed-off-by: freedisch <freeproduc@gmail.com>
2023-11-22 14:51:25 +05:30
Magnim BATALE 162eba1a3d
feat: add tests cases for chaoscenter web views (#4248)
* feat: add tests cases for errorcheck overview restpassword

Signed-off-by: freedisch <freeproduc@gmail.com>

* fixed failing tests

Signed-off-by: freedisch <freeproduc@gmail.com>

* uodated props

Signed-off-by: freedisch <freeproduc@gmail.com>

* setup react query provider

Signed-off-by: freedisch <freeproduc@gmail.com>

* updated test cases

Signed-off-by: freedisch <freeproduc@gmail.com>

* move beforeEach

Signed-off-by: freedisch <freeproduc@gmail.com>

* Update chaoscenter/web/src/utils/testUtils.tsx

Co-authored-by: Sayan Mondal <sayan.mondal@harness.io>
Signed-off-by: Magnim BATALE <82499435+Freedisch@users.noreply.github.com>

* Update chaoscenter/web/src/utils/testUtils.tsx

Co-authored-by: Sayan Mondal <sayan.mondal@harness.io>
Signed-off-by: Magnim BATALE <82499435+Freedisch@users.noreply.github.com>

* fix lint issue

Signed-off-by: freedisch <freeproduc@gmail.com>

* fixing linting issue

Signed-off-by: freedisch <freeproduc@gmail.com>

* fix  lint issue

Signed-off-by: freedisch <freeproduc@gmail.com>

* revert update

Signed-off-by: freedisch <freeproduc@gmail.com>

* fix import error

Signed-off-by: freedisch <freeproduc@gmail.com>

---------

Signed-off-by: freedisch <freeproduc@gmail.com>
Signed-off-by: Magnim BATALE <82499435+Freedisch@users.noreply.github.com>
Co-authored-by: Sayan Mondal <sayan.mondal@harness.io>
2023-11-22 13:06:44 +05:30
Hrishav 11b8597eca
feat: Added view toggle for password input field (#4303)
Signed-off-by: Hrishav <hrishav.kumar@harness.io>
2023-11-21 15:09:17 +05:30
Shubham Chaudhary 8ad33ad9d3
Integrate the operator image with scarf gateway (#4299)
Signed-off-by: Shubham Chaudhary <shubham.chaudhary@harness.io>
2023-11-16 11:16:11 +05:30
Hrishav 944ba06e33
fix: Fixed duplicate probe issue in enable/disable cron API (#4296)
* fix: Fixed duplicate probe issue in enable/disable cron API

Signed-off-by: Hrishav <hrishav.kumar@harness.io>

* chore: Updated go imports

Signed-off-by: Hrishav <hrishav.kumar@harness.io>

---------

Signed-off-by: Hrishav <hrishav.kumar@harness.io>
2023-11-15 19:29:59 +05:30
Hrishav fd2a99639d
fix: Fixed RBAC issue and updated upload YAML function (#4295)
* fix: Fixed RBAC issue and updated upload YAML function

Signed-off-by: Hrishav <hrishav.kumar@harness.io>

* chore: Updated more permissions

Signed-off-by: Hrishav <hrishav.kumar@harness.io>

---------

Signed-off-by: Hrishav <hrishav.kumar@harness.io>
2023-11-15 18:13:00 +05:30
Saranya Jena 3349d1d54a
Added 3.1.0 installation manifests (#4294)
* Added 3.1.0 installation manifests

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* updated default hub branch

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* updated crds

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* updated default hub branch

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

---------

Signed-off-by: Saranya-jena <saranya.jena@harness.io>
2023-11-15 17:00:17 +05:30
Namkyu Park 96590d2cac
chore: update ChaosEngine crd in chaoscenter/manifest (#4292)
* chore: update ChaosEngine crd

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>

* chore

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>

---------

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>
Co-authored-by: Saranya Jena <saranya.jena@harness.io>
2023-11-15 15:57:05 +05:30
Magnim BATALE eabfc5e372
Incorporate documentation for the Chaoscenter REST API (#4197)
* feat: setup swagger doc

Signed-off-by: Freedisch <freeproduc@gmail.com>

* Added response model for Api documentation

Signed-off-by: Freedisch <freeproduc@gmail.com>

* fix import error

Signed-off-by: freedisch <freeproduc@gmail.com>

* fix failing backend ci for authentication

Signed-off-by: freedisch <freeproduc@gmail.com>

* feat: Added response samples and error samples

Signed-off-by: freedisch <freeproduc@gmail.com>

* generated new doc

Signed-off-by: freedisch <freeproduc@gmail.com>

* fix code format

Signed-off-by: freedisch <freeproduc@gmail.com>

* Added doc readme

Signed-off-by: freedisch <freeproduc@gmail.com>

* fix typo

Signed-off-by: freedisch <freeproduc@gmail.com>

* update doc

Signed-off-by: freedisch <freeproduc@gmail.com>

---------

Signed-off-by: Freedisch <freeproduc@gmail.com>
Signed-off-by: freedisch <freeproduc@gmail.com>
Signed-off-by: Magnim BATALE <82499435+Freedisch@users.noreply.github.com>
Co-authored-by: Sayan Mondal <sayan.mondal@harness.io>
Co-authored-by: Saranya Jena <saranya.jena@harness.io>
2023-11-15 14:55:17 +05:30
Magnim BATALE ee5a04644f
Added tests for environments handler (#4175)
* added tests for environments

Signed-off-by: Freedisch <freeproduc@gmail.com>

* fix lint

Signed-off-by: Freedisch <freeproduc@gmail.com>

* feat: updated handler tests to use mocks

Signed-off-by: freedisch <freeproduc@gmail.com>

* replace operator with mockOperator

Signed-off-by: freedisch <freeproduc@gmail.com>

* fix imports errors

Signed-off-by: freedisch <freeproduc@gmail.com>

* Update chaoscenter/graphql/server/pkg/environment/handler/handler_test.go

Co-authored-by: Namkyu Park <53862866+namkyu1999@users.noreply.github.com>
Signed-off-by: Magnim BATALE <82499435+Freedisch@users.noreply.github.com>

* fix and added positive tests cases

Signed-off-by: freedisch <freeproduc@gmail.com>

* rm  unsued func

Signed-off-by: freedisch <freeproduc@gmail.com>

* fix import order

Signed-off-by: freedisch <freeproduc@gmail.com>

* removed mocked environment

Signed-off-by: freedisch <freeproduc@gmail.com>

* Update chaoscenter/graphql/server/pkg/environment/handler/handler_test.go

Co-authored-by: Namkyu Park <53862866+namkyu1999@users.noreply.github.com>
Signed-off-by: Magnim BATALE <82499435+Freedisch@users.noreply.github.com>

* Update chaoscenter/graphql/server/pkg/environment/handler/handler_test.go

Co-authored-by: Namkyu Park <53862866+namkyu1999@users.noreply.github.com>
Signed-off-by: Magnim BATALE <82499435+Freedisch@users.noreply.github.com>

* Update chaoscenter/graphql/server/pkg/environment/handler/handler_test.go

Co-authored-by: Namkyu Park <53862866+namkyu1999@users.noreply.github.com>
Signed-off-by: Magnim BATALE <82499435+Freedisch@users.noreply.github.com>

* updated func names

Signed-off-by: freedisch <freeproduc@gmail.com>

---------

Signed-off-by: Freedisch <freeproduc@gmail.com>
Signed-off-by: freedisch <freeproduc@gmail.com>
Signed-off-by: Magnim BATALE <82499435+Freedisch@users.noreply.github.com>
Co-authored-by: Saranya Jena <saranya.jena@harness.io>
Co-authored-by: Namkyu Park <53862866+namkyu1999@users.noreply.github.com>
2023-11-15 11:59:32 +05:30
Amit Kumar Das 0390cdff2c
chore: Added UI changes for enable and disable cron feature (#4286)
* chore: Added UI changes for enable and disable cron feature

Signed-off-by: Amit Kumar Das <amit.das@harness.io>

* added util function to validate cron and minor fixes

Signed-off-by: Amit Kumar Das <amit.das@harness.io>

* minor fix

Signed-off-by: Amit Kumar Das <amit.das@harness.io>

* fixed import order

Signed-off-by: Amit Kumar Das <amit.das@harness.io>

* fixed linting issues

Signed-off-by: Amit Kumar Das <amit.das@harness.io>

* fixed linting issues

Signed-off-by: Amit Kumar Das <amit.das@harness.io>

---------

Signed-off-by: Amit Kumar Das <amit.das@harness.io>
Co-authored-by: Saranya Jena <saranya.jena@harness.io>
2023-11-15 11:22:04 +05:30
Ripul Handoo 2c5557a337
Remove redundant code (#4207)
* Remove redundant code

Signed-off-by: Ripul Handoo <ripulhandoo1234@gmail.com>

* fix: remove redundant code

Signed-off-by: Ripul Handoo <ripulhandoo1234@gmail.com>

* Fix bug: Remove Redundant Code

Signed-off-by: Ripul Handoo <ripulhandoo1234@gmail.com>

---------

Signed-off-by: Ripul Handoo <ripulhandoo1234@gmail.com>
Signed-off-by: Saranya Jena <saranya.jena@harness.io>
Signed-off-by: Ripul Handoo <107461226+RipulHandoo@users.noreply.github.com>
Co-authored-by: gdsoumya <44349253+gdsoumya@users.noreply.github.com>
Co-authored-by: Saranya Jena <saranya.jena@harness.io>
2023-11-10 13:13:11 +05:30
Nageshbansal 2acc7835f3
Add actions for chaoscenter unit tests (#4244)
* Add actions for chaoscenter unit tests

Signed-off-by: nagesh bansal <nageshbansal59@gmail.com>

* Add actions for chaoscenter/web unit tests

Signed-off-by: nagesh bansal <nageshbansal59@gmail.com>

* Remove threshold coverage for web-unit-tests

Signed-off-by: nagesh bansal <nageshbansal59@gmail.com>

---------

Signed-off-by: nagesh bansal <nageshbansal59@gmail.com>
Co-authored-by: Vedant Shrotria <vedant.shrotria@harness.io>
2023-11-08 14:08:48 +05:30
Vedant Shrotria 0bd912899b
Added dependabot configuration to configure scanning of only required directories (#4273)
* Added dependabot config

Signed-off-by: Jonsy13 <vedant.shrotria@harness.io>

* Added dependabot config

Signed-off-by: Jonsy13 <vedant.shrotria@harness.io>

---------

Signed-off-by: Jonsy13 <vedant.shrotria@harness.io>
2023-11-08 12:06:22 +05:30
Magnim BATALE 7f2d8cd82f
Tests/Chaoscenter: Added test cases for Grpc Handler (#4189)
* added tests for environments

Signed-off-by: Freedisch <freeproduc@gmail.com>

* fix lint

Signed-off-by: Freedisch <freeproduc@gmail.com>

* feat: tests cases for grpc handler

Signed-off-by: Freedisch <freeproduc@gmail.com>

* feat: Added mock tests for grpc handler

Signed-off-by: Freedisch <freeproduc@gmail.com>

* fix imports

Signed-off-by: Freedisch <freeproduc@gmail.com>

* feat: mocked rest/grpc services

Signed-off-by: freedisch <freeproduc@gmail.com>

* updated grpc tests to use mocks services

Signed-off-by: freedisch <freeproduc@gmail.com>

* rm environment tests

Signed-off-by: freedisch <freeproduc@gmail.com>

* fix grpc test imports

Signed-off-by: freedisch <freeproduc@gmail.com>

* import order

Signed-off-by: freedisch <freeproduc@gmail.com>

* fix import order for mocks

Signed-off-by: freedisch <freeproduc@gmail.com>

* added ngatives tests cases

Signed-off-by: freedisch <freeproduc@gmail.com>

---------

Signed-off-by: Freedisch <freeproduc@gmail.com>
Signed-off-by: freedisch <freeproduc@gmail.com>
Co-authored-by: Sayan Mondal <sayan.mondal@harness.io>
2023-11-08 10:34:49 +05:30
Saranya Jena 8cf7902563
Enable cron (#4239)
* Added API for enable  and disable cron

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* Added backend implementation to toggle enable/disable cron experiment

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* fixed imports

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* removed code for disable cron from stop experiment

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

---------

Signed-off-by: Saranya-jena <saranya.jena@harness.io>
2023-11-07 10:45:48 +05:30
Sayan Mondal 997d1ab4af
chore: Updating GetProbesInExperimentRun API (#4257)
* chore: Updating GetProbesInExperimentRun API

* chore: Fixing goimport issue
2023-11-03 17:27:05 +05:30
Hrishav 11f97f6499
feat: Added stop/re-run button in experiment dashboard table and right sidebar (#4255)
* feat: Added stop experiment run feature in FE

Signed-off-by: Hrishav <hrishav.kumar@harness.io>

* chore: Updated manifest link

Signed-off-by: Hrishav <hrishav.kumar@harness.io>

* fix: Fixed add probe button shrinking issue

Signed-off-by: Hrishav <hrishav.kumar@harness.io>

* chore: removed propreitary message

Signed-off-by: Hrishav <hrishav.kumar@harness.io>

---------

Signed-off-by: Hrishav <hrishav.kumar@harness.io>
2023-11-03 11:38:28 +05:30
Ripul Handoo 304d32e371
Fix bug: Changed 'VALUE' to 'value' for consistency (#4253)
* Fix bug: Changed 'VALUE' to 'value' for consistency

Signed-off-by: Ripul Handoo <ripulhandoo1234@gmail.com>
2023-11-02 18:19:00 +05:30
Soham Ratnaparkhi d4550bd747
Feat/subscriber: Interfaces in subscriber (#4145)
* feat: add interfaces to events

Signed-off-by: SohamRatnaparkhi <soham.ratnaparkhi@gmail.com>

* feat: add interfaces to subscriber gql

Signed-off-by: SohamRatnaparkhi <soham.ratnaparkhi@gmail.com>

* feat: add interfaces to k8s

Signed-off-by: SohamRatnaparkhi <soham.ratnaparkhi@gmail.com>

* feat: add interfaces to utils

Signed-off-by: SohamRatnaparkhi <soham.ratnaparkhi@gmail.com>

* feat: add interfaces to requests

Signed-off-by: SohamRatnaparkhi <soham.ratnaparkhi@gmail.com>

* feat: use interfaces in main file

Signed-off-by: SohamRatnaparkhi <soham.ratnaparkhi@gmail.com>

* feat: add interfaces to requests

Signed-off-by: SohamRatnaparkhi <soham.ratnaparkhi@gmail.com>

* feat: add interfaces to utils

Signed-off-by: SohamRatnaparkhi <soham.ratnaparkhi@gmail.com>

* feat: use new interfaces

Signed-off-by: SohamRatnaparkhi <soham.ratnaparkhi@gmail.com>

* fix: add global variables to reciever

Signed-off-by: SohamRatnaparkhi <soham.ratnaparkhi@gmail.com>

* refractor: events struct to subscriberEvents

Signed-off-by: SohamRatnaparkhi <soham.ratnaparkhi@gmail.com>

* refractor: gql struct nd getter

Signed-off-by: SohamRatnaparkhi <soham.ratnaparkhi@gmail.com>

* refractor: subscriber k8s object getter

Signed-off-by: SohamRatnaparkhi <soham.ratnaparkhi@gmail.com>

* refractor: define local vars with :=

Signed-off-by: SohamRatnaparkhi <soham.ratnaparkhi@gmail.com>

* fix: absent event in event interface

Signed-off-by: SohamRatnaparkhi <soham.ratnaparkhi@gmail.com>

---------

Signed-off-by: SohamRatnaparkhi <soham.ratnaparkhi@gmail.com>
2023-11-02 11:17:49 +05:30
Namkyu Park f2275e4910
Add: Litmus Enhancement Proposals directory (#4223)
* feat: add proposals dir

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>

* feat: add template.md and fix backstage-plugin.md

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>

---------

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>
Signed-off-by: Namkyu Park <53862866+namkyu1999@users.noreply.github.com>
Signed-off-by: Saranya Jena <saranya.jena@harness.io>
Co-authored-by: Saranya Jena <saranya.jena@harness.io>
2023-10-29 20:57:55 +05:30
Mehmet 0fd84b718f
[DOC] Added 'CRs' as an acronym for 'custom resources' (#4226)
Signed-off-by: Mehmet Mustafa Guersul <mehmetgursul@gmail.com>

Signed-off-by: Saranya Jena <saranya.jena@harness.io>
Co-authored-by: Mehmet Mustafa Guersul <mehmetgursull@gmail.com>
Co-authored-by: Saranya Jena <saranya.jena@harness.io>
2023-10-27 15:11:25 +05:30
Tanishq Jain 4bdeea3a64
Added some text occurrences in UI (#4186)
* Fixed issue with updating audit fields in recent experiment runs (#4172)

* fixed mongo schema decode issue

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* updated the same in other fields

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* fixed css

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

---------

Signed-off-by: Saranya-jena <saranya.jena@harness.io>
Signed-off-by: Tanishq Jain <tanishqjain010@gmail.com>

* fix: Fixed teaming page UI Issues (#4173)

Signed-off-by: Hrishav <hrishav.kumar@harness.io>
Signed-off-by: Tanishq Jain <tanishqjain010@gmail.com>

* fix: Updated config to support favicon (#4179)

Signed-off-by: Hrishav <hrishav.kumar@harness.io>
Signed-off-by: Tanishq Jain <tanishqjain010@gmail.com>

* replace string with corresponding keys

Signed-off-by: Tanishq Jain <tanishqjain010@gmail.com>

* replace string with corresponding keys

Signed-off-by: Tanishq Jain <tanishqjain010@gmail.com>

* replaced the text string with the corresponding keys Signed-off-by:
Tanishq Jain <tanishqjain010@gmail.com>

Signed-off-by: Tanishq Jain <tanishqjain010@gmail.com>

* fix: Added experiment run operator for NewChaosExperimentService (#4184)

Signed-off-by: Amit Kumar Das <amit.das@harness.io>
Signed-off-by: Tanishq Jain <tanishqjain010@gmail.com>

* Apply suggestions from code review

Co-authored-by: Namkyu Park <53862866+namkyu1999@users.noreply.github.com>
Signed-off-by: Tanishq Jain <tanishqjain010@gmail.com>

* updated type.ts using yarn strings

Signed-off-by: Tanishq Jain <tanishqjain010@gmail.com>

---------

Signed-off-by: Saranya-jena <saranya.jena@harness.io>
Signed-off-by: Tanishq Jain <tanishqjain010@gmail.com>
Signed-off-by: Hrishav <hrishav.kumar@harness.io>
Signed-off-by: Amit Kumar Das <amit.das@harness.io>
Signed-off-by: Saranya Jena <saranya.jena@harness.io>
Co-authored-by: Saranya Jena <saranya.jena@harness.io>
Co-authored-by: Hrishav <hrishav.kumar@harness.io>
Co-authored-by: Amit Kumar Das <amit.das@harness.io>
Co-authored-by: Namkyu Park <53862866+namkyu1999@users.noreply.github.com>
2023-10-27 12:33:35 +05:30
Bruno Ledesma 50a7ae45db
external mongo secrets config (#4166)
Signed-off-by: Bruno Ledesma <bruno.ledesma@nubank.com.br>
Signed-off-by: Vedant Shrotria <vedant.shrotria@harness.io>
Signed-off-by: Saranya Jena <saranya.jena@harness.io>
Co-authored-by: Vedant Shrotria <vedant.shrotria@harness.io>
Co-authored-by: Saranya Jena <saranya.jena@harness.io>
2023-10-27 11:40:39 +05:30
Soham Ratnaparkhi 727ee8ab18
Test/chaos experiments: Tests for handlers and services (#4137)
* fix: use local mongo operator

Signed-off-by: SohamRatnaparkhi <soham.ratnaparkhi@gmail.com>

* feat: gitops mocks added

Signed-off-by: SohamRatnaparkhi <soham.ratnaparkhi@gmail.com>

* feat: mongo mocks added

Signed-off-by: SohamRatnaparkhi <soham.ratnaparkhi@gmail.com>

* feat: chaos experiment run mocks added

Signed-off-by: SohamRatnaparkhi <soham.ratnaparkhi@gmail.com>

* feat: infra mocks added

Signed-off-by: SohamRatnaparkhi <soham.ratnaparkhi@gmail.com>

* feat: chaos experiment mocks added

Signed-off-by: SohamRatnaparkhi <soham.ratnaparkhi@gmail.com>

* feat: temporary manifests

Signed-off-by: SohamRatnaparkhi <soham.ratnaparkhi@gmail.com>

* fix: missing exp-run operator

Signed-off-by: SohamRatnaparkhi <soham.ratnaparkhi@gmail.com>

* feat: service tests

Signed-off-by: SohamRatnaparkhi <soham.ratnaparkhi@gmail.com>

* feat: handler tests

Signed-off-by: SohamRatnaparkhi <soham.ratnaparkhi@gmail.com>

* fix: errors due to package restructure conflicts with upstream

Signed-off-by: SohamRatnaparkhi <soham.ratnaparkhi@gmail.com>

* fix: infra resolver bug

Signed-off-by: SohamRatnaparkhi <soham.ratnaparkhi@gmail.com>

* feat: add exp_run mock service

Signed-off-by: SohamRatnaparkhi <soham.ratnaparkhi@gmail.com>

* fix: gitops mocks

Signed-off-by: SohamRatnaparkhi <soham.ratnaparkhi@gmail.com>

* fix: typos

Signed-off-by: SohamRatnaparkhi <soham.ratnaparkhi@gmail.com>

* feat: add exp run test files

Signed-off-by: SohamRatnaparkhi <soham.ratnaparkhi@gmail.com>

* chore: remove redundant package

Signed-off-by: SohamRatnaparkhi <soham.ratnaparkhi@gmail.com>

* fix: update exp bugs

Signed-off-by: SohamRatnaparkhi <soham.ratnaparkhi@gmail.com>

---------

Signed-off-by: SohamRatnaparkhi <soham.ratnaparkhi@gmail.com>
Signed-off-by: Soham Ratnaparkhi <soham.ratnaparkhi@gmail.com>
Signed-off-by: Saranya Jena <saranya.jena@harness.io>
Co-authored-by: Namkyu Park <53862866+namkyu1999@users.noreply.github.com>
Co-authored-by: Saranya Jena <saranya.jena@harness.io>
2023-10-26 17:06:06 +05:30
Punith d8a4896c58
[WIP]Fixed:Compilation errors in choas_hub/handler tests (#4113)
Signed-off-by: punithnayak <punithnayak098@gmail.com>
Signed-off-by: Saranya Jena <saranya.jena@harness.io>
Co-authored-by: Saranya Jena <saranya.jena@harness.io>
2023-10-26 16:43:17 +05:30
Saranya Jena a0393efce5
Added backend changes for stop experiment (#4227)
* Added backend changes for stop experiment

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* fixed issues with subscriber for stop experiemnt

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* updated logic

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* fixed imports

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* fixed imports

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

---------

Signed-off-by: Saranya-jena <saranya.jena@harness.io>
2023-10-26 11:02:03 +05:30
Shubham Chaudhary 291cbbf7f3
chore(3.1.0): Adding the manifests for 3.1.0 (#4231)
Signed-off-by: Shubham Chaudhary <shubham.chaudhary@harness.io>
2023-10-17 13:43:20 +05:30
Saranya Jena 9f0e22ed35
update the broken link in readme (#4224)
Signed-off-by: Saranya-jena <saranya.jena@harness.io>
Co-authored-by: gdsoumya <44349253+gdsoumya@users.noreply.github.com>
2023-10-16 10:45:20 +05:30
Shubham Chaudhary 02a5900995
Add port blacklisting in the pod-network faults (#4222)
Signed-off-by: Shubham Chaudhary <shubham.chaudhary@harness.io>
2023-10-12 19:38:48 +05:30
Vansh Bhatia d1b19a3435
fix: fixed update environment submit button issue (#4220)
Signed-off-by: Vansh Bhatia <vansh.bhatia@harness.io>
2023-10-10 13:54:55 +05:30
Vedant Shrotria 85e730c091
Added minor changes (#4214)
Signed-off-by: Jonsy13 <vedant.shrotria@harness.io>
2023-10-04 19:55:00 +05:30
Vedant Shrotria 5c36d14fb5
fix: Added minor changes for 3.0.0 artifacts (#4212)
* Added minor changes

Signed-off-by: Jonsy13 <vedant.shrotria@harness.io>

* Added minor changes

Signed-off-by: Jonsy13 <vedant.shrotria@harness.io>

---------

Signed-off-by: Jonsy13 <vedant.shrotria@harness.io>
2023-10-04 19:10:18 +05:30
Nageshbansal 835a670ea4
Fix isRegistered check in GetK8sInfraYaml (#4127)
Signed-off-by: nagesh bansal <nageshbansal59@gmail.com>
Co-authored-by: Saranya Jena <saranya.jena@harness.io>
2023-10-04 17:53:11 +05:30
Sarthak Jain c0a2bdeca2
fixed duplicate experiment name issue (#4210)
* fixed dupicate experiment name

Signed-off-by: Sarthak Jain <sarthak.jain@harness.io>

* fixed text

Signed-off-by: Sarthak Jain <sarthak.jain@harness.io>

* fixed text

Signed-off-by: Sarthak Jain <sarthak.jain@harness.io>

---------

Signed-off-by: Sarthak Jain <sarthak.jain@harness.io>
Co-authored-by: Saranya Jena <saranya.jena@harness.io>
2023-10-04 17:19:37 +05:30
Saranya Jena ef5d1df09f
fixed issue with node popover (#4211)
Signed-off-by: Saranya-jena <saranya.jena@harness.io>
2023-10-04 17:07:48 +05:30
Shubham Chaudhary 919ab09a09
chore(3.0.0): Adding the manifests for 3.0.0 (#4196)
Signed-off-by: Shubham Chaudhary <shubham.chaudhary@harness.io>
2023-10-04 15:53:16 +05:30
Sarthak Jain bfeb5e1049
added check to prevent dupicate experiment name (#4208)
Signed-off-by: Sarthak Jain <sarthak.jain@harness.io>
Co-authored-by: Saranya Jena <saranya.jena@harness.io>
2023-10-04 14:24:48 +05:30
Namkyu Park ca926e181c
fix: update ChaosEngine crd manifest file in graphql server (#4205)
* fix: update ChaosEngine crd in graphql server

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>

* fix: update annotation

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>

---------

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>
Co-authored-by: Saranya Jena <saranya.jena@harness.io>
2023-10-04 13:55:03 +05:30
Saranya Jena 794676f6b7
updated select probe button (#4204)
Signed-off-by: Saranya-jena <saranya.jena@harness.io>
2023-10-04 10:14:39 +05:30
Sarthak Jain dd3a7ef7fd
added manifest changes for ci and 3.0.0 (#4195)
* added manifest changes for ci and 3.0.0

Signed-off-by: Sarthak Jain <sarthak.jain@harness.io>

* changed panic to fatal

Signed-off-by: Sarthak Jain <sarthak.jain@harness.io>

* removed unused envs and code

Signed-off-by: Sarthak Jain <sarthak.jain@harness.io>

---------

Signed-off-by: Sarthak Jain <sarthak.jain@harness.io>
2023-10-03 10:58:30 +05:30
Saranya Jena 48c2ee0977
Removed system probe creation and updated lib images (#4203)
Signed-off-by: Saranya-jena <saranya.jena@harness.io>
2023-10-03 10:38:33 +05:30
Saranya Jena dc5757c1d5
Added loader component for Gitops page (#4192)
* Added loader component for gitops page

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* updated readme

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

---------

Signed-off-by: Saranya-jena <saranya.jena@harness.io>
2023-09-29 14:41:20 +05:30
Sayan Mondal f242925299
fix: Fixing missing ResourceNames field from k8s probe (#4194)
* chore: Adding missing ResourceNames reference

* chore: Adding string type

---------

Co-authored-by: Saranya Jena <saranya.jena@harness.io>
2023-09-29 11:44:28 +05:30
Raj Das 3c61ada25e
Adding event tracker changes for litmus 3.x (#4193)
* Fixing event tracker for 3.x.x

Signed-off-by: Raj Babu Das <rajbabu.das@harness.io>

* Adding event tracker changes for litmus 3.x

Signed-off-by: Raj Babu Das <mail.rajdas@gmail.com>

* Adding event tracker changes for litmus 3.x

Signed-off-by: Raj Babu Das <mail.rajdas@gmail.com>

---------

Signed-off-by: Raj Babu Das <rajbabu.das@harness.io>
Signed-off-by: Raj Babu Das <mail.rajdas@gmail.com>
Co-authored-by: Saranya Jena <saranya.jena@harness.io>
2023-09-29 11:15:07 +05:30
Namkyu Park 27bb836c05
[chore]: Show an error popup when a user enters an invalid info (#4177)
* fix: catch error when user entered duplicated id

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>

* fix: popup toast when passwords do not matched in UpdatePassword

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>

* fix: pass codacy

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>

---------

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>
Co-authored-by: Saranya Jena <saranya.jena@harness.io>
2023-09-28 17:58:34 +05:30
Sarthak Jain 25a436ddd9
Added check to prevent duplicate experiments with same name (#4187)
* Added check to prevent duplicate experiments with same name

* Added duplicate experiment name check in chaos center

* minor fix

Signed-off-by: Sarthak Jain <sarthak.jain@harness.io>

---------

Signed-off-by: Sarthak Jain <sarthak.jain@harness.io>
2023-09-28 17:17:07 +05:30
Hrishav e3f6868580
fix: Fixed issue where create/edit environments API was getting called twice (#4191)
Signed-off-by: Hrishav <hrishav.kumar@harness.io>
2023-09-28 12:26:58 +05:30
Hrishav 64f0a9db02
fix: Fixed issues with refetch on ChaosHub, Environment and Probe screens (#4182)
* fix: Fixed issues with refetch of various screens

Signed-off-by: Hrishav <hrishav.kumar@harness.io>

* fix: Updated no token state management

Signed-off-by: Hrishav <hrishav.kumar@harness.io>

---------

Signed-off-by: Hrishav <hrishav.kumar@harness.io>
2023-09-27 14:52:35 +05:30
Saranya Jena 6141ddd9cd
Fixed issue with invite user modal for users which were once deactivated (#4185)
* Fixed issue with invite user

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* fixed imports

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* fixed issue with namespaced scope experiments,removed ununsed envs

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* Removed envs and print statements

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* Added 3.0.0 manifests

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* updated readme

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

---------

Signed-off-by: Saranya-jena <saranya.jena@harness.io>
2023-09-26 13:08:30 +05:30
Amit Kumar Das bd59209c1f
fix: Added experiment run operator for NewChaosExperimentService (#4184)
Signed-off-by: Amit Kumar Das <amit.das@harness.io>
2023-09-25 12:33:37 +05:30
Hrishav ed9728ad22
fix: Updated config to support favicon (#4179)
Signed-off-by: Hrishav <hrishav.kumar@harness.io>
2023-09-20 15:04:48 +05:30
Hrishav ac62acfe19
fix: Fixed teaming page UI Issues (#4173)
Signed-off-by: Hrishav <hrishav.kumar@harness.io>
2023-09-15 18:35:46 +05:30
Saranya Jena 42d3e85d07
Fixed issue with updating audit fields in recent experiment runs (#4172)
* fixed mongo schema decode issue

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* updated the same in other fields

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* fixed css

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

---------

Signed-off-by: Saranya-jena <saranya.jena@harness.io>
2023-09-15 17:22:40 +05:30
Shubham Chaudhary afd2ac6288
chore(3.0.0-beta11): Adding the manifests for 3.0.0-beta11 (#4171) 2023-09-15 16:12:20 +05:30
Saranya Jena 8b89dd0d59
Added beta12 installation manifests (#4169)
Signed-off-by: Saranya-jena <saranya.jena@harness.io>
2023-09-15 15:55:05 +05:30
Hrishav 13ee0c9750
fix: Updated `Account Settings` and `Infrastructure` pages (#4170)
* Added util to update page title and fixed env page loader

Signed-off-by: Hrishav <hrishav.kumar@harness.io>

* Fixed issues found while testing

Signed-off-by: Hrishav <hrishav.kumar@harness.io>

* Fixed UI issues found

Signed-off-by: Hrishav <hrishav.kumar@harness.io>

* Update the code architecture to Interface model for Environment pkg (#4159)

* refactor environment to interface model

Signed-off-by: Freedisch <freeproduc@gmail.com>

* fix lint

Signed-off-by: Freedisch <freeproduc@gmail.com>

* fix environments error chaos_inf

Signed-off-by: Freedisch <freeproduc@gmail.com>

* updated  environments_resolver

Signed-off-by: Freedisch <freeproduc@gmail.com>

* updated  environments_resolver

Signed-off-by: Freedisch <freeproduc@gmail.com>

* revert-deleted pre-commit/push

Signed-off-by: Magnim BATALE <82499435+Freedisch@users.noreply.github.com>

---------

Signed-off-by: Freedisch <freeproduc@gmail.com>
Signed-off-by: Magnim BATALE <82499435+Freedisch@users.noreply.github.com>

* Fixed UI issues found

Signed-off-by: Hrishav <hrishav.kumar@harness.io>

* fix: Fixed account settings overview screen overflow

Signed-off-by: Hrishav <hrishav.kumar@harness.io>

---------

Signed-off-by: Hrishav <hrishav.kumar@harness.io>
Signed-off-by: Freedisch <freeproduc@gmail.com>
Signed-off-by: Magnim BATALE <82499435+Freedisch@users.noreply.github.com>
Co-authored-by: Saranya Jena <saranya.jena@harness.io>
Co-authored-by: Magnim BATALE <82499435+Freedisch@users.noreply.github.com>
2023-09-15 13:48:05 +05:30
Soham Ratnaparkhi f603aafdc1
Test/chaos_experiment_runs: Handler and service tests for experiment runs (#4136)
* fix: use local mongo operator

Signed-off-by: SohamRatnaparkhi <soham.ratnaparkhi@gmail.com>

* feat: gitops mocks added

Signed-off-by: SohamRatnaparkhi <soham.ratnaparkhi@gmail.com>

* feat: mongo mocks added

Signed-off-by: SohamRatnaparkhi <soham.ratnaparkhi@gmail.com>

* feat: chaos experiment run mocks added

Signed-off-by: SohamRatnaparkhi <soham.ratnaparkhi@gmail.com>

* feat: infra mocks added

Signed-off-by: SohamRatnaparkhi <soham.ratnaparkhi@gmail.com>

* feat: chaos experiment mocks added

Signed-off-by: SohamRatnaparkhi <soham.ratnaparkhi@gmail.com>

* feat: choas experiment run service tests

Signed-off-by: SohamRatnaparkhi <soham.ratnaparkhi@gmail.com>

* feat: choas experiment run handler tests

Signed-off-by: SohamRatnaparkhi <soham.ratnaparkhi@gmail.com>

* fix: remove run workflow test

Signed-off-by: SohamRatnaparkhi <soham.ratnaparkhi@gmail.com>

---------

Signed-off-by: SohamRatnaparkhi <soham.ratnaparkhi@gmail.com>
2023-09-15 13:13:09 +05:30
Soham Ratnaparkhi ff599d48e0
Test/mocks: added mocks for test cases (#4133)
* fix: use local mongo operator

Signed-off-by: SohamRatnaparkhi <soham.ratnaparkhi@gmail.com>

* feat: gitops mocks added

Signed-off-by: SohamRatnaparkhi <soham.ratnaparkhi@gmail.com>

* feat: mongo mocks added

Signed-off-by: SohamRatnaparkhi <soham.ratnaparkhi@gmail.com>

* feat: chaos experiment run mocks added

Signed-off-by: SohamRatnaparkhi <soham.ratnaparkhi@gmail.com>

* feat: infra mocks added

Signed-off-by: SohamRatnaparkhi <soham.ratnaparkhi@gmail.com>

* feat: chaos experiment mocks added

Signed-off-by: SohamRatnaparkhi <soham.ratnaparkhi@gmail.com>

---------

Signed-off-by: SohamRatnaparkhi <soham.ratnaparkhi@gmail.com>
Co-authored-by: Amit Kumar Das <amit.das@harness.io>
Co-authored-by: Namkyu Park <53862866+namkyu1999@users.noreply.github.com>
Co-authored-by: Saranya Jena <saranya.jena@harness.io>
2023-09-15 13:11:37 +05:30
Saranya Jena ba00736856
Added changes required for dex setup for litmus 3.0.0-beta11 (#4163)
* Added changes required for dex setup

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* Moved dex-server to chaoscenter

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* resolved review comments

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* fixed imports

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

---------

Signed-off-by: Saranya-jena <saranya.jena@harness.io>
2023-09-13 15:24:23 +05:30
Hrishav ac6ebe4295
Added util to update page title and added empty data check on environment page (#4162)
* Added util to update page title and fixed env page loader

Signed-off-by: Hrishav <hrishav.kumar@harness.io>

* Fixed issues found while testing

Signed-off-by: Hrishav <hrishav.kumar@harness.io>

* Fixed UI issues found

Signed-off-by: Hrishav <hrishav.kumar@harness.io>

---------

Signed-off-by: Hrishav <hrishav.kumar@harness.io>
Co-authored-by: Saranya Jena <saranya.jena@harness.io>
2023-09-13 14:43:33 +05:30
Saranya Jena 7bcbd7ce92
Fixed issue with update user state (#4164)
* Fixed issue with mongo watch events to add image registry on project creation

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* Fixed imports

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* resolved comments

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* fixed imports

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* Updated  project schema fields to fix deactivate user api

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

---------

Signed-off-by: Saranya-jena <saranya.jena@harness.io>
2023-09-13 13:39:43 +05:30
Saranya Jena a64d321e12
Fixed issue with mongo watch events in graphql server (#4160)
* Fixed issue with mongo watch events to add image registry on project creation

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* Fixed imports

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* resolved comments

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* fixed imports

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

---------

Signed-off-by: Saranya-jena <saranya.jena@harness.io>
2023-09-13 13:10:47 +05:30
Magnim BATALE 2cc7d4c67b
Update the code architecture to Interface model for Environment pkg (#4159)
* refactor environment to interface model

Signed-off-by: Freedisch <freeproduc@gmail.com>

* fix lint

Signed-off-by: Freedisch <freeproduc@gmail.com>

* fix environments error chaos_inf

Signed-off-by: Freedisch <freeproduc@gmail.com>

* updated  environments_resolver

Signed-off-by: Freedisch <freeproduc@gmail.com>

* updated  environments_resolver

Signed-off-by: Freedisch <freeproduc@gmail.com>

* revert-deleted pre-commit/push

Signed-off-by: Magnim BATALE <82499435+Freedisch@users.noreply.github.com>

---------

Signed-off-by: Freedisch <freeproduc@gmail.com>
Signed-off-by: Magnim BATALE <82499435+Freedisch@users.noreply.github.com>
2023-09-13 10:53:26 +05:30
Amit Kumar Das c4a617fbe2
fix: [chaos-center]: Fixed subscriber status issue and minor experiment types fix in graphql server (#4158)
* feat:[chaos-center]: Updated subscriber status changes

Signed-off-by: Amit Kumar Das <amit.das@harness.io>

* feat:[chaos-center]: Updated types and chaosdata result fix in gql server

Signed-off-by: Amit Kumar Das <amit.das@harness.io>

---------

Signed-off-by: Amit Kumar Das <amit.das@harness.io>
2023-09-08 14:33:18 +05:30
Hrishav c184c3e784
feat: Updated SideBar Component (#4155)
* Updated SideBar

Signed-off-by: Hrishav <hrishav.kumar@harness.io>

* Synced changed with master

Signed-off-by: Hrishav <hrishav.kumar@harness.io>

---------

Signed-off-by: Hrishav <hrishav.kumar@harness.io>
2023-09-07 14:44:28 +05:30
Alexey Vazhnov ba2b89a5a8
mkdocs/docs/experiments/faq/ci-cd.md: improve markdown formatting (#4156)
* lists
* remove extra spaces
* Capitalization of Litmus name

Signed-off-by: Alexey Vazhnov <vazhnov@boot-keys.org>
2023-09-06 20:53:07 +05:30
Namkyu Park 57748d7e93
[ChaosCenter]: Implement api token CRUD logic & frontend view (#4138)
* fix: support Bearer in api-server

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>

* fix: chore

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>

* feat: implement api-token crud api

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>

* feat: add auth apis to swagger

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>

* feat: implement api-token frontend logics

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>

* fix: fix SettingsWrapper

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>

* fix: minor

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>

* fix: pass deepscan

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>

* fix: chore

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>

* fix: use const values

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>

* fix: delete validating whether the user deactivated or not in handler function

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>

---------

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>
2023-09-06 20:51:40 +05:30
Saranya Jena 0cf13c978f
Added UI screens for Resiliency probes (#4154)
* updated backend with the latest frontend changes

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* Added UI screens for resilience probes

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* resolved review comments

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* fixed imports

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* fixed css issues and updated probe mode UI

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* fixed imports

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

---------

Signed-off-by: Saranya-jena <saranya.jena@harness.io>
2023-09-06 20:32:08 +05:30
Hrishav a962937f53
feat: Added YAMLBuilder Component (#4150)
* feat: Added basic iteration of YAML builder

Signed-off-by: Hrishav <hrishav.kumar@harness.io>

* fix: Updated faults searching logic and added expandable nav link

Signed-off-by: Hrishav <hrishav.kumar@harness.io>

* fix: Fixed deepscan issues

Signed-off-by: Hrishav <hrishav.kumar@harness.io>

* fix: Updated color codes

Signed-off-by: Hrishav <hrishav.kumar@harness.io>

* fix: Added empty chaoschart test

Signed-off-by: Hrishav <hrishav.kumar@harness.io>

* feat: Added Upload YAML Creation Experiment Creation Method

Signed-off-by: Hrishav <hrishav.kumar@harness.io>

---------

Signed-off-by: Hrishav <hrishav.kumar@harness.io>
2023-09-05 16:18:05 +05:30
Saranya Jena 2d18956436
feat/gitops/image-registry: Added revamped UI screens for Gitops and image registry (#4135)
* Added image registry screens

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* Update getImageRegistry API to fetch on projectID

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* Added gitops screens

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* Added API integration for image-registry

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* Added api integration for image registry

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* Added api integration for gitops

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* updated gitops to schema to follow convention

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* Added strings for image registry n gitops

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* resolved review comments

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* Resolved review comments

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* resolved comments

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* fixed imports

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

---------

Signed-off-by: Saranya-jena <saranya.jena@harness.io>
2023-09-05 12:12:23 +05:30
Amit Kumar Das 271d7fde97
chore: [mentorship]: Updated mentorship docs (#4152)
* chore: [mentorship]: Updated mentorship docs

Signed-off-by: Amit Kumar Das <amit.das@harness.io>

* chore: [mentorship]: Added blog details

Signed-off-by: Amit Kumar Das <amit.das@harness.io>

---------

Signed-off-by: Amit Kumar Das <amit.das@harness.io>
2023-09-01 14:31:09 +05:30
Jongwoo Han 963ee8c29f
Replace deprecated command with environment file (#4115)
Signed-off-by: jongwooo <jongwooo.han@gmail.com>
Co-authored-by: Saranya Jena <saranya.jena@harness.io>
2023-08-24 18:50:38 +05:30
Saranya Jena 5d4e61074b
feat: Probes/Added backend implementation for probes as resource (#4116)
* Added probes graphql schema in backend

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* Added mongo schema for probes and updated experiment schema

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* Added handler functions for probes

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* Updated operator version in subscriber

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* removed redundant types in GQL n mongo schema

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* Added checks for updateProbe

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* Added nil checks for update probe

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* fixed imports

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* resolved conflicts and errors

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

---------

Signed-off-by: Saranya-jena <saranya.jena@harness.io>
2023-08-23 16:31:51 +05:30
Saranya Jena 4b778f5a0e
feat/teaming: Added revamped UI of teaming for litmus 3.0.0 (#4134)
* Added UI screens for active project members

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* Added auth endpoints to fetch active and pending members

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* Added api integration for active and pending members

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* Added api integration for invite users

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* Api refactor for invite users

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* Integrated table v2 with invite users api

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* Adding pending mebers screen

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* Added pending members table

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* Added json schema for all the fields

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* updated schema in frontend

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* Added epi integration for teaming

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* Added refetch functions in the modals and tables

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* Added ui fixes

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* Added loader and default text for empty array

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* Added user details fields while sending invitations

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* Added user details fields while project initialization

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* removed unused comments

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* resolved review comments

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* uncommented the logs

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

---------

Signed-off-by: Saranya-jena <saranya.jena@harness.io>
2023-08-21 19:41:37 +05:30
Raj Das 92d2dbebcd
Update .gitattributes to show golang language 2023-08-21 14:49:58 +05:30
Shubham Chaudhary 695398787d
chore(3.0.0-beta10): Adding the manifests for 3.0.0-beta10 (#4130)
Signed-off-by: Shubham Chaudhary <shubham.chaudhary@harness.io>
2023-08-16 17:02:02 +05:30
Saranya Jena 73ec0f6039
Added installation manifest for 3.0.0-beta11 (#4131)
Signed-off-by: Saranya-jena <saranya.jena@harness.io>
2023-08-16 16:42:16 +05:30
Soham Ratnaparkhi 1b6263b77d
Seperate experiment runs from experiments in chaos_center (#4053)
* feat: seperate exp_run and exp grapql schemas

Signed-off-by: SohamRatnaparkhi <soham.ratnaparkhi@gmail.com>

* feat: seperate exp_run and exp graphql resolvers

Signed-off-by: SohamRatnaparkhi <soham.ratnaparkhi@gmail.com>

* feat: add generated types

Signed-off-by: SohamRatnaparkhi <soham.ratnaparkhi@gmail.com>

* feat: add types for exp_run

Signed-off-by: SohamRatnaparkhi <soham.ratnaparkhi@gmail.com>

* feat: add exp_run services

Signed-off-by: SohamRatnaparkhi <soham.ratnaparkhi@gmail.com>

* feat: add exp_run handler

Signed-off-by: SohamRatnaparkhi <soham.ratnaparkhi@gmail.com>

* refractor: remove functions in experiments service related to runs

Signed-off-by: SohamRatnaparkhi <soham.ratnaparkhi@gmail.com>

* refractor: remove functions in experiments handler related to runs

Signed-off-by: SohamRatnaparkhi <soham.ratnaparkhi@gmail.com>

* fix: issues due to handler and resolver types

Signed-off-by: SohamRatnaparkhi <soham.ratnaparkhi@gmail.com>

* fix: breaking changes in generated and service files

Signed-off-by: SohamRatnaparkhi <soham.ratnaparkhi@gmail.com>

* fix: bugs in experiment handlers and roles

Signed-off-by: SohamRatnaparkhi <soham.ratnaparkhi@gmail.com>

* fix: add exp run  operator and update handler

Signed-off-by: SohamRatnaparkhi <soham.ratnaparkhi@gmail.com>

* fix: update infra opr to return exp-run

Signed-off-by: SohamRatnaparkhi <soham.ratnaparkhi@gmail.com>

* refractor: package name chaos_exp_run

Signed-off-by: SohamRatnaparkhi <soham.ratnaparkhi@gmail.com>

---------

Signed-off-by: SohamRatnaparkhi <soham.ratnaparkhi@gmail.com>
2023-08-16 11:20:58 +05:30
Saranya Jena edb61a1479
Revert "Test/exp run: Handler and service tests for experiment run package (#4126)" (#4129)
This reverts commit fcc8382411.

Co-authored-by: Amit Kumar Das <amit.das@harness.io>
2023-08-16 10:55:11 +05:30
Soham Ratnaparkhi fcc8382411
Test/exp run: Handler and service tests for experiment run package (#4126)
* feat: seperate exp_run and exp grapql schemas

Signed-off-by: SohamRatnaparkhi <soham.ratnaparkhi@gmail.com>

* feat: seperate exp_run and exp graphql resolvers

Signed-off-by: SohamRatnaparkhi <soham.ratnaparkhi@gmail.com>

* feat: add generated types

Signed-off-by: SohamRatnaparkhi <soham.ratnaparkhi@gmail.com>

* feat: add types for exp_run

Signed-off-by: SohamRatnaparkhi <soham.ratnaparkhi@gmail.com>

* feat: add exp_run services

Signed-off-by: SohamRatnaparkhi <soham.ratnaparkhi@gmail.com>

* feat: add exp_run handler

Signed-off-by: SohamRatnaparkhi <soham.ratnaparkhi@gmail.com>

* refractor: remove functions in experiments service related to runs

Signed-off-by: SohamRatnaparkhi <soham.ratnaparkhi@gmail.com>

* refractor: remove functions in experiments handler related to runs

Signed-off-by: SohamRatnaparkhi <soham.ratnaparkhi@gmail.com>

* fix: issues due to handler and resolver types

Signed-off-by: SohamRatnaparkhi <soham.ratnaparkhi@gmail.com>

* fix: breaking changes in generated and service files

Signed-off-by: SohamRatnaparkhi <soham.ratnaparkhi@gmail.com>

* fix: bugs in experiment handlers and roles

Signed-off-by: SohamRatnaparkhi <soham.ratnaparkhi@gmail.com>

* fix: add exp run  operator and update handler

Signed-off-by: SohamRatnaparkhi <soham.ratnaparkhi@gmail.com>

* fix: update infra opr to return exp-run

Signed-off-by: SohamRatnaparkhi <soham.ratnaparkhi@gmail.com>

* feat: add gitops mocks

Signed-off-by: SohamRatnaparkhi <soham.ratnaparkhi@gmail.com>

* feat: add mongo operations

Signed-off-by: SohamRatnaparkhi <soham.ratnaparkhi@gmail.com>

* refractor: schemas for new types

Signed-off-by: SohamRatnaparkhi <soham.ratnaparkhi@gmail.com>

* feat: mocks service for exp-run

Signed-off-by: SohamRatnaparkhi <soham.ratnaparkhi@gmail.com>

* feat: handler tests for exp-run

Signed-off-by: SohamRatnaparkhi <soham.ratnaparkhi@gmail.com>

* fix: package update to match latest changes

Signed-off-by: SohamRatnaparkhi <soham.ratnaparkhi@gmail.com>

* feat: test for exp-run service

Signed-off-by: SohamRatnaparkhi <soham.ratnaparkhi@gmail.com>

* feat: infra service mocks

Signed-off-by: SohamRatnaparkhi <soham.ratnaparkhi@gmail.com>

* feat: test for exp handlers(incomplete)

Signed-off-by: SohamRatnaparkhi <soham.ratnaparkhi@gmail.com>

* fix: local mongo opr usage instead of global

Signed-off-by: SohamRatnaparkhi <soham.ratnaparkhi@gmail.com>

* feat: incomplete GetExpRun and ReRunExp tests

Signed-off-by: SohamRatnaparkhi <soham.ratnaparkhi@gmail.com>

* feat: complete services tests

Signed-off-by: SohamRatnaparkhi <soham.ratnaparkhi@gmail.com>

* feat: complete handler tests

Signed-off-by: SohamRatnaparkhi <soham.ratnaparkhi@gmail.com>

---------

Signed-off-by: SohamRatnaparkhi <soham.ratnaparkhi@gmail.com>
2023-08-16 10:34:38 +05:30
Namkyu Park 2d64b25983
[ChaosCenter]: Revoke the token when the user logout (#4085)
* feat: add logout logic

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>

* feat: add logout api to frontend

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>

* fix: rename collection

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>

* feat: add IsRevokedToken logic to graphql-server

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>

* fix: fix testcases

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>

* fix: fix minor bugs

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>

* feat: add logout logic to chaoscenter/auth

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>

* feat: add logout logic to chaoscenter/web

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>

* feat: add logout logic to chaoscenter/graphql

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>

* fix: fix minor bugs

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>

* fix: fix auth logic

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>

* feat: update swagger

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>

* fix: add mutation api

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>

* fix: rename field

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>

* fix: minor

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>

---------

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>
2023-08-14 11:08:43 +05:30
Saranya Jena 8e1b6020f2
Added user level RBACs, updated swagger json (#4118)
* Added user level RBACs in auth APIs

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* Updated required parameters in api responses in swagger

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* minor change in swagger

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* minor change in swagger

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* minor change in swagger

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

---------

Signed-off-by: Saranya-jena <saranya.jena@harness.io>
Co-authored-by: Hrishav <hrishav.kumar@harness.io>
2023-08-11 12:27:27 +05:30
Hrishav aa8e9a3a7c
feat: Added account setting screens (#4119)
* feat: Done with new routing setup for account screens and started with account screen implementations

Signed-off-by: Hrishav <hrishav.kumar@harness.io>

* feat: Added support for React-Query and automatic API generation using swagger file

Signed-off-by: Hrishav <hrishav.kumar@harness.io>

* chore: Updated createAt swagger issue

Signed-off-by: Hrishav <hrishav.kumar@harness.io>

* chore: Updated invitation_state

Signed-off-by: Hrishav <hrishav.kumar@harness.io>

* chore: Updated invitation_state again

Signed-off-by: Hrishav <hrishav.kumar@harness.io>

* feat: Added swagger API generation and several account setting screens

Signed-off-by: Hrishav <hrishav.kumar@harness.io>

* feat: Added user interaction modals in settings overview

Signed-off-by: Hrishav <hrishav.kumar@harness.io>

* feat: Added new automatic API generations and account setting screens

Signed-off-by: Hrishav <hrishav.kumar@harness.io>

* chore: updated testUtils

Signed-off-by: Hrishav <hrishav.kumar@harness.io>

* chore: updated testUtils and fixed errors

Signed-off-by: Hrishav <hrishav.kumar@harness.io>

* chore: Fixed review comments

Signed-off-by: Hrishav <hrishav.kumar@harness.io>

* chore: updated user search function

Signed-off-by: Hrishav <hrishav.kumar@harness.io>

* chore: fixed request comments

Signed-off-by: Hrishav <hrishav.kumar@harness.io>

---------

Signed-off-by: Hrishav <hrishav.kumar@harness.io>
2023-08-10 17:32:38 +05:30
Saranya Jena fb6da083c0
Added ci installation manifests in Chaoscenter (#4117)
* added ci installation manifests

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* Removed upgrade agent manifest

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* updated helper image version

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

---------

Signed-off-by: Saranya-jena <saranya.jena@harness.io>
2023-08-09 12:16:43 +05:30
gdsoumya 7c603a7798
fix: added fix for git sync of deleted items (#4109)
Signed-off-by: Soumya Ghosh Dastidar <gdsoumya@gmail.com>
2023-08-07 12:07:21 +05:30
Saranya Jena 51e115d596
Updated list_invitations API to make it generic (#4112)
* updated swagger

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* updated swagger

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* updated list invitations to make it generic

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* updated filter casing

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

---------

Signed-off-by: Saranya-jena <saranya.jena@harness.io>
2023-08-03 11:27:57 +05:30
Saranya Jena b451634c9a
Added list invitation api and changed getowner projects response schema (#4111)
* Added list invitation api and changed getowner projects response schema

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* Added cursor.all and fixed mongo query

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* updated swagger file

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* added json fields

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* minor casing change in swagger

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

---------

Signed-off-by: Saranya-jena <saranya.jena@harness.io>
2023-08-02 17:08:15 +05:30
Saranya Jena 28f9079f4a
Added swagger.json file for auth APIs (#4103)
* Added swagger.json file for auth APIs

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* updated api fielda from snake case to camel case

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* test commit to check if required field is working

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* updated required fields correctly

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

---------

Signed-off-by: Saranya-jena <saranya.jena@harness.io>
2023-07-28 11:18:18 +05:30
Calvinaud 37f3e4495f
#4061 Update README of litmus-portal to fix the minikube command (#4062)
Signed-off-by: Calvin Audier <calvinaudier@gmail.com>
Co-authored-by: Vedant Shrotria <vedant.shrotria@harness.io>
Co-authored-by: gdsoumya <44349253+gdsoumya@users.noreply.github.com>
2023-07-27 11:42:09 +05:30
Saranya Jena 9e625a506d
Refactor: Updated api schema and removed redundant types (#4097)
* updated auth api schema and refactored code

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* minor go error fix

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* removed fmt.println statements

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* updated mongo audit fields to store username, userID and email

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* added error handling

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

---------

Signed-off-by: Saranya-jena <saranya.jena@harness.io>
Co-authored-by: Vedant Shrotria <vedant.shrotria@harness.io>
2023-07-27 09:22:04 +05:30
Saranya Jena bca5e97f55
updated installation step in readme for 3.0.0-beta10 (#4098)
Signed-off-by: Saranya-jena <saranya.jena@harness.io>
2023-07-20 11:03:27 +05:30
Saranya Jena 7513bcffe1
fix: added fix for nginx issue upon page refresh (#4096)
Signed-off-by: Saranya-jena <saranya.jena@harness.io>
Co-authored-by: Vedant Shrotria <vedant.shrotria@harness.io>
2023-07-20 10:31:45 +05:30
Shubham Chaudhary 6fabedfd91
chore(3.0.0-beta9): Adding the manifests for 3.0.0-beta9 (#4094)
Signed-off-by: Shubham Chaudhary <shubham.chaudhary@harness.io>
2023-07-19 17:52:18 +05:30
Saranya Jena da2ab7e484
fix: updated infra scope from 'infra' to 'cluster' (#4093)
* fix: updated infra scope from 'infra' to 'cluster'

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* fix: updated file path from 'infra' to 'cluster'

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* updated mongo query field

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* added constants for infra scope

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

---------

Signed-off-by: Saranya-jena <saranya.jena@harness.io>
2023-07-19 14:51:47 +05:30
Amit Kumar Das 20f1ba25a3
Fixed chaosdata schema (#4092)
Signed-off-by: Amit Kumar Das <amit.das@harness.io>
Co-authored-by: Vedant Shrotria <vedant.shrotria@harness.io>
2023-07-18 09:30:32 +05:30
Amit Kumar Das 1a2fe7907e
updated default hub branch name (#4091)
Signed-off-by: Amit Kumar Das <amit.das@harness.io>
2023-07-17 16:24:39 +05:30
Saranya Jena 467e4fdf41
Updated crd link and added manifests for beta10 (#4089)
Signed-off-by: Saranya-jena <saranya.jena@harness.io>
2023-07-17 10:39:44 +05:30
Amit Kumar Das b0ba3fa125
fix: fixed subscriber startTime issue (#4087)
Signed-off-by: Amit Kumar Das <amit.das@harness.io>
2023-07-13 15:48:00 +08:00
Vedant Shrotria 351d0baad5
Added changes for fixing beta9 issues (#4086)
Signed-off-by: Jonsy13 <vedant.shrotria@harness.io>
2023-07-12 17:24:09 +05:30
Saranya Jena 30b703c522
Added installation manifests and readme for litmus 3.0.0-beta9 (#4081)
* Added installation manifests and readme for litmu3.0.0

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* Removed unecessary code

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* Updated Readme.md

* Update Readme.md

* Updated litmus-3.0.0-beta9.yaml

* Update litmus-3.0.0-beta9.yaml

* Updated nginx conf in manifest

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* updated frontend ports

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* updated frontend ports

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* updated ports

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

---------

Signed-off-by: Saranya-jena <saranya.jena@harness.io>
2023-07-12 13:05:29 +05:30
Hrishav ec6a4e3134
fix: Updated target application drawer (#4078)
Signed-off-by: Hrishav <hrishav.kumar@harness.io>
2023-07-06 17:30:26 +05:30
Saranya Jena e3986e4a05
Updated imports in authentication and event-tracker (#4077)
* updated imports

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* fixed import order

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

---------

Signed-off-by: Saranya-jena <saranya.jena@harness.io>
2023-07-06 13:19:47 +05:30
Vedant Shrotria aae38cd073
Updated Github Actions Workflows for 3.x.x Chaos Center (#4063)
* Added changes for push & release gh-actions

Signed-off-by: Jonsy13 <vedant.shrotria@harness.io>

* Added changes for push & release gh-actions

Signed-off-by: Jonsy13 <vedant.shrotria@harness.io>

* Added changes for push & release gh-actions

Signed-off-by: Jonsy13 <vedant.shrotria@harness.io>

* Added changes for push & release gh-actions

Signed-off-by: Jonsy13 <vedant.shrotria@harness.io>

* Added changes for push & release gh-actions

Signed-off-by: Jonsy13 <vedant.shrotria@harness.io>

* Added changes for push & release gh-actions

Signed-off-by: Jonsy13 <vedant.shrotria@harness.io>

* Added changes for running lint checks

Signed-off-by: Jonsy13 <vedant.shrotria@harness.io>

* Added changes for FE 3.x.x

Signed-off-by: Jonsy13 <vedant.shrotria@harness.io>

* Added changes for FE 3.x.x

Signed-off-by: Jonsy13 <vedant.shrotria@harness.io>

* Added changes for FE 3.x.x

Signed-off-by: Jonsy13 <vedant.shrotria@harness.io>

* Added changes for FE 3.x.x

Signed-off-by: Jonsy13 <vedant.shrotria@harness.io>

* Added build checks for 3.x.x

Signed-off-by: Jonsy13 <vedant.shrotria@harness.io>

* removed dependency on backend unit tests

Signed-off-by: Jonsy13 <vedant.shrotria@harness.io>

* fixed go imports

Signed-off-by: Jonsy13 <vedant.shrotria@harness.io>

* Added minor changes

Signed-off-by: Jonsy13 <vedant.shrotria@harness.io>

* Added minor changes

Signed-off-by: Jonsy13 <vedant.shrotria@harness.io>

* Added gh-actions for event-tracker

Signed-off-by: Jonsy13 <vedant.shrotria@harness.io>

* Added gh-actions for event-tracker

Signed-off-by: Jonsy13 <vedant.shrotria@harness.io>

* Added gh-actions for event-tracker

Signed-off-by: Jonsy13 <vedant.shrotria@harness.io>

* Added gh-actions for event-tracker

Signed-off-by: Jonsy13 <vedant.shrotria@harness.io>

---------

Signed-off-by: Jonsy13 <vedant.shrotria@harness.io>
2023-07-06 12:40:03 +05:30
Saranya Jena 12a0538f47
feat: 3.0.0: Added event tracker module (#4057)
* updated graphql schema for gitops

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* added event-tacker module

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* updated go version

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

---------

Signed-off-by: Saranya-jena <saranya.jena@harness.io>
2023-07-06 10:13:07 +05:30
Hrishav acdbd1ef0f
fix: Fixed target application state not preserving issue (#4059)
Signed-off-by: Hrishav <hrishav.kumar@harness.io>
2023-07-05 15:35:10 +05:30
Arkajyoti Mukherjee 67a720832e
chore: Changed harness package registries from github to npm and updated the imports (#4060)
* chore: changed from github to npm registry

Signed-off-by: Arkajyoti Mukherjee <arkajyoti.mukherjee@harness.io>

* chore: updated the imports

Signed-off-by: Arkajyoti Mukherjee <arkajyoti.mukherjee@harness.io>

---------

Signed-off-by: Arkajyoti Mukherjee <arkajyoti.mukherjee@harness.io>
2023-07-05 15:26:40 +05:30
Arkajyoti Mukherjee b2dc619ce1
fix: updated the webpack config to have entrypoint in index.ts (#4054)
Signed-off-by: Arkajyoti Mukherjee <arkajyoti.mukherjee@harness.io>
2023-07-04 15:18:01 +05:30
Hrishav fd50a5b2a7
feat: Added ChaosHub, Environments, Chaos Infrastructure pages (#4048)
Signed-off-by: Hrishav <hrishav.kumar@harness.io>
2023-07-03 11:55:21 +05:30
Soham Ratnaparkhi fdf511390b
feat: Reduce code duplicacy in chaos-workflow package (#4010)
* feat: helper to update manifest labels

Signed-off-by: SohamRatnaparkhi <soham.ratnaparkhi@gmail.com>

* refractor: use to update manifest labels helper

Signed-off-by: SohamRatnaparkhi <soham.ratnaparkhi@gmail.com>

* feat: helper to generate weights from manifests

Signed-off-by: SohamRatnaparkhi <soham.ratnaparkhi@gmail.com>

* refractor: use helper function to generate weights

Signed-off-by: SohamRatnaparkhi <soham.ratnaparkhi@gmail.com>

* refractor: update fault weight function name

Signed-off-by: SohamRatnaparkhi <soham.ratnaparkhi@gmail.com>

* fix: set fault weights to manifest

Signed-off-by: SohamRatnaparkhi <soham.ratnaparkhi@gmail.com>

* fix: return error as well

Co-authored-by: Amit Kumar Das <amit.das@harness.io>
Signed-off-by: SohamRatnaparkhi <soham.ratnaparkhi@gmail.com>

* refractor: simplify manifest lables update logic

Signed-off-by: SohamRatnaparkhi <soham.ratnaparkhi@gmail.com>

* fix: manifest labels update logic

Signed-off-by: SohamRatnaparkhi <soham.ratnaparkhi@gmail.com>

* refractor: remove unused labels variable from generateFualtWeights()

Signed-off-by: SohamRatnaparkhi <soham.ratnaparkhi@gmail.com>

* refractor: use update manifest function in cronworkflow

Signed-off-by: SohamRatnaparkhi <soham.ratnaparkhi@gmail.com>

---------

Signed-off-by: SohamRatnaparkhi <soham.ratnaparkhi@gmail.com>
Co-authored-by: Amit Kumar Das <amit.das@harness.io>
2023-07-03 09:58:22 +05:30
Arkajyoti Mukherjee adf92ba2af
feat: Experiment creation and execution pages added for litmus (#4047)
Signed-off-by: Arkajyoti Mukherjee <arkajyoti.mukherjee@harness.io>
2023-06-30 15:56:25 +05:30
Vedant Shrotria 5ba02893d5
Added Dockerfiles for 3.x.x components (#4046)
Signed-off-by: Jonsy13 <vedant.shrotria@harness.io>
2023-06-30 12:55:51 +05:30
Sahil 712662c09d
feat: added base structure for ui/web folder for 3.0 (#4028)
* feat: added base structure for web folder

Signed-off-by: Sahil <sahil@harness.io>

* feat: added config and models for API types

Signed-off-by: Sahil <sahil@harness.io>

* feat: added APIs for consumption

Signed-off-by: Sahil <sahil@harness.io>

* feat: added string util for easy translations

Signed-off-by: Sahil <sahil@harness.io>

* chore: code cleanup

Signed-off-by: Sahil <sahil@harness.io>

* fix: removed unused code

Signed-off-by: Sahil <sahil@harness.io>

---------

Signed-off-by: Sahil <sahil@harness.io>
2023-06-29 18:28:12 +05:30
Sarthak Jain 2e98b1918f
feat: Added enhancement in authentication server (#4024)
* base commit to add dockerfile

Signed-off-by: Sarthak Jain <sarthak.jain@harness.io>

* Added  utility functions

Signed-off-by: Sarthak Jain <sarthak.jain@harness.io>

* Added schemas

Signed-off-by: Sarthak Jain <sarthak.jain@harness.io>

* Added presenters

Signed-off-by: Sarthak Jain <sarthak.jain@harness.io>

* Added pkg, handlers and roles

Signed-off-by: Sarthak Jain <sarthak.jain@harness.io>

* Code optimisation

Signed-off-by: Sarthak Jain <sarthak.jain@harness.io>

---------

Signed-off-by: Sarthak Jain <sarthak.jain@harness.io>
Co-authored-by: Saranya Jena <saranya.jena@harness.io>
2023-06-29 18:21:37 +05:30
Amit Kumar Das ae7c165314
feat: Litmus 3.0: Added enhancements in subscriber for Litmus 3.0 (#4027)
* feat: Litmus 3.0: Added subscriber base setup

Signed-off-by: Amit Kumar Das <amit.das@harness.io>

* feat: Litmus 3.0: Added events for chaosengine and workflows

Signed-off-by: Amit Kumar Das <amit.das@harness.io>

* feat: Litmus 3.0: Added logs and minor changes

Signed-off-by: Amit Kumar Das <amit.das@harness.io>

* updated logs

Signed-off-by: Amit Kumar Das <amit.das@harness.io>

---------

Signed-off-by: Amit Kumar Das <amit.das@harness.io>
Co-authored-by: Saranya Jena <saranya.jena@harness.io>
2023-06-29 18:04:00 +05:30
Saranya Jena 82a4b09c54
feat: Litmus 3.0: Added enhancements in graphql (#4025)
* Added base setup for graphql and authentication protos

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* Added graphql schemas

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* Added cluster and namespace scope manifests

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* Added utilities and environment variables

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* Added logger and authentication middleware

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* Added api and mongodb handler functions for chaos experiments, experiment runs and infra

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* Added api and mongodb handler functions for chaoshub, environment, grpc and project

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* Added api and mongodb handler functions for image registry, gitopns and file handlers

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* Updated go version

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* Removed unused packages and chaoshub test suite

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

---------

Signed-off-by: Saranya-jena <saranya.jena@harness.io>
2023-06-29 17:33:48 +05:30
Namkyu Park 30cbd7c17c
fix: update function parameter for passing test cases (#4016)
Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>
Co-authored-by: Amit Kumar Das <amit.das@harness.io>
2023-06-21 13:35:10 +05:30
Shubham Chaudhary ab0aa7a7cc
chore(3.0.0-beta7): Adding the manifests for 3.0.0-beta7 (#4011)
Signed-off-by: Shubham Chaudhary <shubham.chaudhary@harness.io>
2023-06-20 13:28:00 +05:30
Vedant Shrotria 1d15a8f19c
Added changes for 3.0.0-beta8 ChaosCenter Release (#4009)
* Added changes for 3.0.0-beta8 ChaosCenter

Signed-off-by: Jonsy13 <vedant.shrotria@harness.io>

* Fixed file_handlers test

Signed-off-by: Jonsy13 <vedant.shrotria@harness.io>

* Added changes for 3.0.0-beta8

Signed-off-by: Jonsy13 <vedant.shrotria@harness.io>

* Added changes for 3.0.0-beta8

Signed-off-by: Jonsy13 <vedant.shrotria@harness.io>

* Added changes for 3.0.0-beta8

Signed-off-by: Jonsy13 <vedant.shrotria@harness.io>

---------

Signed-off-by: Jonsy13 <vedant.shrotria@harness.io>
2023-06-20 12:21:35 +05:30
Namkyu Park f11a23b18c
chore: update MENTORING.md (#4000)
Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>
2023-06-01 14:56:13 +05:30
Raj Das 727edcb308
Adding previous and current mentorship records (#3983)
* Adding gitattributes to show golang as the default lang for litmus

Signed-off-by: Raj Babu Das <mail.rajdas@gmail.com>

* Adding previous and current mentorship records

Signed-off-by: Raj Babu Das <mail.rajdas@gmail.com>

* Adding previous and current mentorship records

Signed-off-by: Raj Babu Das <mail.rajdas@gmail.com>

* Adding previous and current mentorship records

Signed-off-by: Raj Babu Das <mail.rajdas@gmail.com>

* Adding previous and current mentorship records

Signed-off-by: Raj Babu Das <mail.rajdas@gmail.com>

* Adding previous and current mentorship records

Signed-off-by: Raj Babu Das <mail.rajdas@gmail.com>

* Adding previous and current mentorship records

Signed-off-by: Raj Babu Das <mail.rajdas@gmail.com>

* Adding previous and current mentorship records

Signed-off-by: Raj Babu Das <mail.rajdas@gmail.com>

* Adding previous and current mentorship records

Signed-off-by: Raj Babu Das <mail.rajdas@gmail.com>

* Adding previous and current mentorship records

Signed-off-by: Raj Babu Das <mail.rajdas@gmail.com>

---------

Signed-off-by: Raj Babu Das <mail.rajdas@gmail.com>
2023-05-22 11:28:14 +05:30
Namkyu Park 2fd461451c
[ChaosCenter]: Add unit tests to k8s and cluster package in GraphQL server (#3971)
* feat: add unit tests to k8s package

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>

* feat: add unit tests to cluster package

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>

* fix: fix codacy analysis

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>

* fix: fix test cases

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>

* fix: chore

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>

* fix: rename function

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>

---------

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>
2023-05-22 11:14:42 +05:30
Namkyu Park 27d372b560
[ChaosCenter]: Add unit tests to rest_handlers and authorization package in GraphQL server (#3980)
* feat: add unit tests to rest_handlers

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>

* feat: add unit tests to authorization package

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>

* fix: chore

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>

---------

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>
2023-05-22 11:14:32 +05:30
Namkyu Park cf86f7e308
[ChaosCenter]: Add unit tests to chaos-workflow package in GraphQL server (#3964)
* feat: add unit tests to chaos-workflow package

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>

* feat: add unit tests to chaosWorkflowService

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>

* fix: change package name

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>

---------

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>
2023-05-20 20:18:14 +05:30
Prithvi Raj 40e99c34c6
Adding Adopters (#3979)
* Create infracloud.md

* Update infracloud.md

* Create apisix.md

* Update ADOPTERS.md
2023-05-18 18:00:23 +05:30
Vedant Shrotria 98f9e76b65
Added changes for 3.0.0-beta7 release (#3977)
Signed-off-by: Jonsy13 <vedant.shrotria@harness.io>
Co-authored-by: Amit Kumar Das <amit.das@harness.io>
2023-05-17 15:59:48 +05:30
Shubham Chaudhary 7239832096
chore(3.0.0-beta7): Adding the manifests for 3.0.0-beta7 (#3975)
Signed-off-by: Shubham Chaudhary <shubham.chaudhary@harness.io>
2023-05-17 15:42:43 +05:30
Namkyu Park 4cecb9fe5d
feat: add unit test codes to image registry package (#3967)
Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>
2023-05-15 12:26:22 +05:30
Namkyu Park c25df551ef
[ChaosCenter]: Add unit test code to chaoshub package in graphql server (#3946)
* fix: fix to directly using object

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>

* fix: resolve codeql analysis

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>

* fix: add defer function to clear temp path

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>

* fix: fix test cases

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>

* feat: add unit tests to github actions

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>

* fix: fix minor bugs to pass unit test

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>

* fix: fix bugs to resolve not deleted temp dir problems

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>

* feat: add test cases

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>

* fix: fix GitHub Actions config

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>

* feat: introduce TestMain function & remove git clone logs

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>

* fix: remove git clone logs

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>

* fix: update makefile

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>

* fix: resolve codacy

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>

* chore: rename package imports

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>

* feat: add negative cases in cloning the private repository

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>

* fix: fix asserting error

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>

* fix: resolve to pass testcases

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>

* fix: delete unused function

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>

---------

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>
2023-05-09 13:55:16 +05:30
Namkyu Park a7eb627dee
Move to using interface for better mocking to graphql server (#3937)
* fix: add interface to cluster package

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>

* feat: add interface to chaos workflow package

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>

* fix: add interface to gitops package

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>

* feat: add interface to several packages

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>

* fix: add interface to graphql server and remove mongo operator global variable

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>

* fix: fix constructor because of better unit testing

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>

* fix: move variables global to local

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>

---------

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>
2023-04-26 11:20:35 +05:30
Amit Kumar Das d4101da93f
Updated version in 3.0.0-beta6 manifest (#3950)
* Updated version in 3.0.0-beta6 manifest

Signed-off-by: Amit Kumar Das <amit.das@harness.io>

* Updated readme

Signed-off-by: Amit Kumar Das <amit.das@harness.io>

---------

Signed-off-by: Amit Kumar Das <amit.das@harness.io>
2023-04-18 19:11:46 +05:30
Amit Kumar Das d6c526a596
added upgrade agent changes for 3.0.0-beta6 (#3949)
Signed-off-by: Amit Kumar Das <amit.das@harness.io>
2023-04-18 18:21:10 +05:30
Shubham Chaudhary 149dee490c
chore(3.0.0-beta6): Adding the manifests for 3.0.0-beta6 (#3948)
Signed-off-by: Shubham Chaudhary <shubham.chaudhary@harness.io>
2023-04-18 16:26:06 +05:30
Namkyu Park 48379a4b0c
Better logging for backend components (#3939)
* fix: change package name logrus to log for generality

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>

* feat: add middleware in grpc for logging

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>

* feat: add feature that can select log format by env

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>

* feat: add request logger middleware

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>

* fix: make logs as camel case and set logrus caller

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>

* fix: fix log fields

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>

* fix: fix codeql issue

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>

* fix: optimizing logs

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>

* fix: replace upper to lower

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>

* fix: fix minor tasks

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>

* fix: fix log comments

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>

---------

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>
Co-authored-by: Amit Kumar Das <amit.das@harness.io>
2023-04-18 12:14:45 +05:30
Waleed Malik a41847eb0e
chore: migrate from k8s.gcr.io to registry.k8s.io (#3945)
Signed-off-by: Waleed Malik <ahmedwaleedmalik@gmail.com>
2023-04-13 16:56:36 +05:30
Raj Das b3c3155424
Adding gitattributes to show golang as the default lang for litmus (#3942)
Signed-off-by: Raj Babu Das <mail.rajdas@gmail.com>
2023-04-07 19:49:29 +05:30
Namkyu Park c6cda321c9
[ChaosCenter]: Migrating graphql-server from Gorilla mux to Gin (#3923)
* Migrate from Gorilla mux to Gin

Signed-off-by: Namkyu Park <lak9348@gmail.com>
Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>

* Linting & Ordering codes

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>

* fix: remove duplicated code

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>

* fix: adopt go fmt

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>

* Move to using interface for better mocking at chaoshub package (#3933)

* fix: Move to using interface for better mocking at chaoshub

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>

* fix: delete operator interface and linting codes

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>

* fix: change db instance to local variable

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>

* fix: passing operator interface for better mocking

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>

---------

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>

* fix: status code to constant variable

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>

* fix: add logs when encounterd error

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>

* fix: rename pkg name

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>

* fix: rename pkg, graphql_server to rest_handlers

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>

* fix: resolve codeql issue

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>

* fix: add replacer value

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>

---------

Signed-off-by: Namkyu Park <lak9348@gmail.com>
Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>
2023-04-07 18:38:51 +05:30
Neelanjan Manna ae9aeb2c76
chore(docs): Replaces default container runtime to containerd (#3905)
* replaces default container runtime to containerd

Signed-off-by: neelanjan00 <neelanjan.manna@harness.io>
2023-03-29 21:42:53 +05:30
Namkyu Park 118ba8f253
Move to using interface for better mocking at chaoshub package (#3933)
* fix: Move to using interface for better mocking at chaoshub

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>

* fix: delete operator interface and linting codes

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>

* fix: change db instance to local variable

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>

* fix: passing operator interface for better mocking

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>

---------

Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>
2023-03-29 11:50:38 +05:30
Namkyu Park 601da40aae
Update directory name from MyHub to ChaosHub (#3928)
Signed-off-by: namkyu1999 <lak9348@konkuk.ac.kr>
2023-03-22 17:52:04 +05:30
Shubham Chaudhary 90961dda4e
chore(3.0.0-beta5): adding manifest for 3.0.0-beta5 (#3926)
Signed-off-by: Shubham Chaudhary <shubham.chaudhary@harness.io>
2023-03-17 17:17:26 +05:30
Raj Das a359a87e87
Removing bettercodehub (Better Code Hub has retired!) and betterci (#3921)
Signed-off-by: Raj Babu Das <mail.rajdas@gmail.com>
2023-03-15 16:15:50 +05:30
Vedant Shrotria 86d41a6b0f
Added manifests for `3.0.0-beta5` ChaosCenter release (#3917)
* Added manifests for 3.0.0-beta5 ChaosCenter release

Signed-off-by: Jonsy13 <vedant.shrotria@harness.io>

* Added permission fixes in master manifests

Signed-off-by: Jonsy13 <vedant.shrotria@harness.io>

---------

Signed-off-by: Jonsy13 <vedant.shrotria@harness.io>
2023-03-15 13:27:41 +05:30
Amit Kumar Das 13e0bbdec6
Added version changes in upgrade agent and updated readme with 3.0.0-beta5 (#3914)
* Updated version in upgrade agent

Signed-off-by: Amit Kumar Das <amit.das@harness.io>

* Updated version in readme

Signed-off-by: Amit Kumar Das <amit.das@harness.io>

---------

Signed-off-by: Amit Kumar Das <amit.das@harness.io>
2023-03-15 13:05:58 +05:30
Raj Das d65ddb1d4c
Fixing node selector and toleration issue while generating the delegate manifest (#3920)
* rename nodeselector and tolerations

Signed-off-by: Raj Babu Das <mail.rajdas@gmail.com>

* fixing nodeselector and toleration issue

Signed-off-by: Raj Babu Das <mail.rajdas@gmail.com>

* fixing nodeselector and toleration issue

Signed-off-by: Raj Babu Das <mail.rajdas@gmail.com>

---------

Signed-off-by: Raj Babu Das <mail.rajdas@gmail.com>
2023-03-15 12:54:11 +05:30
Raj Das f3e361f86e
Replacing ArgoWorkflowControllerImage env (#3916)
Signed-off-by: Raj Babu Das <mail.rajdas@gmail.com>
2023-03-14 18:28:13 +05:30
Raj Das bb020fd5e7
Removing subscriberConfigurationVars struct and make the envs reusable from variables.go and improving some go functions (#3913)
* Making VERSION env as a required env

Signed-off-by: Raj Babu Das <mail.rajdas@gmail.com>

* Making VERSION env as a required env

Signed-off-by: Raj Babu Das <mail.rajdas@gmail.com>

* Making VERSION env as a required env

Signed-off-by: Raj Babu Das <mail.rajdas@gmail.com>

* Making VERSION env as a required env

Signed-off-by: Raj Babu Das <mail.rajdas@gmail.com>

* Making VERSION env as a required env

Signed-off-by: Raj Babu Das <mail.rajdas@gmail.com>

* Making VERSION env as a required env

Signed-off-by: Raj Babu Das <mail.rajdas@gmail.com>

---------

Signed-off-by: Raj Babu Das <mail.rajdas@gmail.com>
2023-03-14 15:16:46 +05:30
Raj Das 6b5202c93b
feat: Improving the env vars management in the graphql-server (#3868)
* Improve the env vars management in the graphql-server

Signed-off-by: Raj Babu Das <mail.rajdas@gmail.com>

* Improve the env vars management in the graphql-server

Signed-off-by: Raj Babu Das <mail.rajdas@gmail.com>

* Improve the env vars management in the graphql-server

Signed-off-by: Raj Babu Das <mail.rajdas@gmail.com>

* Update init.go

---------

Signed-off-by: Raj Babu Das <mail.rajdas@gmail.com>
2023-03-13 17:35:49 +05:30
Akash Shrivastava 72b26ef641
Changed container path to socket path and runtime (#3909)
Signed-off-by: avaakash <as86414@gmail.com>
2023-03-01 21:08:48 +05:30
Neelanjan Manna 8a6f77d0dd
chore(docs): Removes kafka and cassandra experiment charts (#3904)
* removes kafka and cassandra experiment charts

Signed-off-by: neelanjan00 <neelanjan.manna@harness.io>

* Update mkdocs/docs/experiments/faq/experiments.md

---------

Signed-off-by: neelanjan00 <neelanjan.manna@harness.io>
Co-authored-by: Shubham Chaudhary <ashubham314@gmail.com>
2023-02-21 23:41:22 +05:30
Shubham Chaudhary 16cb7120b9
chore(3.0.0-beta4): adding manifest for 3.0.0-beta4 (#3897)
Signed-off-by: Shubham Chaudhary <shubham.chaudhary@harness.io>
2023-02-15 19:36:03 +05:30
Adarshkumar14 ce715ee1e7
Updating the Upgrade agent version (#3899)
* Adding manifest and readme for litmus-3.0.0-beta4

Signed-off-by: Adarsh kumar <adarsh.kumar@harness.io>

* Updating tag of event tracker

Signed-off-by: Adarsh kumar <adarsh.kumar@harness.io>

* updating the upgrade agent

Signed-off-by: Adarsh kumar <adarsh.kumar@harness.io>

---------

Signed-off-by: Adarsh kumar <adarsh.kumar@harness.io>
2023-02-15 18:32:24 +05:30
Adarshkumar14 9efec4495d
Adding manifest and readme for litmus-3.0.0-beta4 (#3898)
* Adding manifest and readme for litmus-3.0.0-beta4

Signed-off-by: Adarsh kumar <adarsh.kumar@harness.io>

* Updating tag of event tracker

Signed-off-by: Adarsh kumar <adarsh.kumar@harness.io>

---------

Signed-off-by: Adarsh kumar <adarsh.kumar@harness.io>
2023-02-15 18:12:11 +05:30
Raj Das 6e160c3dcd
updating rajdas username (#3893)
Signed-off-by: Raj Babu Das <mail.rajdas@gmail.com>
2023-01-31 10:23:51 +05:30
Karthik Satchitanand 65dfcf560d
(fix)maintainers: fix typos (#3891)
Signed-off-by: ksatchit <karthik.s@harness.io>
2023-01-28 11:25:44 +05:30
Karthik Satchitanand 27c5165371
(update)(maintainers)update maintainer list for litmus org (#3890)
Signed-off-by: ksatchit <karthik.s@harness.io>

Signed-off-by: ksatchit <karthik.s@harness.io>
2023-01-24 16:17:10 +05:30
Shubham Chaudhary 5234ccb0f3
chore(rbac): adding deletecollection permissions in server (#3889)
Signed-off-by: Shubham Chaudhary <shubham.chaudhary@harness.io>

Signed-off-by: Shubham Chaudhary <shubham.chaudhary@harness.io>
2023-01-19 23:53:31 +05:30
Rahul Krishna K A 04b0752d6f
removed usage of fonts.googleapis.com (litmuschaos#3698) (#3815)
Co-authored-by: Vedant Shrotria <vedant.shrotria@harness.io>
Co-authored-by: Arkajyoti Mukherjee <32966391+arkajyotiMukherjee@users.noreply.github.com>
2023-01-17 13:45:19 +05:30
Shubham Chaudhary ad5095f53f
chore(3.0.0-beta3): adding release manifests for 3.0.0-beta3 (#3887)
* chore(3.0.0-beta3): adding release manifests for 3.0.0-beta3

Signed-off-by: Shubham Chaudhary <shubham.chaudhary@harness.io>

* updating readme for 3.0.0-beta3 installation

Signed-off-by: Shubham Chaudhary <shubham.chaudhary@harness.io>

* adding deletecollection permissions

Signed-off-by: Shubham Chaudhary <shubham.chaudhary@harness.io>

Signed-off-by: Shubham Chaudhary <shubham.chaudhary@harness.io>
2023-01-13 17:49:01 +05:30
Shubham Chaudhary d5dbf7575d
chore(upgrade): upgrade core components gopkg imports & chaosengine crds to latest (#3886)
* chore(upgrade): upgrade core components gopkg imports & chaosengine crds to latest

Signed-off-by: Shubham Chaudhary <shubham.chaudhary@harness.io>

* Added base64 encoding to send executionData from subscriber to GQL

Signed-off-by: Shubham Chaudhary <shubham.chaudhary@harness.io>

Signed-off-by: Shubham Chaudhary <shubham.chaudhary@harness.io>
2023-01-13 17:31:11 +05:30
Shubham Chaudhary 0ed25ec821
upgrade(agent): Adding upgrade agent for 3.0-beta1 (#3884)
Signed-off-by: Shubham Chaudhary <shubham.chaudhary@harness.io>

Signed-off-by: Shubham Chaudhary <shubham.chaudhary@harness.io>
2023-01-13 13:32:13 +05:30
Shubham Chaudhary a4d0dc2ba7
chore(3.0.0-beta3): adding manifest for 3.0.0-beta3 (#3883)
Signed-off-by: Shubham Chaudhary <shubham.chaudhary@harness.io>

Signed-off-by: Shubham Chaudhary <shubham.chaudhary@harness.io>
2023-01-11 23:10:02 +05:30
Shubham Chaudhary 573e9201e0
chore(subscriber): delete subscriber by labels (#3867)
Signed-off-by: Shubham Chaudhary <shubham.chaudhary@harness.io>

Signed-off-by: Shubham Chaudhary <shubham.chaudhary@harness.io>
2022-12-20 18:12:50 +05:30
Shubham Chaudhary ce5b7dd806
feat(3.0.0-beta2): adding release manifests for 3.0.0-beta2 (#3865)
Signed-off-by: Shubham Chaudhary <shubham.chaudhary@harness.io>

Signed-off-by: Shubham Chaudhary <shubham.chaudhary@harness.io>
2022-12-16 12:09:42 +05:30
Vedant Shrotria 2fc29492b5
Added manifests for 3.0.0-beta2 (#3863)
Signed-off-by: Jonsy13 <vedant.shrotria@harness.io>

Signed-off-by: Jonsy13 <vedant.shrotria@harness.io>
2022-12-15 21:51:32 +05:30
Vedant Shrotria 9a4d1fcf2b
Updating core components to 3.0.0-beta2 in master manifests (#3862)
* Updating core components to 3.0.0-beta2 in master manifests

Signed-off-by: Jonsy13 <vedant.shrotria@harness.io>

* Updating core components to 3.0.0-beta2 in master manifests

Signed-off-by: Jonsy13 <vedant.shrotria@harness.io>

Signed-off-by: Jonsy13 <vedant.shrotria@harness.io>
2022-12-15 20:46:42 +05:30
Amit Kumar Das fc17ea590c
Fixed analytics graph and empty retry option in probes (#3861)
* Added empty string check for retry in probes

Signed-off-by: Amit Kumar Das <amit.das@harness.io>

* Fixed issue with analytics graph

Signed-off-by: Amit Kumar Das <amit.das@harness.io>

Signed-off-by: Amit Kumar Das <amit.das@harness.io>
Co-authored-by: Vedant Shrotria <vedant.shrotria@harness.io>
2022-12-15 20:02:48 +05:30
Amit Kumar Das 9c4c92dcca
Updated upgrade agent for 3.0.0-beta2 and minor fix with version checking (#3860)
Signed-off-by: Amit Kumar Das <amit.das@harness.io>

Signed-off-by: Amit Kumar Das <amit.das@harness.io>
2022-12-15 17:02:24 +05:30
Shubham Chaudhary 643f3bffb8
docs(spring-boot): Adding the spring boot experiments docs (#3834)
* docs(spring-boot): Adding the spring boot experiments docs

Signed-off-by: Shubham Chaudhary <shubham.chaudhary@harness.io>
2022-11-21 23:45:57 +05:30
Shubham Chaudhary 44e039d285
Adding multiple workloads and pod filtering (#3836)
* feat(selectors): Adding multiple workloads and pod filtering (#3780)

* feat(selectors): Adding multiple workloads and pod filtering

Signed-off-by: Shubham Chaudhary <shubham.chaudhary@harness.io>

* updating pod owner ref code

Signed-off-by: Shubham Chaudhary <shubham.chaudhary@harness.io>

Signed-off-by: Shubham Chaudhary <shubham.chaudhary@harness.io>

* chore(selectors): adding frontend changes for kubeobject subscription (#3808)

* chore(selectors): adding frontend changes for kubeobject subscription

Signed-off-by: Shubham Chaudhary <shubham.chaudhary@harness.io>

* upading image tag

Signed-off-by: Shubham Chaudhary <shubham.chaudhary@harness.io>

Signed-off-by: Shubham Chaudhary <shubham.chaudhary@harness.io>

* adding upgrade agent for 3.0-beta1 (#3826)

Signed-off-by: Adarsh kumar <adarsh.kumar@harness.io>

Signed-off-by: Adarsh kumar <adarsh.kumar@harness.io>

* adding upgrade agent for 3.0-beta1 (#3829)

Signed-off-by: Adarsh kumar <adarsh.kumar@harness.io>

Signed-off-by: Adarsh kumar <adarsh.kumar@harness.io>
Signed-off-by: Shubham Chaudhary <shubham.chaudhary@harness.io>

* fix import order lint

Signed-off-by: Shubham Chaudhary <shubham.chaudhary@harness.io>

* fix import order lint

Signed-off-by: Shubham Chaudhary <shubham.chaudhary@harness.io>

* Added installation manifests for 3.0-beta1 (#3830)

* feat(selectors): Adding multiple workloads and pod filtering (#3780)

* feat(selectors): Adding multiple workloads and pod filtering

Signed-off-by: Shubham Chaudhary <shubham.chaudhary@harness.io>

* updating pod owner ref code

Signed-off-by: Shubham Chaudhary <shubham.chaudhary@harness.io>

Signed-off-by: Shubham Chaudhary <shubham.chaudhary@harness.io>

* chore(selectors): adding frontend changes for kubeobject subscription (#3808)

* chore(selectors): adding frontend changes for kubeobject subscription

Signed-off-by: Shubham Chaudhary <shubham.chaudhary@harness.io>

* upading image tag

Signed-off-by: Shubham Chaudhary <shubham.chaudhary@harness.io>

Signed-off-by: Shubham Chaudhary <shubham.chaudhary@harness.io>

* adding upgrade agent for 3.0-beta1 (#3826)

Signed-off-by: Adarsh kumar <adarsh.kumar@harness.io>

Signed-off-by: Adarsh kumar <adarsh.kumar@harness.io>

* Added installation manifests for 3.0-beta1

Signed-off-by: Jonsy13 <vedant.shrotria@harness.io>

* Added hub branch for 3.0-beta1

Signed-off-by: Jonsy13 <vedant.shrotria@harness.io>

* Added hub branch for 3.0-beta1

Signed-off-by: Jonsy13 <vedant.shrotria@harness.io>

Signed-off-by: Shubham Chaudhary <shubham.chaudhary@harness.io>
Signed-off-by: Adarsh kumar <adarsh.kumar@harness.io>
Signed-off-by: Jonsy13 <vedant.shrotria@harness.io>
Co-authored-by: Shubham Chaudhary <shubham.chaudhary@harness.io>
Co-authored-by: Adarshkumar14 <adarsh.kumar@harness.io>

* Updated manifest readme for 3.0-Beta1 (#3832)

* feat(selectors): Adding multiple workloads and pod filtering (#3780)

* feat(selectors): Adding multiple workloads and pod filtering

Signed-off-by: Shubham Chaudhary <shubham.chaudhary@harness.io>

* updating pod owner ref code

Signed-off-by: Shubham Chaudhary <shubham.chaudhary@harness.io>

Signed-off-by: Shubham Chaudhary <shubham.chaudhary@harness.io>

* chore(selectors): adding frontend changes for kubeobject subscription (#3808)

* chore(selectors): adding frontend changes for kubeobject subscription

Signed-off-by: Shubham Chaudhary <shubham.chaudhary@harness.io>

* upading image tag

Signed-off-by: Shubham Chaudhary <shubham.chaudhary@harness.io>

Signed-off-by: Shubham Chaudhary <shubham.chaudhary@harness.io>

* adding upgrade agent for 3.0-beta1 (#3826)

Signed-off-by: Adarsh kumar <adarsh.kumar@harness.io>

Signed-off-by: Adarsh kumar <adarsh.kumar@harness.io>

* adding upgrade agent for 3.0-beta1 (#3829)

Signed-off-by: Adarsh kumar <adarsh.kumar@harness.io>

Signed-off-by: Adarsh kumar <adarsh.kumar@harness.io>

* Updated manifest readme for 3.0-Beta1

Signed-off-by: Amit Kumar Das <amit.das@harness.io>

* Minor fix

Signed-off-by: Amit Kumar Das <amit.das@harness.io>

* Minor fix in readme

Signed-off-by: Amit Kumar Das <amit.das@harness.io>

Signed-off-by: Shubham Chaudhary <shubham.chaudhary@harness.io>
Signed-off-by: Adarsh kumar <adarsh.kumar@harness.io>
Signed-off-by: Amit Kumar Das <amit.das@harness.io>
Co-authored-by: Shubham Chaudhary <shubham.chaudhary@harness.io>
Co-authored-by: Adarshkumar14 <adarsh.kumar@harness.io>

* fixing build

Signed-off-by: Shubham Chaudhary <shubham.chaudhary@harness.io>

Signed-off-by: Shubham Chaudhary <shubham.chaudhary@harness.io>
Signed-off-by: Adarsh kumar <adarsh.kumar@harness.io>
Signed-off-by: Jonsy13 <vedant.shrotria@harness.io>
Signed-off-by: Amit Kumar Das <amit.das@harness.io>
Co-authored-by: Adarshkumar14 <adarsh.kumar@harness.io>
Co-authored-by: Vedant Shrotria <vedant.shrotria@harness.io>
Co-authored-by: Amit Kumar Das <amit.das@harness.io>
2022-11-21 13:01:23 +00:00
Shubham Chaudhary cb85d9250b
chore(3.0-beta1): adding core manifests for 3.0-beta1 release (#3827) 2022-11-17 11:51:54 +05:30
Shubham Chaudhary a288f92c89
chore(docs): adding source and destination ports (#3802)
Signed-off-by: Shubham Chaudhary <shubham.chaudhary@harness.io>

Signed-off-by: Shubham Chaudhary <shubham.chaudhary@harness.io>
2022-11-14 13:26:26 +05:30
Akash Shrivastava d41609ac0c
Chore(Fix): Fixed Aux App docs (#3823)
* fixed aux app docs; removed trailing whitespaces; remove newlines

Signed-off-by: avaakash <as86414@gmail.com>
2022-11-14 13:00:26 +05:30
Akash Shrivastava 895dcf996b
Update to Pod Network Docs - Removed Ingress references (#3790)
* removed ingress references from network exp

Signed-off-by: avaakash <as86414@gmail.com>

* updated readme with embeded manifests

Signed-off-by: avaakash <as86414@gmail.com>

Signed-off-by: avaakash <as86414@gmail.com>
2022-11-14 05:33:48 +00:00
Udit Gaurav aa2523e287
Demo(boutique): Adds demo docs for boutique application under load (#3807)
Signed-off-by: Udit Gaurav <udit.gaurav@harness.io>
2022-10-25 09:22:12 -04:00
Raj Das 34dd948ce9
fix: [3806]: Fixing the race condition of argo deployment and argo configmap (#3805)
Signed-off-by: Raj Babu Das <mail.rajdas@gmail.com>

Signed-off-by: Raj Babu Das <mail.rajdas@gmail.com>
2022-10-25 13:10:56 +05:30
Shubham Chaudhary 0e18220256
demo(litmu-sdk): Adding litmus-sdk demo (#3804)
Signed-off-by: Shubham Chaudhary <shubham.chaudhary@harness.io>

Signed-off-by: Shubham Chaudhary <shubham.chaudhary@harness.io>
2022-10-24 18:47:53 +05:30
Shubham Chaudhary 09eaefb50b
fix(url): fixing the installation manifest url (#3803)
Signed-off-by: Shubham Chaudhary <shubham.chaudhary@harness.io>
2022-10-21 17:08:04 +05:30
Akash Shrivastava cbc3e089e6
Adding manifests of 2.14.0 (#3799)
* added manifest for 2.14.0

Signed-off-by: avaakash <as86414@gmail.com>
2022-10-19 19:58:34 +05:30
Vedant Shrotria f90e9c1403
Added changes for upgrade 2.14.0 (#3794)
Signed-off-by: Vedant <vedant.srotria@harness.io>

Signed-off-by: Vedant <vedant.srotria@harness.io>
Co-authored-by: Vedant <vedant.srotria@harness.io>
2022-10-19 13:22:39 +00:00
Shubham Chaudhary e46df6527d
upgrade(litmus): updating graphql manifests (#3797)
* upgrade(litmus): updating graphql manifests

Signed-off-by: Shubham Chaudhary <shubham.chaudhary@harness.io>

* changing retry to optional field

Signed-off-by: Shubham Chaudhary <shubham.chaudhary@harness.io>

Signed-off-by: Shubham Chaudhary <shubham.chaudhary@harness.io>
2022-10-19 10:19:40 +00:00
Shubham Chaudhary cd1775a771
upgrade(operator): updating operator version to 1.14.0 (#3795)
Signed-off-by: Shubham Chaudhary <shubham.chaudhary@harness.io>

Signed-off-by: Shubham Chaudhary <shubham.chaudhary@harness.io>
2022-10-19 14:48:49 +05:30
Amit Kumar Das b72b2a966e
Updated probe timeout and removed response timeout from httpProbe (#3796)
Signed-off-by: Amit Kumar Das <amit.das@harness.io>

Signed-off-by: Amit Kumar Das <amit.das@harness.io>
2022-10-19 09:03:06 +00:00
Raj Das 88719e9b29
Adding SingleBranch: true in the git clone options (#3792)
* Revert "Adding depth=1 in the git clone options (#3776)"

This reverts commit aeb073cbf7.

* adding SingleBranch:  true

* Update gitops.go
2022-10-19 11:15:08 +05:30
Vedant Shrotria 7f706e5036
Added changes for crd fix (#3785)
Signed-off-by: Vedant <vedant.srotria@harness.io>

Signed-off-by: Vedant <vedant.srotria@harness.io>
Co-authored-by: Vedant <vedant.srotria@harness.io>
2022-10-19 10:04:30 +05:30
Udit Gaurav d4d70e67c2
Release(2.14.0): Adds core component manifest for 2.14.0 (#3793)
Signed-off-by: uditgaurav <udit.gaurav@harness.io>
2022-10-17 17:08:47 +05:30
NaveenKumar Namachivayam ⚡ a68b497085
Improve: AWS IAM Integration (#3650)
* Improve: AWS IAM Integration

Signed-off-by: NaveenKumar Namachivayam <catch.nkn@gmail.com>
2022-10-17 10:10:37 +05:30
Udit Gaurav afcc4bd1fe
Chore(docs): Update the psp docs with adding the missing fields and comments on each field (#3791)
* Chore(docs): Update the psp docs with comments on each field

Signed-off-by: Udit Gaurav <udit.gaurav@harness.io>

* Chore(docs): Update the psp docs with comments on each field

Signed-off-by: Udit Gaurav <udit.gaurav@harness.io>

* fix volume to add hostPath in it

Signed-off-by: Udit Gaurav <udit.gaurav@harness.io>

Signed-off-by: Udit Gaurav <udit.gaurav@harness.io>
2022-10-13 17:30:11 +05:30
Neelanjan Manna b010cc3e67
updated env AZURE_INSTANCE_NAME => AZURE_INSTANCE_NAMES (#3784)
Signed-off-by: Neelanjan Manna <neelanjan.manna@harness.io>

Signed-off-by: Neelanjan Manna <neelanjan.manna@harness.io>
2022-10-12 21:13:42 +05:30
Neelanjan Manna 8812a8a58d
renamed GCP ZONES env (#3788)
Signed-off-by: Neelanjan Manna <neelanjan.manna@harness.io>

Signed-off-by: Neelanjan Manna <neelanjan.manna@harness.io>
2022-10-12 21:13:29 +05:30
Akash Shrivastava 6108bcfd6b
Docs update for HTTP Chaos Toxicity (#3713)
* Added toxicity in http docs

Signed-off-by: avaakash <as86414@gmail.com>

* Added toxicity in http docs tunables

Signed-off-by: avaakash <as86414@gmail.com>

* removed % from toxicity default value

Signed-off-by: avaakash <as86414@gmail.com>

Signed-off-by: avaakash <as86414@gmail.com>
2022-10-12 11:19:15 +00:00
Shubham Chaudhary b4ad4b5ace
chore(2.13.1): Adding 2.13.1 release manifests (#3783)
Signed-off-by: Shubham Chaudhary <shubham.chaudhary@harness.io>
2022-10-06 17:12:14 +05:30
Raj Das aeb073cbf7
Adding depth=1 in the git clone options (#3776)
Signed-off-by: Raj Babu Das <mail.rajdas@gmail.com>

Signed-off-by: Raj Babu Das <mail.rajdas@gmail.com>
2022-09-23 16:36:02 +05:30
Udit Gaurav 8d66f245be
Chore(2.13.0): Add release manifest for core component2.13.0 (#3777)
Signed-off-by: uditgaurav <udit@chaosnative.com>
2022-09-23 15:13:49 +05:30
Udit Gaurav 73a9910ad3
Chore(2.12.0): Add Core Component Manifest for Litmus 2.12.0 (#3769)
* Chore(2.12.0): Add Core Component Manifest for Litmus 2.12.0

Signed-off-by: uditgaurav <udit@chaosnative.com>

* Update the latest and ci operator

Signed-off-by: uditgaurav <udit@chaosnative.com>

Signed-off-by: uditgaurav <udit@chaosnative.com>
2022-09-23 14:56:21 +05:30
Vedant Shrotria a0cf0f979a
Updated Ports example/docs for pod network partition experiment & minor fix in installation manifest (#3775)
* Updated docs for network partition & minor fix in release manifests

Signed-off-by: Vedant <vedant.srotria@harness.io>

* Updated docs for network partition & minor fix in release manifests

Signed-off-by: Vedant <vedant.srotria@harness.io>

* Updated docs for network partition & minor fix in release manifests

Signed-off-by: Vedant <vedant.srotria@harness.io>

* Updated docs for network partition & minor fix in release manifests

Signed-off-by: Vedant <vedant.srotria@harness.io>

Signed-off-by: Vedant <vedant.srotria@harness.io>
Co-authored-by: Vedant <vedant.srotria@harness.io>
2022-09-22 13:47:07 +00:00
Udit Gaurav edb161b9cc
Update SCC docs with comments (#3774)
Signed-off-by: uditgaurav <udit@chaosnative.com>

Signed-off-by: uditgaurav <udit@chaosnative.com>
2022-09-21 21:52:18 +05:30
Akash Shrivastava 98f26e326c
Updated docs for new additions in HTTP Chaos (#3755)
* Updated docs for response body in status code and content encodng and type addition

Signed-off-by: avaakash <as86414@gmail.com>

* added 'container' in target service port explanation

Signed-off-by: avaakash <as86414@gmail.com>

* removed containerd,crio references from pod-dns docs

Signed-off-by: avaakash <as86414@gmail.com>

Signed-off-by: avaakash <as86414@gmail.com>
2022-09-19 10:53:34 +05:30
Adarshkumar14 41b546af09
Adding manifests of 2.13.0 (#3767)
* adding manifest of 2.13.0

Signed-off-by: Adarshkumar14 <adarsh.kumar@harness.io>

* adding manifest of 2.13.0

Signed-off-by: Adarshkumar14 <adarsh.kumar@harness.io>

Signed-off-by: Adarshkumar14 <adarsh.kumar@harness.io>
2022-09-15 19:37:38 +05:30
Amit Kumar Das 0d06c4e058
Updated upgrade agent version (#3766)
Signed-off-by: Amit Kumar Das <amit.das@harness.io>

Signed-off-by: Amit Kumar Das <amit.das@harness.io>
2022-09-15 18:00:22 +05:30
Vedant Shrotria 69a4d0788c
Minor fix in CRDs (#3765)
Signed-off-by: Vedant <vedant.srotria@harness.io>

Signed-off-by: Vedant <vedant.srotria@harness.io>
Co-authored-by: Vedant <vedant.srotria@harness.io>
2022-09-15 16:11:43 +05:30
Vedant Shrotria d9e64ba5db
Upgraded core components to 2.12.0 for chaoscenter release. (#3759)
Signed-off-by: Vedant <vedant.srotria@harness.io>

Signed-off-by: Vedant <vedant.srotria@harness.io>
Co-authored-by: Vedant <vedant.srotria@harness.io>
2022-09-15 05:24:55 +00:00
Vedant Shrotria 0d0f7d195f
Updated litmus CRDs & updated litmus-core components to 2.12.0 in CI manifest (#3742)
Signed-off-by: Vedant <vedant.srotria@harness.io>

Signed-off-by: Vedant <vedant.srotria@harness.io>
Co-authored-by: Vedant <vedant.srotria@harness.io>
2022-09-15 10:05:17 +05:30
Amit Kumar Das c585e701d3
Added workflow.uid in chaosengines (#3758)
Signed-off-by: Amit Kumar Das <amit.das@harness.io>

Signed-off-by: Amit Kumar Das <amit.das@harness.io>
2022-09-14 19:25:29 +05:30
Prithvi Raj 7f1e279043
Update Adopters (AbInbev, CI&T) (#3754)
* Create ci&t.md
* Create abinbev.md
* Update ADOPTERS.md
2022-09-02 18:12:00 +05:30
chandra-dixit-hcl 1f901c561c
Update ADOPTERS.md with HCL Cloud Native Labs entry (#3752)
* Update ADOPTERS.md
Updated with link
Co-authored-by: Ajesh Baby <ajesh.baby@harness.io>
2022-09-02 08:47:16 +05:30
Shubham Chaudhary 97494f1b2e
docs(cmdProbe): Adding docs for source attributes (#3746)
* docs(cmdProbe): Adding docs for source attributes

Signed-off-by: Shubham Chaudhary <shubham.chaudhary@harness.io>

* Adding docs for probe comparator

Signed-off-by: Shubham Chaudhary <shubham.chaudhary@harness.io>

Signed-off-by: Shubham Chaudhary <shubham.chaudhary@harness.io>
2022-08-29 12:19:33 +05:30
Vedant Shrotria d4175b06f3
Added installation manifest without resources for cluster scope (#3745)
* Added installation manifest without resource limits

Signed-off-by: Vedant <vedant.srotria@harness.io>

* Added installation manifest without resource limits

Signed-off-by: Vedant <vedant.srotria@harness.io>

Signed-off-by: Vedant <vedant.srotria@harness.io>
Co-authored-by: Vedant <vedant.srotria@harness.io>
2022-08-24 16:13:55 +05:30
Prithvi Raj b94d486beb
Update README.md (#3719) 2022-08-18 17:33:48 +05:30
Adarshkumar14 a78c65d814
Updating readme for 2.12.0 (#3737)
Signed-off-by: Adarshkumar14 <adarsh.kumar@harness.io>

Signed-off-by: Adarshkumar14 <adarsh.kumar@harness.io>
2022-08-12 22:19:16 +05:30
Adarshkumar14 90021fe8bb
adding manifest for 2.12.0 (#3736)
* adding manifest for 2.12.0

Signed-off-by: Adarshkumar14 <adarsh.kumar@harness.io>

* Added suggested changes

Signed-off-by: Vedant <vedant.srotria@harness.io>

Signed-off-by: Adarshkumar14 <adarsh.kumar@harness.io>
Signed-off-by: Vedant <vedant.srotria@harness.io>
Co-authored-by: Vedant <vedant.srotria@harness.io>
2022-08-12 21:18:54 +05:30
Saranya Jena 92c554b4e1
updated upgrade cmd (#3735)
Signed-off-by: Saranya-jena <saranya.jena@harness.io>

Signed-off-by: Saranya-jena <saranya.jena@harness.io>
2022-08-12 18:02:15 +05:30
Amit Kumar Das 5c2a3b275c
Fixed issue with executed_by label in subscriber and updated upgrade agent (#3734)
* Fixed executed_by issue in subscriber

Signed-off-by: Amit Kumar Das <amit.das@harness.io>

* Updated upgrade agent

Signed-off-by: Amit Kumar Das <amit.das@harness.io>

Signed-off-by: Amit Kumar Das <amit.das@harness.io>
2022-08-12 15:27:28 +05:30
Saranya Jena 99b7f1980c
Fixed issue in deactivate user and created_at showing `invalid date` (#3733)
* Fixed issue in deactivate user and created_at showing invalid

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* minor ui fix

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

Signed-off-by: Saranya-jena <saranya.jena@harness.io>
2022-08-12 15:14:33 +05:30
Amit Kumar Das 6870991df3
Added warning text for remote chaos hub (#3732)
* Added warning text

Signed-off-by: Amit Kumar Das <amit.das@harness.io>

* Removed config from workflow controller

Signed-off-by: Amit Kumar Das <amit.das@harness.io>

* Added ingress in namespace scope manifest

Signed-off-by: Amit Kumar Das <amit.das@harness.io>

Signed-off-by: Amit Kumar Das <amit.das@harness.io>
2022-08-12 13:13:43 +05:30
Amit Kumar Das 6bb945d919
Minor fix in ChaosHub auth (#3731)
* Minor fix in ChaosHub auth

Signed-off-by: Amit Kumar Das <amit.das@harness.io>

* Updated gql manifest with REMOTE_HUB_MAX_SIZE env

Signed-off-by: Amit Kumar Das <amit.das@harness.io>

Signed-off-by: Amit Kumar Das <amit.das@harness.io>
2022-08-12 07:03:09 +00:00
Vedant Shrotria 841abb0689
Added fixes for comparison plot & logs for install experiments step & data-cy parameters for ChaosHub (#3729)
* Added fixes for comparison plot & logs for install experiments step

Signed-off-by: Vedant <vedant.srotria@harness.io>

* Added description in workflows page and minor fixes

Signed-off-by: Amit Kumar Das <amit.das@harness.io>

Signed-off-by: Vedant <vedant.srotria@harness.io>
Signed-off-by: Amit Kumar Das <amit.das@harness.io>
Co-authored-by: Vedant <vedant.srotria@harness.io>
Co-authored-by: Amit Kumar Das <amit.das@harness.io>
2022-08-11 11:14:59 +05:30
Amit Kumar Das 7b81d86da4
Fixed edit schedule option (#3727)
* Fixed edit schedule option

Signed-off-by: Amit Kumar Das <amit.das@harness.io>

* Minor fix

Signed-off-by: Amit Kumar Das <amit.das@harness.io>
2022-08-09 13:40:57 +00:00
Amit Kumar Das 90f512b049
Added option fields in cmdProbe and minor fixes (#3726)
Signed-off-by: Amit Kumar Das <amit.das@harness.io>
2022-08-09 11:31:41 +05:30
Amit Kumar Das 5682a2e17e
Added remote/hosted chaoshub functionality and updated frontend (#3722)
* Added remote/hosted chaoshub functionality and updated frontend

Signed-off-by: Amit Kumar Das <amit.das@harness.io>
2022-08-09 11:30:57 +05:30
Raj Das 21f805bd10
Adding request logger middleware (#3725)
* adding request logger middleware

Signed-off-by: Raj Babu Das <mail.rajdas@gmail.com>

* adding request logger middleware

Signed-off-by: Raj Babu Das <mail.rajdas@gmail.com>

* adding request logger middleware

Signed-off-by: Raj Babu Das <mail.rajdas@gmail.com>

* code scan issue

Signed-off-by: Raj Babu Das <mail.rajdas@gmail.com>
2022-08-08 12:13:28 +05:30
Saranya Jena 25de13003a
Removed Observability route, keeping only workflow analytics, updated terminologies (#3716)
* Updated terminology

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* Removed observability route keeping only workflow analytics section

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* Myhub terminology changes

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* Myhub terminology changes

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* minor translation fix

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* mdockerfile changes

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* dockerfile changes

Signed-off-by: Saranya-jena <saranya.jena@harness.io>
2022-08-08 11:55:06 +05:30
Vedant Shrotria 0e638a350a
Upgrading pkgs for Chaos-operator & Argo-workflows (#3718)
* Added changes for operator upgrade

Signed-off-by: jonsy13 <vedant.shrotria@harness.io>

* Added changes for chaos-operator upgrade

Signed-off-by: Jonsy13 <shrotriavedant@gmail.com>

* Added changes for upgrade

Signed-off-by: Jonsy13 <shrotriavedant@gmail.com>

* Added changes for v3.3.8 argo

Signed-off-by: Jonsy13 <shrotriavedant@gmail.com>

* Added changes for upgrade

Signed-off-by: Jonsy13 <shrotriavedant@gmail.com>

* Added changes for upgrade

Signed-off-by: Jonsy13 <shrotriavedant@gmail.com>

* Added upgrade changes for subscriber

Signed-off-by: Jonsy13 <shrotriavedant@gmail.com>

* Added changes for upgrade

Signed-off-by: Jonsy13 <shrotriavedant@gmail.com>

* Added changes for CRDS & RBAC

Signed-off-by: Jonsy13 <shrotriavedant@gmail.com>

* added changes for pinning argo to 3.3.1

Signed-off-by: Jonsy13 <shrotriavedant@gmail.com>

* added changes for pinning argo to 3.3.1

Signed-off-by: Jonsy13 <shrotriavedant@gmail.com>

* Added go-restful v3.8.0

Signed-off-by: Jonsy13 <shrotriavedant@gmail.com>

* Revert go-restful upgrade

Signed-off-by: Jonsy13 <shrotriavedant@gmail.com>

* Resolved conflcits

Signed-off-by: Jonsy13 <shrotriavedant@gmail.com>

* Removed binary

Signed-off-by: Jonsy13 <shrotriavedant@gmail.com>
2022-08-05 10:39:28 +00:00
Saranya Jena 7e7afec65d
Added getServerVersion API to fetch GQL server version (#3721)
* Added GetServerVersion API

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* import fix

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* import fix, added documentation

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* minor fixes

Signed-off-by: Saranya-jena <saranya.jena@harness.io>
2022-08-05 08:28:48 +00:00
Saranya Jena cac1ab9578
Added UI changes, warning text for SSH method, updated litmusctl commands and minor fixes (#3717)
* Updated tab styling as per design

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* Updated hub to ChaosHub

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* Updated litmusctl commands

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* Added warning text for SSH method

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* Added fixes for issue Chaos-61

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* Minor fix

Signed-off-by: Saranya-jena <saranya.jena@harness.io>
2022-08-05 12:01:31 +05:30
Amit Kumar Das 6647eeb088
Added advance tune feature and updated workflow creation steps (#3715)
* Added advance tune feature and updated workflow creation steps

Signed-off-by: Amit Kumar Das <amit.das@harness.io>
2022-08-05 11:05:33 +05:30
Amit Kumar Das 22d5389432
Fixed ui crashing issue for invalid cron syntax (#3714)
Signed-off-by: Amit Kumar Das <amit.das@harness.io>
2022-08-03 19:11:41 +05:30
deividMatos c9e229b2f8
Alter email to base64, because the regex enconding (#3705)
* alter email to base64, because the regex enconding

Signed-off-by: Deivid <deivid.dgm@gmail.com>

* add comment in methode create
Signed-off-by: Deivid <deivid.dgm@gmail.com>

Signed-off-by: Deivid <deivid.dgm@gmail.com>

Co-authored-by: Raj Das <mail.rajdas@gmail.com>
2022-08-02 15:57:03 +05:30
Raj Das 6a111e450f
changing trivy exit code to 0 (#3712)
Signed-off-by: Raj Babu Das <mail.rajdas@gmail.com>
2022-08-02 14:36:07 +05:30
Adarshkumar14 1253e98806
adding cluster roles and roles required for the deployment in openshift (#3708)
Signed-off-by: Adarshkumar14 <adarsh.kumar@harness.io>
2022-07-31 19:54:21 +00:00
Vedant Shrotria d0c31d0b45
Added changes for making clusterIP default endpoint for self-agent (#3709)
Signed-off-by: Vedant Shrotria <vedant.shrotria@harness.io>
2022-07-31 20:45:32 +05:30
Dave Nielsen eea00e3d1d
links to docs (#3697)
Added a few more links
2022-07-20 09:06:16 +05:30
Akash Shrivastava 3b5351d418
Chore [Docs]: Http Chaos Reset Peer experiment docs (#3671)
* Added http reset peer docs; Minor fixes in http latency docs

Signed-off-by: avaakash <as86414@gmail.com>

* Update http chaos image

Signed-off-by: avaakash <as86414@gmail.com>

* comment improvements

Signed-off-by: avaakash <as86414@gmail.com>
2022-07-19 22:09:50 +05:30
Akash Shrivastava 7803b54d25
Chore [Docs]: Http Chaos Status Code experiment docs (#3677)
* Added http status code chaos experiment docs

Signed-off-by: avaakash <as86414@gmail.com>

* Added status code in examples

Signed-off-by: avaakash <as86414@gmail.com>

* Added in index

Signed-off-by: avaakash <as86414@gmail.com>

* Added explanation for random code selection and list of supported value

Signed-off-by: avaakash <as86414@gmail.com>

* fixed typos

Signed-off-by: avaakash <as86414@gmail.com>

* comment improvements

Signed-off-by: avaakash <as86414@gmail.com>

* updated image for headers

Signed-off-by: avaakash <as86414@gmail.com>
2022-07-19 14:22:36 +05:30
Akash Shrivastava 1ae9414182
Chore [Docs]: Http Chaos Modify Body experiment docs (#3679)
* Added docs for http modify body experimnt

Signed-off-by: avaakash <as86414@gmail.com>

* comment improvements

Signed-off-by: avaakash <as86414@gmail.com>
2022-07-19 14:08:49 +05:30
Akash Shrivastava 6abb48eb80
Chore [Docs]: Http Chaos Modify Header experiment docs (#3684)
* Added http modify header docs

Signed-off-by: avaakash <as86414@gmail.com>

* Updated http chaos diagram

Signed-off-by: avaakash <as86414@gmail.com>

* comment improvements

Signed-off-by: avaakash <as86414@gmail.com>
2022-07-19 07:55:25 +00:00
Shubham Chaudhary 1ce828f33d
chore(2.11.0): Adding release manifests for the litmus 2.11.0 (#3694)
Signed-off-by: Shubham Chaudhary <shubham.chaudhary@harness.io>
2022-07-18 17:48:42 +05:30
Akash Shrivastava aba7459fbe
Fixed target port and listen port mentions in http chaos latency (#3663)
Signed-off-by: avaakash <as86414@gmail.com>
2022-07-15 14:03:20 +00:00
Adarshkumar14 2908008152
Updating manifest for 2.11.0 (#3692)
Signed-off-by: Adarshkumar14 <adarsh.kumar@harness.io>
2022-07-15 12:08:56 +05:30
Vedant Shrotria 84d7a632d7
Adding release manifests for 2.11.0 Chaoscenter release (#3688)
* Upgrading release manifests for 2.11.0 Chaoscenter release

Signed-off-by: Vedant Shrotria <vedant.shrotria@harness.io>

* Upgrading release manifests for 2.11.0 Chaoscenter release with namespaced scope changes

Signed-off-by: Vedant Shrotria <vedant.shrotria@harness.io>

* Upgrading go pkg

Signed-off-by: Vedant Shrotria <vedant.shrotria@harness.io>

* Upgrading release manifests for 2.11.0 Chaoscenter release with namespaced scope changes

Signed-off-by: Vedant Shrotria <vedant.shrotria@harness.io>

* Upgrading release manifests for 2.11.0 Chaoscenter release with namespaced scope changes

Signed-off-by: Vedant Shrotria <vedant.shrotria@harness.io>
2022-07-15 10:52:40 +05:30
Adarshkumar14 c7e9e9ed45
Fix roles for Namespace mode Installation (#3687)
* updating readme.md for 2.10.0

Signed-off-by: Adarshkumar14 <adarsh.kumar@harness.io>

* Updating the file location of manifests

Signed-off-by: Adarshkumar14 <adarsh.kumar@harness.io>

* Updating the file location of manifests

Signed-off-by: Adarshkumar14 <adarsh.kumar@harness.io>

* updating the namespace  agent rbac

Signed-off-by: Adarshkumar14 <adarsh.kumar@harness.io>

* updating the namespace  agent rbac

Signed-off-by: Adarshkumar14 <adarsh.kumar@harness.io>

* updating the namespace  agent rbac

Signed-off-by: Adarshkumar14 <adarsh.kumar@harness.io>

* Updating the namespace manifest with the updated roles

Signed-off-by: Adarshkumar14 <adarsh.kumar@harness.io>
2022-07-14 18:26:38 +05:30
Amit Kumar Das de7a2b450b
Fixed error handling and minor change in synchub (#3683)
* Fixed error handling and minor change in synchub

Signed-off-by: Amit Kumar Das <amit.das@harness.io>

* updated go.mod

Signed-off-by: Amit Kumar Das <amit.das@harness.io>

* updated go.mod

Signed-off-by: Amit Kumar Das <amit.das@harness.io>

* Minor fix in build script

Signed-off-by: Amit Kumar Das <amit.das@harness.io>
2022-07-14 15:35:09 +05:30
Saranya Jena 89ce3f84ad
UI Fixes: Removed the duplicate words (#3685)
* Removed the duplicate words

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* minor text fixes

Signed-off-by: Saranya-jena <saranya.jena@harness.io>
2022-07-14 14:49:10 +05:30
Saranya Jena a8ca64b33d
Updated terminology for chaos agent, workflow and charts in frontend (#3680)
* Updated chaos agent -> chaos delegate

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* Updates chaos workflow -> chaos scenarios in FE

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* Updates chaos charts -> chaos experiments in FE

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* minor changes in terminology

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* terminology updations

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* eslint fixes

Signed-off-by: Saranya-jena <saranya.jena@harness.io>
2022-07-14 10:50:54 +05:30
Sarthak Jain 05cb12ed8e
Updated litmuctl command to connect agent (#3682)
Signed-off-by: Sarthak Jain <sarthak.jain@harness.io>
2022-07-13 06:57:09 +00:00
OUM NIVRATHI KALE 23fceff8a0
Adding Oum in a Reviewers (#3670) 2022-06-29 17:38:17 +05:30
Udit Gaurav 5b35c61cbe
Relase(2.10.0): Adds release manifest for 2.10.0 (#3661)
Signed-off-by: uditgaurav <udit@chaosnative.com>
2022-06-16 01:04:54 +00:00
Adarshkumar14 c8b492ef31
Updating readme.md for 2.10.0 (#3660)
* updating readme.md for 2.10.0

Signed-off-by: Adarshkumar14 <adarsh.kumar@harness.io>

* Updating the file location of manifests

Signed-off-by: Adarshkumar14 <adarsh.kumar@harness.io>

* Updating the file location of manifests

Signed-off-by: Adarshkumar14 <adarsh.kumar@harness.io>
2022-06-15 12:21:54 +00:00
Vedant Shrotria 8ac8199efc
Adding manifests for v2.10.0 ChaosCenter & updating upgrade agent (#3658)
* Updated upgrade agent

Signed-off-by: Vedant Shrotria <vedant.shrotria@harness.io>

* Added mainfest updates for v2.10.0 release

Signed-off-by: Vedant Shrotria <vedant.shrotria@harness.io>
2022-06-15 07:17:47 +00:00
Amit Kumar Das 5800e77a87
Minor fix in env config (#3656)
* Minor fix in env config

Signed-off-by: Amit Kumar Das <amit.das@harness.io>

* Updated Okteto manifest

Signed-off-by: Amit Kumar Das <amit.das@harness.io>
2022-06-15 06:08:04 +00:00
Amit Kumar Das d480f3126f
Added imagePullSecret in chaos engine and minor change in probes (#3643)
* Added imagePullSecret in chaos engine and minor change in probe

Signed-off-by: Amit Kumar Das <amit.das@harness.io>

* Added runner image pull secret

Signed-off-by: Amit Kumar Das <amit.das@harness.io>

* Updated env name from LITMUS_CORE_VERSION to WORKFLOW_HELPER_IMAGE_VERSION

Signed-off-by: Amit Kumar Das <amit.das@harness.io>

* Minor fix in pipeline

Signed-off-by: Amit Kumar Das <amit.das@harness.io>
2022-06-14 23:34:29 +05:30
Raj Das ca72508ac1
Adding CHAOS_CENTER_UI_ENDPOINT available for cluster and namespace scope (#3632)
* adding CHAOS_CENTER_UI_ENDPOINT available for cluster and namespace scope

Signed-off-by: Raj Babu Das <mail.rajdas@gmail.com>

* Renaming PORTAL_SCOPE to CHAOS_CENTER_SCOPE

Signed-off-by: Raj Babu Das <mail.rajdas@gmail.com>

* Renaming PORTAL_SCOPE to CHAOS_CENTER_SCOPE

Signed-off-by: Raj Babu Das <mail.rajdas@gmail.com>

* Seperating GetEndpoint function to be use in agent register mutation

Signed-off-by: Raj Babu Das <mail.rajdas@gmail.com>

* Seperating GetEndpoint function to be use in agent register mutation

Signed-off-by: Raj Babu Das <mail.rajdas@gmail.com>

* updating endpoint of manifest

Signed-off-by: Raj Babu Das <mail.rajdas@gmail.com>

* Adding the same changes to GetManifestWithClusterID

Signed-off-by: Raj Babu Das <mail.rajdas@gmail.com>

* Replace with chaoscenter scope

Signed-off-by: Raj Babu Das <mail.rajdas@gmail.com>
2022-06-14 19:52:28 +05:30
Akash Shrivastava 774264db1b
Chore [Docs]: Http Chaos Latency experiment docs (#3619)
* Added docs for http chaos latency

Signed-off-by: avaakash <as86414@gmail.com>

* Fixed node label in common tunabled; Added http-latency to sidebar

Signed-off-by: avaakash <as86414@gmail.com>

* Added http-chaos experiment image; Fixed issues in doc

Signed-off-by: avaakash <as86414@gmail.com>

* Removed target_host; Improved experiment description

Signed-off-by: avaakash <as86414@gmail.com>

* Made latency env as mandatory

Signed-off-by: avaakash <as86414@gmail.com>

* Added entry in contents.md

Signed-off-by: avaakash <as86414@gmail.com>

* Update mkdocs/docs/experiments/categories/pods/pod-http-latency.md

Co-authored-by: Neelanjan Manna <neelanjanmanna@gmail.com>

* Added network_interface; Removed target_host

Signed-off-by: avaakash <as86414@gmail.com>

* embedmd run

Signed-off-by: avaakash <as86414@gmail.com>

* Changed TARGET_PORT->TARGET_SERVICE_PORT, LISTEN_PORT->PROXY_PORT

Signed-off-by: avaakash <as86414@gmail.com>

* Update mkdocs/docs/experiments/categories/pods/pod-http-latency.md

Co-authored-by: Neelanjan Manna <neelanjanmanna@gmail.com>
Co-authored-by: Udit Gaurav <35391335+uditgaurav@users.noreply.github.com>
2022-06-14 17:20:04 +05:30
Vedant Shrotria 17d866cf53
Fixed updateGitOps (#3654)
Signed-off-by: Vedant Shrotria <vedant.shrotria@harness.io>
2022-06-14 15:58:39 +05:30
Prithvi Raj dc8cded242
Changes to the Main Repo: Added Training & Courses, Commercial Support; Updated Adopters (#3653)
* Update COMMERCIAL_SUPPORT.md
* Create TRAINING_AND_COURSES.md
* Update ADOPTERS.md

Signed-off-by: Ajesh Baby <ajesh.baby@harness.io>
2022-06-14 10:41:46 +05:30
Neelanjan Manna 2599b41581
GCP Experiment Docs Updates (#3616)
* added gcp-vm-instance-stop-by-label docs; updated gcp-vm-instance-stop docs

Signed-off-by: Neelanjan Manna <neelanjan.manna@harness.io>

* added gcp-vm-disk-loss-by-label docs; updated gcp-vm-disk-loss-by-label docs; updated navbar

Signed-off-by: Neelanjan Manna <neelanjan.manna@harness.io>

* updated rbac manifests

Signed-off-by: Neelanjan Manna <neelanjan.manna@harness.io>

* updated image path

Signed-off-by: Neelanjan Manna <neelanjan.manna@harness.io>

* updated image path

Signed-off-by: Neelanjan Manna <neelanjan.manna@harness.io>

* updated experiment flow chart images

Signed-off-by: Neelanjan Manna <neelanjan.manna@harness.io>

* updated docs grammar

Signed-off-by: Neelanjan Manna <neelanjan.manna@harness.io>

* grammar fixes

Signed-off-by: Neelanjan Manna <neelanjan.manna@harness.io>
2022-06-13 10:16:39 +00:00
Amit Kumar Das 9a9e63ad54
Added check for invalid schedule type (#3630)
Signed-off-by: Amit Kumar Das <amit.das@harness.io>
2022-06-13 12:13:10 +05:30
Amit Kumar Das a33754214e
Fixed issues with httpProbe and promProbe in tune workflow section (#3635)
* Added required field to criteria

Signed-off-by: Amit Kumar Das <amit.das@harness.io>

* Minor fix in promProbe

Signed-off-by: Amit Kumar Das <amit.das@harness.io>
2022-06-13 12:11:49 +05:30
Vansh Bhatia 271af40402
Enchancement: added scroll to invitation table (#3639)
* Fixed links to ChaosHub, added textButton component

Signed-off-by: Vansh Bhatia <vansh@chaosnative.com>

* Added invitation tab to redux, added smooth scroll to invitation table, fixed styling

Signed-off-by: Vansh Bhatia <vansh.bhatia@harness.io>
2022-06-02 10:07:25 +00:00
Neelanjan Manna dd9ba881dd
Update pod-network-latency Docs FOR JITTER env (#3618)
* added JITTER env

Signed-off-by: Neelanjan Manna <neelanjan.manna@harness.io>

* added JITTER env

Signed-off-by: Neelanjan Manna <neelanjan.manna@harness.io>

Co-authored-by: Udit Gaurav <35391335+uditgaurav@users.noreply.github.com>
2022-06-01 12:55:22 +05:30
Vedant Shrotria a4add75ea0
chore (ChaosCenter): Adding Network-Policies for control-plane & agent-plane components (#3523)
* Added network policies

Signed-off-by: Jonsy13 <vedant.shrotria@chaosnative.com>

* Added some changes in NP

Signed-off-by: Jonsy13 <vedant.shrotria@chaosnative.com>

* Added Minor changes for Network-policies

Signed-off-by: Jonsy13 <vedant.shrotria@chaosnative.com>
2022-05-30 12:23:00 +05:30
Vedant Shrotria 14ad433ce6
Updated manifests also with nginx conf changes (#3631)
Signed-off-by: Vedant Shrotria <vedant.shrotria@harness.io>
2022-05-25 14:55:02 +05:30
NaveenKumar Namachivayam ⚡ cfe488f4e1
Fix: AWS EKS IAM SA command (#3612)
Signed-off-by: NaveenKumar Namachivayam catch.nkn@gmail.com

Signed-off-by: NaveenKumar Namachivayam <catch.nkn@gmail.com>
2022-05-24 10:44:40 +05:30
Vedant Shrotria 73d7fec4a7
Removed ignore path filter (#3622)
Signed-off-by: Vedant Shrotria <vedant.shrotria@harness.io>
2022-05-24 10:43:17 +05:30
Raj Babu Das 5f9400c37a
Extracting query, mutation and subscription to the respective schema files (#3602)
Signed-off-by: Raj Babu Das <mail.rajdas@gmail.com>
2022-05-17 14:04:45 +05:30
Amit Kumar Das ffe995975c
Updated version to 2.9.0 in readme (#3607)
* Updated readme to 2.9.0

Signed-off-by: Amit Kumar Das <amit@chaosnative.com>

* Removed run.sh and updated readme

Signed-off-by: Amit Kumar Das <amit@chaosnative.com>

* Added namespace scope links

Signed-off-by: Amit Kumar Das <amit@chaosnative.com>

* Minor change

Signed-off-by: Amit Kumar Das <amit@chaosnative.com>
2022-05-16 22:22:07 +05:30
Vedant Shrotria 725f85ab8e
Added manifests for 2.9.0 release (#3605)
* Added manifests for 2.9.0 release

Signed-off-by: Vedant Shrotria <vedant.shrotria@harness.io>

* Added manifests for 2.9.0 release

Signed-off-by: Vedant Shrotria <vedant.shrotria@harness.io>
2022-05-16 21:48:24 +05:30
Amit Kumar Das a2d6e9e9a5
Minor fix in workflow stats (#3606)
* Minor fix

Signed-off-by: Amit Kumar Das <amit@chaosnative.com>

* Minor fix

Signed-off-by: Amit Kumar Das <amit@chaosnative.com>
2022-05-16 20:22:47 +05:30
Karthik Satchitanand 59b79d81eb
Update ROADMAP.md (#3565) 2022-05-16 12:04:26 +02:00
Amit Kumar Das 6d506f9023
Fixed GQL APIs in FE (#3603)
* Fixed GQL APIs in FE

Signed-off-by: Amit Kumar Das <amit@chaosnative.com>

* Updated api docs

Signed-off-by: Amit Kumar Das <amit@chaosnative.com>
2022-05-16 13:10:27 +05:30
Amit Kumar Das f416059afa
Updated weightage logic and fixed workflow stats page (#3600)
Signed-off-by: Amit Kumar Das <amit@chaosnative.com>
2022-05-16 10:52:30 +05:30
Raj Babu Das 4a4a2440df
Fixing GitOps API in event tracker (#3601)
* fix event tracker gitops api

Signed-off-by: Raj Babu Das <mail.rajdas@gmail.com>

* upgrading crypto

Signed-off-by: Raj Babu Das <mail.rajdas@gmail.com>

* fixing go mod

Signed-off-by: Raj Babu Das <mail.rajdas@gmail.com>
2022-05-16 10:36:43 +05:30
Saranya Jena 7954d70c59
Added info msg in upgrade manager incase current and desired version are same, upgrade path for 2.9.0 (#3591)
Signed-off-by: Saranya-jena <saranya.jena@harness.io>
2022-05-14 22:40:32 +05:30
Amit Kumar Das 594c3ac38a
Fixed analytics dashboard and gitops related issues (#3595)
* Fixed dashboard and gitops related issues

Signed-off-by: Amit Kumar Das <amit@chaosnative.com>

* Reverting a minor change

Signed-off-by: Amit Kumar Das <amit@chaosnative.com>

* Added LITMUS_CORE_VERSION and fixed issues with image registry

Signed-off-by: Amit Kumar Das <amit@chaosnative.com>

* Added chaosexp kind check

Signed-off-by: Amit Kumar Das <amit@chaosnative.com>

* Fixed deepscan issue

Signed-off-by: Amit Kumar Das <amit@chaosnative.com>
2022-05-14 22:40:23 +05:30
Udit Gaurav 1b15f0263b
Chore(2.9.0): Add core component release manifest for 2.9.0 (#3596)
Signed-off-by: uditgaurav <udit@chaosnative.com>
2022-05-14 22:16:25 +05:30
Vedant Shrotria 5945f5a131
Fixed error logs in subscriber (#3594)
Signed-off-by: Vedant Shrotria <vedant.shrotria@harness.io>
2022-05-14 07:16:34 +00:00
Saranya Jena b7e3e8325c
Added documentation for analytics (#3593)
Signed-off-by: Saranya-jena <saranya@chaosnative.com>
2022-05-13 13:39:27 +05:30
Amit Kumar Das 45693e9b31
Fixed API docs and minor API changes (#3590)
* Added agents,workflows, hubs and workflow management docs

Signed-off-by: Amit Kumar Das <amit@chaosnative.com>

* Added favicon and auth redirect link

Signed-off-by: Amit Kumar Das <amit@chaosnative.com>

* Fixed delete hub issue

Signed-off-by: Amit Kumar Das <amit@chaosnative.com>

* Fixed disable schedule issue

Signed-off-by: Amit Kumar Das <amit@chaosnative.com>

* Updated the directory version

Signed-off-by: Amit Kumar Das <amit@chaosnative.com>

* Added v2.0.0 dir back

Signed-off-by: Amit Kumar Das <amit@chaosnative.com>
2022-05-12 12:25:39 +05:30
Sayan Mondal e477a93c0f
Reverting commit (#3570)
Signed-off-by: Sayan Mondal <sayan.mondal@harness.io>
2022-05-11 14:39:57 +05:30
Amit Kumar Das 3f8021f09b
(api-refactor): Refactored GQL server APIs and updated frontend dir (#3579)
* Updated GQL Schema naming convention and docs (#3434)

* schema fix for naming convention and doc

Signed-off-by: Soumya Ghosh Dastidar <gdsoumya@gmail.com>

* splitted the schema into multiple gql files

Signed-off-by: arkajyotiMukherjee <arko@chaosnative.com>

* rearranged queries

Signed-off-by: arkajyotiMukherjee <arko@chaosnative.com>

* added comments

Signed-off-by: arkajyotiMukherjee <arko@chaosnative.com>

* Updated chaoshub code docs and removed unused models

Signed-off-by: Amit Kumar Das <amit@chaosnative.com>

* userClusterReg -> registerCluster

Signed-off-by: arkajyotiMukherjee <arko@chaosnative.com>

* added cluster mutation API changes

Signed-off-by: arkajyotiMukherjee <arko@chaosnative.com>

* Interfaces + queries updated, pages WIP

Signed-off-by: Vansh Bhatia <vansh@chaosnative.com>

* frontend queries refactored

Signed-off-by: Vansh Bhatia <vansh.bhatia@harness.io>

* more mutation changes

Signed-off-by: Arkajyoti Mukherjee <arkajyoti31@gmail.com>

* more mutation changes

Signed-off-by: Arkajyoti Mukherjee <arkajyoti31@gmail.com>

* mutations refactored

Signed-off-by: Vansh Bhatia <vansh.bhatia@harness.io>

* Fixed handler name

Signed-off-by: Vansh Bhatia <vansh.bhatia@harness.io>

* All errors fixed, frontend compiling, LogSwitcher fix WIP

Signed-off-by: Vansh Bhatia <vansh.bhatia@harness.io>

* Log Switcher fixed

Signed-off-by: Vansh Bhatia <vansh.bhatia@harness.io>

* linter fixes

Signed-off-by: Vansh Bhatia <vansh.bhatia@harness.io>

* Updated ChaosHub mutations

Signed-off-by: Amit Kumar Das <amit@chaosnative.com>

* Changed query names and parameter accordint to convention in backend

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* Changed query names and parameters in FE

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* chaosHub fixes

Signed-off-by: Vansh Bhatia <vansh.bhatia@harness.io>

* Updated subscriber schema and minor refactoring

Signed-off-by: Amit Kumar Das <amit@chaosnative.com>

* frontend fixes

Signed-off-by: Vansh Bhatia <vansh.bhatia@harness.io>

* Renamed get to list in queries

Signed-off-by: SarthakJain26 <sarthak@chaosnative.com>

* Fixed enums issue

Signed-off-by: Amit Kumar Das <amit@chaosnative.com>

* Fixed workflow related schemas in FE and minor change in ENUMs

Signed-off-by: Amit Kumar Das <amit@chaosnative.com>

* Added FE integration for workflow creation

Signed-off-by: Amit Kumar Das <amit@chaosnative.com>

* Updated analytics queries in FE

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* Updated chaoshub queries in FE

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* Updated workflows, logs and template queries and mutations in FE

Signed-off-by: Amit Kumar Das <amit@chaosnative.com>

* Deepscan fix

Signed-off-by: Vansh Bhatia <vansh.bhatia@harness.io>

* Fixed analytics, myhub, usage and project related queries

Signed-off-by: Amit Kumar Das <amit@chaosnative.com>

* fixed workflow stats page

Signed-off-by: Amit Kumar Das <amit@chaosnative.com>

* Updated payload data type in subscriber

Signed-off-by: Amit Kumar Das <amit@chaosnative.com>

* minor fix

Signed-off-by: Amit Kumar Das <amit@chaosnative.com>

* Fixed analytics and delete workflow issue

Signed-off-by: Amit Kumar Das <amit@chaosnative.com>

* Fixed usage stats schema in frontend and backend

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* Added fix username fetching issue in usage table

Signed-off-by: Saranya-jena <saranya.jena@harness.io>

* Added query for agent details

Signed-off-by: Amit Kumar Das <amit@chaosnative.com>

* Updated go mod in auth svr

Signed-off-by: Amit Kumar Das <amit@chaosnative.com>

Co-authored-by: Soumya Ghosh Dastidar <44349253+gdsoumya@users.noreply.github.com>
Co-authored-by: arkajyotiMukherjee <arko@chaosnative.com>
Co-authored-by: Vansh Bhatia <vansh@chaosnative.com>
Co-authored-by: Vansh Bhatia <vansh.bhatia@harness.io>
Co-authored-by: Arkajyoti Mukherjee <arkajyoti31@gmail.com>
Co-authored-by: Saranya-jena <saranya.jena@harness.io>
Co-authored-by: SarthakJain26 <sarthak@chaosnative.com>
2022-05-11 11:26:12 +05:30
Konstantinos 'Dean' Linaras 4d71cea292
Fix minor translation typo (#3588)
Signed-off-by: Konstantinos 'Dean' Linaras <linaras@pm.me>

Co-authored-by: Udit Gaurav <35391335+uditgaurav@users.noreply.github.com>
2022-05-10 19:00:25 +05:30
Akash Shrivastava d727751be4
Document fixes for cpu/io stress experiments (#3566)
* Added cpu load tunable to node and pod cpu hog experiment; Added yaml example for CPU in node-io-stress experiment

Signed-off-by: Akash Shrivastava <as86414@gmail.com>

* Fixed env tunables and manifest links

Signed-off-by: Akash Shrivastava <as86414@gmail.com>

* Fix for pipeline requirement for doc changes

Signed-off-by: Akash Shrivastava <as86414@gmail.com>
2022-05-10 16:01:42 +05:30
Neelanjan Manna 9837df11cd
GCP IAM Integration Docs (#3537)
* added GCP IAM Integration docs

Signed-off-by: neelanjan00 <neelanjan@chaosnative.com>

* grammar fixes

Signed-off-by: neelanjan00 <neelanjan@chaosnative.com>
2022-04-28 17:53:33 +05:30
Vedant Shrotria a8c9296857
fixing upgrade-agent (#3574)
* fixed upgrade-agent

Signed-off-by: Jonsy13 <vedant.shrotria@chaosnative.com>

* fixed upgrade-agent

Signed-off-by: Jonsy13 <vedant.shrotria@chaosnative.com>
2022-04-26 20:06:18 +05:30
Vedant Shrotria 1867917c92
Fixing RBAC in namespaced scope (#3568)
* Fixing RBAC in namespaced scope

Signed-off-by: Jonsy13 <vedant.shrotria@chaosnative.com>

* Upgraded crypto pkg

Signed-off-by: Jonsy13 <vedant.shrotria@chaosnative.com>
2022-04-25 11:46:36 +05:30
Udit Gaurav c772697a06
Chore(2.8.0): Add core component release manifest for 2.8.0 (#3562)
Signed-off-by: uditgaurav <udit@chaosnative.com>
2022-04-19 17:50:37 +05:30
Soumya Ghosh Dastidar 946079e062
update reviewer details for gdsoumya (#3525) 2022-04-17 15:19:17 +05:30
Raj Babu Das 1f02f89003
Reducing the complexity of installing namespace scope manifest (#3563)
Signed-off-by: Raj Babu Das <mail.rajdas@gmail.com>
2022-04-17 13:07:04 +05:30
Udit Gaurav d90ffb2e74
Chore(docs): Add docs for NODE_LABEL feature in pod level experiments (#3553)
Signed-off-by: uditgaurav <udit@chaosnative.com>
2022-04-16 22:42:59 +05:30
Raj Babu Das 3377b68479
Adding chaoscenter readme (#3561)
Signed-off-by: Raj Babu Das <mail.rajdas@gmail.com>
2022-04-16 02:51:58 +05:30
Raj Babu Das 227a4a15f0
adding secrets permission to eventtracker (#3559)
Signed-off-by: Raj Babu Das <mail.rajdas@gmail.com>
2022-04-16 02:35:22 +05:30
Raj Babu Das 2b0995808e
Adding ChaosCenter 2.8.0 installation manifests (#3558)
Signed-off-by: Raj Babu Das <raj@chaosnative.com>
2022-04-16 01:43:22 +05:30
Raj Babu Das 8142780afe
Fixing eventtracker to retrieve CLUSTER_ID and ACCESS_KEY from agent-secret (#3557)
* Update cluster-k8s-manifest.yml

* Update namespaced-k8s-template.yml

* Fixing eventtracker to retrieve CLUSTER_ID and ACCESS_KEY from agent-secret

Signed-off-by: Raj Babu Das <mail.rajdas@gmail.com>

* Fixing eventtracker to retrieve CLUSTER_ID and ACCESS_KEY from agent-secret

Signed-off-by: Raj Babu Das <mail.rajdas@gmail.com>
2022-04-16 00:32:33 +05:30
Raj Babu Das 363e07c24c
Fixing subscriber to update CLUSTER_ID and ACCESS_KEY to the agent-secret (#3546)
* Fixing subscriber to update CLUSTER_ID and ACCESS_KEY to the agent-secret

Signed-off-by: Raj Babu Das <raj@chaosnative.com>

* minor fix

Signed-off-by: Raj Babu Das <raj@chaosnative.com>

* adding secrets to rbac of agents

Signed-off-by: Raj Babu Das <raj@chaosnative.com>

* minor fix

Signed-off-by: Raj Babu Das <raj@chaosnative.com>

* ads

Signed-off-by: Raj Babu Das <raj@chaosnative.com>

* test

Signed-off-by: Raj Babu Das <raj@chaosnative.com>

* test -2

Signed-off-by: Raj Babu Das <raj@chaosnative.com>

* fix workflow logs

Signed-off-by: Raj Babu Das <raj@chaosnative.com>

* formatting logs

Signed-off-by: Raj Babu Das <raj@chaosnative.com>

* undo manifest

Signed-off-by: Raj Babu Das <raj@chaosnative.com>
2022-04-16 00:05:53 +05:30
Amit Kumar Das 43e99f10f6
Updated pre-define workflows route (#3556)
Signed-off-by: Amit Kumar Das <amit@chaosnative.com>
2022-04-15 22:25:12 +05:30
Adarshkumar14 395a4cf2f6
adding aws region in mandateory field (#3554)
Signed-off-by: Adarshkumar14 <adarsh@chaosnative.com>
2022-04-15 12:56:26 +05:30
Amit Kumar Das 65a78a3a93
chore(chaos-center): Added workflow type filter, pre-defined workflow redirect link and updated analytics routes (#3539)
* Added workflow type filter and pre-define workflow redirect URL

Signed-off-by: Amit Kumar Das <amit@chaosnative.com>

* Updated observability to analytics and changed routes

Signed-off-by: Amit Kumar Das <amit@chaosnative.com>
2022-04-13 18:07:39 +05:30
Saranya Jena 04b157fde5
Added fix for workflow failure issue while adding experiments with same name( issue #11) (#3540)
* Added fix for workflow failure issue while adding experiments with the same name in the workflow
* Added workflow step name checks

Signed-off-by: Saranya-jena <saranya@chaosnative.com>
Co-authored-by: Amit Kumar Das <amit@chaosnative.com>
2022-04-13 16:44:16 +05:30
Vedant Shrotria 33efeaaf24
(ChaosCenter): Upgrading workflow-controller & Executor to v3.2.9 & Litmus-Core to 2.7.0 (#3543)
* Upgrading packages for argo to v3.2.9

Signed-off-by: Jonsy13 <vedant.shrotria@chaosnative.com>

* Updated manifests

Signed-off-by: Jonsy13 <vedant.shrotria@chaosnative.com>
2022-04-13 10:45:36 +00:00
Sarthak Jain 035b14eb91
Added created_at field while creating user via dex (#3529)
Signed-off-by: SarthakJain26 <sarthak@chaosnative.com>
2022-04-04 12:27:23 +05:30
Sarthak Jain 304701fc15
Added email validation and added rbac in get_user_with_project API (#3534)
* Added email validation and added rbac in get_user_with_project API

Signed-off-by: SarthakJain26 <sarthak@chaosnative.com>

* Added UI fix for user management table cell

Signed-off-by: Saranya-jena <saranya@chaosnative.com>

Co-authored-by: Saranya-jena <saranya@chaosnative.com>
2022-04-04 06:04:09 +00:00
Saranya Jena 5396173c64
Updated api docs with optional fields (#3483)
* Updated api docs with updated fields

Signed-off-by: Saranya-jena <saranya@chaosnative.com>

* added documentation for query parameters

Signed-off-by: Saranya-jena <saranya@chaosnative.com>
2022-03-30 12:40:46 +05:30
Soumya Ghosh Dastidar 2d7bc84f81
feat: ability to configure self-agent component's node selector and tolerations (#3527)
* feat: added env var to configure self agent component's node selector and tolerations

Signed-off-by: Soumya Ghosh Dastidar <gdsoumya@gmail.com>

* refactor: updated SELF_CLUSTER to SELF_AGENT

Signed-off-by: Soumya Ghosh Dastidar <gdsoumya@gmail.com>
2022-03-26 21:28:25 +05:30
Udit Gaurav 67620039cf
Release(2.7.0): Adds manifest for litmus backend 2.7.0 (#3508)
Signed-off-by: udit <udit@chaosnative.com>
2022-03-16 21:57:06 +05:30
Vedant Shrotria 9a5e4e3244
chore(ChaosCenter): Updated Readme for 2.7.0 ChaosCenter (#3504)
* Updated readme for 2.7

Signed-off-by: Jonsy13 <vedant.shrotria@chaosnative.com>

* Updated curl image tags

Signed-off-by: Jonsy13 <vedant.shrotria@chaosnative.com>
2022-03-16 17:42:47 +05:30
Arkajyoti Mukherjee d91d17e324
added the new APIs in frontend for RBAC and fixed associated security issues (#3501)
Signed-off-by: arkajyotiMukherjee <arko@chaosnative.com>
2022-03-15 14:45:39 +05:30
Vedant Shrotria 4085bc09ef
Added minor fix for upgrade agent for 2.7.0 (#3500)
Signed-off-by: Jonsy13 <vedant.shrotria@chaosnative.com>
2022-03-15 12:51:23 +05:30
Vedant Shrotria a68e5df801
Added manifests for 2.7.0 (#3496)
Signed-off-by: Jonsy13 <vedant.shrotria@chaosnative.com>
2022-03-14 21:46:08 +05:30
Raj Babu Das c8f5b90237
Updating auth route in frontend nginx configuration (#3497)
* Update cluster-k8s-manifest.yml

* Update namespaced-k8s-template.yml

* Update nginx.conf
2022-03-14 20:18:40 +05:30
Saranya Jena 5729d38f38
Added APIs required for project switching from URL (#3493)
* Added APIs for url switching

Signed-off-by: Saranya-jena <saranya@chaosnative.com>

* Added db query for getProjectRole, minor optimizations

Signed-off-by: Saranya-jena <saranya@chaosnative.com>

* Removed unused spaces

Signed-off-by: Saranya-jena <saranya@chaosnative.com>
2022-03-14 15:50:17 +05:30
Raj Babu Das cf03d1ea46
Adding readiness routes to graphql-server and auth-server for readiness probes (#3495)
* Adding probes

Signed-off-by: rajdas98 <mail.rajdas@gmail.com>

* fix auth server for readiness endpoint

Signed-off-by: rajdas98 <mail.rajdas@gmail.com>

* adding readiness route

Signed-off-by: rajdas98 <mail.rajdas@gmail.com>

* revertg

Signed-off-by: rajdas98 <mail.rajdas@gmail.com>

* revertg

Signed-off-by: rajdas98 <mail.rajdas@gmail.com>

* changes

Signed-off-by: rajdas98 <mail.rajdas@gmail.com>

* changes

Signed-off-by: rajdas98 <mail.rajdas@gmail.com>

* changes

Signed-off-by: rajdas98 <mail.rajdas@gmail.com>
2022-03-14 13:11:22 +05:30
Vedant Shrotria 20561687bf
Fixing manifest for namespaced scope (#3494)
* Fixing manifest for namespaced scope

Signed-off-by: Jonsy13 <vedant.shrotria@chaosnative.com>

* Fixing mountPath for chaoshub in namespaced scope

Signed-off-by: Jonsy13 <vedant.shrotria@chaosnative.com>
2022-03-14 11:09:34 +05:30
Raj Babu Das 7dc96728d4
Moving CLUSTERID, ACCESSKEY from agent configs to secret (#3492)
* Update cluster-k8s-manifest.yml

* Update namespaced-k8s-template.yml

* moving CLUSTERID, ACCESSKEY and CUSTOMTLS from agent configs to secret

Signed-off-by: rajdas98 <mail.rajdas@gmail.com>

* moving back CUSTOM_TLS

Signed-off-by: rajdas98 <mail.rajdas@gmail.com>

* removing redundant vars

Signed-off-by: rajdas98 <mail.rajdas@gmail.com>

* changes

Signed-off-by: rajdas98 <mail.rajdas@gmail.com>
2022-03-14 10:09:58 +05:30
Sarthak Jain 72d5923a1e
Rbac validation (#3486)
* Added RBAC to multiple queries and mutations

Signed-off-by: SarthakJain26 <sarthak@chaosnative.com>

* Added schema changes in the frontend

Signed-off-by: Saranya-jena <saranya@chaosnative.com>

* Fixing imports order

Signed-off-by: SarthakJain26 <sarthak@chaosnative.com>

* Renamed deleteClusterReg to deleteClusters

Signed-off-by: SarthakJain26 <sarthak@chaosnative.com>

* Resolved coflicts

Signed-off-by: SarthakJain26 <sarthak@chaosnative.com>

Co-authored-by: Saranya-jena <saranya@chaosnative.com>
2022-03-11 19:19:16 +05:30
Adarshkumar14 c0f17143ab
Adding resource in chaos exporter deployment (#3490)
* updating the k8s resources

Signed-off-by: Adarshkumar14 <adarsh@chaosnative.com>

* adding resources in exporter deployment

Signed-off-by: Adarshkumar14 <adarsh@chaosnative.com>
2022-03-11 13:09:09 +05:30
Adarshkumar14 c9a8599d2e
updating the k8s resources (#3479)
Signed-off-by: Adarshkumar14 <adarsh@chaosnative.com>
2022-03-11 12:29:32 +05:30
Vedant Shrotria 4a8736ec39
Added minor Fix (#3482)
Signed-off-by: Jonsy13 <vedant.shrotria@chaosnative.com>
2022-03-11 12:07:48 +05:30
Amit Kumar Das 824697b519
chore(chaos-center): Updated hub mountPath and minor fix in deleteAgent mutation (#3487)
* updated hub mountPath and minor fix in deleteAgent

Signed-off-by: Amit Kumar Das <amit@chaosnative.com>

* Fixed label related issue in subscriber

Signed-off-by: Amit Kumar Das <amit@chaosnative.com>

* Fixed goimports

Signed-off-by: Amit Kumar Das <amit@chaosnative.com>
2022-03-11 06:36:13 +00:00
Amit Kumar Das fb7c4158f6
chore(chaos-center): Updated MyHub Rbacs and optimized filetype for fetching hub data (#3444)
* Updated MyHub Rbacs and optimized filetype for fetching hub data

Signed-off-by: Amit Kumar Das <amit@chaosnative.com>

* Made projectID required parameter for MyHub DB operations

Signed-off-by: Amit Kumar Das <amit@chaosnative.com>
2022-03-09 12:36:19 +05:30
Raj Babu Das f801670b73
Adding readOnlyRootFilesystem to true (#3481)
Signed-off-by: rajdas98 <mail.rajdas@gmail.com>
2022-03-07 10:16:45 +05:30
Saranya Jena e129d143ff
Fixed Authentication API issues (#3467)
* Added authentication API fixes in backend

Signed-off-by: Saranya-jena <saranya@chaosnative.com>

* Added generalized error messages

Signed-off-by: Saranya-jena <saranya@chaosnative.com>

* Minor condition refactor

Signed-off-by: Saranya-jena <saranya@chaosnative.com>
2022-03-07 10:16:27 +05:30
Raj Babu Das 2ec8980897
fixing auth server endpoints in the frontend NGINX config (#3478)
* Update cluster-k8s-manifest.yml

* Update namespaced-k8s-template.yml
2022-03-03 18:01:02 +05:30
Vedant Shrotria 1c1d497f5c
Disabled auto mounting of default SA token for Frontend & MongoDB deployments (#3476)
* Disabled auto mounting of default SA

Signed-off-by: Jonsy13 <vedant.shrotria@chaosnative.com>

* Disabled auto mounting of default SA

Signed-off-by: Jonsy13 <vedant.shrotria@chaosnative.com>

* Added changes for separate server deployments

Signed-off-by: Jonsy13 <vedant.shrotria@chaosnative.com>

* Added changes for separate server deployments

Signed-off-by: Jonsy13 <vedant.shrotria@chaosnative.com>
2022-03-03 17:35:17 +05:30
Adarshkumar14 49734ea71e
adding resources requests and limit (#3471)
Signed-off-by: Adarshkumar14 <1829034@kiit.ac.in>
2022-03-01 19:10:09 +05:30
Vedant Shrotria 6fd871bb91
Updated litmus-core images and added tagged image for curl (#3469)
Signed-off-by: Jonsy13 <vedant.shrotria@chaosnative.com>
2022-03-01 19:06:52 +05:30
Raj Babu Das ef6b92052b
Adding security contexts to all litmus resouces (#3472)
* Adding security contexts to all litmus resouces

Signed-off-by: rajdas98 <mail.rajdas@gmail.com>

* Adding security contexts to all litmus resouces

Signed-off-by: rajdas98 <mail.rajdas@gmail.com>
2022-03-01 19:06:19 +05:30
Soumya Ghosh Dastidar 71e1bd08f4
fix: updated gin version (#3470)
Signed-off-by: Soumya Ghosh Dastidar <gdsoumya@gmail.com>
2022-03-01 19:02:40 +05:30
Raj Babu Das 67ca38ccf2
Adding mongo headless service to mongo sts (#3468)
* adding mongo headless svc to mongo sts

Signed-off-by: rajdas98 <mail.rajdas@gmail.com>

* adding mongo headless svc to mongo sts

Signed-off-by: rajdas98 <mail.rajdas@gmail.com>

* Update namespaced-k8s-template.yml
2022-03-01 19:02:29 +05:30
Udit Gaurav 8fa5334c29
Chore(remove-docs): Remove 1.x demo (#3459)
* Chore(remove-docs): Remove 1.x demo

Signed-off-by: uditgaurav <udit@chaosnative.com>

* Chore(remove-docs): Remove 1.x demo

Signed-off-by: uditgaurav <udit@chaosnative.com>
2022-02-21 21:58:53 +05:30
Udit Gaurav a9a23f4212
Chore(2.6.0): Add manifest for 2.6.0 (#3455)
Signed-off-by: uditgaurav <udit@chaosnative.com>
2022-02-16 22:09:52 +05:30
Udit Gaurav 2b64cbf91c
Docs(examples): Add some example docs for jitter and default app check tunable (#3433)
Signed-off-by: uditgaurav <udit@chaosnative.com>
2022-02-15 21:39:09 +05:30
Vedant Shrotria 4937cedcce
Updated Readme.md with 2.6.0 changes (#3454)
Signed-off-by: Jonsy13 <vedant.shrotria@chaosnative.com>
2022-02-15 17:55:35 +05:30
Vedant Shrotria 098c1da16f
Adding manifests for v2.6.0 (#3451)
Signed-off-by: Jonsy13 <vedant.shrotria@chaosnative.com>
2022-02-14 22:12:42 +05:30
Amit Kumar Das 60111b9a90
Added control-plane upgrade script and minor UI fix (#3450)
* Added control-plant upgrade script and minor UI fix

Signed-off-by: Amit Kumar Das <amit@chaosnative.com>

* Updated go imports

Signed-off-by: Amit Kumar Das <amit@chaosnative.com>

* Updated go imports

Signed-off-by: Amit Kumar Das <amit@chaosnative.com>

* Removed commented code

Signed-off-by: Amit Kumar Das <amit@chaosnative.com>
2022-02-14 20:41:16 +05:30
Vedant Shrotria 25f335afd0
Upgraded core images to v2.5.0 (#3449)
Signed-off-by: Jonsy13 <vedant.shrotria@chaosnative.com>
2022-02-14 11:13:27 +00:00
Victor Martinelli 19fc65499d
Make workflow operations auditable (#3429)
* feat: add audit to workflows and workflow runs

Signed-off-by: Victor Martinelli <victorlcm93@gmail.com>

* fix: improve some code

Signed-off-by: Victor Martinelli <victorlcm93@gmail.com>

* fix: add docs to public functions

Signed-off-by: Victor Martinelli <victorlcm93@gmail.com>

* fix: fix doc in GetUsername

Signed-off-by: Victor Martinelli <victorlcm93@gmail.com>

* feat: add last updated by and executed by columns in frontend

Signed-off-by: Victor Martinelli <victorlcm93@gmail.com>

* fix: fix reliability test classname

Signed-off-by: Victor Martinelli <victorlcm93@gmail.com>

* fix: improve empty data display

Signed-off-by: Victor Martinelli <victorlcm93@gmail.com>
2022-02-11 20:14:46 +05:30
Soumya Ghosh Dastidar b99d8de11e
Update README.md (#3443) 2022-02-10 20:20:49 +05:30
Neelanjan Manna 7c8980e727
Updated project status; Sandbox -> Incubating (#3441)
Signed-off-by: neelanjan00 <neelanjan@chaosnative.com>
2022-01-31 11:29:58 +05:30
Raj Babu Das 64fc452cce
Updating base image of frontend to nginxinc/nginx-unprivileged:1.21-alpine (#3435)
* Update Dockerfile

* Update Dockerfile
2022-01-21 15:18:02 +05:30
Amit Kumar Das 850fc6a171
Added partialFilter in workflow name indexing (#3432)
Signed-off-by: Amit Kumar Das <amit@chaosnative.com>
2022-01-17 17:57:22 +05:30
Udit Gaurav f74229815e
Chore(2.5.0): Add manifest for 2.5.0 litmus backend (#3431)
Signed-off-by: uditgaurav <udit@chaosnative.com>
2022-01-15 18:01:25 +05:30
Vedant Shrotria 4db10b5f7f
Adding changes upgrade Agent (#3430)
Signed-off-by: Jonsy13 <vedant.shrotria@chaosnative.com>
2022-01-15 01:45:02 +05:30
Adarshkumar14 31ff9df126
Udating litmus version to 2.5.0 (#3428)
Signed-off-by: Adarshkumar14 <1829034@kiit.ac.in>
2022-01-15 01:44:20 +05:30
Vedant Shrotria a1635f9715
Adding Manifests for v2.5.0 & updated Ingress Manifest (#3426)
* Adding Manifests for v2.5.0

Signed-off-by: Jonsy13 <vedant.shrotria@chaosnative.com>

* Adding Manifests for v2.5.0

Signed-off-by: Jonsy13 <vedant.shrotria@chaosnative.com>

* Fixed images in v2.4.0

Signed-off-by: Jonsy13 <vedant.shrotria@chaosnative.com>
2022-01-14 16:45:41 +05:30
sumit Nagal 1f7664935c
Update Email address (#3425)
Pending action item :-)
2022-01-14 08:19:56 +05:30
Udit Gaurav a2e58b454e
Fix pod IO stress docs example for mount path (#3424)
Signed-off-by: uditgaurav <udit@chaosnative.com>
2022-01-12 14:53:20 +05:30
Vedant Shrotria 5ab102f986
Updated the grpc endpoints to localhost & upgrade manager (#3421)
* Updated the grpc endpoints to localhost & upgrade manager

Signed-off-by: Jonsy13 <vedant.shrotria@chaosnative.com>

* added changes

Signed-off-by: Jonsy13 <vedant.shrotria@chaosnative.com>
2022-01-12 11:41:15 +05:30
Vedant Shrotria 3639d2b6c2
changing core images to v2.4.0 (#3419)
Signed-off-by: Jonsy13 <vedant.shrotria@chaosnative.com>
2022-01-07 21:29:18 +05:30
Bruno Barin 918e53c131
Added RBAC to reRunChaosworkflow API (#3416)
* Added RBAC to rerunworkflow

Signed-off-by: Bruno Barin <bruno.barin@ifood.com.br>

* Revert "Added RBAC to rerunworkflow"

This reverts commit ca492e9871.

* Changes after code review

Signed-off-by: Bruno Barin <bruno.barin@ifood.com.br>

* Changes after code review

Signed-off-by: Bruno Barin <bruno.barin@ifood.com.br>

* Fix after review

Signed-off-by: Bruno Barin <bruno.barin@ifood.com.br>

* Fixed linted issues

Signed-off-by: Bruno Barin <bruno.barin@ifood.com.br>

* Revert "Added RBAC to rerunworkflow"

This reverts commit ca492e9871.

Signed-off-by: Bruno Barin <bruno.barin@ifood.com.br>

* Reuse the existing function

Signed-off-by: Bruno Barin <bruno.barin@ifood.com.br>

Co-authored-by: Bruno Barin <bruno.barin@ifood.com.br>
2022-01-06 18:43:11 +05:30
Soumya Ghosh Dastidar e83ec6d687
added ability to use self-signed cert for tls (#3408)
* added ability to use self-signed cert for tls

Signed-off-by: Soumya Ghosh Dastidar <gdsoumya@gmail.com>

* reverted svc name

Signed-off-by: Soumya Ghosh Dastidar <gdsoumya@gmail.com>
2022-01-04 22:00:18 +05:30
Saranya Jena 605284446f
Updated project schema as per clc, minor fixes in FE (#3415)
Signed-off-by: Saranya-jena <saranya@chaosnative.com>
2022-01-04 12:36:16 +05:30
Sarthak Jain c378bb5579
Updated Auth API documentation (#3414)
* Updated Auth APIs

Signed-off-by: SarthakJain26 <sarthak@chaosnative.com>

* Updated GQL APIs

Signed-off-by: SarthakJain26 <sarthak@chaosnative.com>
2022-01-03 13:51:15 +05:30
Saranya Jena d41e2ce22e
Bug fix: fixed the project details updation on accepting/declining invitation (#3409)
Signed-off-by: Saranya-jena <saranya@chaosnative.com>
2021-12-27 17:17:41 +05:30
Dhananjay Purohit 7487fc5d50
Add cy-params for dashboard (#3406)
Signed-off-by: DhananjayPurohit <dhananjaypurohit7@gmail.com>
2021-12-24 17:44:40 +05:30
Raj Babu Das fc86621576
Adding fatal error for the connections in subscriber (#3403)
* revert logfatal

Signed-off-by: rajdas98 <mail.rajdas@gmail.com>

* added fatal and continue in error logs

Co-authored-by: Soumya Ghosh Dastidar <44349253+gdsoumya@users.noreply.github.com>
2021-12-21 12:47:52 +05:30
Raj Babu Das a0e02e2087
Change fatal errors to standard error for some logs (#3402)
Signed-off-by: rajdas98 <mail.rajdas@gmail.com>
2021-12-20 20:52:49 +05:30
Dhananjay Purohit 4d0f31268b
Add cy param for revert-chaos button (#3398)
Signed-off-by: DhananjayPurohit <dhananjaypurohit7@gmail.com>
2021-12-20 11:32:35 +05:30
Vedant Shrotria c28cf64a15
Updating Readme.md for v2.4.0 manifests changes. (#3396)
Signed-off-by: Jonsy13 <vedant.shrotria@chaosnative.com>
2021-12-15 23:02:07 +05:30
Udit Gaurav 923b08a8a9
chore(2.4.0): Adding manifests for the 2.4.0 release (#3395)
Signed-off-by: udit <udit@chaosnative.com>
2021-12-15 21:07:00 +05:30
Vedant Shrotria 6da3a0a87e
Adding manifests for 2.4.0 ChaosCenter (#3390)
* Adding manifests for 2.4.0 ChaosCenter

Signed-off-by: Jonsy13 <vedant.shrotria@chaosnative.com>

* Updated labels

Signed-off-by: Jonsy13 <vedant.shrotria@chaosnative.com>
2021-12-15 12:41:34 +05:30
Vedant Shrotria 61adb2bfb9
Ignoring depcheck temporarily (#3393)
Signed-off-by: Jonsy13 <vedant.shrotria@chaosnative.com>
2021-12-15 12:41:25 +05:30
Bruno Barin bf706dfede
Fixed typo of clusterrole (#3391)
Signed-off-by: Bruno Barin <bruno.barin@ifood.com.br>
2021-12-15 12:28:47 +05:30
Tuan Anh Tran 00a29d8ac0
feat: change manifests folder chown grp to 0(root) - openshift friendly (#3344)
Signed-off-by: Tuan Anh Tran <me@tuananh.org>

fix: use copy instead of add as per hadolint recommendations

Signed-off-by: Tuan Anh Tran <me@tuananh.org>
2021-12-15 12:05:40 +05:30
Vedant Shrotria ff180aecf5
Added CRDs & RBAC for the workflowtasksets. (#3389)
* Added workflowtasksets crds & rbac for the same.

Signed-off-by: Jonsy13 <vedant.shrotria@chaosnative.com>

* Minor change

Signed-off-by: Jonsy13 <vedant.shrotria@chaosnative.com>
2021-12-14 21:22:21 +05:30
Vedant Shrotria 04adf5faaa
Updating platform manifest (#3388)
Signed-off-by: Jonsy13 <vedant.shrotria@chaosnative.com>
2021-12-13 21:27:47 +05:30
Vedant Shrotria 62b2901ed1
Disabling Leader election for workflow controller in Namespaced mode (#3387)
Signed-off-by: Jonsy13 <vedant.shrotria@chaosnative.com>
2021-12-13 03:33:51 +00:00
Vedant Shrotria 0e3ccfa381
Upgraded CRDs & litmus core images (#3386)
* Upgraded CRDs & litmus core images

Signed-off-by: Jonsy13 <vedant.shrotria@chaosnative.com>

* Added V1 CRDs for event-tracker

Signed-off-by: Jonsy13 <vedant.shrotria@chaosnative.com>
2021-12-10 23:22:16 +05:30
Raj Babu Das dbdabd088e
Upgrading eventtracker APIVersion from v1beta1 to v1 (#3385)
* Upgrading eventtracker apiversion from v1beta1 to v1

Signed-off-by: rajdas98 <mail.rajdas@gmail.com>

* go import fix

Signed-off-by: rajdas98 <mail.rajdas@gmail.com>

* go import fix

Signed-off-by: rajdas98 <mail.rajdas@gmail.com>

* go import fix

Signed-off-by: rajdas98 <mail.rajdas@gmail.com>

* go import fix

Signed-off-by: rajdas98 <mail.rajdas@gmail.com>

* updating event tracker crds

Signed-off-by: rajdas98 <mail.rajdas@gmail.com>
2021-12-10 22:06:36 +05:30
Vedant Shrotria ed0c4ea4d1
Closing the unclosed connections for grpc client in graphql-server (#3384)
* Closing the unclosed connection for grpc client

Signed-off-by: Jonsy13 <vedant.shrotria@chaosnative.com>

* gofmt done

Signed-off-by: Jonsy13 <vedant.shrotria@chaosnative.com>
2021-12-10 00:32:49 +05:30
Vedant Shrotria 55212aa8fc
Upgrading Argo CRDs & go package to v3.2.3 (#3379)
* Adding changes for Argo upgrade

Signed-off-by: Jonsy13 <vedant.shrotria@chaosnative.com>

* Fixed manifests

Signed-off-by: Jonsy13 <vedant.shrotria@chaosnative.com>
2021-12-09 22:19:50 +05:30
Saranya Jena 082f062977
Upgrade script for project DB migration (#3346)
* Added upgrade module for project db migration

Signed-off-by: Saranya-jena <saranya@chaosnative.com>

* Updated image name

Signed-off-by: Saranya-jena <saranya@chaosnative.com>

* Removed init container creation logic from cluster manifest, added logic to drop users collection in auth in upgrade script

Signed-off-by: Saranya-jena <saranya@chaosnative.com>
2021-12-09 22:19:38 +05:30
Sarthak Jain 00169b7132
Start deployer (#3383)
* Added code to start the deployer

Signed-off-by: SarthakJain26 <sarthak@chaosnative.com>

* Fixed context issue

Signed-off-by: SarthakJain26 <sarthak@chaosnative.com>

* Passing role in project initializer

Signed-off-by: SarthakJain26 <sarthak@chaosnative.com>
2021-12-07 20:22:21 +05:30
Sarthak Jain 4bcbf33ddc
Updated cluster manifest and fixed go import issues (#3381)
* Updated cluster manifest and fixed go import issues

Signed-off-by: SarthakJain26 <sarthak@chaosnative.com>

* Updated namespaced-k8s-template.yaml, litmus-portal-dev-manifest-template.yaml

Signed-off-by: SarthakJain26 <sarthak@chaosnative.com>
2021-12-07 14:26:06 +05:30
Meha Bhalodiya f71ee7cf1e
Fix bug: responsive home page for litmus exp docs (#3378)
* Fix bug: responsive home page for litmus exp docs Signed-off-by: mehabhalodiya <mehabhalodiya@gmail.com>

* fix: icon alignment and bottom margin
2021-12-07 11:53:11 +05:30
Raj Babu Das fa969734cb
Removing the event tracker dependency from "last-applied-configuration" annotation (#3380)
* removing last-applied-annotation checks

Signed-off-by: rajdas98 <mail.rajdas@gmail.com>

* switching to logrus

Signed-off-by: rajdas98 <mail.rajdas@gmail.com>
2021-12-06 12:28:09 +05:30
Sarthak Jain 3261e47bb9
Migrating {project APIs, project DB collections} to auth server and adding grpc calls between graphql-server and auth server (#3377)
* Migrating project associated APIs to REST APIs

Signed-off-by: SarthakJain26 <sarthak@chaosnative.com>

* Added get_user API and code refactor

Signed-off-by: SarthakJain26 <sarthak@chaosnative.com>

* Added frontend integration for project collection migration

Signed-off-by: Saranya-jena <saranya@chaosnative.com>

* Added fixes related to db migration in FE

Signed-off-by: Saranya-jena <saranya@chaosnative.com>

* minor changes in acessing data

Signed-off-by: Saranya-jena <saranya@chaosnative.com>

* Added update/state route

Signed-off-by: SarthakJain26 <sarthak@chaosnative.com>

* Updated user state route, removed reloads, filtered out decativated users

Signed-off-by: Saranya-jena <saranya@chaosnative.com>

* feat: add gRPC to authentication backend server

Signed-off-by: Hemanth Krishna <hkpdev008@gmail.com>

* Code cleanup: removed unused comments

Signed-off-by: Saranya-jena <saranya@chaosnative.com>

* feat: add auth gRPC client to gql-server

Signed-off-by: Hemanth Krishna <hkpdev008@gmail.com>

* feat: add getProjectByID in auth and gql servers

* feat: user deactivation status check in rbac validator

Signed-off-by: Hemanth Krishna <hkpdev008@gmail.com>

* Added project stats api in auth

Signed-off-by: Saranya-jena <saranya@chaosnative.com>

* modified usage stats query in gql

Signed-off-by: Saranya-jena <saranya@chaosnative.com>

* Added usage stats in frontend

Signed-off-by: Saranya-jena <saranya@chaosnative.com>

* Adding grpc client in gql and removed unused GQL APIs

Signed-off-by: SarthakJain26 <sarthak@chaosnative.com>

* Code cleanup

Signed-off-by: SarthakJain26 <sarthak@chaosnative.com>

* Removed unwanted logs

Signed-off-by: SarthakJain26 <sarthak@chaosnative.com>

* Fixing import orders for graphql and authentication

Signed-off-by: SarthakJain26 <sarthak@chaosnative.com>

* Minor frontend fixes

Signed-off-by: SarthakJain26 <sarthak@chaosnative.com>

* Fixed deepscan issues

Signed-off-by: Saranya-jena <saranya@chaosnative.com>

* Removed commented code

Signed-off-by: Saranya-jena <saranya@chaosnative.com>

* fixed linting issues

Signed-off-by: Saranya-jena <saranya@chaosnative.com>

* Removed commented code

Signed-off-by: Saranya-jena <saranya@chaosnative.com>

Co-authored-by: Saranya-jena <saranya@chaosnative.com>
Co-authored-by: Hemanth Krishna <hkpdev008@gmail.com>
2021-12-06 12:05:22 +05:30
Meha Bhalodiya 82d0f9b4c1
Update bug_report.md (#3358)
* Update bug_report.md

* Minor change bug_report.md
2021-12-02 17:50:44 +05:30
Dhananjay Purohit d1770dc1ce
Add cypress parameters for workflow stats graph (#3365)
* Add cypress parameters for workflow stats graph

Signed-off-by: DhananjayPurohit <dhananjaypurohit7@gmail.com>

* Add cy parameter to dropdown of workflow stats

Signed-off-by: DhananjayPurohit <dhananjaypurohit7@gmail.com>

* Add cy parameters for show experiment popup

Signed-off-by: DhananjayPurohit <dhananjaypurohit7@gmail.com>
2021-12-02 12:00:49 +05:30
Soumya Ghosh Dastidar 98ff42c709
added support for ingress loadbalancer hostname (#3366)
* added support for ingress lb hostname

Signed-off-by: Soumya Ghosh Dastidar <gdsoumya@gmail.com>

* updated gjson pkg

Signed-off-by: Soumya Ghosh Dastidar <gdsoumya@gmail.com>
2021-11-29 18:08:30 +05:30
Dhananjay Purohit 47d2d3e4d9
Add cypress parameters for data source (#3364)
* Add cy parameters for data source

Signed-off-by: DhananjayPurohit <dhananjaypurohit7@gmail.com>

* Fix cypress parameters of components for data source

Signed-off-by: DhananjayPurohit <dhananjaypurohit7@gmail.com>

* Update cy parameter for dashboard

* Update cy parameter name for delete dashboard
2021-11-29 14:59:54 +05:30
Saranya Jena d558b92cfd
Removed isActive condition from upgrade button (#3362)
Signed-off-by: Saranya-jena <saranya@chaosnative.com>
2021-11-28 04:10:17 +00:00
Raj Babu Das 48d7547164
Adding "change" operator in the event tracker policy (#3338)
* adding change policy operator to event trcker

Signed-off-by: rajdas98 <mail.rajdas@gmail.com>

* changes

Signed-off-by: rajdas98 <mail.rajdas@gmail.com>

* changes in utils of et

Signed-off-by: rajdas98 <mail.rajdas@gmail.com>

* changes in utils of et

Signed-off-by: rajdas98 <mail.rajdas@gmail.com>
2021-11-27 15:40:33 +05:30
Vedant Shrotria 74a5d59827
Adding Cypress identifiers for project details validation. (#3360)
* Adding params for Teaming Tests.

Signed-off-by: Jonsy13 <vedant.shrotria@chaosnative.com>

* Adding params for Teaming Tests.

Signed-off-by: Jonsy13 <vedant.shrotria@chaosnative.com>

* Made data-cy CamelCase.

Signed-off-by: Jonsy13 <vedant.shrotria@chaosnative.com>
2021-11-25 11:40:33 +05:30
Soumya Ghosh Dastidar e8a51f8007
Added SSL disable option to gql and agent components (#3356)
* added ssl skip verify option in agents

Signed-off-by: Soumya Ghosh Dastidar <gdsoumya@gmail.com>

* added ssl skip field in gqlserver

Signed-off-by: Soumya Ghosh Dastidar <gdsoumya@gmail.com>

* updated manifests

Signed-off-by: Soumya Ghosh Dastidar <gdsoumya@gmail.com>
2021-11-24 12:03:23 +05:30
Soumya Ghosh Dastidar 5f1f828a45
added ipv6 support (#3351)
* updated manifests for mongodb ipv6 support

Signed-off-by: Soumya Ghosh Dastidar <gdsoumya@gmail.com>

* added ipv6 support

Signed-off-by: Soumya Ghosh Dastidar <gdsoumya@gmail.com>
2021-11-23 11:58:51 +05:30
Dhananjay Purohit 001dfc5ceb
Add cy-parameters for deleting schedule (#3348)
Signed-off-by: DhananjayPurohit <dhananjaypurohit7@gmail.com>
2021-11-23 11:13:32 +05:30
Amit Kumar Das ee06e8f09a
Added error logs while uploading yaml and fixed edit schedule functionality (#3341)
Signed-off-by: Amit Kumar Das <amit@chaosnative.com>
2021-11-18 12:39:26 +05:30
Dhananjay Purohit 7c1075f8fb
Add parameters for workflow stats loader (#3337)
* Add parameters for stats

Signed-off-by: DhananjayPurohit <dhananjaypurohit7@gmail.com>

* Add cy parameters for heatmap and bargraph

Signed-off-by: DhananjayPurohit <dhananjaypurohit7@gmail.com>
2021-11-17 10:53:23 +05:30
Shubham Chaudhary 9140813069
chore(admin-rbac): Adding networking policies permissions for the network partition experiment (#3313)
Signed-off-by: shubham chaudhary <shubham@chaosnative.com>
2021-11-16 11:37:24 +05:30
Shubham Chaudhary 5894e03a1e
chore(2.3.0): Adding manifests for the 2.3.0 release (#3339)
Signed-off-by: shubham chaudhary <shubham@chaosnative.com>
2021-11-15 15:35:20 +05:30
Vedant Shrotria 22f11d2c9f
Adding manifests for v2.3.0 ChaosCenter (#3335)
* Adding manifests for v2.3.0 ChaosCenter

Signed-off-by: Jonsy13 <vedant.shrotria@chaosnative.com>

* Adding manifests for v2.3.0 ChaosCenter

Signed-off-by: Jonsy13 <vedant.shrotria@chaosnative.com>

* Added initContainer for version upgrade.

Signed-off-by: Jonsy13 <vedant.shrotria@chaosnative.com>

* Added initContainer for version upgrade.

Signed-off-by: Jonsy13 <vedant.shrotria@chaosnative.com>
2021-11-15 14:24:40 +05:30
Amit Kumar Das a0fa142a57
Fixed an edge case for saving template for an argo workflow (#3333)
Signed-off-by: Amit Kumar Das <amit@chaosnative.com>
2021-11-12 18:08:46 +05:30
Sarthak Jain 880825fd9a
Updated token name (#3329)
Signed-off-by: SarthakJain26 <sarthak@chaosnative.com>
2021-11-09 14:47:57 +05:30
Dhananjay Purohit 7e0e76a047
Add cypress parameters for workflow stats test suite (#3322)
* Add cypress parameters for workflow stats

Signed-off-by: DhananjayPurohit <dhananjaypurohit7@gmail.com>

* Add cypress parameters for workflow info section

Signed-off-by: DhananjayPurohit <dhananjaypurohit7@gmail.com>

* Add cypress parameters for workflow agent

Signed-off-by: DhananjayPurohit <dhananjaypurohit7@gmail.com>

* Add cypress parameters for workflow stats

Signed-off-by: DhananjayPurohit <dhananjaypurohit7@gmail.com>
2021-11-06 13:51:59 +05:30
Shubham Chaudhary ecb5f03b70
chore(embedmd): updating all the rbac for the minimal permissions (#3320)
Signed-off-by: shubham chaudhary <shubham@chaosnative.com>
2021-10-28 14:11:50 +05:30
Karthik Satchitanand 4c05cd29f7
(maintainers)chore: add Remi to maintainers list (#3319)
Signed-off-by: ksatchit <karthik@chaosnative.com>
2021-10-28 08:38:26 +00:00
Amit Kumar Das e91176d3f0
chore(chaos-center): Added upload functionality for basic argo workflows (#3302)
* Added upload functionality for basic argo workflows

Signed-off-by: Amit Kumar Das <amit@chaosnative.com>

* Minor fix with workflow settings

Signed-off-by: Amit Kumar Das <amit@chaosnative.com>
2021-10-28 13:42:23 +05:30
Amit Kumar Das 65a97ae351
chore(chaos-center): Added advanced tune section in workflow creation step (#3290)
* Added advanced tune section in workflow creation step

Signed-off-by: Amit Kumar Das <amit@chaosnative.com>

* Minor change in border

Signed-off-by: Amit Kumar Das <amit@chaosnative.com>
2021-10-28 13:29:18 +05:30
Udit Gaurav 730235f7ed
Chore(demo-1.x): Migrate and update litmus-demo repo for 1.x version (#3282)
Signed-off-by: udit <udit@chaosnative.com>
2021-10-26 18:38:15 +05:30
Shubham Chaudhary e9317f48c7
chore(faq): updating the faq and security policies (#3315)
Signed-off-by: shubham chaudhary <shubham@chaosnative.com>
2021-10-26 18:13:10 +05:30
Shubham Chaudhary 424cfd7fa5
chore(security): updating psp & kyverno policies (#3314)
Signed-off-by: shubham chaudhary <shubham@chaosnative.com>
2021-10-26 14:33:00 +05:30
Vedant Shrotria 6c3dc65413
Updated litmus-ui & litmus core version (#3301)
Signed-off-by: Jonsy13 <vedant.shrotria@chaosnative.com>
2021-10-25 14:47:57 +05:30
Soumya Ghosh Dastidar 6c84e980b6
updated subscriber version compatibilty check (#3311)
* added error checks in the workflow resiliency score calc

Signed-off-by: Soumya Ghosh Dastidar <gdsoumya@gmail.com>

* updated subscriber version compatibilty check

Signed-off-by: Soumya Ghosh Dastidar <gdsoumya@gmail.com>

* added comments

Signed-off-by: Soumya Ghosh Dastidar <gdsoumya@gmail.com>

* updated error msg

Signed-off-by: Soumya Ghosh Dastidar <gdsoumya@gmail.com>
2021-10-25 11:57:24 +05:30
Soumya Ghosh Dastidar 23e43c770e
added error checks in the workflow resiliency score calc (#3310)
Signed-off-by: Soumya Ghosh Dastidar <gdsoumya@gmail.com>
2021-10-22 11:49:48 +05:30
Udit Gaurav 2ec87ba9da
Chore(OpenShift): Add openshift scc docs to run experiments on openshift clusters (#3304)
Signed-off-by: udit <udit@chaosnative.com>
2021-10-21 14:38:56 +05:30
Soumya Ghosh Dastidar 5f2bab7e09
fixed workflow artifact parsing in subscriber (#3306)
Signed-off-by: Soumya Ghosh Dastidar <gdsoumya@gmail.com>
2021-10-21 11:23:11 +05:30
Neelanjan Manna 181b67beac
updated the VMWare VM-Poweroff experiment docs (#3214)
Signed-off-by: neelanjan00 <neelanjan@chaosnative.com>
2021-10-21 11:06:35 +05:30
Dhananjay Purohit 502d72e517
Add parameters to components for cypress tests (#3240)
* Add parameters to required components for cypress test

Signed-off-by: DhananjayPurohit <dhananjaypurohit7@gmail.com>

* Add parameters to components for cypress tests

Signed-off-by: DhananjayPurohit <dhananjaypurohit7@gmail.com>

* Add cypress parameters for dagre graph

Signed-off-by: DhananjayPurohit <dhananjaypurohit7@gmail.com>

* Add cypress parameters for tabs of graph view and table view

Signed-off-by: DhananjayPurohit <dhananjaypurohit7@gmail.com>

* Add cypress parameters for tunning workflow

Signed-off-by: DhananjayPurohit <dhananjaypurohit7@gmail.com>

* Add cypress parameters for upload workflow

Signed-off-by: DhananjayPurohit <dhananjaypurohit7@gmail.com>

* Add cypress parameters for recurring workflow

Signed-off-by: DhananjayPurohit <dhananjaypurohit7@gmail.com>

* Add cypress parameter for worklow schedule run

Signed-off-by: DhananjayPurohit <dhananjaypurohit7@gmail.com>

Co-authored-by: Vedant Shrotria <40681425+Jonsy13@users.noreply.github.com>
2021-10-20 06:52:19 +00:00
Vedant Shrotria 8198bfd36e
gofmt done for dex-server (#3305)
Signed-off-by: Jonsy13 <vedant.shrotria@chaosnative.com>
2021-10-20 11:35:42 +05:30
Raj Babu Das 8af7dd2115
Adding dex server to github workflow (#3284)
* Adding dex server to github workflow

Signed-off-by: rajdas98 <mail.rajdas@gmail.com>
2021-10-19 19:01:36 +05:30
Hemanth Krishna e3555b7f61
add: dex-server ci image deployment (#3269)
* add: dex-server ci image deployment

Signed-off-by: DarthBenro008 <hkpdev008@gmail.com>

Co-authored-by: Soumya Ghosh Dastidar <44349253+gdsoumya@users.noreply.github.com>
2021-10-19 18:56:57 +05:30
Soumya Ghosh Dastidar 371a301175
fixed workflow artifact issue (#3299)
* fixed wf artifact issue

Signed-off-by: Soumya Ghosh Dastidar <gdsoumya@gmail.com>

* added check for empty workflow_id

Signed-off-by: Soumya Ghosh Dastidar <gdsoumya@gmail.com>
2021-10-19 11:19:10 +05:30
Vedant Shrotria 223980844d
Added manifests for v2.2.0 ChaosCenter. (#3293)
* Added manifests for v2.2.0 ChaosCenter.

Signed-off-by: Jonsy13 <vedant.shrotria@chaosnative.com>

* Added manifests for v2.2.0 ChaosCenter.

Signed-off-by: Jonsy13 <vedant.shrotria@chaosnative.com>

* Updated Readme.md with v2.2.0 manifests links.

Signed-off-by: Jonsy13 <vedant.shrotria@chaosnative.com>
2021-10-14 19:48:53 +05:30
Shubham Chaudhary 488294a253
chore(2.2.0): Adding litmus installation manifests (#3295)
Signed-off-by: shubham chaudhary <shubham@chaosnative.com>
2021-10-14 01:04:57 +05:30
Raj Babu Das def67eea14
Moving DB_ADMIN, DB_PASSWORD and JWT_SECRET to k8s secret (#3270)
* Moving DB_ADMIN, DB_PASSWORD and JWT_SECRET to k8s secret

Signed-off-by: rajdas98 <mail.rajdas@gmail.com>

* adding stringData

Signed-off-by: rajdas98 <mail.rajdas@gmail.com>

* adding stringData

Signed-off-by: rajdas98 <mail.rajdas@gmail.com>
2021-10-13 19:39:16 +05:30
Shubham Chaudhary ed12182164
chore(kyverno): Adding kyverno pod security policies (#3216)
* chore(kyverno): Adding kyverno pod security policies

Signed-off-by: shubham chaudhary <shubham@chaosnative.com>

* chore(psp): updating the psp path

Signed-off-by: shubham chaudhary <shubham@chaosnative.com>

* Apply suggestions from code review

Co-authored-by: Karthik Satchitanand <karthik.s@mayadata.io>

Co-authored-by: Karthik Satchitanand <karthik.s@mayadata.io>
2021-10-13 19:37:20 +05:30
Saranya Jena fa74c7bea0
Fixed UI issue with upgrade agent and teaming (#3292)
Signed-off-by: Saranya-jena <saranya@chaosnative.com>
2021-10-13 17:34:23 +05:30
Shubham Chaudhary 5cd8748a46
chore(secure-image): adding tricy check & litmus hardened alpine image as base image (#3257)
Signed-off-by: shubham chaudhary <shubham@chaosnative.com>
2021-10-13 12:32:54 +05:30
Amit Kumar Das f46764ae39
Minor URL fix (#3291)
Signed-off-by: Amit Kumar Das <amit@chaosnative.com>
2021-10-12 19:55:23 +05:30
OUM NIVRATHI KALE d25f5c0d63
updating chaos operator in gql (#3289)
Signed-off-by: Oum Kale <oumkale@chaosnative.com>
2021-10-12 16:40:25 +05:30
Amit Kumar Das 437f5f0e80
Minor changes in required fields (#3288)
Signed-off-by: Amit Kumar Das <amit@chaosnative.com>
2021-10-12 16:39:47 +05:30
Vedant Shrotria 72a2c650e4
Upgraded agent-plane components to v2.1.1 (#3285)
Signed-off-by: Jonsy13 <vedant.shrotria@chaosnative.com>
2021-10-12 10:55:23 +05:30
Amit Kumar Das 842ae70d35
Updated cmd probe schema and fixed probes issue (#3286)
Signed-off-by: Amit Kumar Das <amit@chaosnative.com>
2021-10-12 10:55:02 +05:30
Raj Babu Das 9ea39e1817
adding toleration syntax to agent manifests (#3287)
Signed-off-by: rajdas98 <mail.rajdas@gmail.com>
2021-10-12 10:49:09 +05:30
Saranya Jena c1f13fa086
Feat(Agent Upgrade):Added `version` in mongo & GQL schema, FE for agent upgrade (#3278)
* Added version field in cluster collection

Signed-off-by: Saranya-jena <saranya@chaosnative.com>

* Added FE check for agent upgrade

Signed-off-by: Saranya-jena <saranya@chaosnative.com>

* Added quotes around project and cluster id

Signed-off-by: Saranya-jena <saranya@chaosnative.com>
2021-10-11 11:26:24 +05:30
Vedant Shrotria bb767b31f0
Fixed Readme.md instruction for Namespaced mode. (#3279)
Signed-off-by: Jonsy13 <vedant.shrotria@chaosnative.com>
2021-10-10 15:27:59 +05:30
Lucina Stricko 09ee7b1398
add CNF Test Suite to adopters (#3280)
* add CNF Test Suite to adopters

Signed-off-by: Lucina Stricko <lucina@vulk.coop>

* Create cnftestsuite.md

Signed-off-by: Lucina Stricko <lucina@vulk.coop>

* add link to cnf test suite repo

Signed-off-by: Lucina Stricko <lucina@vulk.coop>
2021-10-09 16:58:24 +05:30
Udit Gaurav 8d025a2f31
Chore(secured-image): Add trivy check and update the litmusportal server and upgrade components (#3261)
* Chore(secured-image): Add tricy check and update the litmusportal server and upgrade components

Signed-off-by: udit <udit@chaosnative.com>
2021-10-07 19:30:48 +05:30
Hemanth Krishna b43e989bb8
feat: add dex-deployment to litmus-portal infra (#3265)
Signed-off-by: DarthBenro008 <hkpdev008@gmail.com>
2021-10-07 18:50:49 +05:30
Hemanth Krishna b9973c4f5c
add: litmusportal to support token from `/login` (#3243)
Signed-off-by: DarthBenro008 <hkpdev008@gmail.com>
2021-10-07 10:57:28 +05:30
Hemanth Krishna d4997336ff
feat: authentication backend to support dex redirects and callbacks (#3242)
Signed-off-by: DarthBenro008 <hkpdev008@gmail.com>
2021-10-07 10:38:54 +05:30
Saranya Jena 7f7aeef6a3
minor logic-fix in subscriber manifest generation (#3262)
* minor logic-fix in subscriber

Signed-off-by: Saranya-jena <saranya@chaosnative.com>

* removed spaces

Signed-off-by: Saranya-jena <saranya@chaosnative.com>

Co-authored-by: Raj Babu Das <mail.rajdas@gmail.com>
2021-10-06 07:22:08 +00:00
Raj Babu Das 20dcde2658
Adding value field to toleration object (#3260)
Signed-off-by: rajdas98 <mail.rajdas@gmail.com>
2021-10-06 06:55:08 +00:00
Ajesh Baby c6593405e3
[chore] update Adopters section (#3258)
Signed-off-by: ajeshbaby <ajesh@chaosnative.com>
2021-10-06 08:44:33 +05:30
Saranya Jena 418c11b0dd
Added condition for cluster confirm updation in manifes (#3259)
Signed-off-by: Saranya-jena <saranya@chaosnative.com>
2021-10-05 14:16:27 +00:00
Rémi ZIOLKOWSKI dfa5f89ab9
Add Pôle Emploi as an adopter. (#3256)
Signed-off-by: Remi Ziolkowski <remi.ziolkowski-ext@pole-emploi.fr>
2021-10-05 15:50:42 +05:30
Sarthak Jain 311a84270c
Minor fix in subscriber (#3255)
Signed-off-by: SarthakJain26 <sarthak@chaosnative.com>
2021-10-05 14:00:00 +05:30
Sarthak Jain ed0a3bca4d
Get Manifest and Get Agent Details query (#3249)
* Added get manifest query

Signed-off-by: SarthakJain26 <sarthak@chaosnative.com>

* Added getAgentDetails query to fetch agent details by name and project id

Signed-off-by: Saranya-jena <saranya@chaosnative.com>

* Added start time to server

Signed-off-by: SarthakJain26 <sarthak@chaosnative.com>

* Error handling

Signed-off-by: SarthakJain26 <sarthak@chaosnative.com>

* Replaced agent name with cluster ID

Signed-off-by: SarthakJain26 <sarthak@chaosnative.com>

Co-authored-by: Saranya-jena <saranya@chaosnative.com>
2021-10-05 11:39:24 +05:30
Raj Babu Das d9b4519df4
Adding toleration field to the cluster registration mutation (#3248)
* Adding toleration field to the cluster registration mutation

Signed-off-by: rajdas98 <mail.rajdas@gmail.com>

* Adding toleration field to the cluster registration mutation

Signed-off-by: rajdas98 <mail.rajdas@gmail.com>

* Adding toleration field to the cluster registration mutation

Signed-off-by: rajdas98 <mail.rajdas@gmail.com>
2021-10-04 14:29:08 +05:30
Hemanth Krishna 65857ba1ed
feat: dex server with litmus brandings and custom css (#3244)
Signed-off-by: DarthBenro008 <hkpdev008@gmail.com>

Co-authored-by: Raj Babu Das <mail.rajdas@gmail.com>
2021-10-04 11:41:53 +05:30
Srinivasan Parthasarathy 8e55c863bc
add Iter8 to adopters (#3239)
Signed-off-by: Srinivasan Parthasarathy <spartha@us.ibm.com>
2021-10-01 17:38:27 +05:30
Shubham Chaudhary 29d1c49518
chore(concepts): adding experiment and result schema details (#3226)
* chore(concepts): adding experiment schema details

Signed-off-by: shubham chaudhary <shubham@chaosnative.com>

* chore(result): adding chaosresult examples

Signed-off-by: shubham chaudhary <shubham@chaosnative.com>

* chore(probe): updating probe docs

Signed-off-by: shubham chaudhary <shubham@chaosnative.com>
2021-10-01 16:46:32 +05:30
Shubham Chaudhary c151dc9cdf
chore(2.1.1): adding manifest for 2.1.1 version (#3246)
Signed-off-by: shubham chaudhary <shubham@chaosnative.com>
2021-10-01 16:34:27 +05:30
Sarthak Jain d7853c2a2e
Added rbac for mutations (#3233)
Signed-off-by: SarthakJain26 <sarthak@chaosnative.com>

Co-authored-by: Ishan Gupta <ishan@chaosnative.com>
2021-09-30 06:48:22 +00:00
Dhananjay Purohit d5e731d284
Add parameters to required components for cypress test (#3225)
Signed-off-by: DhananjayPurohit <dhananjaypurohit7@gmail.com>
2021-09-30 11:58:22 +05:30
OUM NIVRATHI KALE fb7a6b5f89
permission added for cassandra (#3113)
Signed-off-by: Oum Kale <oumkale@chaosnative.com>
2021-09-28 13:49:53 +05:30
Vedant Shrotria 4c56ca9c29
Added ENVs fix for gql-server (#3224)
* Made Port ENV optional in gql-server

Signed-off-by: Jonsy13 <vedant.shrotria@chaosnative.com>

* Fixed ENV in gql-server

Signed-off-by: Jonsy13 <vedant.shrotria@chaosnative.com>

* Fixed imports error

Signed-off-by: Jonsy13 <vedant.shrotria@chaosnative.com>
2021-09-28 13:46:17 +05:30
Vedant Shrotria b7c8cfac3d
Fixed CLUSTER_ID typo in event-tracker (#3220)
Signed-off-by: Jonsy13 <vedant.shrotria@chaosnative.com>
2021-09-27 17:05:02 +05:30
Vivek R 1a03203aec
Use kelseyhightower/envconfig pkg to validate the environment variables (#3219)
* graphql-server: add env var validation using envconfig package

Signed-off-by: Vivek R <123vivekr@gmail.com>

* event-tracker: add env var validation using envconfig package

Signed-off-by: Vivek R <123vivekr@gmail.com>

* subscriber: add env var validation using envconfig package

Signed-off-by: Vivek R <123vivekr@gmail.com>

* authentication: add env var validation using envconfig package

Signed-off-by: Vivek R <123vivekr@gmail.com>

* upgrade-agents: add env var validation using envconfig package

Signed-off-by: Vivek R <123vivekr@gmail.com>
2021-09-27 14:36:50 +05:30
Raj Babu Das edcb1d9fbc
removing some unnecessary argo rbacs (#3218)
Signed-off-by: rajdas98 <mail.rajdas@gmail.com>
2021-09-27 11:06:02 +05:30
Raj Babu Das 2055bc93a2
Adding a status route to graphql-server (#3217)
* Adding status route to gql

Signed-off-by: rajdas98 <mail.rajdas@gmail.com>

* renaming to rest_handlers

Signed-off-by: rajdas98 <mail.rajdas@gmail.com>
2021-09-27 10:22:46 +05:30
Shubham Chaudhary 449bc65d22
chore(manifest): adding valueFrom field (#3215)
Signed-off-by: shubham chaudhary <shubham@chaosnative.com>
2021-09-25 16:09:36 +05:30
Shubham Chaudhary bc478ae9a5
chore(crd): adding valueFrom field inside env (#3190)
Signed-off-by: shubham chaudhary <shubham@chaosnative.com>
2021-09-24 15:59:11 +05:30
Karthik Satchitanand 4c7d87655f
(chore)security: add security disclosure process for litmuschaos (#3213)
Signed-off-by: ksatchit <karthik@chaosnative.com>
2021-09-24 08:35:29 +05:30
Raj Babu Das e2870d2d53
Removing hardcoded namepsace from nginx config (#3212)
Signed-off-by: rajdas98 <mail.rajdas@gmail.com>
2021-09-22 18:04:16 +05:30
Udit Gaurav ed5d74973f
docs(AWS): Add docs for AWS IAM integration for litmus service accounts (#3189)
Signed-off-by: udit <udit@chaosnative.com>
2021-09-21 12:21:19 +05:30
Aniruddha Dutta a5991cc5af
Feat: Added feature to display previos values of users fullname and e… (#3210)
* Feat: Added feature to display previos values of users fullname and email set in accounts tab

To discuss-
1) box at top right doesnt load new email when changed immediately

2) both values must be set and then save button gets activated

Signed-off-by: Aniruddha Amit Dutta <duttaaniruddha31@gmail.com>

* Chore : Remove unused comments

Signed-off-by: Aniruddha Amit Dutta <duttaaniruddha31@gmail.com>

* Feat: Modified approach as mentioned here -
https://github.com/litmuschaos/litmus/pull/3210#issuecomment-922632883

Signed-off-by: Aniruddha Amit Dutta <duttaaniruddha31@gmail.com>

* Feat: Dropdown now updates email without refreshing

Signed-off-by: Aniruddha Amit Dutta <duttaaniruddha31@gmail.com>
2021-09-21 09:55:55 +05:30
Raj Babu Das 53ceca3ef4
Adding nginx config as a separated configmap to make it more configurable (#3208)
* Adding nginx config as a seperated configmap

Signed-off-by: rajdas98 <mail.rajdas@gmail.com>

* adding spaces

Signed-off-by: rajdas98 <mail.rajdas@gmail.com>
2021-09-17 17:29:48 +05:30
Ishan Gupta a3c8f261b7
fixing application dashboard crash on saving after updating panel group name with existing panels (#3205)
Signed-off-by: ishangupta-ds <ishan@chaosnative.com>
2021-09-16 12:59:13 +05:30
Ishan Gupta 8ddd4e0bb5
fixed grafana dashboard links for percona (#3203)
* fixed grafana dashboard links

Signed-off-by: ishangupta-ds <ishan@chaosnative.com>

* minor fix

Signed-off-by: ishangupta-ds <ishan@chaosnative.com>
2021-09-15 13:13:35 +05:30
Ishan Gupta aaf72d5ff5
updated litmus-ui version for fixing analytics bugs (#3201)
Signed-off-by: ishangupta-ds <ishan@chaosnative.com>
2021-09-15 12:59:04 +05:30
Chiranga Alwis 9aa4659830
[mem-hog][docs] Remove max consumption limit (#3153)
Signed-off-by: chirangaalwis <chirangaalwis@gmail.com>
2021-09-15 12:31:40 +05:30
Raj Babu Das ad2bc2707a
Updating readme (#3202)
* Updating readme

Signed-off-by: rajdas98 <mail.rajdas@gmail.com>

* Updating readme

Signed-off-by: rajdas98 <mail.rajdas@gmail.com>

* Updating readme

Signed-off-by: rajdas98 <mail.rajdas@gmail.com>
2021-09-15 11:30:37 +05:30
Raj Babu Das 47263dc54c
Adding manifests for litmuschaos 2.1.0 (#3198)
Signed-off-by: rajdas98 <mail.rajdas@gmail.com>
2021-09-14 20:19:35 +05:30
Shubham Chaudhary 7fff00a49d
adding manifests for 2.1.0 (#3195)
Signed-off-by: shubham chaudhary <shubham@chaosnative.com>
2021-09-14 17:10:23 +05:30
Raj Babu Das 3dc256b545
Upgrading litmus core version to 2.1.0 (#3196)
* Upgrading litmuscore version

Signed-off-by: rajdas98 <mail.rajdas@gmail.com>
2021-09-14 16:29:40 +05:30
Amit Kumar Das 148bf6d56f
Fixed fetch policy issue (#3194)
Signed-off-by: Amit Kumar Das <amit@chaosnative.com>
2021-09-14 11:20:22 +05:30
Shubham Chaudhary b8d2e743ab
(docs): adding pod-network-partition experiment docs (#3171)
Signed-off-by: shubham chaudhary <shubham@chaosnative.com>
2021-09-06 10:45:10 +05:30
Erik Anderson f3c85c7135
Created Namespaced Mode Deploy Definitions for Chaos Scheduler. Vali… (#3188)
* Created Namespaced Mode Deploy Definitions for Chaos Scheduler.  Validated.

Signed-off-by: erekgit <erek.anderson@gmail.com>
2021-09-06 10:41:23 +05:30
Vedant Shrotria 8f8265400c
Added litmuschaos/curl image in all dev/ci manifests for initContainers (#3186)
* Added litmuschaos/curl image in all dev manifests

Signed-off-by: Jonsy13 <vedant.shrotria@chaosnative.com>
2021-09-03 14:26:20 +05:30
Shubham Chaudhary 82c5dbb153
(scheduler): adding minchaosinterval details (#3177)
Signed-off-by: shubham chaudhary <shubham@chaosnative.com>

Co-authored-by: Karthik Satchitanand <karthik.s@mayadata.io>
2021-09-03 10:00:39 +05:30
Raj Babu Das ab1f09cf32
removing few gitops logs (#3185)
* removing few gitops logs

Signed-off-by: rajdas98 <mail.rajdas@gmail.com>

* removing few gitops logs

Signed-off-by: rajdas98 <mail.rajdas@gmail.com>
2021-09-02 13:45:30 +05:30
Ishan Gupta a845a579c5
analytics fixes (#3183)
Signed-off-by: ishangupta-ds <ishan@chaosnative.com>
2021-09-01 09:40:52 +05:30
Amit Kumar Das eec9f7f12f
Added alert while copying in myhub section (#3181)
Signed-off-by: Amit Kumar Das <amit@chaosnative.com>
2021-08-30 19:25:09 +05:30
Soumya Ghosh Dastidar b36cab207a
fixed db version nil issue (#3180)
Signed-off-by: Soumya Ghosh Dastidar <gdsoumya@gmail.com>
2021-08-30 15:46:06 +05:30
Sayan Mondal 7a0e1bf8c4
area(Probe): Add Probe Editing functionality (#3173)
* Updatin Probe Editing
* Fixed Probe Property Render/Save Issue
* Added features in Probe Editing
* Updated Probe Rendering Issue
* Updated removeKey func
* Updated key/input logic
* Adding nullcheck for DeepScan

Signed-off-by: Sayan Mondal <sayan@chaosnative.com>

Co-authored-by: Amit Kumar Das <40661238+amityt@users.noreply.github.com>
2021-08-30 12:45:00 +05:30
Amit Kumar Das b1aa6695d0
type(ux): Added view manifest in runs table and alert for re-run workflow errors (#3175)
* Added view manifest, alert for re-run

Signed-off-by: Amit Kumar Das <amit@chaosnative.com>

* Minor icon fix

Signed-off-by: Amit Kumar Das <amit@chaosnative.com>

* Fixed minor bug in agents table

Signed-off-by: Amit Kumar Das <amit@chaosnative.com>

Co-authored-by: Soumya Ghosh Dastidar <44349253+gdsoumya@users.noreply.github.com>
2021-08-30 06:21:02 +00:00
Ajesh Baby a78ecc284b
Add Neudesic as an adopter. (#3179)
* Update uninstallation section

Signed-off-by: ajeshbaby <ajesh@chaosnative.com>

* Update uninstallation section

Signed-off-by: ajeshbaby <ajesh@chaosnative.com>

* Add Neudesic as an Adopter

Signed-off-by: ajeshbaby <ajesh@chaosnative.com>
2021-08-30 11:16:55 +05:30
Soumya Ghosh Dastidar 7a88df79c6
update logs and deployment manifests (#3176)
* update logs and deployment manifests

Signed-off-by: Soumya Ghosh Dastidar <gdsoumya@gmail.com>

* updated okteto manifest

Signed-off-by: Soumya Ghosh Dastidar <gdsoumya@gmail.com>
2021-08-27 10:36:19 +05:30
Vansh Bhatia a69bd5c054
Analytics bug fixes (#3170)
* Fixed links to ChaosHub, added textButton component
* Added Modal for no run condition in analytics, sorted workflow dashboards, tooltip fixes
* Math rounding fix
* Minor fix
* Added translations, icons from litmus-UI, used sorting util

Signed-off-by: Vansh Bhatia <vansh@chaosnative.com>
2021-08-26 13:04:36 +05:30
Amit Kumar Das fdab914431
types(ux): Added view workflow runs from schedules table and edit icon in create workflow table (#3165)
* Added view experiment runs and edit icon in workflow table

Signed-off-by: Amit Kumar Das <amit@chaosnative.com>

* Added icons from Litmus-UI

Signed-off-by: Amit Kumar Das <amit@chaosnative.com>

* Minor change

Signed-off-by: Amit Kumar Das <amit@chaosnative.com>

Co-authored-by: Sayan Mondal <sayan@chaosnative.com>
2021-08-25 12:03:05 +05:30
Sayan Mondal ef5605e448
Updated Uninstallation Doc link (#3169)
Signed-off-by: Sayan Mondal <sayan@chaosnative.com>
2021-08-25 11:12:53 +05:30
Ajesh Baby e6b4ad3250
Update un-installation section (#3168)
* Update uninstallation section
Signed-off-by: ajeshbaby <ajesh@chaosnative.com>
2021-08-25 10:59:07 +05:30
Vedant Shrotria 726d3b3180
Added initContainer in server deployment to wait for MongoDB. (#3167)
* Added initContainer in server deployment to wait for MongoDB.

Signed-off-by: Jonsy13 <vedant.shrotria@chaosnative.com>

* Added required changes.

Signed-off-by: Jonsy13 <vedant.shrotria@chaosnative.com>
2021-08-24 23:11:50 +05:30
Akash Shrivastava 7939c663dc
Azure Disk Loss Docs (#3146)
* Added disk loss experiment to docs

Signed-off-by: Akash Shrivastava <akash@chaosnative.com>
2021-08-24 13:30:16 +05:30
Sayan Mondal c9458a9a23
Fixed Configuration Wizard Open Alert Issue (#3164)
Signed-off-by: Sayan Mondal <sayan@chaosnative.com>
2021-08-24 09:56:26 +05:30
Sayan Mondal e03d865fea
Updated Icons for Components (#3163)
Signed-off-by: Sayan Mondal <sayan@chaosnative.com>
2021-08-23 12:02:16 +05:30
Prithvi Raj 33f8542946
Update README.md (#3154)
* Update README.md

* Update README.md
2021-08-20 16:20:16 +05:30
Shubham Chaudhary a394783c25
(docs): adding troubleshooting docs for istio enabled ns (#3140)
Signed-off-by: shubham chaudhary <shubham@chaosnative.com>
2021-08-20 15:25:00 +05:30
Soumya Ghosh Dastidar e2f28fc2f6
added upgrade agent build to ci (#3159)
* added upgrade agent build to ci

Signed-off-by: Soumya Ghosh Dastidar <gdsoumya@gmail.com>

* updated workflow

Signed-off-by: Soumya Ghosh Dastidar <gdsoumya@gmail.com>

* updated comments

Signed-off-by: Soumya Ghosh Dastidar <gdsoumya@gmail.com>
2021-08-20 12:24:44 +05:30
Amit Kumar Das 5454925fcf
Changed Revert Chaos to Cleanup Chaos Resources (#3149)
Signed-off-by: Amit Kumar Das <amit@chaosnative.com>

Co-authored-by: Ishan Gupta <ishan@chaosnative.com>
2021-08-20 10:01:30 +05:30
Viktor Farcic eb11fd2e60
Videos (#3150)
Signed-off-by: Viktor Farcic <viktor@farcic.com>

Co-authored-by: Prithvi Raj <52114109+prithvi1307@users.noreply.github.com>
2021-08-19 16:36:02 +05:30
Soumya Ghosh Dastidar c59ce3b918
Added control plane upgrade agent (#3151)
* added intial upgrade agent

Signed-off-by: Soumya Ghosh Dastidar <gdsoumya@gmail.com>

* added control plane upgrade agent

Signed-off-by: Soumya Ghosh Dastidar <gdsoumya@gmail.com>
2021-08-19 12:23:37 +05:30
Akash Shrivastava c39e00bad1
Add Azure Scale Set support mention in Docs (#3141)
* Added SCALE_SET env variable to docs

Signed-off-by: Akash Shrivastava <akash@chaosnative.com>
2021-08-18 20:16:59 +05:30
Sayan Mondal 3a20db8a07
type(Icon): Updating Icons to LitmusUI for a few components (#3145)
* Updating Icons to LitmusUI for components
* Updating Icons to LitmusUI for DeveloperGuide Component
* Updating Icons for Header -> Profile DropDown

Signed-off-by: Sayan Mondal <sayan@chaosnative.com>
2021-08-18 15:29:02 +05:30
Ishan Gupta e7fd816177
Adding checks for invalid or duplicate chaos injection events and verdicts (#3109)
* Addec check for slicing bounds for cases when chaos is not injected successfully

Signed-off-by: ishangupta-ds <ishan@chaosnative.com>

* Updated scrape job and service monitor for chaos-exporter to relabel instance for filtering out unique events and metrics for queries

Signed-off-by: ishangupta-ds <ishan@chaosnative.com>

* updated default chaos event and verdict queries

Signed-off-by: ishangupta-ds <ishan@chaosnative.com>

* reverting go sum changes

Signed-off-by: ishangupta-ds <ishan@chaosnative.com>

* schema fix

Signed-off-by: ishangupta-ds <ishan@chaosnative.com>

Co-authored-by: Raj Babu Das <mail.rajdas@gmail.com>
2021-08-18 12:50:17 +05:30
Sayan Mondal 165ed79b9e
Creating a shared component for Login (#3137)
Signed-off-by: Sayan Mondal <sayan@chaosnative.com>
2021-08-18 10:56:32 +05:30
Sayan Mondal e76a9c8959
Updated the Algorithm for Steps Verification (#3097)
Signed-off-by: Sayan Mondal <sayan@chaosnative.com>

Co-authored-by: Soumya Ghosh Dastidar <44349253+gdsoumya@users.noreply.github.com>
Co-authored-by: Raj Babu Das <mail.rajdas@gmail.com>
2021-08-18 10:42:39 +05:30
Ishan Gupta 12ff71a5ef
(readme-fix): Updating chaos operator flow image on readme (#3139)
* updating operator flow image on readme

Signed-off-by: ishangupta-ds <ishan@chaosnative.com>

* fixing image for dark mode

Signed-off-by: ishangupta-ds <ishan@chaosnative.com>
2021-08-17 14:21:01 +05:30
Ishan Gupta a4912e6e41
renaming-> analytics to observability, workflow dashboards to workflow statistics and application dashboards to monitoring dashboards (#3086)
* renaming-> analytics, workflow dashboards and application dashboards

Signed-off-by: ishangupta-ds <ishan@chaosnative.com>

* deep scan fix

Signed-off-by: ishangupta-ds <ishan@chaosnative.com>

* minor fix

Signed-off-by: ishangupta-ds <ishan@chaosnative.com>

Co-authored-by: Soumya Ghosh Dastidar <44349253+gdsoumya@users.noreply.github.com>
2021-08-17 12:27:06 +05:30
Shubham Chaudhary cc67faa3ec
(docs): fixed the embedmd broken links (#3138)
Signed-off-by: shubham chaudhary <shubham@chaosnative.com>
2021-08-17 11:57:02 +05:30
Sayan Mondal ec1ee65dbf
Signed-off-by: Sayan Mondal <sayan@chaosnative.com> (#3135) 2021-08-16 16:10:56 +05:30
Karthik Satchitanand dc48ec7a5e
(chore)readme: update readme content to reflect 2.0 developments (#3134)
* (chore)readme: update readme content to reflect 2.0 developments

Signed-off-by: ksatchit <karthik@chaosnative.com>
2021-08-16 15:23:08 +05:30
Sayan Mondal 01d4d0c8cf
Updated CONTRIBUTING Docs (#3131)
Signed-off-by: Sayan Mondal <sayan@chaosnative.com>
2021-08-16 13:09:03 +05:30
Shubham Chaudhary 59ae7e7195
(docs): Adding psp and admin-rbac note (#3130)
Signed-off-by: shubham chaudhary <shubham@chaosnative.com>
2021-08-15 19:09:03 +05:30
Shubham Chaudhary 0018e11eab
(docs): Adding manifest for 2.0.0 operator and scheduler (#3129)
Signed-off-by: shubham chaudhary <shubham@chaosnative.com>
2021-08-15 15:36:23 +05:30
Shubham Chaudhary 82b44a5498
(docs): adding scheduler docs (#3128)
Signed-off-by: shubham chaudhary <shubham@chaosnative.com>
2021-08-15 09:28:23 +05:30
Shubham Chaudhary e56e088223
(docs): fixing the list items rendering issue (#3127)
Signed-off-by: shubham chaudhary <shubham@chaosnative.com>
2021-08-14 21:00:50 +05:30
OUM NIVRATHI KALE 4a6c0b0839
faq for bank of anthos (#3126)
Signed-off-by: Oum Kale <oumkale@chaosnative.com>
2021-08-14 20:20:50 +05:30
Raj Babu Das 619334a487
Updating the chaoscenter readme (#3125)
Signed-off-by: rajdas98 <mail.rajdas@gmail.com>
2021-08-14 15:31:39 +05:30
Shubham Chaudhary 299dc40ccb
feat(experiment): updating collapsable items (#3124)
* feat(experiment): updating collapsable items

Signed-off-by: shubham chaudhary <shubham@chaosnative.com>

* feat(experiment): moving schema table to the corresponding section from content page

Signed-off-by: shubham chaudhary <shubham@chaosnative.com>
2021-08-14 15:00:40 +05:30
Shubham Chaudhary ede4149e2b
feat(experiment): adding faq and troubleshooting docs (#3121)
Signed-off-by: shubham chaudhary <shubham@chaosnative.com>
2021-08-14 13:46:03 +05:30
Vedant Shrotria 2f1ce83497
(Litmus-Portal): Added Installation Manifests for 2.0.0 (#3122)
* Added GA Manifests.

Signed-off-by: Jonsy13 <vedant.shrotria@chaosnative.com>

* Updated steps for installtion in Readme.md.

Signed-off-by: Jonsy13 <vedant.shrotria@chaosnative.com>

* Updated steps for installtion in Readme.md.

Signed-off-by: Jonsy13 <vedant.shrotria@chaosnative.com>
2021-08-13 21:40:36 +05:30
Shubham Chaudhary 2b34489a39
feat(docs): adding faq, troubleshooting and chaos resources details (#3120)
Signed-off-by: shubham chaudhary <shubham@chaosnative.com>
2021-08-13 09:11:48 +05:30
Shubham Chaudhary e621cdef8a
feat(docs): Update all the links to upstream, move all the docs to the mkdocs directory (#3119)
* feat(docs): update all the links with upstream

Signed-off-by: shubham chaudhary <shubham@chaosnative.com>
2021-08-12 01:48:45 +05:30
Shubham Chaudhary 82d55f592f
feat(docs): Adding docs for all chaos experiments (#3118)
* feat(chaos): Adding experiment docs

Signed-off-by: shubham chaudhary <shubham@chaosnative.com>
2021-08-12 00:53:47 +05:30
Prithvi Raj e7cf2dd3fe
Create Commercial Support.md (#3116)
* Create Commercial Support.md

* Update Commercial Support.md
2021-08-11 20:04:24 +05:30
Vedant Shrotria e5999d5d95
Upgraded litmus version to v2.0.0. (#3115)
Signed-off-by: Jonsy13 <vedant.shrotria@chaosnative.com>
2021-08-11 13:36:54 +05:30
Amit Kumar Das cbb6f09bb8
Fixed docs versioning (#3106)
Signed-off-by: Amit Kumar Das <amit@chaosnative.com>
2021-08-09 17:13:57 +05:30
Amit Kumar Das a28d2ea0db
type(docs): Updated API docs to v2.0.0 (#3105)
* Updated API docs to v2.0.0

Signed-off-by: Amit Kumar Das <amit@chaosnative.com>

* Updated auth API to v2.0.0

Signed-off-by: Amit Kumar Das <amit@chaosnative.com>

* Updated API urls

Signed-off-by: Amit Kumar Das <amit@chaosnative.com>

Co-authored-by: Vedant Shrotria <40681425+Jonsy13@users.noreply.github.com>
2021-08-09 16:42:52 +05:30
Raj Babu Das 09bb1cdcb6
Permission fix in docs/2.0.0-manifests (#3104)
* Adding delete permission to the RC1 manifest for deleting subscriber

Signed-off-by: rajdas98 <mail.rajdas@gmail.com>

* Adding delete permission to the RC1 manifest for deleting subscriber

Signed-off-by: rajdas98 <mail.rajdas@gmail.com>
2021-08-09 14:42:20 +05:30
Raj Babu Das 9ba5714f3a
Adding delete permission to the manifest for deleting subscriber (#3103)
Signed-off-by: rajdas98 <mail.rajdas@gmail.com>
2021-08-09 14:28:26 +05:30
Vedant Shrotria e0b53db70d
Added Manifests for 2.0.0-RC1 & downgraded the Beta Manifest to Beta9 (#3102)
* Added Manifests for 2.0.0 Chaos Center & downgraded the Beta Manifests to Beta9.

Signed-off-by: Jonsy13 <vedant.shrotria@chaosnative.com>

* Changed the version to 2.0.0-RC1.

Signed-off-by: Jonsy13 <vedant.shrotria@chaosnative.com>
2021-08-09 12:20:31 +05:30
Amit Kumar Das e5d5e00826
Changed nodeSelectors to nodeSelector in target application (#3093)
Signed-off-by: Amit Kumar Das <amit@chaosnative.com>
2021-08-09 12:02:03 +05:30
Soumya Ghosh Dastidar 8b513dbf44
added version env check in event-tracker (#3101)
* added version check in event-tracker & updated logging

Signed-off-by: Soumya Ghosh Dastidar <gdsoumya@gmail.com>
2021-08-07 20:39:59 +05:30
Soumya Ghosh Dastidar 7d5149b5df
Added version checks in server and agents (#3087)
* added version checks in server and agents

Signed-off-by: Soumya Ghosh Dastidar <gdsoumya@gmail.com>

* updated env in scripts

Signed-off-by: Soumya Ghosh Dastidar <gdsoumya@gmail.com>

* updated pkg name

Signed-off-by: Soumya Ghosh Dastidar <gdsoumya@gmail.com>

* added env in ns manifest

Signed-off-by: Soumya Ghosh Dastidar <gdsoumya@gmail.com>

* added env to docs

Signed-off-by: Soumya Ghosh Dastidar <gdsoumya@gmail.com>

Co-authored-by: Vedant Shrotria <40681425+Jonsy13@users.noreply.github.com>
2021-08-07 11:36:53 +00:00
Vedant Shrotria b28df22449
Updated the Readme raw links for Beta (#3100)
Signed-off-by: Jonsy13 <vedant.shrotria@chaosnative.com>
2021-08-07 16:46:02 +05:30
Sarthak Jain 2d7879006e
Added checks to prevent DB inconsistency (#3098)
* Added checks to prevent DB inconsistency

Signed-off-by: SarthakJain26 <sarthak@chaosnative.com>

* Added alert to notify users about expired token

Signed-off-by: SarthakJain26 <sarthak@chaosnative.com>
2021-08-07 14:27:44 +05:30
Vedant Shrotria 9ae548f99a
(Litmus-Portal): Changed the litmus version to v2.0.0-RC1 (#3083)
* Changed the litmus version to v1.13.6

Signed-off-by: Jonsy13 <vedant.shrotria@chaosnative.com>

* Upgraded versions in ci k8s manifests

Signed-off-by: Jonsy13 <vedant.shrotria@chaosnative.com>

* Upgraded versions in docs manifests

Signed-off-by: Jonsy13 <vedant.shrotria@chaosnative.com>
2021-08-06 09:18:05 +00:00
Vedant Shrotria ff50170598
(Litmus-Portal): Fixed the issue in deletion of chaosengines. (#3077)
* Fixed the issue in deletion of chaosengines.

Signed-off-by: Jonsy13 <vedant.shrotria@chaosnative.com>

* Added the permissions for server

Signed-off-by: Jonsy13 <vedant.shrotria@chaosnative.com>

* Removed permissions for namespaced mode

Signed-off-by: Jonsy13 <vedant.shrotria@chaosnative.com>
2021-08-06 10:33:15 +05:30
Shubham Chaudhary 05fc47e66b
adding pod-namespace in operator manifest (#3095)
Signed-off-by: shubham chaudhary <shubham@chaosnative.com>
2021-08-05 23:49:22 +05:30
Raj Babu Das e0127c013b
Fixing logs of event tracker (#3089)
* Fixing logs of event tracker

Signed-off-by: rajdas98 <mail.rajdas@gmail.com>

* adding AGENT_SCOPE var to check list

Signed-off-by: Raj Babu Das <mail.rajdas@gmail.com>
2021-08-05 20:42:02 +05:30
Ishan Gupta ae61c93241
adding named port and label for automation to chaos exporter deployment (#3091)
Signed-off-by: ishangupta-ds <ishan@chaosnative.com>
2021-08-05 18:46:00 +05:30
Ishan Gupta 76448f655d
Adding black-box exporter and scrape job, service monitor with updates to litmus version and exporter manifests (#3090)
* adding black-box exporter and scrape job, service monitor with updates to litmus version and exporter manifests
* updating kublr readme.

Signed-off-by: ishangupta-ds <ishan@chaosnative.com>
2021-08-05 18:24:08 +05:30
Ishan Gupta 03a68c9a3f
Bug fixes for analytics and translations for 2.0 (#3085)
* fixes for autocomplete and graph

Signed-off-by: ishangupta-ds <ishan@chaosnative.com>

* minor community page fix

Signed-off-by: ishangupta-ds <ishan@chaosnative.com>

* fixing auto select chip input integration bugs and disabling resolution.

Signed-off-by: ishangupta-ds <ishan@chaosnative.com>

* deep scan fix

Signed-off-by: ishangupta-ds <ishan@chaosnative.com>

* condition fix

Signed-off-by: ishangupta-ds <ishan@chaosnative.com>

* quote fix

Signed-off-by: ishangupta-ds <ishan@chaosnative.com>
2021-08-04 10:54:35 +00:00
Shubham Chaudhary 23294ff237
adding docs to the github pages (#3084)
Signed-off-by: shubham chaudhary <shubham@chaosnative.com>
2021-08-04 14:01:05 +05:30
Raj Babu Das 092a05d986
Fixing codeql bug (#3082)
Signed-off-by: rajdas98 <mail.rajdas@gmail.com>
2021-08-04 12:27:29 +05:30
Amit Kumar Das 374b8181af
chore(chaos-center): Added workflow status and updated agents table (#3076)
* Added workflow status and updated agents table

Signed-off-by: Amit Kumar Das <amit@chaosnative.com>
2021-08-04 10:55:38 +05:30
Prithvi Raj 4f3f56e31b
Update README.md (#3081)
Co-authored-by: Ajesh Baby <ajesh@chaosnative.com>
2021-08-04 08:23:36 +05:30
Shubham Chaudhary cd5e5a7c56
feat(examples): Adding experiments by examples manifests (#3038)
* feat(examples): Adding experiments by examples manifests

Signed-off-by: shubham chaudhary <shubham@chaosnative.com>
2021-08-03 23:31:58 +05:30
Raj Babu Das cea8275dfd
Adding namespace scope support for eventtracker controller (#3078)
* Fixing namespace scope of eventtracker

Signed-off-by: Raj Babu Das <mail.rajdas@gmail.com>

Co-authored-by: Soumya Ghosh Dastidar <44349253+gdsoumya@users.noreply.github.com>
2021-08-03 16:01:08 +05:30
Ritik Srivastava af07aa563a
Style fix tool tip overflow and margin fix for all pages (#3080)
* litmus ui version update
* styling fixes for top and bottom margin for all pages
* styling fix for overflow

Signed-off-by: Ritik Srivastava <ritik@chaosnative.com>
2021-08-03 14:22:52 +05:30
Ritik Srivastava 91d9228eb4
litmus ui version update (#3079)
Signed-off-by: Ritik Srivastava <ritik@chaosnative.com>
2021-08-03 06:23:52 +00:00
Saranya Jena ddc03c450f
Fixed UI bugs in workflow run table in analytics (#3074)
Signed-off-by: Saranya-jena <saranya@chaosnative.com>
2021-08-02 16:33:06 +05:30
Amit Kumar Das 74c817834e
Updated default hub name to Litmus ChaosHub (#3073)
Signed-off-by: Amit Kumar Das <amit@chaosnative.com>

Co-authored-by: Sayan Mondal <sayan@chaosnative.com>
2021-08-02 12:54:41 +05:30
Sayan Mondal b83ab40d2e
Added Agent Type in ChaosAgents (#3072)
Signed-off-by: Sayan Mondal <sayan@chaosnative.com>
2021-08-02 12:14:40 +05:30
Amit Kumar Das 5617a9cd02
Added terminate workflow functionality and updated probes feature (#3070)
Signed-off-by: Amit Kumar Das <amit@chaosnative.com>

Co-authored-by: Sayan Mondal <sayan@chaosnative.com>
2021-08-02 11:53:28 +05:30
Saranya Jena d105c54842
Analytics UI fixes (#3071)
* UI bug fixes in workflow dashboards
* Added UI fixes for workflow analytics

Signed-off-by: Saranya-jena <saranya@chaosnative.com>
2021-07-30 16:54:17 +05:30
Arkajyoti Mukherjee 06bf9f81dc
removed terminated and in-complete workflows from workflow analytics (#3069)
* removed terminated and in-complete workflows from workflow analytics

Signed-off-by: arkajyotiMukherjee <arko@chaosnative.com>

* removed fmt.Println

Signed-off-by: arkajyotiMukherjee <arko@chaosnative.com>
2021-07-30 14:28:48 +05:30
Soumya Ghosh Dastidar a585964675
optimized the usage stats db query (#3068)
Signed-off-by: Soumya Ghosh Dastidar <gdsoumya@gmail.com>
2021-07-30 11:34:33 +05:30
Amit Kumar Das 512b7bbc16
type(api-docs): Added analytics gql apis and authentication rest api docs (#3060)
* Added Auth REST API docs and analytics docs

Signed-off-by: Amit Kumar Das <amit@chaosnative.com>

Co-authored-by: Soumya Ghosh Dastidar <44349253+gdsoumya@users.noreply.github.com>
2021-07-29 13:50:14 +05:30
Ishan Gupta fcf2176e32
Schema for app. / infra monitoring dashboards on chaos center (#3061)
* added schema for monitoring dashboards on chaos center.

Signed-off-by: ishangupta-ds <ishan@chaosnative.com>

* minor fix

Signed-off-by: ishangupta-ds <ishan@chaosnative.com>
2021-07-29 12:05:43 +05:30
Ritik Srivastava ae15a1fe1c
Text corrections and unneeded key removal (#3065)
* text corrections for analytics/application dashboard creation
* create dashboard/select metric definition correction
* untitled panel and panel group removed from translation due to error in querying
* handle function revert

Signed-off-by: Ritik Srivastava <ritik@chaosnative.com>
2021-07-29 11:29:22 +05:30
Soumya Ghosh Dastidar 6049151a16
added terminate workflow mutation (#3063)
* added terminate workflow mutation

Signed-off-by: Soumya Ghosh Dastidar <gdsoumya@gmail.com>

* go imports

Signed-off-by: Soumya Ghosh Dastidar <gdsoumya@gmail.com>
2021-07-28 17:20:02 +05:30
VEDANT SHROTRIA 83e40f6d2e
(Litmus-Portal): Updated CRs versions to v1.13.8. (#3062)
* Updated CRs versions.

Signed-off-by: Jonsy13 <vedant.shrotria@chaosnative.com>

* Updated CRs versions.

Signed-off-by: Jonsy13 <vedant.shrotria@chaosnative.com>
2021-07-28 16:56:22 +05:30
Sarthak Jain d7e9058554
Migrated from github.com/dgrijalva/jwt-go to github.com/golang-jwt/jwt (#3058)
* Migrated from github.com/dgrijalva/jwt-go to github.com/golang-jwt/jwt

Signed-off-by: SarthakJain26 <sarthak@chaosnative.com>

* Updated package in gql

Signed-off-by: SarthakJain26 <sarthak@chaosnative.com>
2021-07-28 16:46:23 +05:30
Robin SEGURA 8a721aff76
Add Klanik as adopter and a brief of our story (#3059)
* add adopters story

* Add Klanik as adopter

"our story" to be added too

Co-authored-by: Robin Segura <robin.segura-ext@pole-emploi.fr>
2021-07-28 15:15:39 +05:30
Sarthak Jain 4239294165
Added separate struct to for /update/details API (#3054)
* Added separate struct to for /update/details API

Signed-off-by: SarthakJain26 <sarthak@chaosnative.com>

* Added ID to struct

Signed-off-by: SarthakJain26 <sarthak@chaosnative.com>
2021-07-28 11:43:48 +05:30
Raj Babu Das 5a12b4c28c
Adding a vulnerability scanner(codeql-analysis) in the github workflows (#3057) 2021-07-28 10:02:13 +05:30
Sayan Mondal 720c3e20a3
Update Argo colors to take from Theme (#3056)
Signed-off-by: Sayan Mondal <sayan@chaosnative.com>
2021-07-27 18:26:23 +05:30
Sayan Mondal 64372006e0
Updated Chaos Center header (#3055)
Signed-off-by: Sayan Mondal <sayan@chaosnative.com>
2021-07-26 18:30:31 +05:30
Raj Babu Das 468dab8c4c
upgrading go-mongo-driver to 1.5.3 (#3053)
* upgrading go-mongo-driver to 1.5.3

Signed-off-by: Raj Babu Das <mail.rajdas@gmail.com>

* upgrading go-mongo-driver to 1.5.3

Signed-off-by: Raj Babu Das <mail.rajdas@gmail.com>
2021-07-26 16:26:15 +05:30
Amit Kumar Das 4e581ae16d
type(api-docs): Added API docs with the updated Litmus Portal apis (#3047)
* Added API docs with the updated apis

Signed-off-by: Amit Kumar Das <amit@chaosnative.com>

* Minor change

Signed-off-by: Amit Kumar Das <amit@chaosnative.com>
2021-07-26 16:07:41 +05:30
Raj Babu Das 98e4130941
removing resource limits from namespace manifests (#3052)
Signed-off-by: rajdas98 <mail.rajdas@gmail.com>
2021-07-26 13:47:46 +05:30
Sayan Mondal 41b00b5ee5
type(rebranding): Updated LoginPage and workflow content (#3051)
* Updated Login Page
* Fixed Login Page

Signed-off-by: Sayan Mondal <sayan@chaosnative.com>

* Updated translations in sidebar

Signed-off-by: Amit Kumar Das <amit@chaosnative.com>
Signed-off-by: Amit Kumar Das <amit@chaosnative.com>
Signed-off-by: Amit Kumar Das <amit@chaosnative.com>

* Updated Agents Button variant

Signed-off-by: Sayan Mondal <sayan@chaosnative.com>

Co-authored-by: Amit Kumar Das <amit@chaosnative.com>
2021-07-26 12:44:24 +05:30
Rémi ZIOLKOWSKI 70fa2e69e2
Fix ingress logic (#3046)
* Fix ingress logic

Signed-off-by: Rémi ZIOLKOWSKI <remi.ziolkowski-ext@pole-emploi.fr>

* fix goimport

Signed-off-by: Rémi ZIOLKOWSKI <remi.ziolkowski-ext@pole-emploi.fr>
2021-07-25 21:21:26 +05:30
Sayan Mondal 850e8b3153
type(Improvement): Improved i18n + Added minor Fixes to Workflow N/A and CSS (#3040)
* Improved i18n + Added minor Fixes to Workflow N/A and CSS
* Updated to latest master

Signed-off-by: Sayan Mondal <sayan@chaosnative.com>
2021-07-22 12:14:28 +05:30
Raj Babu Das f95e571b76
rename litmusctl agent connect to litmusctl create agent (#3044)
Signed-off-by: rajdas98 <mail.rajdas@gmail.com>
2021-07-22 11:25:47 +05:30
Rémi ZIOLKOWSKI df54e7d7b4
Add API Route /status into authn-server (#3025)
* Add /status api route to check if API is ready or not

Signed-off-by: Rémi ZIOLKOWSKI <remi.ziolkowski-ext@pole-emploi.fr>

* Fix codacy issues

Signed-off-by: Rémi ZIOLKOWSKI <remi.ziolkowski-ext@pole-emploi.fr>

* fix double \n\n in user.go

Signed-off-by: Rémi ZIOLKOWSKI <remi.ziolkowski-ext@pole-emploi.fr>

Co-authored-by: Raj Babu Das <mail.rajdas@gmail.com>
2021-07-22 11:09:06 +05:30
Ritik Srivastava b9dd0a7877
Community page refactor (#3039)
* basic setup for join cards
* footer banner basic setup
* stats div basic
* Footer complete & images added
* litmus-ui upgrade, translation fixes
* translation reset and Litmus api doc link added
* indoFilled img fix
* file formating
* color field removed
* styling fixes
* workflow run bar chart removed
* comments added

Signed-off-by: Ritik Srivastava <ritik@chaosnative.com>
2021-07-21 19:05:08 +05:30
Soumya Ghosh Dastidar 6052949972
Shifted agent dependency list to server env (#3041)
* shifted agent dep list to server env

Signed-off-by: Soumya Ghosh Dastidar <gdsoumya@gmail.com>

* updated image

Signed-off-by: Soumya Ghosh Dastidar <gdsoumya@gmail.com>

* added check for dep env

Signed-off-by: Soumya Ghosh Dastidar <gdsoumya@gmail.com>

* added env to okteto manifest

Signed-off-by: Soumya Ghosh Dastidar <gdsoumya@gmail.com>
2021-07-21 16:38:05 +05:30
Paige Rubendall fd44713ff4
Adding Openshift platform adopter with Kraken (#3033)
Signed-off-by: Paige Rubendall <prubenda@redhat.com>
2021-07-20 21:53:55 +05:30
Sarthak Jain a30206bb75
beta 9 bug fixes (#3023)
* beta 9 bug fixes

Signed-off-by: SarthakJain26 <sarthak@chaosnative.com>

* removed unused comments

Signed-off-by: SarthakJain26 <sarthak@chaosnative.com>

* reverted package-lock changes

Signed-off-by: SarthakJain26 <sarthak@chaosnative.com>

* changes in package-lock

Signed-off-by: SarthakJain26 <sarthak@chaosnative.com>

Co-authored-by: VEDANT SHROTRIA <40681425+Jonsy13@users.noreply.github.com>
Co-authored-by: Saranya Jena <saranya@chaosnative.com>
2021-07-19 15:38:27 +05:30
Ajesh Baby 64782b6ad6
Add Pravega as Adopter (#3032)
Signed-off-by: ajeshbaby <ajesh@chaosnative.com>
2021-07-18 11:42:41 +05:30
Raj Babu Das ce08518084
fixing rbac for ingress (#3034)
Signed-off-by: Raj Babu Das <mail.rajdas@gmail.com>
2021-07-17 01:09:10 +05:30
Arkajyoti Mukherjee 44a33d80eb
Fixed updating experiment states in db bug (#3031)
Signed-off-by: arkajyotiMukherjee <arko@chaosnative.com>
2021-07-16 17:25:51 +05:30
Shubham Chaudhary ad7c601a48
adding manifests for the 1.13.8 (#3024)
Signed-off-by: shubham chaudhary <shubham@chaosnative.com>
2021-07-16 02:40:15 +05:30
VEDANT SHROTRIA d483791489
Updated argo images. (#3029)
Signed-off-by: Jonsy13 <vedant.shrotria@chaosnative.com>
2021-07-16 01:14:15 +05:30
Raj Babu Das f9c823cdbc
Adding rbac in docs (#3028)
Signed-off-by: Raj Babu Das <mail.rajdas@gmail.com>
2021-07-16 00:05:33 +05:30
VEDANT SHROTRIA 7ac0cfa1a2
Updated the control-plane to Beta-9. (#3026)
Signed-off-by: Jonsy13 <vedant.shrotria@chaosnative.com>
2021-07-15 23:25:58 +05:30
Shubham Chaudhary 06e7657e82
feat(rbac): adding minimal rbac permissions for scheduler and update crd version to v1 (#2961)
Signed-off-by: shubhamchaudhary <shubham@chaosnative.com>
2021-07-15 21:27:58 +05:30
Shubham Chaudhary c874434c2f
updating rbac permissions for the operator (#3022)
Signed-off-by: shubham chaudhary <shubham@chaosnative.com>
2021-07-15 18:10:36 +05:30
Sayan Mondal 48118b5904
Added Cloud Native Chaos Engineering Deck (#3004)
* Added Cloud Native Chaos Engineering Deck

* Rename Cloud_Native-Chaos_Engineering.md to Cloud_Native_Chaos_Engineering.md

* Update Cloud_Native_Chaos_Engineering.md
2021-07-15 16:42:03 +05:30
VEDANT SHROTRIA e10657d2a6
Added Matrix startegy for path-based frontend builds (#3019)
* Fixed KIND Cluster Issue and upgraded go version in actions.

Signed-off-by: Jonsy13 <vedant.shrotria@chaosnative.com>

* Enabled docker buildkit in build pipeline.

Signed-off-by: Jonsy13 <vedant.shrotria@chaosnative.com>

* Added Minor bug fixes.

Signed-off-by: Jonsy13 <vedant.shrotria@chaosnative.com>
2021-07-15 15:59:15 +05:30
OUM NIVRATHI KALE 94682c1353
updating rbac permission (#3021)
Signed-off-by: Oum Kale <oumkale@chaosnative.com>
2021-07-15 13:29:31 +05:30
Raj Babu Das 9340457fcc
Removing * permission from k8s manifest (namespace) (#3020)
Signed-off-by: Raj Babu Das <mail.rajdas@gmail.com>
2021-07-15 13:02:56 +05:30
Ishan Gupta 4045f4c7db
(portal-analytics): Bug fix for dashboard list and workflow comparison table (#3018)
* bug fix for dashboard list and comparison table

Signed-off-by: ishangupta-ds <ishan@chaosnative.com>

* minor fix

Signed-off-by: ishangupta-ds <ishan@chaosnative.com>
2021-07-15 10:24:57 +05:30
Raj Babu Das 29c380e4f4
chore(manifests): Removing privilege permissions from cluster-k8s-manifests (#3017)
* Removing * permission from k8s manifest

Signed-off-by: Raj Babu Das <mail.rajdas@gmail.com>

* Removing * permission from k8s manifest (cluster)

Signed-off-by: Raj Babu Das <mail.rajdas@gmail.com>
2021-07-14 23:48:16 +05:30
Ishan Gupta 23adfc639b
Bug fixes for dashboard page queries (#3016)
* bug fixes for dashboard page queries

Signed-off-by: ishangupta-ds <ishan@chaosnative.com>

* reverting package lock changes

Signed-off-by: ishangupta-ds <ishan@chaosnative.com>
2021-07-14 20:32:47 +05:30
Ishan Gupta 7f2a2ec642
updates for portal dashboards (#3015)
Signed-off-by: ishangupta-ds <ishan@chaosnative.com>
2021-07-14 20:12:24 +05:30
Sayan Mondal ac58ccc4d8
type(fix): 👷 Fixed CSS + Updated translations in stats page and fixed icon issue for predefined workflows 🔥🚀 (#3014)
* Minor CSS fixes

Signed-off-by: Sayan Mondal <sayan@chaosnative.com>

* Updated translations in stats page and fixed icon issue for pre-defined workflows

Signed-off-by: Amit Kumar Das <amit@chaosnative.com>

Co-authored-by: Amit Kumar Das <amit@chaosnative.com>
2021-07-14 20:02:23 +05:30
Saranya Jena db2ccfa860
Deactivate user auth (#2980)
* Added Deactivate user utilities

Signed-off-by: SarthakJain26 <sarthak@chaosnative.com>

Co-authored-by: SarthakJain26 <sarthak@chaosnative.com>
Co-authored-by: Vansh Bhatia <vansh@chaosnative.com>
2021-07-14 19:02:44 +05:30
Ishan Gupta cc26464eca
Added viewed_at field for application dashboards (#3011)
* added viewed at field for application dashboards
* minor update
* minor fix
* minor codacy fix
* fixes after review

Signed-off-by: ishangupta-ds <ishan@chaosnative.com>
2021-07-14 18:42:35 +05:30
Karthik Satchitanand ff3e538984
Restructure adopters based on organization type (#3013)
* restructure adopters.md file
* Update ADOPTERS.md
* add users file
Signed-off-by: ksatchit <karthik@chaosnative.com>
2021-07-14 18:03:06 +05:30
Vansh Bhatia 192fa2e295
Workflow query optimisation (#2999)
* Optmized listWorkflow and getWorkflowRuns query in gql

Signed-off-by: SarthakJain26 <sarthak@chaosnative.com>

* WorkflowinfoStats updated / comparison table unstable

Signed-off-by: Vansh Bhatia <vansh@chaosnative.com>

* bug fix for runs API integration

Signed-off-by: ishangupta-ds <ishan@chaosnative.com>

* WorkflowComparison table pagination added, litmus-UI version upgraded

Signed-off-by: Vansh Bhatia <vansh@chaosnative.com>

* downgraded litmus-ui version to 1.4.0 changed route name and queries in place

Signed-off-by: arkajyotiMukherjee <arko@chaosnative.com>

Co-authored-by: SarthakJain26 <sarthak@chaosnative.com>
Co-authored-by: ishangupta-ds <ishan@chaosnative.com>
Co-authored-by: arkajyotiMukherjee <arko@chaosnative.com>
2021-07-14 16:48:35 +05:30
Ajesh Baby 999a5f01f5
Add Mercedes as Adopter (#2987)
Signed-off-by: ajeshbaby <ajesh@chaosnative.com>
2021-07-14 16:20:51 +05:30
VEDANT SHROTRIA 339150646c
chore (Litmus-Portal) : Updated E2E GitHub Action Worflow (#2880)
* Updated E2E workflow

Signed-off-by: Jonsy13 <vedant.shrotria@chaosnative.com>

* Added BUILD_IMAGE.md inside .github.

Signed-off-by: Jonsy13 <vedant.shrotria@chaosnative.com>

* Fixed the pipeline.

Signed-off-by: Jonsy13 <vedant.shrotria@chaosnative.com>

* Fixed KIND Cluster.

Signed-off-by: Jonsy13 <vedant.shrotria@chaosnative.com>
2021-07-14 15:58:30 +05:30
Ishan Gupta 445ef30c69
added last viewed field and hub dashboard API integration (#3012)
Signed-off-by: ishangupta-ds <ishan@chaosnative.com>
2021-07-14 10:00:45 +00:00
VEDANT SHROTRIA 23ebcbfdf6
Updated version labels to v1.13.6 in rbac and deployment (#3007)
Signed-off-by: Jonsy13 <vedant.shrotria@chaosnative.com>
2021-07-14 15:22:56 +05:30
OUM NIVRATHI KALE 7ccebbb8b1
Adding rbac permissions for predefined workflow (#3010)
* adding rbac permissions for workflow

Signed-off-by: Oum Kale <oumkale@chaosnative.com>

* adding for namespace scope

Signed-off-by: Oum Kale <oumkale@chaosnative.com>
2021-07-14 13:19:45 +05:30
Amit Kumar Das cf2fd4e55b
Upgraded myhub package to latest and minor change in myhub api (#3001)
* Upgraded myhub package to latest and minor change in myhub api

Signed-off-by: Amit Kumar Das <amit@chaosnative.com>

* Fixed go-imports

Signed-off-by: Amit Kumar Das <amit@chaosnative.com>

* Minor change in client

Signed-off-by: Amit Kumar Das <amit@chaosnative.com>
2021-07-13 17:28:54 +05:30
VEDANT SHROTRIA 38133f7fca
Community action shifted to community page and fixed the loaders. (#2988)
Signed-off-by: Jonsy13 <vedant.shrotria@chaosnative.com>
2021-07-13 17:28:14 +05:30
Raj Babu Das c3dc248ce8
Add node selector field in UserClusterReg Mutation (#3000)
* Adding nodeselector env

Signed-off-by: rajdas98 <mail.rajdas@gmail.com>

* Adding nodeselector field in userClusterReg Mutation

Signed-off-by: Raj Babu Das <mail.rajdas@gmail.com>

* Adding nodeselector field in userClusterReg Mutation

Signed-off-by: Raj Babu Das <mail.rajdas@gmail.com>

* minor changes

Signed-off-by: Raj Babu Das <mail.rajdas@gmail.com>

* merge conflict

Signed-off-by: Raj Babu Das <mail.rajdas@gmail.com>
2021-07-13 17:21:42 +05:30
Raj Babu Das 9baef1b1ec
Minor fix in github workflow manifest for the path based frontend app build (#3005)
* Adding nodeselector env

Signed-off-by: rajdas98 <mail.rajdas@gmail.com>

* fixing github workflow

Signed-off-by: Raj Babu Das <mail.rajdas@gmail.com>

* fixing github workflow

Signed-off-by: Raj Babu Das <mail.rajdas@gmail.com>

* fixing github workflow

Signed-off-by: Raj Babu Das <mail.rajdas@gmail.com>
2021-07-13 16:58:09 +05:30
Sayan Mondal 23ca6638d0
Optimized Scaffold (#2992)
Signed-off-by: Sayan Mondal <sayan@chaosnative.com>
2021-07-13 14:19:20 +05:30
Ishan Gupta 1e46fc4953
(analytics): Frontend updates for event query editing, subscription for application dashboards and related fixes (#2986)
* minor fixes
* updates
* minor fix
* fixed time based sorting
* minor fix
* updates
* updated litmus ui version for sub data
* deep scan fixes
* minor deepscan fix
* minor fix
* bug fix
* changes after review
* minor fix
* changes after review
* minor fix

Signed-off-by: ishangupta-ds <ishan@chaosnative.com>
2021-07-13 12:38:47 +05:30
Hemanth Krishna 71858ce620
fix: auth server: cors issue (#2997)
Signed-off-by: DarthBenro008 <hkpdev008@gmail.com>
2021-07-13 12:12:03 +05:30
Raj Babu Das 2679a1373a
Adding parallel build for /litmuschaos basepath (#2994)
Signed-off-by: genesys <mail.rajdas@gmail.com>
2021-07-12 21:18:28 +05:30
Arkajyoti Mukherjee 0c3bad31fc
modifying frontend to run on any path passed as env vars during build (#2983)
* modifying frontend to run on any path passed as env vars during build

Signed-off-by: arkajyotiMukherjee <arko@chaosnative.com>

* Fixed image paths and routing (#2)

* image paths changed from / to ./

Signed-off-by: arkajyotiMukherjee <arko@chaosnative.com>

* reloading fix by considering the subPath when routing on project check

Signed-off-by: arkajyotiMukherjee <arko@chaosnative.com>

* fixed more src from / to ./

Signed-off-by: arkajyotiMukherjee <arko@chaosnative.com>
2021-07-12 20:08:14 +05:30
Ishan Gupta e328553f59
(analytics): Backend enhancements for editing event query, patching verdict to event data and subscription for viewing application dashboards (#2985)
* chaos event and verdict query update for stored dashboards

Signed-off-by: ishangupta-ds <ishan@chaosnative.com>

* subscription for viewing dashboards

Signed-off-by: ishangupta-ds <ishan@chaosnative.com>

* minor fix

Signed-off-by: ishangupta-ds <ishan@chaosnative.com>

* fixes for prometheus schema usage and verdict patch

Signed-off-by: ishangupta-ds <ishan@chaosnative.com>

* fixes

Signed-off-by: ishangupta-ds <ishan@chaosnative.com>

* updated caching strategy

Signed-off-by: ishangupta-ds <ishan@chaosnative.com>

* fixes for agent based dashboard listing and update dashboard vars

Signed-off-by: ishangupta-ds <ishan@chaosnative.com>

* updates to dashboards with data source healthcheck

Signed-off-by: ishangupta-ds <ishan@chaosnative.com>

* minor fix

Signed-off-by: ishangupta-ds <ishan@chaosnative.com>

* fixing concurrency issue

Signed-off-by: ishangupta-ds <ishan@chaosnative.com>

* minor fix

Signed-off-by: ishangupta-ds <ishan@chaosnative.com>

* minor fix

Signed-off-by: ishangupta-ds <ishan@chaosnative.com>

* minor fix

Signed-off-by: ishangupta-ds <ishan@chaosnative.com>

* minor fix

Signed-off-by: ishangupta-ds <ishan@chaosnative.com>

* updates for race condition

Signed-off-by: ishangupta-ds <ishan@chaosnative.com>

* made the code modular

Signed-off-by: ishangupta-ds <ishan@chaosnative.com>

* fixes for duplicate events and locks

Signed-off-by: ishangupta-ds <ishan@chaosnative.com>

* codacy fixes

Signed-off-by: ishangupta-ds <ishan@chaosnative.com>

* changes after review

Signed-off-by: ishangupta-ds <ishan@chaosnative.com>
2021-07-12 13:50:59 +00:00
Raj Babu Das dd6f81c288
upgrading goversion to 1.16 (#2993)
* upgrading goversion to 1.16

Signed-off-by: genesys <mail.rajdas@gmail.com>

* upgrading goversion to 1.16

Signed-off-by: genesys <mail.rajdas@gmail.com>
2021-07-12 18:21:51 +05:30
Raj Babu Das 6cb1456b1a
Adding non-empty and duplicate project name check to create project mutation (#2976)
* Adding empty and duplicate project name check

Signed-off-by: Raj Das <mail.rajdas@gmail.com>

* code chanes

Signed-off-by: Raj Das <mail.rajdas@gmail.com>

* minor changes

Signed-off-by: genesys <mail.rajdas@gmail.com>
2021-07-12 16:25:01 +05:30
Amit Kumar Das 299308348e
Added query to fetch dashboard details from hub (#2966)
* Added dashboard query from hub
* Reverting myhub related change
* Minor fix
* Added rbac permissions
* Fixed import issues

Signed-off-by: Amit Kumar Das <amit@chaosnative.com>
2021-07-12 15:08:26 +05:30
Amit Kumar Das 3dd350c3ce
chore(litmus-portal): Updated probes ui, fixed node selector issue in chaos engine and fixed image registry issue (#2978)
* Updated probes ui, fixed node selector issue and fixed image registry ux issue
* Fixed deepscan issue and minor fix in probe
* Added is_default field with image registry apis
* Fixed deepscan

Signed-off-by: Amit Kumar Das <amit@chaosnative.com>
2021-07-12 15:06:12 +05:30
VEDANT SHROTRIA ea1c088bea
Added minimal RBAC for agent in NS Mode. (#2984)
Signed-off-by: Jonsy13 <vedant.shrotria@chaosnative.com>
2021-07-12 12:34:00 +05:30
Raj Babu Das fc2ff7c9c5
Upgrading event tracking k8s pkg to 0.20.1 and goversion to 1.16 (#2989)
Signed-off-by: genesys <mail.rajdas@gmail.com>
2021-07-12 12:27:14 +05:30
Omar Hanafi 0265204804
Added Omar Hanafi (#2982) 2021-07-09 08:48:44 +05:30
Raj Babu Das 410881df4e
removing .gitlab-ci (#2981)
Signed-off-by: Raj Das <mail.rajdas@gmail.com>
2021-07-08 15:29:56 +05:30
VEDANT SHROTRIA 2a7f89a958
Added Code-splitting on components level. (#2974)
Signed-off-by: Jonsy13 <vedant.shrotria@chaosnative.com>
2021-07-08 13:27:18 +05:30
Sayan Mondal cae6574234
Adding data-cy for E2E and fixing Edit Scheduile View YAML (#2977)
Signed-off-by: Sayan Mondal <sayan@chaosnative.com>
2021-07-08 12:23:35 +05:30
Raj Babu Das f03647b772
typo in agent_rbac (#2979)
Signed-off-by: Raj Das <mail.rajdas@gmail.com>
2021-07-08 00:04:54 +05:30
Udit Gaurav fced53e13b
Chore(RBAC): minimize and explain the admin rbac and operator permissions (#2920)
* Chore(RBAC): minimize and explain the admin rbac and operator permissions

Signed-off-by: udit <udit@chaosnative.com>

* update permission for 3a_agents_rbac.yaml

Signed-off-by: udit <udit@chaosnative.com>
2021-07-07 20:48:31 +05:30
VEDANT SHROTRIA 95d545c53e
Updated the image tags for workflow controller and executor to v2.11.0. (#2975)
* Updated the tags for argo-workflow controller and executor with v2.11.0.

Signed-off-by: Jonsy13 <vedant.shrotria@chaosnative.com>

* Updated the tags in okteto manifest.

Signed-off-by: Jonsy13 <vedant.shrotria@chaosnative.com>
2021-07-07 00:08:27 +05:30
Karthik Satchitanand 9e4bf897b5
(chore)roadmap: update roadmap based on latest developments (#2973)
Signed-off-by: ksatchit <karthik@chaosnative.com>
2021-07-06 23:29:50 +05:30
Karthik Satchitanand 567735e093
(chore)governance: add newer maintainers and reviewers (#2972)
Signed-off-by: ksatchit <karthik.s@mayadata.io>
Signed-off-by: ksatchit <karthik@chaosnative.com>
2021-07-06 15:33:31 +00:00
Sarthak Jain d51d6fe48d
Disable and Enable user from auth (#2964)
* Disable and Enable user from auth

Signed-off-by: SarthakJain26 <sarthak@chaosnative.com>
2021-07-06 18:48:34 +05:30
Karthik Satchitanand 2f25a9fe7f
(chore)maintainers: update maintainers email id (#2971)
Signed-off-by: ksatchit <karthik.s@mayadata.io>
2021-07-06 05:39:35 +00:00
Ajesh Baby 449f5da773
[chore] Updating latest addition in Chronological order (#2970)
Signed-off-by: ajeshbaby <ajesh@chaosnative.com>
2021-07-06 09:25:10 +05:30
pengfei 5c63bcb51d
add KubeSphere to ADOPTERS.md (#2968)
Signed-off-by: FeynmanZhou <pengfeizhou@yunify.com>
2021-07-06 08:38:34 +05:30
Saranya Jena 411ccb5d57
Workflow runs details (#2960)
* Backend for heatmap added

Signed-off-by: Vansh Bhatia <vansh@chaosnative.com>

* Frontend Heatmap POC

Signed-off-by: Vansh Bhatia <vansh@chaosnative.com>

* WorkflowData fetched

Signed-off-by: Vansh Bhatia <vansh@chaosnative.com>

* Heatmap data fetched

Signed-off-by: Vansh Bhatia <vansh@chaosnative.com>

* Heatmap backend Changes

Signed-off-by: Vansh Bhatia <vansh@chaosnative.com>

* Changed heatMap API to send <nil> for value by default

Signed-off-by: Saranya-jena <saranya@chaosnative.com>

* Heatmap backend heandler + frontend year selection

Signed-off-by: Vansh Bhatia <vansh@chaosnative.com>

* Code formatting

Signed-off-by: Vansh Bhatia <vansh@chaosnative.com>

* Added stackbar graph

Signed-off-by: Saranya-jena <saranya@chaosnative.com>

* Added workflow run table in frontend

Signed-off-by: Saranya-jena <saranya@chaosnative.com>

* go files generated

Signed-off-by: Vansh Bhatia <vansh@chaosnative.com>

* Table UI fixed, Stackbar and heatmap legends added

Signed-off-by: Vansh Bhatia <vansh@chaosnative.com>

* Single run workflow page added

Signed-off-by: Vansh Bhatia <vansh@chaosnative.com>

* table states added

Signed-off-by: Vansh Bhatia <vansh@chaosnative.com>

* Added comments to heatmap backend

Signed-off-by: Saranya-jena <saranya@chaosnative.com>

* Sidebar Workflow Icon update

Signed-off-by: Vansh Bhatia <vansh@chaosnative.com>

* Minor fix

Signed-off-by: Vansh Bhatia <vansh@chaosnative.com>

* Graph UI fixes

Signed-off-by: Vansh Bhatia <vansh@chaosnative.com>

* Added Workflow Run Stats Graphs

Signed-off-by: SarthakJain26 <sarthak@chaosnative.com>

* updated litmus-ui version, bug fixes

Signed-off-by: Saranya-jena <saranya@chaosnative.com>

* Added context filter in workflow run table

Signed-off-by: Saranya-jena <saranya@chaosnative.com>

* Fixed linting issues

Signed-off-by: Saranya-jena <saranya@chaosnative.com>

* Code refactor, moving colors to new folder, adding states in radial graphs

Signed-off-by: SarthakJain26 <sarthak@chaosnative.com>

* moved inline styles to styles file, minor refactorings

Signed-off-by: Saranya-jena <saranya@chaosnative.com>

* Sidebar Fixes

Signed-off-by: Vansh Bhatia <vansh@chaosnative.com>

* removed inline styles and unused comments

Signed-off-by: Saranya-jena <saranya@chaosnative.com>

Co-authored-by: Vansh Bhatia <vansh@chaosnative.com>
Co-authored-by: SarthakJain26 <sarthak@chaosnative.com>
2021-07-02 21:31:50 +05:30
Amit Kumar Das 9c38833287
chore(litmus-portal): Added env tunables, date range for usage stats and fixed logs issue (#2958)
* Added env tunables, date range for usage stats and fixed logs issues
* Minor theme change
* Minor translations fix

Signed-off-by: Amit Kumar Das <amit@chaosnative.com>
2021-07-02 17:17:54 +05:30
Ritik Srivastava 5bc3896171
Litmus UI version update 1.3.1 (#2956)
* multi zooming added and working

Signed-off-by: Ritik Srivastava <ritik@chaosnative.com>

* tooltip enabled

Signed-off-by: Ritik Srivastava <ritik@chaosnative.com>
2021-07-01 14:38:03 +05:30
Sarthak Jain 246e274410
Fixed bug in update/details api (#2953)
* Fixed bug in update/details api

Signed-off-by: SarthakJain26 <sarthak@chaosnative.com>

* Updated matching condition to uid

Signed-off-by: SarthakJain26 <sarthak@chaosnative.com>

* Removed print statement

Signed-off-by: SarthakJain26 <sarthak@chaosnative.com>

* Removed unused imports

Signed-off-by: SarthakJain26 <sarthak@chaosnative.com>

* Sending uid to repository

Signed-off-by: SarthakJain26 <sarthak@chaosnative.com>

* Processing request at the start

Signed-off-by: SarthakJain26 <sarthak@chaosnative.com>
2021-07-01 12:33:50 +05:30
Soumya Ghosh Dastidar ea3c623f7b
added active agent count to usage stats (#2955)
Signed-off-by: Soumya Ghosh Dastidar <gdsoumya@gmail.com>
2021-07-01 11:57:03 +05:30
Sarthak Jain ea493016c7
Added engine context in chaos data (#2954)
* Added engine context in chaos data

Signed-off-by: SarthakJain26 <sarthak@chaosnative.com>
2021-07-01 10:36:10 +05:30
Amit Kumar Das b7243c9979
type(ux): Fixed usage statistics page with LazyQuery and added redux state for Myhub tabs (#2951)
* Fixed the usage statistics page with lazy query

Signed-off-by: Amit Kumar Das <amit@chaosnative.com>

* Added redux state for myhub tabs

Signed-off-by: Amit Kumar Das <amit@chaosnative.com>
2021-06-30 12:18:57 +05:30
Vansh Bhatia c52ae1dd1a
UI fixes beta9 (#2950)
* UI fixes

Signed-off-by: Vansh Bhatia <vansh@chaosnative.com>
2021-06-29 14:30:39 +05:30
Ishan Gupta 48d3f9ce7a
UI fixes and updates for dashboards and data source CRUD v2 (#2939)
* fixes for beta 8

Signed-off-by: ishangupta-ds <ishan@chaosnative.com>

* frontend fixes

Signed-off-by: ishangupta-ds <ishan@chaosnative.com>

* fixes

Signed-off-by: ishangupta-ds <ishan@chaosnative.com>

* fixes and updates

Signed-off-by: ishangupta-ds <ishan@chaosnative.com>

* updates and fixes

Signed-off-by: ishangupta-ds <ishan@chaosnative.com>

* fixes

Signed-off-by: ishangupta-ds <ishan@chaosnative.com>

* fixed deep scan issues

Signed-off-by: ishangupta-ds <ishan@chaosnative.com>

* 0px to 0 and sock shop icon update

Signed-off-by: ishangupta-ds <ishan@chaosnative.com>

* minor fix after review

Signed-off-by: ishangupta-ds <ishan@chaosnative.com>

* fixes to translation and condition

Signed-off-by: ishangupta-ds <ishan@chaosnative.com>
2021-06-28 17:00:34 +05:30
Amit Kumar Das eca531afdd
type(ux): Updated exp runs in usage section and refactored the target application code (#2945)
* Fixed label selection and workflow settings

Signed-off-by: Amit Kumar Das <amit@chaosnative.com>

* Updated subject, context and fixed the experiment runs in usage section

Signed-off-by: Amit Kumar Das <amit@chaosnative.com>

* Get pre-defined workflow manifest of selected hub

Signed-off-by: Amit Kumar Das <amit@chaosnative.com>
2021-06-28 10:48:38 +05:30
Sayan Mondal fd9a3aeb6f
Fixed Table FormControl active colors + updated workflow pills + minor ux fixes (#2943)
Signed-off-by: Sayan Mondal <sayan@chaosnative.com>
2021-06-28 10:46:02 +05:30
Raj Babu Das bbf66174de
adding environment vars check condition in event tracker and subscriber (#2947)
* adding env check condition in event tracker and subscriber

Signed-off-by: Raj Das <raj@chaosnative.com>

* removing START_TIME env from the constant env

Signed-off-by: Raj Das <mail.rajdas@gmail.com>
2021-06-25 22:28:51 +05:30
Soumya Ghosh Dastidar fd64cbc4b9
updated argo executor image pull policy (#2946)
Signed-off-by: Soumya Ghosh Dastidar <gdsoumya@gmail.com>
2021-06-25 18:51:43 +05:30
Ishan Gupta dc0d6d0b10
Data source API fixes (#2938)
* fix

Signed-off-by: ishangupta-ds <ishan@chaosnative.com>

* log removed

Signed-off-by: ishangupta-ds <ishan@chaosnative.com>
2021-06-25 11:01:34 +00:00
Sarthak Jain 38af7328a0
Bug fixes in browse workflow table (#2944)
* Bug fixes in browse workflow table

Signed-off-by: SarthakJain26 <sarthak@chaosnative.com>

* Fixed import order

Signed-off-by: SarthakJain26 <sarthak@chaosnative.com>
2021-06-25 08:19:06 +00:00
Amit Kumar Das 48c079aa85
Fixed portal ux issues and minor style changes (#2940)
Signed-off-by: Amit Kumar Das <amit@chaosnative.com>
2021-06-25 10:25:45 +05:30
Sayan Mondal f693470827
Fixed Accordion width problem and Edit Sequence Button render for No Visualizaed Graphs and minor css fixes (#2937)
Signed-off-by: Sayan Mondal <sayan@chaosnative.com>
2021-06-25 10:23:46 +05:30
Sayan Mondal c9ac99b947
type(bugfix): Fixed Radio Button selection issue at Choose Workflow Screen 🐛 (#2933)
* Fixed Radio Button selection issue at Choose Workflow Screen

Signed-off-by: Sayan Mondal <sayan@chaosnative.com>

* Fixed Issues with workflow localforage state and persistence

Signed-off-by: Sayan Mondal <sayan@chaosnative.com>
2021-06-24 11:45:08 +05:30
Amit Kumar Das b7db9f42cb
Added data-cy for e2e and fixed workflow settings issue (#2931)
Signed-off-by: Amit Kumar Das <amit@chaosnative.com>
2021-06-24 11:39:12 +05:30
Raj Babu Das 2dabffa6d2
Adding backward compatibility fix for auth server (#2935)
Signed-off-by: Raj Das <raj@chaosnative.com>
2021-06-23 20:42:34 +05:30
Arkajyoti Mukherjee 29e516ec96
Filtered out removed workflows and changed weekly filter to daily (#2929)
* added removed workflows filter in getWorkflowRuns

Signed-off-by: arkajyotiMukherjee <arko@chaosnative.com>

* added removed workflows and workflowruns filters in getWorkflowStats and getWorkflowRunStats

Signed-off-by: arkajyotiMukherjee <arko@chaosnative.com>

* minor UI fixes

Signed-off-by: arkajyotiMukherjee <arko@chaosnative.com>
2021-06-23 16:52:08 +05:30
Soumya Ghosh Dastidar bc5bf4e6d6
exclude removed agents from usage data (#2934)
Signed-off-by: Soumya Ghosh Dastidar <gdsoumya@gmail.com>
2021-06-23 16:11:55 +05:30
Raj Babu Das aeb60c7465
API doc url fix (#2932)
* api-doc url fix
* api-doc url fix

Signed-off-by: Raj Das <raj@chaosnative.com>
2021-06-23 16:10:43 +05:30
Hemanth Krishna 9204af1e8d
refactor: litmus-portal authentication server (#2867)
* init: refactor of auth server

Signed-off-by: Hemanth Krishna <hkpdev008@gmail.com>

* add: user model

Signed-off-by: Hemanth Krishna (DarthBenro008) <hkpdev008@gmail.com>

* add: db and jwt deps

Signed-off-by: Hemanth Krishna (DarthBenro008) <hkpdev008@gmail.com>

* add: user service

Signed-off-by: Hemanth Krishna (DarthBenro008) <hkpdev008@gmail.com>

* feat: basic authentication api

Signed-off-by: Hemanth Krishna (DarthBenro008) <hkpdev008@gmail.com>

* feat: create and update password routes

Signed-off-by: Hemanth Krishna (DarthBenro008) <hkpdev008@gmail.com>

* feat: jwt authentication

Signed-off-by: Hemanth Krishna (DarthBenro008) <hkpdev008@gmail.com>

* feat: admin setup and server boot validations

Signed-off-by: Hemanth Krishna (DarthBenro008) <hkpdev008@gmail.com>

* feat: error handling and response

Signed-off-by: Hemanth Krishna (DarthBenro008) <hkpdev008@gmail.com>

* add: gin cors and release mode

Signed-off-by: Hemanth Krishna (DarthBenro008) <hkpdev008@gmail.com>

* fix: dockerfile

Signed-off-by: Hemanth Krishna (DarthBenro008) <hkpdev008@gmail.com>

* fix: route names

Signed-off-by: Hemanth Krishna (DarthBenro008) <hkpdev008@gmail.com>

* fix: prevent multiple users with same username

Signed-off-by: Hemanth Krishna (DarthBenro008) <hkpdev008@gmail.com>

* feat: add mongo indexes

Signed-off-by: Hemanth Krishna (DarthBenro008) <hkpdev008@gmail.com>

* feat: logrus logging

Signed-off-by: Hemanth Krishna (DarthBenro008) <hkpdev008@gmail.com>

* fix: goimports and add comments for exported functions

Signed-off-by: Hemanth Krishna <hkpdev008@gmail.com>

* fix: optional email in CreateUser route

Signed-off-by: Hemanth Krishna <hkpdev008@gmail.com>

* feat: create handlers and sanitizers

Signed-off-by: Hemanth Krishna (DarthBenro008) <hkpdev008@gmail.com>

* lint: goimports and gofmt project

Signed-off-by: Hemanth Krishna (DarthBenro008) <hkpdev008@gmail.com>

* ref: update util configs

Signed-off-by: Hemanth Krishna (DarthBenro008) <hkpdev008@gmail.com>

* fix: enable multiple admins

Signed-off-by: DarthBenro008 <hkpdev008@gmail.com>

* feat: strict password policies

Signed-off-by: DarthBenro008 <hkpdev008@gmail.com>

* update: manifests to support STRICT_PASSWORD_POLICY

Signed-off-by: DarthBenro008 <hkpdev008@gmail.com>
2021-06-23 15:36:10 +05:30
Sarthak Jain a4db51a944
Moving rbac to authorization package (#2930)
Signed-off-by: SarthakJain26 <sarthak@chaosnative.com>
2021-06-23 14:22:35 +05:30
Prithvi Raj 70865c526e
Update README.md (#2927) 2021-06-23 13:36:24 +05:30
Vansh Bhatia 08204190ff
Ux fixes (#2913)
* Fixed links to ChaosHub, added textButton component

Signed-off-by: Vansh Bhatia <vansh@chaosnative.com>

* Added workflow status Icons to homePage

Signed-off-by: Vansh Bhatia <vansh@chaosnative.com>

* moved from links to TextButton in homePage

Signed-off-by: Vansh Bhatia <vansh@chaosnative.com>

* removed unused redux Tab state, added pagination bugFix

Signed-off-by: Vansh Bhatia <vansh@chaosnative.com>

* Review changes

Signed-off-by: Vansh Bhatia <vansh@chaosnative.com>

* Loader UX issue fixed

Signed-off-by: Vansh Bhatia <vansh@chaosnative.com>
2021-06-23 13:17:10 +05:30
Udit Gaurav 91ae3a3134
Chore(RBAC): Add RBAC for ns scope experiments (#2926)
Signed-off-by: udit <udit@chaosnative.com>
2021-06-22 18:39:55 +05:30
Udit Gaurav d8f1cbcca6
Chore(RBAC): Add service account for ns mode (#2925)
Signed-off-by: udit <udit@chaosnative.com>
2021-06-22 16:15:53 +05:30
Sayan Mondal 348e710b34
type(bugfix): Fixed Sidebar icon darkening + Shifted Usage Table Loader to Center (#2923)
* Fixed Sidebar icon darkening + Shifted Usage Table Loader to Conter

Signed-off-by: Sayan Mondal <sayan@chaosnative.com>

* Added Pagination Query

Signed-off-by: Sayan Mondal <sayan@chaosnative.com>

* Renaming Usage + Updating Browse Workflow to Runs

Signed-off-by: Sayan Mondal <sayan@chaosnative.com>
2021-06-22 13:09:14 +05:30
VEDANT SHROTRIA 3fc404c8e4
Updating the supported platforms list (#2924)
* Updated the supported platforms list.

Signed-off-by: Jonsy13 <vedant.shrotria@chaosnative.com>

* Updated the supported platforms list.

Signed-off-by: Jonsy13 <vedant.shrotria@chaosnative.com>
2021-06-22 11:55:23 +05:30
Amit Kumar Das ff4e56277f
chore(litmus-portal): Added overall usage and project stats page (#2921)
* Added global stats cards

Signed-off-by: Amit Kumar Das <amit@chaosnative.com>

* Moved inline styles to styles file

Signed-off-by: Amit Kumar Das <amit@chaosnative.com>

* Making Litmus Cards Reusable and Modular

Signed-off-by: Sayan Mondal <sayan@chaosnative.com>

* Added project details query and basic table

Signed-off-by: Amit Kumar Das <amit@chaosnative.com>

* Adding Header for table

Signed-off-by: Sayan Mondal <sayan@chaosnative.com>

* Adding Search for table

Signed-off-by: Sayan Mondal <sayan@chaosnative.com>

* Fixed search functionality

Signed-off-by: Amit Kumar Das <amit@chaosnative.com>

* Added tarnslation for main page + Usage Cards

Signed-off-by: Sayan Mondal <sayan@chaosnative.com>

* Added projects table and refactoring

Signed-off-by: Amit Kumar Das <amit@chaosnative.com>

* 🔨 Changed Active SVG stroke and Fixed DeepScan 🔧

Signed-off-by: Sayan Mondal <sayan@chaosnative.com>

* Addsort functionality

Signed-off-by: Amit Kumar Das <amit@chaosnative.com>

* Minor fix

Signed-off-by: Amit Kumar Das <amit@chaosnative.com>

Co-authored-by: Sayan Mondal <sayan@chaosnative.com>
2021-06-22 09:11:46 +05:30
Soumya Ghosh Dastidar fca61d2e55
updated owner sort to username field (#2918)
Signed-off-by: Soumya Ghosh Dastidar <gdsoumya@gmail.com>
2021-06-21 14:33:12 +05:30
Arkajyoti Mukherjee 61603036ed
Adding the various states of experiments in workflow runs (#2914)
* added other experiment states, truncated all percentages to 2 decimal and decoupled workflow metrics with execution data

Signed-off-by: arkajyotiMukherjee <arko@chaosnative.com>

* added stopped experiments to analytics

Signed-off-by: arkajyotiMukherjee <arko@chaosnative.com>

* added workflow_id filter support for getWorkflowRuns API

Signed-off-by: arkajyotiMukherjee <arko@chaosnative.com>
2021-06-21 11:03:20 +05:30
Soumya Ghosh Dastidar c575ab0331
added usage query for admin (#2917)
Signed-off-by: Soumya Ghosh Dastidar <gdsoumya@gmail.com>
2021-06-21 10:20:52 +05:30
Karthik Satchitanand 16aff14d0c
(chore)adoption: add entry for halodoc in adopters.md file (#2916)
Signed-off-by: ksatchit <karthik.s@mayadata.io>
2021-06-21 09:58:20 +05:30
manee2k6 3f6104973b
Created halodoc.md (#2915)
* Create halodoc.md
2021-06-21 09:47:11 +05:30
VEDANT SHROTRIA 78c3429dd8
updated CRDs and versions for CRs. (#2912)
Signed-off-by: Jonsy13 <vedant.shrotria@chaosnative.com>
2021-06-21 08:28:23 +05:30
Sayan Mondal 302c7051a0
type(bug): Fixing Radio Button selection issue + Adding data-cy for Smoke Test + Fixing Loader Alignment (#2910)
* Minor Changes for Smoke Test and Loader Alignment
* Fixing Radio Button selection issue

Signed-off-by: Sayan Mondal <sayan@chaosnative.com>

* Added minor checks

Signed-off-by: Amit Kumar Das <amit@chaosnative.com>

Co-authored-by: Amit Kumar Das <amit@chaosnative.com>
2021-06-18 13:30:14 +05:30
Uma Mukkara 456985ccfc
Update Uma's information in the MAINTAINERS file (#2908) 2021-06-18 10:33:06 +05:30
Rajdeep Bhattacharya 6c659f8cf4
Added lenskart to the adaptors.md (#2909)
* Added lenskart to the adaptors.md

* Update ADOPTERS.md

Co-authored-by: Karthik Satchitanand <karthik.s@mayadata.io>
2021-06-18 10:32:13 +05:30
Rajdeep Bhattacharya 2e3f93ae82
Created lenskart.md (#2907)
* Created lenskart.md

* Minor updates to text

Co-authored-by: Karthik Satchitanand <karthik.s@mayadata.io>
2021-06-18 10:28:40 +05:30
Soumya Ghosh Dastidar 2757bdefe1
Added error log for time discrepancy between workflow and engine resource (#2905)
* added error log for time discrepancy between workflow and engine resource

Signed-off-by: Soumya Ghosh Dastidar <gdsoumya@gmail.com>
2021-06-18 09:39:50 +05:30
Amit Kumar Das a0143c38cf
type(ux): Added error texts and fixed the probes table (#2904)
* Added error texts and error handling
* Minor refactoring

Signed-off-by: Amit Kumar Das <amit@chaosnative.com>
2021-06-17 15:04:53 +05:30
Arkajyoti Mukherjee 94fd8b0643
changed project_id from String to ID (#2903)
Signed-off-by: arkajyotiMukherjee <arko@chaosnative.com>
2021-06-17 13:51:19 +05:30
Arkajyoti Mukherjee 89994b15b7
WorkflowRun stats in workflow details page for analytics (#2898)
* Workflow stats completed as an analytics query

Signed-off-by: arkajyotiMukherjee <arko@chaosnative.com>

* Updated few comments

Signed-off-by: SarthakJain26 <sarthak@chaosnative.com>

* modified logic for failed experiments

Signed-off-by: arkajyotiMukherjee <arko@chaosnative.com>

* fix for weekly data in workflow stats

Signed-off-by: arkajyotiMukherjee <arko@chaosnative.com>

* minor change

Signed-off-by: arkajyotiMukherjee <arko@chaosnative.com>

* formatting change

Signed-off-by: arkajyotiMukherjee <arko@chaosnative.com>

Co-authored-by: SarthakJain26 <sarthak@chaosnative.com>
2021-06-17 11:45:14 +05:30
VEDANT SHROTRIA 348b9cc59b
Fixed the build issue for event-tracker. (#2901)
Signed-off-by: Jonsy13 <vedant.shrotria@chaosnative.com>
2021-06-16 02:17:19 +05:30
Shubham Chaudhary 2c541dfe25
feat(1.13.6): adding manifests for litmus-1.13.6 (#2895)
Signed-off-by: shubhamchaudhary <shubham@chaosnative.com>
2021-06-15 23:14:48 +05:30
VEDANT SHROTRIA 64a8b12b2b
Updated the Control plane to version 2.0.0-Beta8. (#2899)
* updated the Control plane to version 2.0.0-Beta8.

Signed-off-by: Jonsy13 <vedant.shrotria@chaosnative.com>

* updated operator, runner and exporter to v1.13.5.

Signed-off-by: Jonsy13 <vedant.shrotria@chaosnative.com>

* Update README.md

Co-authored-by: Raj Babu Das <mail.rajdas@gmail.com>
2021-06-15 22:02:07 +05:30
Soumya Ghosh Dastidar 4aec97ed27
Added fail check for stopped engine with no experiments (#2897)
* added fail check for stopped engine with no exps

Signed-off-by: Soumya Ghosh Dastidar <gdsoumya@gmail.com>

* goimports

Signed-off-by: Soumya Ghosh Dastidar <gdsoumya@gmail.com>
2021-06-15 18:16:22 +05:30
Ishan Gupta c4bfe5faf3
minor fixes for analytics (#2894)
Signed-off-by: ishangupta-ds <ishan@chaosnative.com>
2021-06-15 06:58:35 +00:00
Raj Babu Das fe709ecadd
Removing Argo server deployment from the agent list (#2893)
* Removin Argo server deployment from the agent list

Signed-off-by: Raj Das <raj@chaosnative.com>

* Removing Argo server env from the okteto manifest

Signed-off-by: Raj Das <raj@chaosnative.com>

* removing argoserver from agent-config

Signed-off-by: Raj Das <raj@chaosnative.com>
2021-06-15 09:42:56 +05:30
Saranya Jena 673a368454
Analytics graphs (#2892)
* Added radial chart in analytics

Signed-off-by: Saranya-jena <saranya@chaosnative.com>

* Added backend API for schedule stats

Signed-off-by: Saranya-jena <saranya@chaosnative.com>

* Prepended result and rounded of values for monthly data

Signed-off-by: Saranya-jena <saranya@chaosnative.com>

* Added documentation, filtering for weekly and hourly workflow schedule data

Signed-off-by: Saranya-jena <saranya@chaosnative.com>

* Graph WIP, query added, data format typed and formatting fixed

Signed-off-by: Vansh Bhatia <vansh@chaosnative.com>

* Added frontend integration for schedule stats graph

Signed-off-by: Saranya-jena <saranya@chaosnative.com>

* Backend - Schedule stats bug fixed and Run stats included in the same query

Signed-off-by: arkajyotiMukherjee <arko@chaosnative.com>

* Added frontend integration for run stats graph

Signed-off-by: Saranya-jena <saranya@chaosnative.com>

* resolved merge conflicts

Signed-off-by: Saranya-jena <saranya@chaosnative.com>

* fixed the import error in backend

Signed-off-by: Saranya-jena <saranya@chaosnative.com>

* deleted unused file

Signed-off-by: Saranya-jena <saranya@chaosnative.com>

* Changed the variables' names

Signed-off-by: Saranya-jena <saranya@chaosnative.com>

* Added interfaces from litmus-ui

Signed-off-by: Saranya-jena <saranya@chaosnative.com>

Co-authored-by: Vansh Bhatia <vansh@chaosnative.com>
Co-authored-by: arkajyotiMukherjee <arko@chaosnative.com>
2021-06-14 23:02:00 +05:30
Ishan Gupta 3ef78a10e3
(analytics): Frontend updates for Application dashboard and data source CRUD v2 (#2890)
* Updating frontend for analytics/monitoring app. dashboard CRUD-v2
* removing dev setup changes, updated dashboard links and added portal-dashboards.
* Fixing deep-scan issues.
* Minor fix
* fix package-lock
* fixing package-lock using lts of node & npm via nvm

Signed-off-by: ishangupta-ds <ishan@chaosnative.com>
2021-06-14 14:23:58 +05:30
Ishan Gupta ac79879512
(analytics): Backend updates for Application dashboard CRUD v2 (#2889)
* Updating backend for analytics/monitoring app. dashboard CRUD-v2

Signed-off-by: ishangupta-ds <ishan@chaosnative.com>

* Updating agent RBAC for pods, services and nodes.

Signed-off-by: ishangupta-ds <ishan@chaosnative.com>

* Fixing codacy issues.

Signed-off-by: ishangupta-ds <ishan@chaosnative.com>

* minor typo fix along with condition

Signed-off-by: ishangupta-ds <ishan@chaosnative.com>

* Fixed codacy issue

Signed-off-by: ishangupta-ds <ishan@chaosnative.com>
2021-06-14 13:40:14 +05:30
VEDANT SHROTRIA 454347e15c
Added Minor Fix for Resilience Score Calculation Logic and Namespaced mode agent registration. (#2885)
* Resilience Score Fix added.

Signed-off-by: Jonsy13 <vedant.shrotria@chaosnative.com>

* Fixed the namespace getting overridden issue in namespaced mode for external agents.

Signed-off-by: Jonsy13 <vedant.shrotria@chaosnative.com>
2021-06-14 11:38:28 +05:30
Vansh Bhatia a5aef8c798
Overview tab(Analytics) v2 (#2887)
* Overview Tab analytics, Header + sidebar UI updates

Signed-off-by: Vansh Bhatia <vansh@chaosnative.com>
2021-06-14 11:25:23 +05:30
Amit Kumar Das 245f333448
type(ux): Removed templates tab and minor change in jobCleanUpPolicy (#2886)
* Updated MyHub UI and minor change in jobCleanUpPolicy and removed templates tab
* Removed files related to templates
* Minor styles fix

Signed-off-by: Amit Kumar Das <amit@chaosnative.com>
2021-06-14 10:01:00 +05:30
Soumya Ghosh Dastidar 2913b0fcbd
Added endpoint for portal stats (#2891)
* added endpoint for portal stats

Signed-off-by: Soumya Ghosh Dastidar <gdsoumya@gmail.com>
2021-06-14 09:39:01 +05:30
Sayan Mondal 98129e963a
Updated Litmus-UI and added minor UI fixes (#2883)
* Updated Litmus-UI and added minor UI fixes
Signed-off-by: Sayan Mondal <sayan@chaosnative.com>
2021-06-11 16:24:10 +05:30
Sarthak Jain ac00e474f3
List workflow optimization (#2882)
* Optimized ListWorkflow query in backend and frontend along with minor style changes

Signed-off-by: SarthakJain26 <sarthak@chaosnative.com>

* generated go.sum

Signed-off-by: SarthakJain26 <sarthak@chaosnative.com>

* Added filter to filter out removed workflows

Signed-off-by: SarthakJain26 <sarthak@chaosnative.com>

* Added condition to check empty workflows

Signed-off-by: SarthakJain26 <sarthak@chaosnative.com>
2021-06-11 13:42:12 +05:30
Amit Kumar Das 0a7e623356
chore(litmus-portal): Added sync and terminate workflow feature and minor ux fixes (#2878)
* Added sync and terminate workflow and checks for upload manifest

Signed-off-by: Amit Kumar Das <amit@chaosnative.com>

* Fixed the delete schedule/workflow mutation

Signed-off-by: Amit Kumar Das <amit@chaosnative.com>

* Added minor UX fixes

Signed-off-by: Amit Kumar Das <amit@chaosnative.com>

* Minor styles fix

Signed-off-by: Amit Kumar Das <amit@chaosnative.com>
2021-06-10 23:23:05 +05:30
Prithvi Raj c3720aee5c
Update README.md (#2879) 2021-06-10 20:06:39 +05:30
Sayan Mondal 555e651c89
type(bugfix): Fixed Loader to Center + Added alert on Editor not being saved and trying to proceed 🐛 (#2872)
* Fixed Loader to Center + Added alert on Editor not being saved and trying to proceed
* Updating status colors and package lock
* Formatted Code
* Fetched latest and formatted

Signed-off-by: Sayan Mondal <sayan@chaosnative.com>
2021-06-10 12:39:56 +05:30
Amit Kumar Das c0d001df3f
Minor fix for pre-defined workflows (#2876)
Signed-off-by: Amit Kumar Das <amit@chaosnative.com>
2021-06-10 06:12:27 +00:00
Amit Kumar Das 81ce01f0df
Added filter for workflow runs and minor fix (#2874)
Signed-off-by: Amit Kumar Das <amit@chaosnative.com>
2021-06-09 22:22:14 +05:30
Raj Babu Das d554176487
remove circleci badge from readme (#2873)
Signed-off-by: Raj Das <raj@chaosnative.com>
2021-06-09 20:21:27 +05:30
Amit Kumar Das e414ea38cc
type(ux): Added myhub selection for pre-defined workflows (#2868)
* Added myhub selection for pre-defined workflows
* Removed commented code
* Minor change
* Fixed deepscan issue

Signed-off-by: Amit Kumar Das <amit@chaosnative.com>
2021-06-09 17:19:20 +05:30
Raj Babu Das ecc865f690
Adding API for sync and delete workflow (#2869)
* Adding workflow delete and sync option

Signed-off-by: Raj Das <raj@chaosnative.com>

* gofmt and gomod

Signed-off-by: Raj Das <raj@chaosnative.com>

* gofmt and gomod

Signed-off-by: Raj Das <raj@chaosnative.com>

* converting log to logrus

Signed-off-by: Raj Das <raj@chaosnative.com>

* converting log to logrus

Signed-off-by: Raj Das <raj@chaosnative.com>

* Adding isRemoved filter to getWorkflowRun Query

Signed-off-by: Raj Das <raj@chaosnative.com>

* minor change

Signed-off-by: Raj Das <raj@chaosnative.com>

* minor change

Signed-off-by: Raj Das <raj@chaosnative.com>

* minor change

Signed-off-by: Raj Das <raj@chaosnative.com>
2021-06-09 16:24:58 +05:30
Amit Kumar Das 89f29a2a74
type(ux): Added delete option in experiment table, fixed agent select radio buttons and minor ux changes (#2862)
* Added delete option in exp table, fixed select agent radio buttons and minor ux change
* Minor Radio Group Fix
* Minor CSS change

Signed-off-by: Amit Kumar Das <amit@chaosnative.com>
2021-06-09 12:48:48 +05:30
Udit Gaurav ed36c9c16a
Chore(multiarch): Build multiarch images for litmus portal components (#2858)
* Chore(multiarch): Build multiarch images for litmus portal components

Signed-off-by: uditgaurav <udit@chaosnative.com>

* Simplify Buildx command in push.yml and make PLATFORM tunable

Signed-off-by: uditgaurav <udit@chaosnative.com>

* Add go env in Dockerfile

Signed-off-by: uditgaurav <udit@chaosnative.com>

* Add README guide for the building portal images

* Add README guide for the building portal images

Signed-off-by: uditgaurav <udit@chaosnative.com>
2021-06-08 18:21:23 +05:30
Raj Babu Das b31d90de19
Adding support for workflow_delete and workflow_sync and restructuring directory of subscriber (#2866)
* Adding support for workflow_delete and workflow_sync and resturing directory structure

Signed-off-by: Raj Das <raj@chaosnative.com>

* Adding support for workflow_delete and workflow_sync and resturing directory structure

Signed-off-by: Raj Das <raj@chaosnative.com>

* Adding support for workflow_delete and workflow_sync and resturing directory structure

Signed-off-by: Raj Das <raj@chaosnative.com>

* go imports

Signed-off-by: Raj Das <raj@chaosnative.com>
2021-06-07 19:06:45 +05:30
Soumya Ghosh Dastidar 8730c7808a
Added chaos schedule support to portal backend (#2865)
* added chaos schedule support to backend

Signed-off-by: Soumya Ghosh Dastidar <gdsoumya@gmail.com>

* refactor

Signed-off-by: Soumya Ghosh Dastidar <gdsoumya@gmail.com>
2021-06-07 16:08:26 +05:30
Sayan Mondal d60fc52aa5
Fixing editor save issue when nothing is changes + Removing Kubernetes Conformance Test Header (#2864)
Signed-off-by: Sayan Mondal <sayan@chaosnative.com>
2021-06-07 13:41:04 +05:30
Arkajyoti Mukherjee aa5fe68456
Enhancement: Moving pagination, sorting and filtering of workflow runs table to the backend (#2829)
* added pagination for QueryWorkflowRuns

Signed-off-by: arkajyotiMukherjee <arko@chaosnative.com>

* filtering workflowRuns based on workflowRunIDs

Signed-off-by: arkajyotiMukherjee <arko@chaosnative.com>

* changed the API for getWorkflowRuns in frontend

Signed-off-by: arkajyotiMukherjee <arko@chaosnative.com>

* added pagination for frontend and refactored code to accomodate the changes

Signed-off-by: arkajyotiMukherjee <arko@chaosnative.com>

* Added Sorting and Filtering

Signed-off-by: SarthakJain26 <sarthak@chaosnative.com>

* sorting added from backend api call

Signed-off-by: arkajyotiMukherjee <arko@chaosnative.com>

* filtering removed from frontend and used backend APIs to filter data

Signed-off-by: arkajyotiMukherjee <arko@chaosnative.com>

* typed execution data in backend and sent common metadata from execution data in workflowruns hence reducing the data size in frontend; sorting based on workflowrun phase done in backend

Signed-off-by: arkajyotiMukherjee <arko@chaosnative.com>

* changing resiliency score to null in case of running workflows

Signed-off-by: arkajyotiMukherjee <arko@chaosnative.com>

* WIP: filtering and sorting done, pagination remaining

Signed-off-by: arkajyotiMukherjee <arko@chaosnative.com>

* pagination completed in database

Signed-off-by: arkajyotiMukherjee <arko@chaosnative.com>

* reverted ID -> String changes

Signed-off-by: arkajyotiMukherjee <arko@chaosnative.com>

* changed the sortStage

Signed-off-by: arkajyotiMukherjee <arko@chaosnative.com>

* Added condition to check no workflows

Signed-off-by: SarthakJain26 <sarthak@chaosnative.com>

* Pagination bug fix (#1)

* bug fix trails #1

Signed-off-by: arkajyotiMukherjee <arko@chaosnative.com>

* reverting local dev changes

Signed-off-by: arkajyotiMukherjee <arko@chaosnative.com>

* fixed the workflow subscription bugs...EVERYTHING FINALLY WORKS

Signed-off-by: arkajyotiMukherjee <arko@chaosnative.com>

* removed comments from config

Signed-off-by: arkajyotiMukherjee <arko@chaosnative.com>

* resolved review comments: translations, formatting and removing binary file

Signed-off-by: arkajyotiMukherjee <arko@chaosnative.com>

* fixed some bugs and added Execution data to types.go

Signed-off-by: arkajyotiMukherjee <arko@chaosnative.com>

* go fmt project

Signed-off-by: arkajyotiMukherjee <arko@chaosnative.com>

Co-authored-by: SarthakJain26 <sarthak@chaosnative.com>
2021-06-07 11:05:45 +05:30
Amit Kumar Das c77e5d24fe
Added podGC on revert-chaos (#2849)
Signed-off-by: Amit Kumar Das <amit@chaosnative.com>
2021-06-03 17:45:21 +05:30
Sayan Mondal a12d5ce067
Fixing Save template editor and fixing Finish button CSS + Vertically aligning Save alert (#2859)
Signed-off-by: Sayan Mondal <sayan@chaosnative.com>
2021-06-03 17:26:27 +05:30
Soumya Ghosh Dastidar f47ad82485
Backend Enhancements for Portal (#2861)
* added standalone chaosengine support and enhancements

Signed-off-by: Soumya Ghosh Dastidar <gdsoumya@gmail.com>
2021-06-03 17:21:44 +05:30
VEDANT SHROTRIA 045377e130
Added data-cy ids for tests and minor bug fix (#2843)
* Added test-identifier
* Added data-cy ids and minor bug fix.

Signed-off-by: Jonsy13 <vedant.shrotria@chaosnative.com>
2021-06-02 18:03:27 +05:30
Sayan Mondal 1b42462345
🔧 type(bugfix): Fixed Editor for Verify & Commit and Tune Workflow page 🔨 (#2857)
* Added Updated Editor
* Replaced Editor in Verify & Commit Page
* Fixing Editor cursor
* Added validation to Editor

Signed-off-by: Sayan Mondal <sayan@chaosnative.com>
2021-06-02 13:15:04 +05:30
Amit Kumar Das c638304960
chore(litmus-portal): Added validation in probes modal and minor fix (#2842)
* Added validation in probes modal and minor fix
* Minor change in directory structure and fixed template graph not rendering issue
* Minor regex change for validating ssh links

Signed-off-by: Amit Kumar Das <amit@chaosnative.com>
2021-05-31 09:34:15 +05:30
VEDANT SHROTRIA cd72a7a40a
Upgraded Images for Chaos-Operator, Runner and Exporter. (#2840)
* Upgraded versions of chaos-operator, runner and exporter.

Signed-off-by: Jonsy13 <vedant.shrotria@chaosnative.com>

* Added minor changes in actions workflow.

Signed-off-by: Jonsy13 <vedant.shrotria@chaosnative.com>
2021-05-27 12:27:30 +05:30
Amit Kumar Das fcdfecf8a1
chore(litmus-portal): Added pre-defined workflows in myhub and minor bug fix (#2837)
* Added pre-defined experiments in myhub and bug fix
* Minor change in query name

Signed-off-by: Amit Kumar Das <amit@chaosnative.com>
2021-05-27 11:21:20 +05:30
Amit Kumar Das 26d5bbb3c3
type(bug-fix): Added kubeobj fix for namespace mode, agent-config fix and isCustomworkflow field for template (#2832)
* Added kubeobj fix for namespace mode, agent-config fix and isCustomworkflow field
* Added authorization for api

Signed-off-by: Amit Kumar Das <amit@chaosnative.com>
2021-05-26 14:28:42 +05:30
Sayan Mondal ddcc7c7589
Fixed ux issue 28, 29 and 36 (#2835)
Signed-off-by: Sayan Mondal <sayan@chaosnative.com>
2021-05-25 13:33:08 +05:30
Sayan Mondal 6563d0f435
🔨 Making Graph Visualization Green + Fixing Editor UI (#2833)
Signed-off-by: Sayan Mondal <sayan@chaosnative.com>
2021-05-24 15:49:48 +05:30
Amit Kumar Das 0c49869d10
type(ux): Added time-stamp popover and download logs button (#2830)
* Added time pop-over and download logs functionality

Signed-off-by: Amit Kumar Das <amit@chaosnative.com>

* Minor translation fix

Signed-off-by: Amit Kumar Das <amit@chaosnative.com>
2021-05-24 13:35:34 +05:30
Prithvi Raj d790c05b8f
Update README.md (#2831) 2021-05-24 07:05:15 +00:00
Sayan Mondal e35c2b6d61
Fixed ux-issue 16, 38 and 39 (#2828)
Signed-off-by: Sayan Mondal <sayan@chaosnative.com>
2021-05-24 10:00:57 +05:30
Amit Kumar Das 661a2a3ecd
type(ui-refactor): Added edit MyHub drawer and minor directory restructure (#2827)
* Added edit drawer for myHub
* Added cancel button functionality

Signed-off-by: Amit Kumar Das <amit@chaosnative.com>
2021-05-24 09:57:15 +05:30
Sayan Mondal be94b251bc
type(ux): Adding enable schedule (ux-issue 14) + fixing ux issue 7 and 11 (#2824)
* Adding enable schedule (ux-issue 14) + fixing ux issue 7 and 11
* Updating logic for Disable and Enable schedule
* Removing comments

Signed-off-by: Sayan Mondal <sayan@chaosnative.com>
2021-05-20 17:39:48 +05:30
Amit Kumar Das 16866af9c0
type(ui-refactor): Updated MyHub UI and added connect myhub drawer (#2826)
* Updated the UI of MyHub and added add-hub drawer
* Added data-cy tags for e2e
* Minor css changes

Signed-off-by: Amit Kumar Das <amit@chaosnative.com>
2021-05-20 16:59:21 +05:30
Amit Kumar Das 4abf37b6ed
Updating service account of chaosengine before patching in workflow manifest (#2825)
Signed-off-by: Amit Kumar Das <amit@chaosnative.com>
2021-05-20 12:11:11 +05:30
Amit Kumar Das 41ecfc33ed
Added unit-test cases for workflow name and custom status (#2819)
* Added test cases for workflow name and custom status
* Minor change
* Added comments

Signed-off-by: Amit Kumar Das <amit@chaosnative.com>
2021-05-19 15:18:56 +05:30
Sayan Mondal 942441eb28
Fixed revert chaos deletion issue for Pre-Defined Workflows (#2822)
Signed-off-by: Sayan Mondal <sayan@chaosnative.com>
2021-05-19 12:09:44 +05:30
Sayan Mondal 9428a46a7b
type(ux): Fixed UX Issue 3, 4 and 10 🔨 🔨 (#2820)
* Fixed UX Issue 3, 4 and 10
* Fixed minor text issue
* Removing comments

Signed-off-by: Sayan Mondal <sayan@chaosnative.com>
2021-05-19 09:57:43 +05:30
VEDANT SHROTRIA 07d7901055
Added icon-Fix (#2821)
Signed-off-by: Jonsy13 <vedant.shrotria@chaosnative.com>
2021-05-18 20:21:15 +05:30
Soumya Ghosh Dastidar 5abf1cfc2b
Updated pod logs to fetch argo and experiment logs independently (#2815)
* updated pod logs to fetch argo and experiment logs independently

Signed-off-by: Soumya Ghosh Dastidar <gdsoumya@gmail.com>
2021-05-18 11:22:38 +05:30
Sayan Mondal 2252c2e08e
📝 Adding a beginner frinedly resource section 🚀🎉 (#2817)
Signed-off-by: Sayan Mondal <sayan@chaosnative.com>
2021-05-18 10:42:32 +05:30
Sayan Mondal 3ccb76f9a7
type(bugfix): 🐛 Fixed revert chaos not working after returning to tune worklfow and adding a new experiment 🐛 (#2814)
* Fixed revert chaos not working after returning to tune worklfow and adding a new experiment
* Removed extra comment

Signed-off-by: Sayan Mondal <sayan@chaosnative.com>
2021-05-18 10:13:54 +05:30
Raj Babu Das 3bd3efe4af
Upgrading to beta7 (#2816)
Signed-off-by: Raj Das <raj@chaosnative.com>
2021-05-17 17:35:09 +05:30
VEDANT SHROTRIA e7283195ea
Added CRD for Event-tracker (#2812)
Signed-off-by: Jonsy13 <vedant.shrotria@chaosnative.com>
2021-05-17 07:32:44 +00:00
Raj Babu Das 8c3d20abbd
upgrading litmusportal manifest to 2.0.0-Beta6 (#2810)
Signed-off-by: Raj Das <raj@chaosnative.com>
2021-05-15 23:54:26 +05:30
Shubham Chaudhary 7e11b45608
chore(1.13.5): Adding manifests for 1.13.5 & crds updation (#2809)
* chore(1.13.5): Adding manifests for 1.13.5 & crds updation

Signed-off-by: shubhamchaudhary <shubham@chaosnative.com>

* update(crd): adding node-selectors inside crds

Signed-off-by: shubhamchaudhary <shubham@chaosnative.com>
2021-05-15 21:00:59 +05:30
VEDANT SHROTRIA d6995d3cd7
Added one minor fix (#2808)
Signed-off-by: Jonsy13 <vedant.shrotria@chaosnative.com>
2021-05-15 13:02:07 +00:00
Amit Kumar Das a740c0885d
Fixed the query race conditions and handled few edge cases (#2807)
Signed-off-by: Amit Kumar Das <amit@chaosnative.com>
2021-05-15 17:26:37 +05:30
Hemanth Krishna 0278b93dc2
replace: workflow image (#2794)
Signed-off-by: Hemanth Krishna <hkpdev008@gmail.com>
2021-05-15 13:12:39 +05:30
Amit Kumar Das 36b78daedd
Handled edge case when no image registry is provided (#2806)
Signed-off-by: Amit Kumar Das <amit@chaosnative.com>
2021-05-14 22:39:49 +05:30
Soumya Ghosh Dastidar e52bdcea03
Added agent component live check (#2802)
* added agent component live check

Signed-off-by: Soumya Ghosh Dastidar <gdsoumya@gmail.com>

* go imports

Signed-off-by: Soumya Ghosh Dastidar <gdsoumya@gmail.com>

* moved to env var for component list

Signed-off-by: Soumya Ghosh Dastidar <gdsoumya@gmail.com>

* updated status check to use container status

Signed-off-by: Soumya Ghosh Dastidar <gdsoumya@gmail.com>
2021-05-14 20:24:56 +05:30
Ishan Gupta 3464f06466
fix for editor (#2805)
Signed-off-by: ishangupta-ds <ishan@chaosnative.com>
2021-05-14 14:25:54 +00:00
Amit Kumar Das f5131a6d43
Fixed workflow name issue, added info popover for private image registry (#2803)
* Fixed workflow name issue, added info popover for private image registry
* Minor change

Signed-off-by: Amit Kumar Das <amit@chaosnative.com>
2021-05-14 18:40:16 +05:30
Raj Babu Das 02eb9b688b
changing all docker image repo name to litmuschaos (#2801)
* change all docker image repo name to litmuschaos

Signed-off-by: Raj Das <raj@chaosnative.com>

* oketeto

Signed-off-by: Raj Das <raj@chaosnative.com>
2021-05-14 18:15:14 +05:30
Ishan Gupta d400bf8434
fixing minor style issue (#2800)
Signed-off-by: ishangupta-ds <ishan@chaosnative.com>
2021-05-14 15:02:27 +05:30
Sayan Mondal 47658ffe70
Solving context issues for experiments + Fixing workflow name length 👷 (#2799)
Signed-off-by: Sayan Mondal <sayan@chaosnative.com>
2021-05-14 13:12:17 +05:30
Ishan Gupta c3950f7572
(portal - analytics / monitoring): Updating outdated directory structure on frontend and re-enabling tooltip on litmus-ui graphs (#2797)
* updating outdated directory structure
* minor change
* minor fix
* re-enabled tooltip
* removing some disabled linting checks for unused vars.

Signed-off-by: ishangupta-ds <ishan@chaosnative.com>
2021-05-14 11:10:40 +05:30
Amit Kumar Das daa135898b
chore(litmus-portal): Added image-registry changes in workflow manifest (#2795)
* Added image-registry changes in workflow manifest
* Minor edge case
* Minor edge case
* Fixed edge case for revert chaos image registry change

Signed-off-by: Amit Kumar Das <amit@chaosnative.com>
2021-05-14 10:31:59 +05:30
Sayan Mondal 78a3f4ebcf
Fixes overflowing experiment bug in Edit Sequence + Increases Table height for better visuailzation (#2785)
Signed-off-by: Sayan Mondal <sayan@chaosnative.com>
2021-05-14 10:23:11 +05:30
Sayan Mondal 7f5df118c5
Added validation to Verify & commit page (#2796)
Signed-off-by: Sayan Mondal <sayan@chaosnative.com>
2021-05-14 10:14:53 +05:30
Saswata Mukherjee b07c8c12a0
Fix editor issues (#2784)
Signed-off-by: Saswata Mukherjee <saswataminsta@yahoo.com>
2021-05-13 12:14:52 +00:00
Amit Kumar Das 74113278bd
Added pre-defined experiment from default chaos hub and workflow_name label in chaos engine (#2791)
* Addpre-defined experiments from default chaos hub and workflow name label
* Minor change

Signed-off-by: Amit Kumar Das <amit@chaosnative.com>
2021-05-13 14:55:08 +05:30
Ishan Gupta bb6772d604
(Portal - Analytics/Monitoring): Removing data mapping and filtering, adding new typed queries & fixing minor style issues (#2787)
* removed chaos selection table, mongoDB and prometheus data mapping from frontend and interleaving for chaos events.
* minor fix
* updates
* adding seriesList API
* Removed unused variable.
* schema update
* minor updates for styles
* normalised schema
* Updates after review.
* minor fixes

Signed-off-by: ishangupta-ds <ishan@chaosnative.com>
2021-05-13 12:47:44 +05:30
rnachire 7de384a574
Feature/adding anutanetworks as adopter (#2789)
* Adding Anuta Networks as Adopter by Rajesh Reddy N

Co-authored-by: Rajesh Reddy N <nrajesh@anutanetworks.com>
2021-05-13 12:28:38 +05:30
Amit Kumar Das ba744c5139
chore(litmus-portal): Added image registry frontend integration (#2786)
* Added image registry frontend integration
* Added constants
* Added network-policy
* Minor translatin fix
* Minor changes

Signed-off-by: Amit Kumar Das <amit@chaosnative.com>
2021-05-13 10:43:59 +05:30
Ishan Gupta 81a9747458
(Portal - Analytics/Monitoring): Adding APIs for fetching series list and (label, values), in-memory caching, concurrent requests & moving data pre-processing pipeline. (#2780)
* Adding in memory cache, error handling, data filtering and validation, api for fetching labels and values for a prometheus series.

Signed-off-by: ishangupta-ds <ishan@chaosnative.com>

* minor fix

Signed-off-by: ishangupta-ds <ishan@chaosnative.com>

* minor fix

Signed-off-by: ishangupta-ds <ishan@chaosnative.com>

* minor fix

Signed-off-by: ishangupta-ds <ishan@chaosnative.com>

* minor fix

Signed-off-by: ishangupta-ds <ishan@chaosnative.com>

* minor fixes

Signed-off-by: ishangupta-ds <ishan@chaosnative.com>

* adding seriesList API

Signed-off-by: ishangupta-ds <ishan@chaosnative.com>

* Timestamps converted to float64

Signed-off-by: ishangupta-ds <ishan@chaosnative.com>

* minor update for response schema

Signed-off-by: ishangupta-ds <ishan@chaosnative.com>

* normalised schema and changed cache file directory

Signed-off-by: ishangupta-ds <ishan@chaosnative.com>
2021-05-12 14:09:08 +00:00
Ishan Gupta c52f68251d
(monitoring): Readme, dashboard and service fixes (#2792)
* Readme fix and pre loaded dashboard update.
* Sock shop dashboard, readme update and service nodePort update for grafana.

Signed-off-by: ishangupta-ds <ishan@chaosnative.com>
2021-05-12 19:28:43 +05:30
Soumya Ghosh Dastidar a97d191acd
fixed overridden workflow labels (#2790)
Signed-off-by: Soumya Ghosh Dastidar <gdsoumya@gmail.com>
2021-05-12 12:23:59 +00:00
Ishan Gupta c0f154a2d9
Bug fix for sock shop dashboard. (#2788)
Signed-off-by: ishangupta-ds <ishan@chaosnative.com>
2021-05-12 16:10:48 +05:30
VEDANT SHROTRIA 94a1c38e62
Added changes for handling Node Phases edge cases. [Omitted/ Skipped/ Error] (#2779)
* Added Image Fixes.

Signed-off-by: Jonsy13 <vedant.shrotria@chaosnative.com>

* Added Minor changes for Vertical Mode.

Signed-off-by: Jonsy13 <vedant.shrotria@chaosnative.com>
2021-05-12 14:56:56 +05:30
Saswata Mukherjee 2555d265f8
Fix MyHub input validation (#2781)
Signed-off-by: Saswata Mukherjee <saswataminsta@yahoo.com>
2021-05-12 08:29:57 +00:00
Sayan Mondal 6c20e5f417
Fixed Predefined Workflow Name population issue + Cleansed Verify & Commit Page 🎨 (#2782)
Signed-off-by: Sayan Mondal <sayan@chaosnative.com>
2021-05-12 11:06:13 +05:30
Raj Babu Das b961fc0330
Adding image registry graphql APIs (Create, Get, Delete, Update, List) (#2774)
* Adding image registry apis

Signed-off-by: Raj Das <mail.rajdas@gmail.com>

* Adding image registry apis

Signed-off-by: Raj Das <raj@chaosnative.com>

* Adding image registry apis

Signed-off-by: Raj Das <raj@chaosnative.com>

* goimport fix

Signed-off-by: Raj Das <raj@chaosnative.com>

* minor fix

Signed-off-by: Raj Das <raj@chaosnative.com>
2021-05-12 02:47:42 +05:30
Saranya Jena 3fdc7e1cdd
Edit project frontend integration (#2777)
* Added GQL integration for Edit project from teaming

Signed-off-by: Saranya-jena <saranya@chaosnative.com>

* added translations

Signed-off-by: Saranya-jena <saranya@chaosnative.com>

* removed unused CSS

Signed-off-by: Saranya-jena <saranya@chaosnative.com>
2021-05-11 15:14:14 +00:00
OUM NIVRATHI KALE 1e74868004
removed kube-proxy workflow (#2778)
Signed-off-by: Oum Kale <oumkale@chaosnative.com>
2021-05-11 12:59:21 +00:00
Sarthak Jain fdce7b296c
Gitops rbac (#2776)
* Added RBAC for Gitops

Signed-off-by: SarthakJain26 <sarthak@chaosnative.com>
2021-05-11 16:21:08 +05:30
Amit Kumar Das e10716d4ba
chore(litmus-portal): Updated workflow generation logic and added predefined myhub api (#2773)
* Updated workflow generation logic and added predefined myhub apis
* Minor lint change
* Minor change
* Added eslint disable
* Changed the logic for revert chaos

Signed-off-by: Amit Kumar Das <amit@chaosnative.com>
2021-05-11 16:15:19 +05:30
Sayan Mondal 7597746efa
Fixed Verify & Commit page issue with updated Editable Text (#2775)
* Fixed Verify & Commit page issue with updated Editable Text

Signed-off-by: Sayan Mondal <sayan@chaosnative.com>

* Removed Validation Css

Signed-off-by: Sayan Mondal <sayan@chaosnative.com>
2021-05-11 14:39:02 +05:30
Sayan Mondal 3e95250ae2
🔨 Fixed next button bug as mentioned in https://github.com/litmuschaos/litmus-e2e/issues/254\#issuecomment-830050502 🔧 🔧 (#2772)
Signed-off-by: Sayan Mondal <sayan@chaosnative.com>
2021-05-10 17:26:56 +05:30
Sarthak Jain 340f37d30f
Creating default project for users 🚀 (#2771)
* Creating default project for users

Signed-off-by: SarthakJain26 <sarthak@chaosnative.com>

* Removed GetStarted directory from views

Signed-off-by: SarthakJain26 <sarthak@chaosnative.com>

* Reverted changes in config file

Signed-off-by: SarthakJain26 <sarthak@chaosnative.com>
2021-05-10 13:52:39 +05:30
Shubham Chaudhary 5de205159c
chore(manifests): Adding manifests for 1.13.4 (#2770)
Signed-off-by: shubhamchaudhary <shubham@chaosnative.com>
2021-05-10 11:38:11 +05:30
Arkajyoti Mukherjee 91fd200783
Created mongo interface and refactored the database operations [This is preparation to create mock interfaces for unit testing] (#2746)
* added mongo interface; created addtional file for switching between the collections and one for all db CRUD operations

Signed-off-by: arkajyotiMukherjee <arko@chaosnative.com>

* modified usermanagement and projects with the new mongo structure; made logging and errors and comments consistent

Signed-off-by: arkajyotiMukherjee <arko@chaosnative.com>

* added the changes for workflow db operations

Signed-off-by: arkajyotiMukherjee <arko@chaosnative.com>

* added the changes for myHub db operations

Signed-off-by: arkajyotiMukherjee <arko@chaosnative.com>

* added the changes for gitops db operations

Signed-off-by: arkajyotiMukherjee <arko@chaosnative.com>

* minor changes for gitops db operations

Signed-off-by: arkajyotiMukherjee <arko@chaosnative.com>

* added the changes for cluster db operations

Signed-off-by: arkajyotiMukherjee <arko@chaosnative.com>

* added the changes for analytics db operations and added comments to the operations.go file

Signed-off-by: arkajyotiMukherjee <arko@chaosnative.com>

* calling the initialize function and instantiating the mongo client

Signed-off-by: arkajyotiMukherjee <arko@chaosnative.com>

* import order fixed

Signed-off-by: arkajyotiMukherjee <arko@chaosnative.com>
2021-05-07 22:57:49 +05:30
Adrian Gonciarz 59db04e1b1
add kitopi to ADOPTERS.md (#2764)
* add kitopi to ADPOTERS.md

Signed-off-by: Adrian Gonciarz <adrian.gonciarz@kitopi.com>
2021-05-04 22:10:07 +05:30
Udit Gaurav 7b1f6e44a4
Chore(Beta4): Add litmus-portal manifest for Beta4 version (#2762)
Signed-off-by: uditgaurav <udit@chaosnative.com>
2021-05-03 10:56:52 +00:00
Raj Babu Das ed299459bf
Upgrading LitmusPortal to Beta5 (#2761)
Signed-off-by: Raj Das <mail.rajdas@gmail.com>
2021-05-01 03:21:50 +05:30
Raj Babu Das 59904a4bd7
Minor SA fix in eventtracker (namespace) (#2760)
Signed-off-by: Raj Das <mail.rajdas@gmail.com>
2021-05-01 02:43:24 +05:30
Raj Babu Das 2bfbf68366
Fixing RBAC of eventtracker (namespace) (#2759)
Signed-off-by: Raj Das <mail.rajdas@gmail.com>
2021-05-01 01:00:28 +05:30
Ishan Gupta 3cb48ea748
Minor fix for ns mode- agent scope to be taken from cluster registration request (#2758)
* minor fix for ns mode

Signed-off-by: ishangupta-ds <ishan@chaosnative.com>

* minor fix

Signed-off-by: ishangupta-ds <ishan@chaosnative.com>

* minor fix

Signed-off-by: ishangupta-ds <ishan@chaosnative.com>
2021-04-30 21:41:05 +05:30
Ishan Gupta 1a578f34a5
fixes for ns scope (#2757)
Signed-off-by: ishangupta-ds <ishan@chaosnative.com>
2021-04-30 21:02:52 +05:30
Amit Kumar Das abf1bf655a
Subscriber permissions for namespace mode (#2756)
Signed-off-by: Amit Kumar Das <amit@chaosnative.com>
2021-04-30 18:34:44 +05:30
Sayan Mondal 2e508fb62a
Fixed Breaking Upload YAML (#2754)
Signed-off-by: Sayan Mondal <sayan@chaosnative.com>
2021-04-30 16:54:07 +05:30
Amit Kumar Das d7ab273be9
Created utility for dynamic namespace while workflow creation (#2755)
Signed-off-by: Amit Kumar Das <amit@chaosnative.com>
2021-04-30 16:53:42 +05:30
Sayan Mondal 307e744ae8
Added Viewer permission + Fixed Alert when no cluster is available (#2753)
Signed-off-by: Sayan Mondal <sayan@chaosnative.com>
2021-04-30 14:15:39 +05:30
Saswata Mukherjee 00db84134d
type(testing): Adding unit tests for Reliability Score and Weight Slider (#2678)
* Add tests for workflow v2

Signed-off-by: Saswata Mukherjee <saswataminsta@yahoo.com>

* Updating tests

Signed-off-by: Sayan Mondal <sayan@chaosnative.com>

Co-authored-by: Sayan Mondal <sayan@chaosnative.com>
2021-04-30 11:58:41 +05:30
Sayan Mondal ead180b34c
Minor style fix (#2752)
Signed-off-by: Sayan Mondal <sayan@chaosnative.com>
2021-04-30 11:25:46 +05:30
Amit Kumar Das a1c6c5d767
chore(litmus-portal) : Fixed the argo graph crashing issue, workflow persistence for MyHub and added context for pre-defined workflows (#2751)
* Fixed workflow persistence issue for MyHub and fixed the workflow sequencing
* Added context for pre-defined workflows and minor changes in vertical stepper
* Minor fix

Signed-off-by: Amit Kumar Das <amit@chaosnative.com>
2021-04-30 10:25:33 +05:30
Amit Kumar Das fad3a04e60
chore(litmus-portal): Added subject and context fields while workflow creation and fixed some minor bugs (#2747)
* Added subject and context while workflow creation and minor bug fixes

Signed-off-by: Amit Kumar Das <amit@chaosnative.com>

* Fixed deepscan issue and minor changes

Signed-off-by: Amit Kumar Das <amit@chaosnative.com>

* Minor fix

Signed-off-by: Amit Kumar Das <amit@chaosnative.com>

* Minor style fix

Signed-off-by: Amit Kumar Das <amit@chaosnative.com>
2021-04-28 11:55:59 +05:30
Sayan Mondal ea1c8aa03e
type: bugfix -- Fixed Edit and Schedule navigation + Added finish button wait loader (#2745)
* type: bugfix -- Fixed Edit and Schedule navigation + Added finish button wait loader 

Signed-off-by: Sayan Mondal <sayan@chaosnative.com>
2021-04-27 17:30:20 +05:30
Sayan Mondal f5f50591d0
Adding UT for ChooseWorkflow (#2703)
* Adding UT for ChooseWorkflow

Signed-off-by: Sayan Mondal <sayan@chaosnative.com>
2021-04-27 11:21:14 +05:30
Sayan Mondal f55f8f68f6
🩹 Fixing edit sequence 🩹 (#2743)
* 🩹 Fixing edit sequence 🩹

Signed-off-by: Sayan Mondal <sayan@chaosnative.com>
2021-04-27 11:20:52 +05:30
Saswata Mukherjee 03e1dcaa8a
chore(litmus-portal): Change AddExperimentModal to use RadioButton (#2720)
* Change AddExperimentModal to use RadioButton
* Remove br

Signed-off-by: Saswata Mukherjee <saswataminsta@yahoo.com>
2021-04-26 15:44:20 +05:30
Saswata Mukherjee cf55467bb7
chore(litmus-portal): Add units to AddProbe modal (#2731)
* Add units to AddProbe modal
* Add translation

Signed-off-by: Saswata Mukherjee <saswataminsta@yahoo.com>
2021-04-26 15:42:59 +05:30
Amit Kumar Das 06320ee3c8
Added validation in probes modal and fixed the type issue while probe creation (#2738)
* Added validation in probes modal and fixed the type issue while probes creation
* Added error text in tune workflow step and delete experiment functionality

Signed-off-by: Amit Kumar Das <amit@chaosnative.com>
2021-04-26 15:41:51 +05:30
Soumya Ghosh Dastidar d22b8acb0b
Added argo instanceid, discard older results with same engine name (#2740)
* Added argo instanceid, discard older results with same engine name

Signed-off-by: Soumya Ghosh Dastidar <gdsoumya@gmail.com>

* added log

Signed-off-by: Soumya Ghosh Dastidar <gdsoumya@gmail.com>
2021-04-26 12:11:25 +05:30
Ritik Srivastava c5179da323
appinfo undefined bug fix (#2742)
* appinfo undefined bug fix

Signed-off-by: Ritik Srivastava <ritik@chaosnative.com>
2021-04-26 10:54:11 +05:30
Sayan Mondal f592e88b36
Minor Icon Fix (#2741)
* Minor Icon Fix

Signed-off-by: Sayan Mondal <sayan@chaosnative.com>
2021-04-26 10:29:21 +05:30
Sayan Mondal 1fe6445649
Updating Sequence Visualization (#2736)
* Updating Sequence Visualization 

Signed-off-by: Sayan Mondal <sayan@chaosnative.com>
2021-04-25 19:20:33 +05:30
Vansh Bhatia f48ede9008
Home page UX feedbacks addressed, removed ID selectors (#2737)
Signed-off-by: Vansh Bhatia <vansh@chaosnative.com>
2021-04-22 18:27:57 +05:30
Amit Kumar Das 575d96f592
Added parallel and serial sequencing of experiments (#2734)
* Added parallel and serial sequencing of experiments
Signed-off-by: Amit Kumar Das <amit@chaosnative.com>
2021-04-22 14:08:04 +05:30
Ritik Srivastava 217204d6bb
shrink and expand bug fix (#2733)
Signed-off-by: Ritik Srivastava <ritik@chaosnative.com>
2021-04-21 19:19:30 +05:30
Ishan Gupta 8826a1878e
Adding argument for forcing the CNE to user given value instead of docker/default for workflow controller. (#2732)
* adding argument for forcing the CNE to user given value instead of docker/default.

Signed-off-by: ishangupta-ds <ishan@chaosnative.com>

* update for argument passing

Signed-off-by: ishangupta-ds <ishan@chaosnative.com>
2021-04-21 16:59:09 +05:30
Ishan Gupta d48699c34c
pns to k8sapi CRE for argo on okteto (#2730)
Signed-off-by: ishangupta-ds <ishan@chaosnative.com>
2021-04-21 08:07:05 +05:30
Karthik Satchitanand eee07c8847
(chore)version-update: update versions of portal components to 2.0.0Beta4 (#2729)
* (chore)version-update: update versions of portal components to 2.0.0Beta4

Signed-off-by: ksatchit <karthik.s@mayadata.io>

* (chore)readme: update readme with latest version numbers for beta

Signed-off-by: ksatchit <karthik.s@mayadata.io>
2021-04-21 08:02:00 +05:30
Ishan Gupta 449e13dcda
minor readme fix (#2728)
Signed-off-by: ishangupta-ds <ishan@chaosnative.com>
2021-04-21 04:47:20 +05:30
3206 changed files with 822471 additions and 160477 deletions

View File

@ -1,204 +0,0 @@
---
apiVersion: v1
kind: ConfigMap
metadata:
name: litmus-portal-admin-config
data:
AgentScope: cluster
AgentNamespace: litmus
DataBaseServer: "mongodb://mongo-service:27017"
JWTSecret: "litmus-portal@123"
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: litmusportal-frontend
labels:
component: litmusportal-frontend
spec:
replicas: 1
selector:
matchLabels:
component: litmusportal-frontend
template:
metadata:
labels:
component: litmusportal-frontend
spec:
containers:
- name: litmusportal-frontend
image: #{portal-frontend}
imagePullPolicy: Always
ports:
- containerPort: 80
---
apiVersion: v1
kind: Service
metadata:
name: litmusportal-frontend-service
spec:
type: NodePort
ports:
- name: http
port: 9091
targetPort: 8080
selector:
component: litmusportal-frontend
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: litmusportal-server
labels:
component: litmusportal-server
spec:
replicas: 1
selector:
matchLabels:
component: litmusportal-server
template:
metadata:
labels:
component: litmusportal-server
spec:
containers:
- name: graphql-server
image: #{portal-server}
env:
- name: DB_SERVER
valueFrom:
configMapKeyRef:
name: litmus-portal-admin-config
key: DataBaseServer
- name: JWT_SECRET
valueFrom:
configMapKeyRef:
name: litmus-portal-admin-config
key: JWTSecret
- name: SELF_CLUSTER
value: "false"
- name: AGENT_SCOPE
valueFrom:
configMapKeyRef:
name: litmus-portal-admin-config
key: AgentScope
- name: AGENT_NAMESPACE
valueFrom:
configMapKeyRef:
name: litmus-portal-admin-config
key: AgentNamespace
- name: LITMUS_PORTAL_NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- name: PORTAL_SCOPE
value: "cluster"
- name: SUBSCRIBER_IMAGE
value: #{subscriber}
- name: ARGO_SERVER_IMAGE
value: "argoproj/argocli:v2.9.3"
- name: ARGO_WORKFLOW_CONTROLLER_IMAGE
value: "argoproj/workflow-controller:v2.9.3"
- name: ARGO_WORKFLOW_EXECUTOR_IMAGE
value: "argoproj/argoexec:v2.9.3"
- name: LITMUS_CHAOS_OPERATOR_IMAGE
value: "litmuschaos/chaos-operator:1.8.2"
- name: LITMUS_CHAOS_RUNNER_IMAGE
value: "litmuschaos/chaos-runner:1.8.2"
ports:
- containerPort: 8080
imagePullPolicy: Always
- name: auth-server
image: #{auth-server}
env:
- name: DB_SERVER
valueFrom:
configMapKeyRef:
name: litmus-portal-admin-config
key: DataBaseServer
- name: JWT_SECRET
valueFrom:
configMapKeyRef:
name: litmus-portal-admin-config
key: JWTSecret
- name: ADMIN_USERNAME
value: "admin"
- name: ADMIN_PASSWORD
value: "litmus"
ports:
- containerPort: 3000
imagePullPolicy: Always
---
apiVersion: v1
kind: Service
metadata:
name: litmusportal-server-service
spec:
type: NodePort
ports:
- name: graphql-server
port: 9002
targetPort: 8080
- name: auth-server
port: 9003
targetPort: 3000
selector:
component: litmusportal-server
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: mongo
labels:
app: mongo
spec:
replicas: 1
selector:
matchLabels:
component: database
template:
metadata:
labels:
component: database
spec:
containers:
- name: mongo
image: mongo:4.2.8
ports:
- containerPort: 27017
imagePullPolicy: Always
volumeMounts:
- name: mongo-persistent-storage
mountPath: /data/db
volumes:
- name: mongo-persistent-storage
persistentVolumeClaim:
claimName: mongo-pv-claim
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: mongo-pv-claim
labels:
app: mongo
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 20Gi
---
apiVersion: v1
kind: Service
metadata:
labels:
app: mongo
name: mongo-service
spec:
ports:
- port: 27017
targetPort: 27017
selector:
component: database
---

View File

@ -1,25 +0,0 @@
{
"cmd":["echo Litmus-Portal"],
"build":[{
"name":"portal-frontend",
"file":"litmus-portal/frontend/Dockerfile",
"context":"litmus-portal/frontend",
"push": true
},{
"name":"portal-server",
"file":"litmus-portal/graphql-server/build/Dockerfile",
"context":"litmus-portal/graphql-server",
"push":true
},{
"name":"auth-server",
"file":"litmus-portal/authentication/Dockerfile",
"context":"litmus-portal/authentication",
"push":true
},{
"name":"subscriber",
"file":"litmus-portal/cluster-agents/subscriber/build/Dockerfile",
"context":"litmus-portal/cluster-agents/subscriber",
"push":true
}],
"k8s-manifest":".betterci/ci-k8s-manifest.yml"
}

View File

@ -1,12 +0,0 @@
component_depth: 2
languages:
- go
- typescript
exclude:
- /build/plugins/.*
- /build/utils/.*
- /litmus-portal/graphql-server/graph/generated/.*
- /litmus-portal/graphql-server/graph/model/.*
test:
include:
- /litmus-portal/frontend/src/.*

3
.codacy.yaml Normal file
View File

@ -0,0 +1,3 @@
---
exclude_paths:
- "chaoscenter/web/src/api/auth/**"

6
.gitattributes vendored Normal file
View File

@ -0,0 +1,6 @@
*.go linguist-detectable=true
*.css linguist-detectable=false
*.js linguist-detectable=false
*.ts linguist-detectable=false
*.html linguist-detectable=false
*.tsx linguist-detectable=false

119
.github/BUILD_IMAGE.md vendored Normal file
View File

@ -0,0 +1,119 @@
## How to Build LitmusPortal Docker Images?
The litmusportal runs on top of Kubernetes and is built on a set of docker containers it provides you the flexibility to build a custom image to visualize/check
your changes. Here are the components for which you can create your custom Docker images from this repository:
- GraphQL Server
- Cluster Agents: Subscriber, Event Tracker
- Web UI (Frontend)
Follow the given steps to build custom Docker images:
**Clone litmus repository**
- We need to clone (forked or base) the litmus repository and make the required changes (if any).
```bash
git clone http://github.com/litmuschaos/litmus
cd litmus/litmus-portal
```
- The litmus portal component also supports the multiarch builds that are the builds on different `OS` and `ARCH`. Currently, the images are tested to be working
for `linux/amd64` and `linux/arm64`builds.
#### Docker Image Build Tunables
<table>
<tr>
<th> Variables </th>
<th> Description </th>
<th> Example </th>
</tr>
<tr>
<td> REPONAME </td>
<td> Provide the DockerHub user/organisation name of the image. </td>
<td> <code>REPONAME=example-repo-name</code> <br> used as <code>example-repo-name/litmusportal-server:ci</code></td>
</tr>
<tr>
<td> IMAGE_NAME </td>
<td> Provide the custom image name for the specific component. </td>
<td> <code>IMAGE_NAME=example-image-name</code> <br> used as <code>litmuschaos/example-image-name:ci</code></td>
</tr>
<tr>
<td> IMAGE_TAG </td>
<td> Provide the custom image tag for the specific build. </td>
<td> <code>IMAGE_TAG=example-tag</code> <br> used as <code>litmuschaos/litmusportal-server:example-tag</code></td>
</tr>
<tr>
<td> PLATFORMS </td>
<td> Provide the target platforms for the image as CSV. <br>The tested ones are <code>linux/amd64</code> and <code>linux/arm64</code> </td>
<td> <code>PLATFORMS=linux/amd64,linux/arm64</code></td>
</tr>
<tr>
<td> DIRECTORY </td>
<td> Provide the directory according to the component directory structure. </td>
<td> Different <code>DIRECTORY</code> values are:<br>
<li> <b>GraphQL Server:</b> "graphql-server" <br>
<li> <b>Subscriber:</b> "cluster-agents/subscriber" <br>
<li> <b>Event Tracker:</b> "cluster-agents/event-tracker" <br>
<li> <b>Frontend:</b> N/A</td>
</tr>
</table>
### For AMD64 Build
- To build only amd64 image export the variables from the above table.
- Run `make push-portal-component-amd64`
- For frontend image export the `timestamp` env with the current time and run `make push-frontend-amd64`.
OR
- Fill the ENVs from the above table in the given command and execute it.
```bash
cd ${DIRECTORY}
docker build . -f Dockerfile -t ${REPONAME}/${IMAGE_NAME}:${IMG_TAG} --build-arg TARGETARCH=amd64
docker push ${REPONAME}/${IMAGE_NAME}:${IMG_TAG}
```
For frontend image:
```bash
cd frontend
docker build . -f Dockerfile -t $(REPONAME)/$(IMAGE_NAME):${IMG_TAG} --build-arg TARGETARCH=amd64 --build-arg REACT_APP_KB_CHAOS_VERSION=${IMG_TAG} \
--build-arg REACT_APP_BUILD_TIME="${timestamp}" --build-arg REACT_APP_HUB_BRANCH_NAME="v1.13.x
docker push $(REPONAME)/$(IMAGE_NAME):$(IMG_TAG)
```
### For building multi-arch images
- For building multi-arch image setup [docker buildx](https://docs.docker.com/buildx/working-with-buildx/) in your system. You can also check out this [blog](https://dev.to/uditgaurav/multiarch-support-in-litmuschaos-34da) for the same.
- Once the docker buildx is setup export all the target platforms on which you want to deploy your images as a CSV Like `export PLATFORMS=linux/amd4,linux/arm64` along with the ENVs mentioned
in the above table.
- Build and push the multi-arch image using:
```bash
make push-portal-component
```
- For frontend image export the `timestamp` ENV with the current time and run `make push-frontend`.
OR
- Fill the ENVs from the above table in the given command and execute it.
```bash
cd ${DIRECTORY}
docker buildx build -f Dockerfile --progress plain --push --no-cache --platform ${PLATFORMS} -t ${REPONAME}/$(IMAGE_NAME):$(IMG_TAG} .
```
For frontend image:
```bash
cd ${DIRECTORY}
docker buildx build . -f Dockerfile --progress plain --push --no-cache --platform ${PLATFORMS} -t ${REPONAME}/${IMAGE_NAME}:${IMG_TAG} \
--build-arg REACT_APP_KB_CHAOS_VERSION=${IMG_TAG} --build-arg REACT_APP_BUILD_TIME="${timestamp}" --build-arg REACT_APP_HUB_BRANCH_NAME="v1.13.x"
```

View File

@ -1,7 +1,9 @@
---
name: "\U0001f41b Bug report"
name: "\U0001F41B Bug report"
about: Create a report to help improve the project
title: ''
labels: bug
assignees: ''
---
@ -20,6 +22,9 @@ labels: bug
**What you expected to happen**:
**Where can this issue be corrected? (optional)**
<!-- provide additional information about the file location or directory that needs to be modified to fix this issue, if available -->
**How to reproduce it (as minimally and precisely as possible)**:
**Anything else we need to know?**:

View File

@ -1,7 +1,9 @@
---
name: "\U0001f6f8 Feature request"
name: "\U0001F6F8 Feature request"
about: Suggest an idea that will improve the project
labels: enhancement
title: ''
labels: ''
assignees: ''
---

33
.github/ISSUE_TEMPLATE/maintainer.md vendored Normal file
View File

@ -0,0 +1,33 @@
---
name: Organization Maintainer Request
about: Request to become a maintianer in LitmusChaos Org
title: "REQUEST: Promote <your-GH-handle> to maintainer for LitmusChaos"
labels: type/maintainer-request
assignees: ""
---
### GitHub Username
@<your-GH-handle>
### Requirements
- [ ] I have reviewed [the community role guidelines](/community-roles.md)
- [ ] I have [enabled 2FA on my GitHub account](https://github.com/settings/security)
- [ ] I am an active member of 1 or more LitmusChaos subprojects for atleast the last 6 months.
- [ ] I am an active participant in issue/PR reviews for atleast 2 subprojects and for the past 6 months.
- [ ] I have been involved in technical and project discussions with other maintainers.
- [ ] I have atleast one sponsor that meet the sponsor requirements listed in the community role guidelines
- [ ] I have spoken to my sponsor ahead of this application, and they have agreed to sponsor my application
- [ ] I understand that I can [make my membership public](https://docs.github.com/en/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-membership-in-organizations/publicizing-or-hiding-organization-membership) if I'd like to once I am invited to the organization
### Sponsors
- @<sponsor-1>
- @<sponsor-2>
### List of contributions to the LitmusChaos project
- PRs reviewed / authored
- Issues responded to
- Projects I am involved with

31
.github/ISSUE_TEMPLATE/member.md vendored Normal file
View File

@ -0,0 +1,31 @@
---
name: Organization Member Request
about: Request membership in LitmusChaos Org
title: "REQUEST: New member request for <your-GH-handle>"
labels: type/member-request
assignees: ""
---
### GitHub Username
@<your-GH-handle>
### Requirements
- [ ] I have reviewed [the community role guidelines](/community-roles.md)
- [ ] I have [enabled 2FA on my GitHub account](https://github.com/settings/security)
- [ ] I am actively contributing to 1 or more LitmusChaos subprojects
- [ ] I have atleast one sponsor that meet the sponsor requirements listed in the community role guidelines
- [ ] I have spoken to my sponsor ahead of this application, and they have agreed to sponsor my application
- [ ] I understand that I can [make my membership public](https://docs.github.com/en/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-membership-in-organizations/publicizing-or-hiding-organization-membership) if I'd like to once I am invited to the organization
### Sponsors
- @<sponsor-1>
- @<sponsor-2>
### List of contributions to the LitmusChaos project
- PRs reviewed / authored
- Issues responded to
- Projects I am involved with

View File

@ -1,7 +1,10 @@
---
name: "\U0001F914 Question"
about: Question not answered in our community meetings, Docs or Readme.
labels: question
title: ''
labels: ''
assignees: ''
---
## Question

33
.github/ISSUE_TEMPLATE/reviewer.md vendored Normal file
View File

@ -0,0 +1,33 @@
---
name: Organization Reviewer Request
about: Request reviewer membership in LitmusChaos Org
title: "REQUEST: Promote <your-GH-handle> to reviewer for LitmusChaos"
labels: type/reviewer-request
assignees: ""
---
### GitHub Username
@<your-GH-handle>
### Requirements
- [ ] I have reviewed [the community role guidelines](/community-roles.md)
- [ ] I have [enabled 2FA on my GitHub account](https://github.com/settings/security)
- [ ] I am an active member of 1 or more LitmusChaos subprojects for atleast the last 3 months.
- [ ] I am an active participant in issue/PR reviews for atleast 1 month.
- [ ] I have reviewed or authored atleast 5 significant PRs.
- [ ] I have atleast one sponsor that meet the sponsor requirements listed in the community role guidelines
- [ ] I have spoken to my sponsor ahead of this application, and they have agreed to sponsor my application
- [ ] I understand that I can [make my membership public](https://docs.github.com/en/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-membership-in-organizations/publicizing-or-hiding-organization-membership) if I'd like to once I am invited to the organization
### Sponsors
- @<sponsor-1>
- @<sponsor-2>
### List of contributions to the LitmusChaos project
- PRs reviewed / authored
- Issues responded to
- Projects I am involved with

View File

@ -0,0 +1,23 @@
---
name: Security Issue
about: Report the potential vulnerability or security issue
title: 'seclog: [Event Description] '
labels: security, vulnerability
assignees: Saranya-jena, Jonsy13, SarthakJain26
---
### Summary
_Short summary of the problem. Make the impact and severity as clear as possible. For example: An unsafe deserialization vulnerability allows any unauthenticated user to execute arbitrary code on the server._
### Details
_Give all details on the vulnerability. Pointing to the incriminated source code is very helpful for the maintainer._
### PoC
_Complete instructions, including specific configuration details, to reproduce the vulnerability._
### Impact
_What kind of vulnerability is it? Who is impacted?_
### Remediation
_Propose a remediation suggestion if you have one. Make it clear that this is just a suggestion, as the maintainer might have a better idea to fix the issue._

21
.github/dependabot.yml vendored Normal file
View File

@ -0,0 +1,21 @@
version: 2
updates:
- package-ecosystem: "gomod"
directory: "chaoscenter/authentication"
schedule:
interval: "daily"
- package-ecosystem: "gomod"
directory: "chaoscenter/event-tracker"
schedule:
interval: "daily"
- package-ecosystem: "gomod"
directory: "chaoscenter/subscriber"
schedule:
interval: "daily"
- package-ecosystem: "gomod"
directory: "chaoscenter/graphql/server"
schedule:
interval: "daily"

View File

@ -3,23 +3,9 @@ set -e
working_dir="litmus-portal"
# Array of Image Names
image_names=("litmusportal-frontend:ci" "litmusportal-server:ci" "litmusportal-auth-server:ci")
# Array of DockerFile Paths
dockerfile_paths=("frontend" "graphql-server/build" "authentication")
# Array of directories, for which images have to be build if changed
directory_array=("frontend" "graphql-server" "authentication")
declare -A MYMAP=( [frontend]="litmusportal-frontend:ci" [graphql-server]="litmusportal-server:ci" [authentication]="litmusportal-auth-server:ci" )
# Building the images on the basic of changes in paths
for i in "${!directory_array[@]}"
do
current_dir=$(echo "$working_dir/${directory_array[$i]}")
nofchanges=$(echo $changed_data | jq -r '[.[]."filename"] | join("\n")' | tr -d '"' | grep ^$current_dir | wc -l)
if [ $nofchanges != 0 ]
then
docker build $current_dir -t litmuschaos/${image_names[$i]} -f $working_dir/${dockerfile_paths[$i]}/Dockerfile
kind load docker-image litmuschaos/${image_names[$i]} --name kind
fi
done
current_dir=$(echo "$working_dir/$directory")
mkdir Images
DOCKER_BUILDKIT=1 docker build $current_dir -t litmuschaos/${MYMAP[$directory]} -f $working_dir/${directory}/Dockerfile
docker save "litmuschaos/${MYMAP[$directory]}" > Images/${directory}.tar

View File

@ -4,7 +4,9 @@ on:
branches:
- master
- v*
- litmus-v2
env:
DOCKER_BUILDKIT: 1 # Enable Docker_buildkit in all build jobs
jobs:
changes:
@ -14,39 +16,60 @@ jobs:
frontend: ${{ steps.filter.outputs.frontend }}
graphql-server: ${{ steps.filter.outputs.graphql-server }}
authentication: ${{ steps.filter.outputs.authentication }}
event-tracker: ${{ steps.filter.outputs.event-tracker }}
subscriber: ${{ steps.filter.outputs.subscriber }}
event-tracker: ${{ steps.filter.outputs.event-tracker }}
dex-server: ${{ steps.filter.outputs.dex-server }}
steps:
# For pull requests it's not necessary to checkout the code
- uses: dorny/paths-filter@v2
id: filter
with:
filters: |
frontend:
- 'litmus-portal/frontend/**'
graphql-server:
- 'litmus-portal/graphql-server/**'
authentication:
- 'litmus-portal/authentication/**'
event-tracker:
- 'litmus-portal/cluster-agents/event-tracker/**'
subscriber:
- 'litmus-portal/cluster-agents/subscriber/**'
# For pull requests it's not necessary to checkout the code
- uses: dorny/paths-filter@v3
id: filter
with:
filters: |
frontend:
- 'chaoscenter/web/**'
graphql-server:
- 'chaoscenter/graphql/server/**'
authentication:
- 'chaoscenter/authentication/**'
subscriber:
- 'chaoscenter/subscriber/**'
event-tracker:
- 'chaoscenter/event-tracker/**'
dex-server:
- 'chaoscenter/dex-server/**'
gitleaks-scan:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Run GitLeaks
run: |
wget https://github.com/gitleaks/gitleaks/releases/download/v8.18.2/gitleaks_8.18.2_linux_x64.tar.gz && \
tar -zxvf gitleaks_8.18.2_linux_x64.tar.gz && \
sudo mv gitleaks /usr/local/bin && gitleaks detect --source . -v
backend-checks:
runs-on: ubuntu-latest
needs: changes
if: needs.changes.outputs.graphql-server == 'true' || needs.changes.outputs.authentication == 'true' || needs.changes.outputs.event-tracker == 'true' || needs.changes.outputs.subscriber == 'true'
if: needs.changes.outputs.graphql-server == 'true' || needs.changes.outputs.authentication == 'true' || needs.changes.outputs.subscriber == 'true' || needs.changes.outputs.event-tracker == 'true' || needs.changes.outputs.dex-server == 'true'
steps:
- name: Checkout repository
uses: actions/checkout@v2
uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
go-version: "1.22" # By default, the go version is v1.15 in runner.
- name: Check Golang imports order
uses: Jerome1337/goimports-action@v1.0.3
with:
goimports-path: ./litmus-portal
- shell: bash
goimports-path: ./chaoscenter
- name: Backend checks
shell: bash
run: |
cd litmus-portal
cd chaoscenter
make backend-services-checks
frontend-checks:
@ -55,72 +78,131 @@ jobs:
if: ${{ needs.changes.outputs.frontend == 'true' }}
steps:
- name: Checkout repository
uses: actions/checkout@v2
uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 16
- name: Frontend checks
shell: bash
run: |
cd litmus-portal
cd chaoscenter
make frontend-services-checks
backend-unit-tests:
runs-on: ubuntu-latest
needs:
- changes
- backend-checks
steps:
- name: Checkout repository
uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
go-version: "1.22" # By default, the go version is v1.15 in runner.
- name: Backend unit tests
shell: bash
run: |
cd chaoscenter
make backend-unit-tests
web-unit-tests:
runs-on: ubuntu-latest
needs:
- changes
- frontend-checks
steps:
- name: Checkout repository
uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 16
- name: Chaoscenter web unit tests
shell: bash
run: |
cd chaoscenter
make web-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
uses: actions/checkout@v2
uses: actions/checkout@v4
- name: Build graphql server docker image
shell: bash
run: |
cd litmus-portal/graphql-server
docker build . -f build/Dockerfile
cd chaoscenter/graphql/server
docker build . -f Dockerfile -t docker.io/litmuschaos/litmusportal-server:${{ github.sha }} --build-arg TARGETARCH=amd64
- name: Run Trivy vulnerability scanner
uses: aquasecurity/trivy-action@master
with:
image-ref: 'docker.io/litmuschaos/litmusportal-server:${{ github.sha }}'
format: 'table'
exit-code: '1'
ignore-unfixed: true
vuln-type: 'os,library'
severity: 'CRITICAL,HIGH'
docker-build-authentication-server:
runs-on: ubuntu-latest
needs:
- backend-checks
- changes
# - backend-unit-tests
if: ${{ needs.changes.outputs.authentication == 'true' }}
steps:
- name: Checkout code
uses: actions/checkout@v2
uses: actions/checkout@v4
- name: Build auth server docker image
shell: bash
run: |
cd litmus-portal/authentication
docker images && docker build . -f Dockerfile
cd chaoscenter/authentication
docker build . -f Dockerfile -t docker.io/litmuschaos/litmusportal-auth-server:${{ github.sha }} --build-arg TARGETARCH=amd64
- name: Run Trivy vulnerability scanner
uses: aquasecurity/trivy-action@master
with:
image-ref: 'docker.io/litmuschaos/litmusportal-auth-server:${{ github.sha }}'
format: 'table'
exit-code: '1'
ignore-unfixed: true
vuln-type: 'os,library'
severity: 'CRITICAL,HIGH'
docker-build-subscriber:
runs-on: ubuntu-latest
needs:
- backend-checks
- changes
# - backend-unit-tests
if: ${{ needs.changes.outputs.subscriber == 'true' }}
steps:
- name: Checkout code
uses: actions/checkout@v2
uses: actions/checkout@v4
- name: Build subscriber docker image
shell: bash
run: |
cd litmus-portal/cluster-agents/subscriber
docker build . -f build/Dockerfile
cd chaoscenter/subscriber
docker build . -f Dockerfile -t docker.io/litmuschaos/litmusportal-subscriber:${{ github.sha }} --build-arg TARGETARCH=amd64
docker-build-event-tracker:
runs-on: ubuntu-latest
needs:
- backend-checks
- changes
if: ${{ needs.changes.outputs.event-tracker == 'true' }}
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Build event tracker docker image
shell: bash
run: |
cd litmus-portal/cluster-agents/event-tracker
docker build . -f Dockerfile
- name: Run Trivy vulnerability scanner
uses: aquasecurity/trivy-action@master
with:
image-ref: 'docker.io/litmuschaos/litmusportal-subscriber:${{ github.sha }}'
format: 'table'
exit-code: '1'
ignore-unfixed: true
vuln-type: 'os,library'
severity: 'CRITICAL,HIGH'
docker-build-frontend:
runs-on: ubuntu-latest
@ -130,9 +212,77 @@ jobs:
if: ${{ needs.changes.outputs.frontend == 'true' }}
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Build frontend docker image
uses: actions/checkout@v4
- name: yarn build check
run: |
cd chaoscenter/web && yarn && yarn build
- name: web docker build check
shell: bash
run: |
cd litmus-portal/frontend
docker build . -f Dockerfile
cd chaoscenter/web
docker build . -f Dockerfile --build-arg TARGETARCH=amd64 -t docker.io/litmuschaos/litmusportal-frontend:${{ github.sha }}
- name: Run Trivy vulnerability scanner
uses: aquasecurity/trivy-action@master
with:
image-ref: 'docker.io/litmuschaos/litmusportal-frontend:${{ github.sha }}'
format: 'table'
exit-code: '1'
ignore-unfixed: true
vuln-type: 'os,library'
severity: 'CRITICAL,HIGH'
docker-build-event-tracker:
runs-on: ubuntu-latest
needs:
- backend-checks
- changes
# - backend-unit-tests
if: ${{ needs.changes.outputs.event-tracker == 'true' }}
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Build event tracker docker image
shell: bash
run: |
cd chaoscenter/event-tracker
docker build . -f Dockerfile -t docker.io/litmuschaos/litmusportal-event-tracker:${{ github.sha }} --build-arg TARGETARCH=amd64
- name: Run Trivy vulnerability scanner
uses: aquasecurity/trivy-action@master
with:
image-ref: 'docker.io/litmuschaos/litmusportal-event-tracker:${{ github.sha }}'
format: 'table'
exit-code: '1'
ignore-unfixed: true
vuln-type: 'os,library'
severity: 'CRITICAL,HIGH'
docker-build-dex-server:
runs-on: ubuntu-latest
needs:
- backend-checks
- changes
if: ${{ needs.changes.outputs.dex-server == 'true' }}
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Build dex-server docker image
shell: bash
run: |
cd chaoscenter/dex-server
docker images && docker build . -f Dockerfile -t docker.io/litmuschaos/litmusportal-dex-server:${{ github.sha }} --build-arg TARGETARCH=amd64
- name: Run Trivy vulnerability scanner
uses: aquasecurity/trivy-action@master
with:
image-ref: 'docker.io/litmuschaos/litmusportal-dex-server:${{ github.sha }}'
format: 'table'
exit-code: '0'
ignore-unfixed: true
vuln-type: 'os,library'
severity: 'CRITICAL,HIGH'

46
.github/workflows/cifuzz.yml vendored Normal file
View File

@ -0,0 +1,46 @@
name: CIFuzz
on:
pull_request:
paths:
- 'chaoscenter/authentication/**'
- 'chaoscenter/graphql/**'
- 'chaoscenter/subscriber/**'
permissions: {}
jobs:
Fuzzing:
runs-on: ubuntu-latest
permissions:
security-events: write
strategy:
fail-fast: false
matrix:
sanitizer: [address]
steps:
- name: Build Fuzzers (${{ matrix.sanitizer }})
id: build
uses: google/oss-fuzz/infra/cifuzz/actions/build_fuzzers@master
with:
oss-fuzz-project-name: 'litmuschaos'
language: go
sanitizer: ${{ matrix.sanitizer }}
- name: Run Fuzzers (${{ matrix.sanitizer }})
uses: google/oss-fuzz/infra/cifuzz/actions/run_fuzzers@master
with:
oss-fuzz-project-name: 'litmuschaos'
language: go
fuzz-seconds: 120
sanitizer: ${{ matrix.sanitizer }}
output-sarif: true
- name: Upload Crash
uses: actions/upload-artifact@v4
if: failure() && steps.build.outcome == 'success'
with:
name: ${{ matrix.sanitizer }}-artifacts
path: ./out/artifacts
- name: Upload Sarif
if: always() && steps.build.outcome == 'success'
uses: github/codeql-action/upload-sarif@v2
with:
# Path to SARIF file relative to the root of the repository
sarif_file: cifuzz-sarif/results.sarif
checkout_path: cifuzz-sarif

71
.github/workflows/codeql-analysis.yml vendored Normal file
View File

@ -0,0 +1,71 @@
# For most projects, this workflow file will not need changing; you simply need
# to commit it to your repository.
#
# You may wish to alter this file to override the set of languages analyzed,
# or to provide custom queries or build logic.
#
# ******** NOTE ********
# We have attempted to detect the languages in your repository. Please check
# the `language` matrix defined below to confirm you have the correct set of
# supported CodeQL languages.
#
name: "CodeQL"
on:
push:
branches: [ master, 0.9.x, 2.*, v* ]
pull_request:
# The branches below must be a subset of the branches above
branches: [ master ]
schedule:
- cron: '21 2 * * 2'
jobs:
analyze:
name: Analyze
runs-on: ubuntu-latest
permissions:
actions: read
contents: read
security-events: write
strategy:
fail-fast: false
matrix:
language: [ 'go', 'javascript' ]
# CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python' ]
# Learn more:
# https://docs.github.com/en/free-pro-team@latest/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#changing-the-languages-that-are-analyzed
steps:
- name: Checkout repository
uses: actions/checkout@v4
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v3
with:
languages: ${{ matrix.language }}
# If you wish to specify custom queries, you can do so here or in a config file.
# By default, queries listed here will override any specified in a config file.
# Prefix the list here with "+" to use these queries and those in the config file.
# queries: ./path/to/local/query, your-org/your-repo/queries@main
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild
uses: github/codeql-action/autobuild@v3
# Command-line programs to run using the OS shell.
# 📚 https://git.io/JvXDl
# ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
# and modify them (or add more) to build your code if your project
# uses a compiled language
#- run: |
# make bootstrap
# make release
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v3

View File

@ -2,14 +2,95 @@ name: Litmus-CI
on:
issue_comment:
types: [created]
push:
branches:
- master
jobs:
tests:
if: contains(github.event.comment.html_url, '/pull/') && startsWith(github.event.comment.body, '/run')
runs-on: ubuntu-20.04
# Job for finding last commit sha of pull-request
find-latest-commit-sha:
if: contains(github.event.comment.html_url, '/pull/') && startsWith(github.event.comment.body, '/run-e2e')
runs-on: ubuntu-latest
outputs:
commit-sha: ${{ steps.getcommit.outputs.sha }}
steps:
- uses: octokit/request-action@v2.x
id: get_PR_commits
with:
route: GET /repos/${{ github.repository }}/pull_number/${{ github.event.issue.number }}/commits
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: set commit to output
id: getcommit
run: |
prsha=$(echo $response | jq '.[-1].sha' | tr -d '"')
echo "sha=$prsha" >> $GITHUB_OUTPUT
env:
response: ${{ steps.get_PR_commits.outputs.data }}
find-changes:
if: contains(github.event.comment.html_url, '/pull/') && startsWith(github.event.comment.body, '/run-e2e')
runs-on: ubuntu-latest
needs: find-latest-commit-sha
# Set job outputs to values from filter step
outputs:
changed-paths: ${{ steps.filter.outputs.changes }}
steps:
- uses: actions/checkout@v4
with:
ref: ${{ needs.find-latest-commit-sha.outputs.commit-sha }}
fetch-depth: 0
- uses: dorny/paths-filter@v3
id: filter
with:
ref: ${{ needs.find-latest-commit-sha.outputs.commit-sha }}
filters: |
frontend:
- 'litmus-portal/frontend/**'
graphql-server:
- 'litmus-portal/graphql-server/**'
authentication:
- 'litmus-portal/authentication/**'
docker-build-image:
if: contains(github.event.comment.html_url, '/pull/') && startsWith(github.event.comment.body, '/run-e2e')
runs-on: ubuntu-latest
needs: [find-latest-commit-sha, find-changes]
strategy:
# Matrix of changed directories for building images in parallel
matrix:
path: ${{ fromJSON(needs.find-changes.outputs.changed-paths) }}
steps:
- uses: actions/checkout@v4
with:
ref: ${{ needs.find-latest-commit-sha.outputs.commit-sha }}
fetch-depth: 0
- name: Building Docker-Image for ${{ matrix.path }}
run: |
chmod 755 ./.github/filter_and_build.sh
./.github/filter_and_build.sh
env:
directory: ${{ matrix.path }}
- name: upload docker artifacts
uses: actions/upload-artifact@v4
with:
name: Docker-Images
path: Images
tests:
if: contains(github.event.comment.html_url, '/pull/') && startsWith(github.event.comment.body, '/run-e2e')
needs: [docker-build-image]
runs-on: ubuntu-18.04
steps:
- name: Checkout litmus-E2E Repository
uses: actions/checkout@v4
with:
repository: litmuschaos/litmus-e2e
path: litmus-e2e
- name: Notification for Starting Testing.
uses: peter-evans/create-or-update-comment@v1
@ -18,137 +99,81 @@ jobs:
body: |
****
**Test Status:** The testing has been started please wait for the results ...
#Using the last commit id of pull request
- uses: octokit/request-action@v2.x
id: get_PR_commits
with:
route: GET /repos/:repo/pulls/:pull_number/commits
repo: ${{ github.repository }}
pull_number: ${{ github.event.issue.number }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: set commit to output
id: getcommit
run: |
prsha=$(echo $response | jq '.[-1].sha' | tr -d '"')
echo "::set-output name=sha::$prsha"
env:
response: ${{ steps.get_PR_commits.outputs.data }}
- uses: actions/checkout@v2
with:
ref: ${{steps.getcommit.outputs.sha}}
fetch-depth: 0
- uses: octokit/request-action@v2.x
if: startsWith(github.event.comment.body, '/run-e2e')
name: Getting the files changed in current Pull-Request
id: get_files
with:
route: GET /repos/:repo/pulls/:pull_number/files
repo: ${{ github.repository }}
pull_number: ${{ github.event.issue.number }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Setting up KinD Cluster
if: startsWith(github.event.comment.body, '/run-e2e')
uses: engineerd/setup-kind@v0.5.0
with:
version: "v0.7.0"
run: kind create cluster --wait 5m
- name: Configuring and Testing the Cluster Installation
if: startsWith(github.event.comment.body, '/run-e2e')
run: |
kubectl cluster-info --context kind-kind
kind get kubeconfig --internal >$HOME/.kube/config
kubectl get nodes
kubectl get pods -n kube-system
- name: Filtering the file paths and building images on the basic of changed files
if: startsWith(github.event.comment.body, '/run-e2e')
- name: download docker artifacts
uses: actions/download-artifact@v4
with:
name: Docker-Images
path: Images
# Loading all build images of changed components in KIND Cluster
- name: loading the docker build artifacts into KIND Cluster
run: |
chmod 755 ./.github/filter_and_build.sh
./.github/filter_and_build.sh
env:
changed_data: ${{steps.get_files.outputs.data}}
ls -1 Images/*.tar | xargs --no-run-if-empty -L 1 kind load image-archive
- name: Deploying the litmus-portal for E2E testing
if: startsWith(github.event.comment.body, '/run-e2e')
run: |
wget https://raw.githubusercontent.com/litmuschaos/litmus/master/litmus-portal/cluster-k8s-manifest.yml
sed -i 's/Always/IfNotPresent/g' cluster-k8s-manifest.yml
kubectl apply -f cluster-k8s-manifest.yml
kubectl get pods -n litmus
kubectl get deployments -o wide -n litmus
kubectl wait --for=condition=Ready pods --all --namespace litmus --timeout=120s
source ./litmus-e2e/litmus/utils.sh
verify_all_components frontend,server litmus
wait_for_pods litmus 720
- name: Getting the ENV variables for using while testing
if: startsWith(github.event.comment.body, '/run-e2e')
run: |
export frontendPodName=$(kubectl get pods -l component=litmusportal-frontend --template '{{range .items}}{{.metadata.name}}{{"\n"}}{{end}}' -n litmus)
export frontendPodPort=$(kubectl get pod $frontendPodName --template='{{(index (index .spec.containers 0).ports 0).containerPort}}{{"\n"}}' --namespace litmus)
kubectl port-forward $frontendPodName -n litmus 3001:$frontendPodPort &
- name: Setting Dependencies
uses: actions/setup-node@v1
if: startsWith(github.event.comment.body, '/run-unit')
with:
working-directory: litmus-portal/frontend
export NODE_NAME=$(kubectl -n litmus get pod -l "component=litmusportal-frontend" -o=jsonpath='{.items[*].spec.nodeName}')
export NODE_IP=$(kubectl -n litmus get nodes $NODE_NAME -o jsonpath='{.status.addresses[?(@.type=="InternalIP")].address}')
export NODE_PORT=$(kubectl -n litmus get -o jsonpath="{.spec.ports[0].nodePort}" services litmusportal-frontend-service)
export AccessURL="http://$NODE_IP:$NODE_PORT"
echo "URL=$AccessURL" >> $GITHUB_ENV
- name: Installing Dependencies for frontend.
if: startsWith(github.event.comment.body, '/run-unit')
run: |
HUSKY_SKIP_INSTALL=1 npm i
working-directory: litmus-portal/frontend
# Step for running all frontend Cypress unit tests.
- name: Starting cypress unit tests
if: startsWith(github.event.comment.body, '/run-unit')
uses: cypress-io/github-action@v2
continue-on-error: false
with:
command: npm run unit:ci
install: false
working-directory: litmus-portal/frontend
# Cloning the litmus-e2e repo for E2E tests.
- name: Cloning the litmus-e2e Repo
if: startsWith(github.event.comment.body, '/run-e2e')
run: |
git clone https://github.com/litmuschaos/litmus-e2e.git -b litmus-portal
- name: Running basic tests (Login and Welcome Modal Tests)
if: startsWith(github.event.comment.body, '/run-e2e-AuthTests') || startsWith(github.event.comment.body, '/run-e2e')
- name: Portal Authentication Tests
if: always()
uses: cypress-io/github-action@v2
continue-on-error: false
with:
spec: cypress/integration/Basic_Setup/**/*.spec.js
working-directory: litmus-e2e/CypressE2E/
working-directory: litmus-e2e/Cypress/
config-file: cypress.prod.json
env: true
env:
CYPRESS_BASE_URL: ${{ env.URL }}
- name: Teaming and Account Settings Tests
if: startsWith(github.event.comment.body, '/run-e2e-Settings')
uses: cypress-io/github-action@v2
continue-on-error: false
with:
spec: cypress/integration/Parallel_Tests/Account_Settings/*.spec.js
working-directory: litmus-e2e/CypressE2E/
config-file: cypress.prod.json
- name: Verifying Execution Plane components
if: always()
run: |
source ./litmus-e2e/litmus/utils.sh
verify_all_components ${COMPONENTS} litmus
wait_for_pods litmus 720
env:
COMPONENTS: subscriber,chaos-exporter,chaos-operator-ce,event-tracker,workflow-controller
- name: Run all E2E tests
if: startsWith(github.event.comment.body, '/run-e2e-all')
- name: Post Authentication Tests
if: always()
uses: cypress-io/github-action@v2
continue-on-error: false
with:
spec: cypress/integration/Parallel_Tests/**/*.spec.js
working-directory: litmus-e2e/CypressE2E
working-directory: litmus-e2e/Cypress/
config-file: cypress.prod.json
env: true
env:
CYPRESS_BASE_URL: ${{ env.URL }}
- name: Check the test run
if: |
startsWith(github.event.comment.body, '/run-unit') || startsWith(github.event.comment.body, '/run-e2e')
if: always()
run: |
echo "TEST_RUN=true" >> $GITHUB_ENV
@ -189,15 +214,5 @@ jobs:
RUN_ID: ${{ github.run_id }}
- name: Deleting KinD cluster
if: startsWith(github.event.comment.body, '/run-e2e')
if: always()
run: kind delete cluster
merge:
if: contains(github.event.comment.html_url, '/pull/') && startsWith(github.event.comment.body, '/merge')
runs-on: ubuntu-latest
steps:
- name: Add a merge label when all jobs are passed
uses: actions-ecosystem/action-add-labels@v1
with:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
labels: merge

27
.github/workflows/gh-pages.yaml vendored Normal file
View File

@ -0,0 +1,27 @@
name: Deploy Docs
on:
push:
branches:
- master
jobs:
deploy:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v4
- name: Setup Python
uses: actions/setup-python@v1
with:
python-version: 3.x
- name: build docs
run: |
cd mkdocs
pip install mkdocs mkdocs_material
mkdocs build
- name: deploy docs
uses: peaceiris/actions-gh-pages@v2.5.0
env:
PERSONAL_TOKEN: ${{ secrets.PERSONAL_TOKEN }}
PUBLISH_BRANCH: gh-pages
PUBLISH_DIR: ./mkdocs/site

View File

@ -3,37 +3,43 @@ on:
push:
branches:
- master
- v*
- ^v[0-9]*.[0-9]*.x$
tags:
- "*"
defaults:
run:
working-directory: chaoscenter
shell: bash
jobs:
backend-checks:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v2
- shell: bash
run: |
cd litmus-portal
uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
go-version: "1.22" # By default, the go version is v1.15 in runner.
- run: |
make backend-services-checks
frontend-checks:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v2
- shell: bash
run: |
cd litmus-portal
uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 16
- run: |
make frontend-services-checks
get-envs:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v2
- shell: bash
run: |
uses: actions/checkout@v4
- run: |
img_tag=""
array=(`echo ${GITHUB_REF} | sed 's/\//\n/g'`)
if [ ${array[1]} == "tags" ]
@ -53,11 +59,13 @@ jobs:
echo export FRONTEND_IMAGE="litmusportal-frontend" >> env-vars
echo export SUBSCRIBER_IMAGE="litmusportal-subscriber" >> env-vars
echo export EVENT_TRACKER="litmusportal-event-tracker" >> env-vars
echo export DEX_SERVER="litmusportal-dex-server" >> env-vars
- name: Uploading envs
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v4
with:
name: env_artifact
path: env-vars
path: chaoscenter/env-vars
docker-build-and-push-graphql-server:
runs-on: ubuntu-latest
@ -66,32 +74,36 @@ jobs:
- backend-checks
steps:
- name: Checkout code
uses: actions/checkout@v2
uses: actions/checkout@v4
- name: Downloading image artficate
uses: actions/download-artifact@v2
uses: actions/download-artifact@v4
with:
name: env_artifact
- name: Build graphql server docker image
shell: bash
run: |
source env-vars
cd litmus-portal/graphql-server
docker build . -f build/Dockerfile -t ${{ secrets.REPONAME }}/${GRAPHQL_SERVER_IMAGE}:${IMG_TAG}
path: chaoscenter
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v1
with:
version: latest
- name: Login to DockerHub
uses: docker/login-action@v1
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Push graphql server docker image
shell: bash
env:
IMAGE_NAME: ${GRAPHQL_SERVER_IMAGE}
IMG_TAG: ${IMG_TAG}
PLATFORMS: ${{ secrets.PLATFORMS }}
REPONAME: ${{ secrets.REPONAME }}
DIRECTORY: "graphql/server"
run: |
branch=${GITHUB_REF#refs/*/}
array=(`echo ${GITHUB_REF} | sed 's/\//\n/g'`)
if [ $branch == "master" ] || [ ${array[1]} == "tags" ] || [[ $branch =~ ^v[0-9]*.[0-9]*.x$ ]]
then
source env-vars
docker push ${{ secrets.REPONAME }}/${GRAPHQL_SERVER_IMAGE}:${IMG_TAG}
fi
source env-vars
make push-portal-component
docker-build-and-push-authentication-server:
runs-on: ubuntu-latest
@ -100,32 +112,36 @@ jobs:
- backend-checks
steps:
- name: Checkout code
uses: actions/checkout@v2
uses: actions/checkout@v4
- name: Downloading image artficate
uses: actions/download-artifact@v2
uses: actions/download-artifact@v4
with:
name: env_artifact
- name: Build auth server docker image
shell: bash
run: |
source env-vars
cd litmus-portal/authentication
docker images && docker build . -f Dockerfile -t ${{ secrets.REPONAME }}/${AUTHENTICATION_SERVER_IMAGE}:${IMG_TAG}
path: chaoscenter
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v1
with:
version: latest
- name: Login to DockerHub
uses: docker/login-action@v1
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Push auth server docker image
shell: bash
env:
IMAGE_NAME: ${AUTHENTICATION_SERVER_IMAGE}
IMG_TAG: ${IMG_TAG}
PLATFORMS: ${{ secrets.PLATFORMS }}
REPONAME: ${{ secrets.REPONAME }}
DIRECTORY: "authentication"
run: |
branch=${GITHUB_REF#refs/*/}
array=(`echo ${GITHUB_REF} | sed 's/\//\n/g'`)
if [ $branch == "master" ] || [ ${array[1]} == "tags" ] || [[ $branch =~ ^v[0-9]*.[0-9]*.x$ ]]
then
source env-vars
docker push ${{ secrets.REPONAME }}/${AUTHENTICATION_SERVER_IMAGE}:${IMG_TAG}
fi
source env-vars
make push-portal-component
docker-build-and-push-subscriber:
runs-on: ubuntu-latest
@ -134,32 +150,36 @@ jobs:
- backend-checks
steps:
- name: Checkout code
uses: actions/checkout@v2
uses: actions/checkout@v4
- name: Downloading image artficate
uses: actions/download-artifact@v2
uses: actions/download-artifact@v4
with:
name: env_artifact
- name: Build subscriber docker image
shell: bash
run: |
source env-vars
cd litmus-portal/cluster-agents/subscriber
docker build . -f build/Dockerfile -t ${{ secrets.REPONAME }}/${SUBSCRIBER_IMAGE}:${IMG_TAG}
path: chaoscenter
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v1
with:
version: latest
- name: Login to DockerHub
uses: docker/login-action@v1
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Push subscriber docker image
shell: bash
env:
IMAGE_NAME: ${SUBSCRIBER_IMAGE}
IMG_TAG: ${IMG_TAG}
PLATFORMS: ${{ secrets.PLATFORMS }}
REPONAME: ${{ secrets.REPONAME }}
DIRECTORY: "subscriber"
run: |
branch=${GITHUB_REF#refs/*/}
array=(`echo ${GITHUB_REF} | sed 's/\//\n/g'`)
if [ $branch == "master" ] || [ ${array[1]} == "tags" ] || [[ $branch =~ ^v[0-9]*.[0-9]*.x$ ]]
then
source env-vars
docker push ${{ secrets.REPONAME }}/${SUBSCRIBER_IMAGE}:${IMG_TAG}
fi
source env-vars
make push-portal-component
docker-build-and-push-event-tracker:
runs-on: ubuntu-latest
@ -168,64 +188,133 @@ jobs:
- backend-checks
steps:
- name: Checkout code
uses: actions/checkout@v2
uses: actions/checkout@v4
- name: Downloading image artficate
uses: actions/download-artifact@v2
uses: actions/download-artifact@v4
with:
name: env_artifact
- name: Build event tracker docker image
shell: bash
run: |
source env-vars
cd litmus-portal/cluster-agents/event-tracker
docker build . -f Dockerfile -t ${{ secrets.REPONAME }}/${EVENT_TRACKER}:${IMG_TAG}
path: chaoscenter
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v1
with:
version: latest
- name: Login to DockerHub
uses: docker/login-action@v1
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Push event tracker docker image
shell: bash
run: |
branch=${GITHUB_REF#refs/*/}
array=(`echo ${GITHUB_REF} | sed 's/\//\n/g'`)
if [ $branch == "master" ] || [ ${array[1]} == "tags" ] || [[ $branch =~ ^v[0-9]*.[0-9]*.x$ ]]
then
source env-vars
docker push ${{ secrets.REPONAME }}/${EVENT_TRACKER}:${IMG_TAG}
fi
- name: Push event tracker docker image
env:
IMAGE_NAME: ${EVENT_TRACKER}
IMG_TAG: ${IMG_TAG}
PLATFORMS: ${{ secrets.PLATFORMS }}
REPONAME: ${{ secrets.REPONAME }}
DIRECTORY: "event-tracker"
run: |
source env-vars
make push-portal-component
## TODO: the build time for multiarch frontend image is higher so it is used in the release
## builds only need to optimize the build duration and also add it with ci tag
## Build and push / base path
docker-build-and-push-frontend:
runs-on: ubuntu-latest
strategy:
matrix:
frontend:
[
{ "image_name": "litmusportal-frontend", "path": "" },
{
"image_name": "litmusportal-frontend-path-litmuschaos",
"path": "/litmuschaos",
},
]
needs:
- get-envs
- frontend-checks
steps:
- name: Checkout code
uses: actions/checkout@v2
uses: actions/checkout@v4
- name: Downloading image artficate
uses: actions/download-artifact@v2
uses: actions/download-artifact@v4
with:
name: env_artifact
- name: Build frontend docker image
shell: bash
path: chaoscenter
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v1
with:
version: latest
- uses: actions/setup-node@v4
with:
node-version: 16
- name: yarn build
run: |
source env-vars
cd litmus-portal/frontend
timestamp=`date "+%s"`
docker build . -f Dockerfile -t ${{ secrets.REPONAME }}/${FRONTEND_IMAGE}:${IMG_TAG} --build-arg REACT_APP_KB_CHAOS_VERSION=${IMG_TAG} --build-arg REACT_APP_BUILD_TIME="$timestamp" --build-arg REACT_APP_HUB_BRANCH_NAME="v1.13.x"
cd web && yarn && yarn build
- name: Login to DockerHub
uses: docker/login-action@v1
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Push frontend docker image
shell: bash
- name: Push frontend docker image ( ${{ matrix.frontend.image_name }} )
env:
IMG_TAG: ${IMG_TAG}
PLATFORMS: ${{ secrets.PLATFORMS }}
REPONAME: ${{ secrets.REPONAME }}
timestamp: ${timestamp}
PUBLIC_URL: ${{ matrix.frontend.path }}
run: |
branch=${GITHUB_REF#refs/*/}
array=(`echo ${GITHUB_REF} | sed 's/\//\n/g'`)
if [ $branch == "master" ] || [ ${array[1]} == "tags" ] || [[ $branch =~ ^v[0-9]*.[0-9]*.x$ ]]
then
source env-vars
docker push ${{ secrets.REPONAME }}/${FRONTEND_IMAGE}:${IMG_TAG}
fi
source env-vars
FRONTEND_IMAGE=${{ matrix.frontend.image_name }}
timestamp=`date "+%s"`
make push-frontend
docker-build-and-push-dex-server:
runs-on: ubuntu-latest
needs:
- get-envs
- backend-checks
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Downloading image artficate
uses: actions/download-artifact@v4
with:
name: env_artifact
path: chaoscenter
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v1
with:
version: latest
- name: Login to DockerHub
uses: docker/login-action@v1
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Push dex server docker image
env:
IMAGE_NAME: ${DEX_SERVER}
IMG_TAG: ${IMG_TAG}
PLATFORMS: ${{ secrets.PLATFORMS }}
REPONAME: ${{ secrets.REPONAME }}
DIRECTORY: "dex-server"
run: |
source env-vars
make push-portal-component

5
.gitignore vendored
View File

@ -17,4 +17,7 @@ _vendor-*
tmp/
.env
litmus-portal-service
litmus-portal-app
litmus-portal-app
litmus-portal/graphql-server/server
**/client_id

View File

@ -1,53 +0,0 @@
---
stages:
- litmusImageBuild
- litmusPythonTest
- litmusAnsibleTest
- baseline
- litmusImagePush
Build Litmus Image:
stage: litmusImageBuild
script:
- sudo docker build . -f build/ansible-runner/Dockerfile -t litmuschaos/ansible-runner:ci
Test Litmus PyTest Suite:
stage: litmusPythonTest
script:
- ./hack/pytest-suite
Test Litmus Playbook Syntax:
stage: litmusAnsibleTest
script:
- sudo docker run litmuschaos/ansible-runner:ci ./syntax-check
baseline-image:
when: always
stage: baseline
tags:
- test
only:
refs:
- /^(v[0-9][.][0-9][.]x|master)?$/
script:
- pwd
- export BRANCH=${CI_COMMIT_REF_NAME}
- echo $BRANCH
- export COMMIT=${CI_COMMIT_SHORT_SHA}
- echo $COMMIT
- git clone https://github.com/litmuschaos/litmus-e2e.git
- cd litmus-e2e
- git checkout ${BASELINE_BRANCH}
- cd baseline
- ansible-playbook commit-writer.yml --extra-vars "branch=$BRANCH repo=$CI_PROJECT_NAME commit=$COMMIT"
- git status
- git add baseline
- git status
- git commit -m "updated $CI_PROJECT_NAME commit:$COMMIT"
- git push http://${YOUR_USERNAME}:${PERSONAL_ACCESS_TOKEN}@github.com/litmuschaos/litmus-e2e.git --all
Push Litmus Image:
stage: litmusImagePush
script:
- REPONAME="litmuschaos" IMGNAME="ansible-runner" IMGTAG="ci" ./hack/push

17
.gitleaksignore Normal file
View File

@ -0,0 +1,17 @@
57748d7e930664094c76ae6b02577db2ce3955fa:mkdocs/docs/auth/v3.0.0/auth-api.json:jwt:140
57748d7e930664094c76ae6b02577db2ce3955fa:mkdocs/docs/auth/v3.0.0/auth-api.json:jwt:185
57748d7e930664094c76ae6b02577db2ce3955fa:mkdocs/docs/auth/v3.0.0/auth-api.json:jwt:278
28f9079f4a1909f277a47f0d45be1f82a84de27d:mkdocs/docs/auth/v3.0.0/auth-api.json:jwt:46
cd1841bb0d83decc0ab0f09ddda69cc572c50da9:auth/api.html:jwt:293
cd1841bb0d83decc0ab0f09ddda69cc572c50da9:auth/swagger.yml:jwt:56
512b7bbc16d1f8198872fb517814362b81b18388:docs/auth/swagger.yml:jwt:56
512b7bbc16d1f8198872fb517814362b81b18388:docs/auth/api.html:jwt:293
32e35ad4fb9c7c2ba8ed4a6043176f1e73801814:monitoring/utils/sample-application-under-test/percona/cr.yaml:hashicorp-tf-password:213
352f8c6ae9a3b93ce841e6bc3b3a296c0f917846:litmus-portal/backend/auth/pkg/providers/github/github.go:generic-api-key:14
92da50bb8ff07fce3427e70449844b77b7ee3270:apps/datastax/deployers/common/opscenter/conf-dir/conf/ssl/opscenter.key:private-key:1
edb1d8dc6e2d1044a9fcb3677727363bbe1e267c:mysql-master/Dockerfile:generic-api-key:37
edb1d8dc6e2d1044a9fcb3677727363bbe1e267c:mysql-slave/Dockerfile:generic-api-key:37
fd88a74c81ae34796a42fafed1a61bf1edc06607:auth/v3.0.0/auth-api.json:jwt:140
fd88a74c81ae34796a42fafed1a61bf1edc06607:auth/v3.0.0/auth-api.json:jwt:185
fd88a74c81ae34796a42fafed1a61bf1edc06607:auth/v3.0.0/auth-api.json:jwt:278
6eb10ad366fb3bd040cda61e8c64e47f15d576be:auth/v3.0.0/auth-api.json:jwt:46

2
.trivyignore Normal file
View File

@ -0,0 +1,2 @@
# Accept the risk (RedHat)
CVE-2024-2961

View File

@ -1,29 +1,87 @@
This is the list of organizations and users that publicly shared details of how they are using LitmusChaos for running chaos experiments.
Please send PRs to add or remove organizations/users.
This is a list of organizations that have publicly acknowledged usage of LitmusChaos and shared details of how they are leveraging it for chaos engineering.
Please send a PR to this file (along with details in a respective [org](./adopters/organizations) folder) to add/remove entries. If you are an independent user
and wish to to share your adoption story, please raise a PR against the [users](USERS.md) file.
| Organization | Usecase | Details |
| :--- | :--- | :--- |
|[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)|
|[MayaData](https://mayadata.io)|[Director Online](https://director.mayadata.io/)|[Our Story](adopters/organizations/mayadata.md)|
|[OpenEBS](https://openebs.io/)|[Openebs-CI](https://openebs.ci/)|[Our Story](adopters/organizations/openebs.md)|
|[Wipro](https://www.wipro.com/en-IN/infrastructure/wipros-appanywhere/?utm_source=github&utm_campaign=litmuschaos_repo)|[Wipro AppAnywhere](https://www.wipro.com/en-IN/infrastructure/wipros-appanywhere/?utm_source=github&utm_campaign=litmuschaos_repo)|[Our Story](adopters/organizations/wipro.md)|
|[Intuit](https://www.intuit.com?utm_source=github&utm_campaign=litmuschaos_repo)|[Argo Based Chaos Workflows](https://youtu.be/Uwqop-s99LA?t=720)|[Our Story](adopters/organizations/intuit.md)|
|[Okteto](https://okteto.com)|[Okteto-Litmus Integration](https://okteto.com/blog/chaos-engineering-with-litmus/)| [Our Story](adopters/organizations/okteto.md)|
|[WeScale](https://www.wescale.fr)|[Chaos Engineering](https://blog.wescale.fr/2020/03/19/le-guide-de-chaos-engineering-partie-2/)|[Our Story](adopters/organizations/wescale.md)|
|[NetApp](https://www.netapp.com)|[Chaos Engineering](https://www.netapp.com/us/index.aspx)|[Our Story](adopters/organizations/netapp.md)|
|[Keptn](https://keptn.sh)|[Chaos Engineering integration in CD](https://www.youtube.com/watch?v=aa5SzQmv4EQ)|To Be Added|
|[AkriData](https://www.akridata.com/)|Pod Chaos Experiments in AWS & Azure|[Our Story](adopters/organizations/akridata.md)|
|[Raspbernetes](https://github.com/raspbernetes)|Resilience of OpenEBS & other apps on ARM64 based clusters|[Our Story](adopters/organizations/raspbernetes.md)|
|[Kublr](https://kublr.com/)|Identify the weak spots and components prone to failures under stress|[Our Story](adopters/organizations/kublr.md)|
|[Orange](https://www.orange.com)|[Cloud Infra Resiliency](https://youtu.be/UOhjFbCrncw?list=PLBuYBMjBLBzHPuPsvdbJvKu1KxSowWDYl&t=186...a)|[Our Story](adopters/organizations/orange.md)|
|[RedHat](https://www.redhat.com/en)|[RedHat Openshift Virtualization Maturity](https://www.youtube.com/watch?v=VITGHJ47gx8&list=PLBuYBMjBLBzHPuPsvdbJvKu1KxSowWDYl&index=7)|[Our Story](adopters/organizations/redhat.md)|
|[VMWare](https://www.vmware.com/)|Chaos Engineering in CD|[Our Story](adopters/organizations/vmware.md)|
These organizations have been broadly classified on the basis of how they contribute to the ecosystem: as vendors, as solution providers or as pure end-users of
cloud-native technologies. Also included in this list are CNCF (or other) open-source projects that have integrated with Litmus or use it as part of their release/delivery process.
| User | Usecase | Details |
| :--- | :--- | :--- |
| [Laura Henning](https://github.com/LaumiH)|Reasearch on how to do chaos engineering in minikube clusters like [these](https://github.com/LaumiH/k8sstuff)|[My Story](adopters/users/Laura_Henning.md) |
| [Johnny Jacob](https://github.com/johnnyjacob)|Testing deployment designs for resiliency|Coming Soon!|
| [Jayesh Kumar Tank](https://github.com/k8s-dev)|Create Cloud Native Validation Suite on [Microservices Application](https://github.com/k8s-dev/microservices-demo)|[My Story](adopters/users/Jayesh_Kumar_Tank.md)|
| [Bhaumik Shah](https://github.com/Bhaumik1802)|Use LitmusChaos for Kafka Resiliency on Dev/Staging|[My Story](adopters/users/Bhaumik_Shah.md)|
| [Jayadeep KM](https://github.com/kmjayadeep)|Ensure reliability of microservices|[My Story](adopters/users/Jayadeep_KM.md)|
| [Shantanu Deshpande](https://github.com/ishantanu)|Chaos Engineering Practice as SRE|[My Story](adopters/users/Shantanu_Deshpande.md)|
### Cloud-Native End Users
The companies listed here conform to [CNCF's definition of end-users](https://github.com/cncf/enduser-public#cncf-end-user-community).
| Organization | Usecase | Details |
| :------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------- |
| [AnutaNetworks](https://www.anutanetworks.com/) | Chaos Engineering as part of SRE practices in QA environments | [Our Story](adopters/organizations/anutanetworks.md) |
| [AkriData](https://www.akridata.com/) | Pod Chaos Experiments in AWS & Azure | [Our Story](adopters/organizations/akridata.md) |
| [Halodoc](https://www.halodoc.com/) | Resiliency Validation of Kubernetes Workloads and Infra on AWS | [Our Story](adopters/organizations/halodoc.md) |
| [Intuit](https://www.intuit.com?utm_source=github&utm_campaign=litmuschaos_repo) | [Argo Based Chaos Workflows](https://youtu.be/Uwqop-s99LA?t=720) | [Our Story](adopters/organizations/intuit.md) |
| [Kitopi](https://www.kitopi.com/) | Chaos Engineering as part of SRE practice | [Our Story](adopters/organizations/kitopi.md) |
| [Lenskart](https://www.lenskart.com/) | Chaos Engineering for better Resiliency | [Our Story](adopters/organizations/lenskart.md) |
| [Mercedes](https://www.mercedes-benz.com/) | Resiliency validation for applications | [Our Story](adopters/organizations/mercedes.md) |
| [Orange](https://www.orange.com) | [Cloud Infra Resiliency](https://youtu.be/UOhjFbCrncw?list=PLBuYBMjBLBzHPuPsvdbJvKu1KxSowWDYl&t=186...a) | [Our Story](adopters/organizations/orange.md) |
| [Pôle Emploi](https://www.pole-emploi.fr) | Chaos Engineering as part of SRE practice | [Our Story](adopters/organizations/pole_emploi.md) |
| [iFood](https://www.ifood.com.br/) | Chaos Engineering for a Food Delivery Platform | [Our Story](adopters/organizations/ifood.md) |
| [FIS](https://www.fisglobal.com/en/) | Larger SRE Transformation with Chaos Engineering | [Our Story](adopters/organizations/fis.md) |
| [Adidas](https://adidas.com/) | Implementing Chaos Engineering as a practice at Adidas | [Our Story](adopters/organizations/adidas.md) |
| [Cyren](https://www.cyren.com/) | Implementing Chaos Engineering as a practice at Cyren | [Our Story](https://www.infoq.com/articles/chaos-engineering-cloud-native/) |
| [AB-Inbev](https://www.ab-inbev.com/) | Implementing Chaos Engineering as a practice at AB-Inbev | [Our Story](adopters/organizations/abinbev.md) |
| [Group Baobab](https://baobab.com/en/home/) | Orchestrating Chaos using LitmusChaos at Baobab | [Our Story](https://github.com/litmuschaos/litmus/issues/2191#issuecomment-1647648343) |
| [Flipkart](https://www.flipkart.com/) | Chaos Engineering at Flipkart | [Our Story](https://github.com/litmuschaos/litmus/issues/2191#issuecomment-1966904935) |
| [Talend](https://www.talend.com/) | Chaos Engineering for our pipelines and weekly checks | [Our Story](https://github.com/litmuschaos/litmus/issues/2191#issuecomment-2005254600) |
| [Delivery Hero](https://www.deliveryhero.com/) | Enhancing Resiliency of Our Services | [Our Story](https://github.com/litmuschaos/litmus/issues/2191#issuecomment-1997465958) |
| [Wingie Enuygun Company](https://www.wingie.com/) | Chaos Engineering for an Online Travel and Finance Platform | [Our Story](https://github.com/litmuschaos/litmus/issues/2191#issuecomment-2331265698) |
| [EmiratesNBD](https://www.emiratesnbd.com) | Chaos Engineering for Government Owned Bank | [Our Story](adopters/organizations/emirates-nbd.md) |
| [PokerBaazi](https://www.pokerbaazi.com/) | Chaos Engineering for Online Gaming | [Our Story](adopters/organizations/pokerbaazi.md) |
| [Amadeus](https://amadeus.com/) | Enhance the resilience and reliability in Amadeus through Chaos Engineering | [Our Story](adopters/organizations/amadeus.md) |
### Cloud-Native Vendors
The companies listed here sell cloud-native products/technologies. They use LitmusChaos as part of the resiliency validation of these products OR as part of other
devops/reliability pipelines (such as for customer portals/websites etc.,) within the company.
| Organization | Usecase | Details |
| :--------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------- |
| [KubeSphere](https://kubesphere.io/) | Chaos Engineering | To Be Added |
| [Kublr](https://kublr.com/) | Identify the weak spots and components prone to failures under stress | [Our Story](adopters/organizations/kublr.md) |
| [MayaData](https://mayadata.io) | [Director Online](https://director.mayadata.io/) | [Our Story](adopters/organizations/mayadata.md) |
| [NetApp](https://www.netapp.com) | [Chaos Engineering](https://www.netapp.com/us/index.aspx) | [Our Story](adopters/organizations/netapp.md) |
| [Okteto](https://okteto.com) | [Okteto-Litmus Integration](https://okteto.com/blog/chaos-engineering-with-litmus/) | [Our Story](adopters/organizations/okteto.md) |
| [RedHat](https://www.redhat.com/en) | [RedHat Openshift Virtualization Maturity](https://www.youtube.com/watch?v=VITGHJ47gx8&list=PLBuYBMjBLBzHPuPsvdbJvKu1KxSowWDYl&index=7) | [Our Story](adopters/organizations/redhat.md) |
| [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) |
| [IFS](https://www.ifs.com/) | Checking Resiliency with LitmusChaos at IFS | [Our Story](https://github.com/litmuschaos/litmus/issues/2191#issuecomment-1966428068) |
| [Ericsson](https://www.ericsson.com/en) | Chaos Engineering with Open Source LitmusChaos | [Our Story](https://github.com/litmuschaos/litmus/issues/2191#issuecomment-1985348431) |
| [OutSystems](https://www.outsystems.com/) | Chaos Engineering for Low-Code Platform | [Our Story](adopters/organizations/outsystems.md) |
### Cloud-Native Solutions & Service Providers
The companies listed here provide solutions around cloud-native technologies to other organizations/clients and are often involved in their implementation/offer services.
They use LitmusChaos as the tool of choice for carrying out chaos experiments in a client environment or in some cases use it as a building block of a larger bespoke software/devops platform.
| Organization | Usecase | Details |
| :---------------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------- | :---------------------------------------------- |
| [Klanik](https://www.klanik.com) | Chaos Engineering as part of SRE practice | [Our Story](adopters/organizations/klanik.md) |
| [Neudesic](https://www.neudesic.com/) | Chaos Engineering | [Our Story](adopters/organizations/neudesic.md) |
| [WeScale](https://www.wescale.fr) | [Chaos Engineering](https://blog.wescale.fr/2020/03/19/le-guide-de-chaos-engineering-partie-2/) | [Our Story](adopters/organizations/wescale.md) |
| [Wipro](https://www.wipro.com/en-IN/infrastructure/wipros-appanywhere/?utm_source=github&utm_campaign=litmuschaos_repo) | [Wipro AppAnywhere](https://www.wipro.com/en-IN/infrastructure/wipros-appanywhere/?utm_source=github&utm_campaign=litmuschaos_repo) | [Our Story](adopters/organizations/wipro.md) |
| [HCL Cloud Native Labs](https://www.hcltech.com/) | SRE Enablement Service | [Our Story(TBA)] |
| [CI&T](https://ciandt.com/us/en-us) | Chaos Engineering Implementation | [Our Story](adopters/organizations/ci&t.md) |
### Cloud-Native OSS Projects
The projects listed here, in most cases use LitmusChaos for testing the resilience of the respective opensource framework/platform
(in a manual or automated fashion) or in other cases integrate with it via a plugin/service to provide add resilience validation capability to their
existing functions.
| Organization | Usecase | Details |
| :------------------------------------------------------ | :--------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------- |
| [Keptn](https://keptn.sh) | [Chaos Engineering integration in CD](https://www.youtube.com/watch?v=aa5SzQmv4EQ) | [Our Story](https://medium.com/keptn/part-2-evaluating-application-resiliency-with-keptn-and-litmuschaos-use-case-and-demo-f43b264a2294) |
| [KubeFlare](https://github.com/raspbernetes) | Resilience of microservices on ARM64 (Raspberry Pi) based clusters | [Our Story](adopters/organizations/raspbernetes.md) |
| [OpenEBS](https://openebs.io/) | [Openebs-CI](https://openebs.ci/) | [Our Story](adopters/organizations/openebs.md) |
| [Pravega](https://pravega.io/) | To inject faults while exercising quality tests on our product | [Our Story](adopters/organizations/pravega.md) |
| [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) |

View File

@ -2,45 +2,131 @@
## Our Pledge
In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation.
We as members, contributors, and leaders pledge to make participation in our
community a harassment-free experience for everyone, regardless of age, body
size, visible or invisible disability, ethnicity, sex characteristics, gender
identity and expression, level of experience, education, socio-economic status,
nationality, personal appearance, race, caste, color, religion, or sexual
identity and orientation.
We pledge to act and interact in ways that contribute to an open, welcoming,
diverse, inclusive, and healthy community.
## Our Standards
Examples of behavior that contributes to creating a positive environment include:
Examples of behavior that contributes to a positive environment for our
community include:
* Using welcoming and inclusive language
* Being respectful of differing viewpoints and experiences
* Gracefully accepting constructive criticism
* Focusing on what is best for the community
* Showing empathy towards other community members
* Demonstrating empathy and kindness toward other people
* Being respectful of differing opinions, viewpoints, and experiences
* Giving and gracefully accepting constructive feedback
* Accepting responsibility and apologizing to those affected by our mistakes,
and learning from the experience
* Focusing on what is best not just for us as individuals, but for the overall
community
Examples of unacceptable behavior by participants include:
Examples of unacceptable behavior include:
* The use of sexualized language or imagery and unwelcome sexual attention or advances
* Trolling, insulting/derogatory comments, and personal or political attacks
* The use of sexualized language or imagery, and sexual attention or advances of
any kind
* Trolling, insulting or derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or electronic address, without explicit permission
* Other conduct which could reasonably be considered inappropriate in a professional setting
* Publishing others' private information, such as a physical or email address,
without their explicit permission
* Other conduct which could reasonably be considered inappropriate in a
professional setting
## Our Responsibilities
## Enforcement Responsibilities
Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior.
Community leaders are responsible for clarifying and enforcing our standards of
acceptable behavior and will take appropriate and fair corrective action in
response to any behavior that they deem inappropriate, threatening, offensive,
or harmful.
Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful.
Community leaders have the right and responsibility to remove, edit, or reject
comments, commits, code, wiki edits, issues, and other contributions that are
not aligned to this Code of Conduct, and will communicate reasons for moderation
decisions when appropriate.
## Scope
This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers.
This Code of Conduct applies within all community spaces, and also applies when
an individual is officially representing the community in public spaces.
Examples of representing our community include using an official email address,
posting via an official social media account, or acting as an appointed
representative at an online or offline event.
## Enforcement
Instances of abusive, harassing or otherwise unacceptable behavior may be reported by contacting the project team at support@mayadata.io. The project team will review and investigate all complaints, and will respond in a way that it seems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately.
Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported to the community leaders responsible for enforcement at
sayan.mondal@harness.io.
All complaints will be reviewed and investigated promptly and fairly.
Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership.
All community leaders are obligated to respect the privacy and security of the
reporter of any incident.
## Enforcement Guidelines
Community leaders will follow these Community Impact Guidelines in determining
the consequences for any action they deem in violation of this Code of Conduct:
### 1. Correction
**Community Impact**: Use of inappropriate language or other behavior deemed
unprofessional or unwelcome in the community.
**Consequence**: A private, written warning from community leaders, providing
clarity around the nature of the violation and an explanation of why the
behavior was inappropriate. A public apology may be requested.
### 2. Warning
**Community Impact**: A violation through a single incident or series of
actions.
**Consequence**: A warning with consequences for continued behavior. No
interaction with the people involved, including unsolicited interaction with
those enforcing the Code of Conduct, for a specified period of time. This
includes avoiding interactions in community spaces as well as external channels
like social media. Violating these terms may lead to a temporary or permanent
ban.
### 3. Temporary Ban
**Community Impact**: A serious violation of community standards, including
sustained inappropriate behavior.
**Consequence**: A temporary ban from any sort of interaction or public
communication with the community for a specified period of time. No public or
private interaction with the people involved, including unsolicited interaction
with those enforcing the Code of Conduct, is allowed during this period.
Violating these terms may lead to a permanent ban.
### 4. Permanent Ban
**Community Impact**: Demonstrating a pattern of violation of community
standards, including sustained inappropriate behavior, harassment of an
individual, or aggression toward or disparagement of classes of individuals.
**Consequence**: A permanent ban from any sort of public interaction within the
community.
## Attribution
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version]
This Code of Conduct is adapted from the [Contributor Covenant][homepage],
version 2.1, available at
[https://www.contributor-covenant.org/version/2/1/code_of_conduct.html][v2.1].
[homepage]: http://contributor-covenant.org
[version]: http://contributor-covenant.org/version/1/4/
Community Impact Guidelines were inspired by
[Mozilla's code of conduct enforcement ladder][Mozilla CoC].
For answers to common questions about this code of conduct, see the FAQ at
[https://www.contributor-covenant.org/faq][FAQ]. Translations are available at
[https://www.contributor-covenant.org/translations][translations].
[homepage]: https://www.contributor-covenant.org
[v2.1]: https://www.contributor-covenant.org/version/2/1/code_of_conduct.html
[Mozilla CoC]: https://github.com/mozilla/diversity
[FAQ]: https://www.contributor-covenant.org/faq
[translations]: https://www.contributor-covenant.org/translations

8
COMMERCIAL_SUPPORT.md Normal file
View File

@ -0,0 +1,8 @@
# LitmusChaos Commercial Support Providers
Here is a list of third-party companies and individuals who provide products or services related to LitmusChaos. LitmusChaos is a CNCF project which does not endorse any company.
If you are a commercial support provider for LitmusChaos and wish to add your company, please raise a PR against this document.
The list is provided in alphabetical order.
- [Harness](https://harness.io/products/chaos-engineering)

View File

@ -1,56 +1,109 @@
<img src="https://avatars0.githubusercontent.com/u/49853472?s=200&v=4">
# Contributing to Litmus :
# Contributing to Litmus
Litmus is an Apache 2.0 Licensed project and uses the standard GitHub pull requests process to review and accept contributions.
---
There are several areas of Litmus that could use your help. For starters, you could help in improving the sections in this document by either creating a new issue describing the improvement or submitting a pull request to this repository.
Thanks for your interest in contributing to Litmus and help improve the project! ⚡️✨
* If you are a first-time contributor, please see [Steps to Contribute](#steps-to-contribute).
* If you would like to suggest new tests to be added to litmus, please go ahead and [create a new issue](https://github.com/litmuschaos/litmus/issues/new) describing your test. All you need to do is specify the workload type and the operations that you would like to perform on the workload.
* If you would like to work on something more involved, please connect with the Litmus Contributors.
* If you would like to make code contributions, all your commits should be signed with Developer Certificate of Origin. See [Sign your work](#sign-your-work).
## Where to Begin!
## Steps to Contribute :
If you have any queries or requests about Litmus please [create an issue](https://github.com/litmuschaos/litmus/issues/new) on GitHub. If you want to comment or ask questions to the contributors start by [joining our community](http://slack.litmuschaos.io) and drop your questions in the **#litmus** channel.
* Find an issue to work on or create a new issue. The issues are maintained at [litmuschaos/litmus](https://github.com/litmuschaos/litmus/issues). You can pick up from a list of [good-first-issues](https://github.com/litmuschaos/litmus/labels/good%20first%20issue).
* Claim your issue by commenting your intent to work on it to avoid duplication of efforts.
* Fork the repository on GitHub.
* Create a branch from where you want to base your work (usually master).
* Make your changes.
* Relevant coding style guidelines are the [Go Code Review Comments](https://code.google.com/p/go-wiki/wiki/CodeReviewComments) and the _Formatting and style_ section of Peter Bourgon's [Go: Best Practices for Production Environments](https://peter.bourgon.org/go-in-production/#formatting-and-style).
* Commit your changes by making sure the commit messages convey the need and notes about the commit.
* Push your changes to the branch in your fork of the repository.
* Submit a pull request to the original repository. See [Pull Request checklist](#pull-request-checklist)
If you want to do code contributions but you are fairly new to the tech stack we are using! Check out the [Local Development Guide](https://github.com/litmuschaos/litmus/wiki/ChaosCenter-Development-Guide) and [Development Best Practices](https://github.com/litmuschaos/litmus/wiki/Development-Best-Practices) to get a reference and help get started.
We welcome contributions of all kinds
- Development of features, bug fixes, and other improvements.
- Documentation including reference material and examples.
- Bug and feature reports.
---
## Steps to Contribute
Fixes and improvements can be directly addressed by sending a Pull Request on GitHub. Pull requests will be reviewed by one or more maintainers and merged when acceptable.
We ask that before contributing, please make the effort to coordinate with the maintainers of the project before submitting large or high impact PRs. This will prevent you from doing extra work that may or may not be merged.
Use your judgement about what constitutes a large change. If you aren't sure, send a message to the **#litmus-dev** slack or submit an issue on GitHub.
<br />
### **Sign your work with Developer Certificate of Origin**
To contribute to this project, you must agree to the Developer Certificate of Origin (DCO) for each commit you make. The DCO is a simple statement that you, as a contributor, have the legal right to make the contribution.
See the [DCO](https://developercertificate.org/) file for the full text of what you must agree to.
To successfully sign off your contribution you just add a line to every git commit message:
```git
Signed-off-by: Joe Smith <joe.smith@email.com>
```
Use your real name (sorry, no pseudonyms or anonymous contributions.)
If you set your `user.name` and `user.email` git configs, you can sign your commit automatically with `git commit -s`. You can also use git [aliases](https://git-scm.com/book/tr/v2/Git-Basics-Git-Aliases) like `git config --global alias.ci 'commit -s'`. Now you can commit with git ci and the commit will be signed.
<br />
### **Submitting a Pull Request**
To submit any kinds of improvements, please consider the following:
- Submit an [issue](https://github.com/litmuschaos/litmus/issues) describing your proposed change. If you are just looking to pick an open issue do so from a list of [good-first-issues](https://github.com/litmuschaos/litmus/labels/good%20first%20issue) maintained [here](https://github.com/litmuschaos/litmus/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22).
- We would promptly respond back to your issue
- Fork this repository, develop and test your code changes. See the Highlighted Repositories section below to choose which area you would like to contribute to.
- Create a `feature branch` from your forked repository and submit a pull request against this repos main branch.
- If you are making a change to the user interface (UI), include a screenshot of the UI changes.
- Follow the relevant coding style guidelines
- For backend contributions, popular ones are the [Go Code Review Comments](https://code.google.com/p/go-wiki/wiki/CodeReviewComments) and the _Formatting_ and _style_ section of Peter Bourgon's [Go: Best Practices for Production Environments](https://peter.bourgon.org/go-in-production/#formatting-and-style).
- If you are making any changes in backend, make sure you have run and tested the code locally, the reviewers might ask for relevant screenshots in the comments.
- For frontend contributions, we follow the [Airbnb style guide](https://airbnb.io/javascript/react/)
- Your branch may be merged once all configured checks pass, including:
- The branch has passed tests in CI.
- A review from appropriate maintainers (see [MAINTAINERS.md](https://github.com/litmuschaos/litmus/blob/master/MAINTAINERS) and [GOVERNANCE.md](https://github.com/litmuschaos/litmus/blob/master/GOVERNANCE.md))
If you are new to Go, consider reading [Effective Go](https://golang.org/doc/effective_go.html) and [Go Code Review Comments](https://github.com/golang/go/wiki/CodeReviewComments) for guidance on writing idiomatic Go code.
### Generating/Updating Mocks for `chaoscenter/graphql/server`
To generate new mocks or update existing mocks:
- Follow the instructions to install [mockery](https://vektra.github.io/mockery/latest/installation/).
- If generating mocks for existing interface simply run `mockery`.
- If generating mocks for new interface update [`.mockery.yaml`](././chaoscenter/graphql/server/.mockery.yaml) and run `mockery`.
---
## Pull Request Checklist :
* Rebase to the current master branch before submitting your pull request.
* Commits should be as small as possible. Each commit should follow the checklist below:
- Rebase to the current master branch before submitting your pull request.
- Commits should be as small as possible. Each commit should follow the checklist below:
- For code changes, add tests relevant to the fixed bug or new feature
- Pass the compile and tests - includes spell checks, formatting, etc
- Pass the compile and tests in CI
- Commit header (first line) should convey what changed
- Commit body should include details such as why the changes are required and how the proposed changes
- DCO Signed
* If your PR is not getting reviewed or you need a specific person to review it, please reach out to the Litmus contributors at the [Litmus slack channel](https://app.slack.com/client/T09NY5SBT/CNXNB0ZTN)
- DCO Signed
- If your PR is not getting reviewed or you need a specific person to review it, please reach out to the Litmus contributors at the [Litmus slack channel](https://app.slack.com/client/T09NY5SBT/CNXNB0ZTN)
## Sign your work
## Highlighted Repositories
We use the Developer Certificate of Origin (DCO) as an additional safeguard for the LitmusChaos project. This is a well established and widely used mechanism to assure that contributors have confirmed their right to license their contribution under the project's license. Please add a line to every git commit message:
You can choose from a list of sub-dependent repos to contribute to, a few highlighted repos that Litmus uses are:
```
Signed-off-by: Random J Developer <random@developer.example.org>
```
Use your real name (sorry, no pseudonyms or anonymous contributions). The email id should match the email id provided in your GitHub profile.
If you set your `user.name` and `user.email` in git config, you can sign your commit automatically with `git commit -s`.
You can also use git [aliases](https://git-scm.com/book/tr/v2/Git-Basics-Git-Aliases) like `git config --global alias.ci 'commit -s'`. Now you can commit with `git ci` and the commit will be signed.
- [Chaos-charts](https://github.com/litmuschaos/chaos-charts)
- [Chaos-workflows](https://github.com/litmuschaos/chaos-workflows)
- [Test-tools](https://github.com/litmuschaos/test-tools)
- [Litmus-go](https://github.com/litmuschaos/litmus-go)
- [Litmus-website](https://github.com/litmuschaos/litmus-website-2)
- [Litmusctl](https://github.com/litmuschaos/litmusctl)
- [Litmus-docs](https://github.com/litmuschaos/litmus-docs)
- [backstage-plugin](https://github.com/litmuschaos/backstage-plugin)
## Community
The litmus community will have a weekly contributor sync-up on Tuesdays 16.00-16.30IST / 12.30-13.00CEST
The litmus community will have a weekly contributor sync-up on Tuesdays 16.00-16.30 IST / 12.30-13.00 CEST
- The sync up meeting is held online on [Google Hangouts](https://meet.google.com/uvt-ozaw-bvp)
- The release items are tracked in this [planning sheet](https://docs.google.com/spreadsheets/d/15svGB99bDcSTkwAYttH1QzP5WJSb-dFKbPzl-9WqmXM).
- The release items are tracked in the [release sheet](https://github.com/litmuschaos/litmus/releases).

View File

@ -1,105 +1,38 @@
# LitmusChaos Project Governance
This document outlines the governance structure for the LitmusChaos project, a CNCF Incubating project. It describes the roles, responsibilities, decision-making processes, and mechanisms for community involvement.
We abide by the [Code of Conduct](./CODE_OF_CONDUCT.md) for all the projects maintained under the LitmusChaos Organization.
For specific guidance on practical contribution steps for any LitmusChaos sub-project please
see our [CONTRIBUTING.md](./CONTRIBUTING.md) guide and the sub-project specific contributing guides
see our [CONTRIBUTING.md](./CONTRIBUTING.md) guide and the sub-project specific contributing guides
in the respective GitHub repositories.
## Maintainership
## Roles and Membership
There are different types of maintainers, with different responsibilities, but
all maintainers have 3 things in common:
Roles and their responsibilities are detailed in the [Community Membership](./community-roles.md) document.
1) They share responsibility in the project's success.
2) They have made a long-term, recurring time investment to improve the project.
3) They spend that time doing whatever needs to be done, not necessarily what
is the most interesting or fun.
The list of current maintainers and their organizational affiliations is maintained in the [MAINTAINERS.md](./MAINTAINERS.md) file.
Maintainers are often under-appreciated, because their work is harder to appreciate.
It's easy to appreciate a really cool and technically advanced feature. It's harder
to appreciate the absence of bugs, the slow but steady improvement in stability,
or the reliability of a release process. But those things distinguish a great
project from a good one.
## Conflict Resolution and Voting
## Reviewers
Most issues within the project are resolved by consensus. When consensus cannot be reached, a voting process is initiated. All decisions are documented publicly, either in GitHub or in meeting notes.
A reviewer is a core role within the project.
They share in reviewing issues and pull requests and their LGTM counts towards the
required LGTM count to merge a code change into the project.
### Voting Process
Reviewers are part of the organization but do not have write access.
Becoming a reviewer is a core aspect in the journey to becoming a maintainer.
## Adding maintainers
Maintainers are first and foremost contributors that have shown they are
committed to the long term success of a project. Contributors wanting to become
maintainers are expected to be deeply involved in contributing code, pull
request review, and triage of issues in the project for more than three months.
Just contributing does not make you a maintainer, it is about building trust
with the current maintainers of the project and being a person that they can
depend on and trust to make decisions in the best interest of the project.
Periodically, the existing maintainers curate a list of contributors that have
shown regular activity on the project over the prior months. From this list,
maintainer candidates are selected and proposed maintainers slack channel.
After a candidate has been announced on the maintainers slack channel, the
existing maintainers are given five business days to discuss the candidate,
raise objections and cast their vote. The Votes take place via the pull request
comment. Candidates must be approved by at least 66% of the
current maintainers by adding their vote on the mailing list. The reviewer role
has the same process but only requires 33% of current maintainers. Only
maintainers of the repository that the candidate is proposed for are allowed to
vote.
If a candidate is approved, a maintainer will contact the candidate to invite
the candidate to open a pull request that adds the contributor to the
MAINTAINERS file. The voting process may take place inside a pull request if a
maintainer has already discussed the candidacy with the candidate and a
maintainer is willing to be a sponsor by opening the pull request. The candidate
becomes a maintainer once the pull request is merged.
## Adding sub-projects
Similar to adding maintainers, new sub projects can be added to LitmusChaos
GitHub organization as long as they adhere to the LitmusChaos vision and mission.
New projects are discussed in either the Contributor Meeting or the Community
slack and requires at least 1 maintainer approval.
If a project is approved, a maintainer will add the project to the LitmusChaos
GitHub organization, and make an announcement on a public forum.
## Stepping down policy
Life priorities, interests, and passions can change. If you're a maintainer but
feel you must remove yourself from the list, inform other maintainers that you
intend to step down, and if possible, help find someone to pick up your work.
At the very least, ensure your work can be continued where you left off.
After you've informed other maintainers, create a pull request to remove
yourself from the MAINTAINERS file.
## Removal of inactive maintainers
Similar to the procedure for adding new maintainers, existing maintainers can
be removed from the list if they do not show significant activity on the
project. Periodically, the maintainers review the list of maintainers and their
activity over the last three months.
If a maintainer has shown insufficient activity over this period, a neutral
person will contact the maintainer to ask if they want to continue being
a maintainer. If the maintainer decides to step down as a maintainer, they
open a pull request to be removed from the MAINTAINERS file.
- **Threshold:** A vote passes with a simple majority.
- **Quorum:** At least 30% of maintainers must participate in the vote.
- **Voting Method:** Votes are cast by adding +1 or -1 to the associated GitHub issue or PR.
- **Binding Votes:** Each maintainer has one binding vote. Non-binding votes from the community are encouraged.
- **Organizational Limit:** No single organization can cast more than 40% of the eligible votes. Organizations with more than 40% of maintainers must designate voting members.
- **Duration:** Voting remains open for one week.
## How are decisions made?
LitmusChaos is an open-source project with an open design philosophy. This means
that the repository is the source of truth for EVERY aspect of the project,
including its philosophy, design, road map, and APIs. *If it's part of the
project, it's in the repo. If it's in the repo, it's part of the project.*
including its philosophy, design, road map, and APIs. _If it's part of the
project, it's in the repo. If it's in the repo, it's part of the project._
As a result, all decisions can be expressed as changes to the repository. An
implementation change is a change to the source code. An API change is a change
@ -108,12 +41,39 @@ manifesto, and so on.
All decisions affecting LitmusChaos, big and small, follow the same 3 steps:
* Step 1: Open a pull request. Anyone can do this.
- Step 1: Open a pull request. Anyone can do this.
- Step 2: Discuss the pull request. Anyone can do this.
- Step 3: Merge or refuse the pull request. Who does this depends on the nature
of the pull request and which areas of the project it affects.
* Step 2: Discuss the pull request. Anyone can do this.
## Decision-Making Process
* Step 3: Merge or refuse the pull request. Who does this depends on the nature
of the pull request and which areas of the project it affects.
Most decisions are made through consensus. If consensus cannot be reached, maintainers may initiate a vote.
### Voting
- **Threshold:** A vote passes with a simple majority.
- **Quorum:** At least 30% of maintainers must participate in the vote.
- **Method:** Votes are cast using +1 (approve) or -1 (reject) in the relevant GitHub PR or issue.
- **Duration:** Voting remains open for one week.
## Community Support and Transparency
LitmusChaos aims for full transparency and inclusion in all governance activities. All decisions are made publicly and documented in the GitHub repositories or public meetings.
### Recurring Public Meetings
- #### Maintainers and Contributors Meeting
Covers technical issues, future milestones, and roadmaps. Also focused on governance, membership, and the future direction of the project.
- #### Community Meeting
Engages end users and the community with project updates, user presentations, and open discussions.
- #### Meeting Calendar
Please fill [this invite form](https://forms.gle/AsuXB2hbTG2TyD2d9) to be added to the calendar
## Helping contributors with the DCO
@ -137,10 +97,12 @@ When you add someone's DCO, please also add your own to keep a log.
Yes. Nobody should ever push to master directly. All changes should be
made through a pull request.
## Conflict Resolution
## Adding sub-projects
If you have a technical dispute that you feel has reached an impasse with a
subset of the community, any contributor may open an issue, specifically
calling for a resolution vote of the current maintainers to resolve the dispute.
The same voting quorums required (2/3) for adding and removing maintainers
will apply to conflict resolution.
Similar to adding maintainers, new sub projects can be added to LitmusChaos
GitHub organization as long as they adhere to the LitmusChaos vision and mission.
New projects are discussed in either the Contributor Meeting or the Community
slack and requires at least 1 maintainer approval.
If a project is approved, a maintainer will add the project to the LitmusChaos
GitHub organization, and make an announcement on a public forum.

View File

@ -1,27 +0,0 @@
# Official list of LitmusChaos Maintainers.
#
# Names added to this file should be in the following format:
# Individual's Name,@githubhandle, Email Address, Company Name
#
# Each of the LitmusChaos sub project may have one or more of the
# following maintainers and list of reviewers who are
# in the process of becoming maintainers.
#
# Please keep the below list sorted in ascending order.
#
#Maintainers
"Chandan Kumar",@chandankumar4,chandan.kumar@zopsmart.com,ZopSmart
"Jayesh Kumar",@k8s-dev,tankjaye@amazon.com,Amazon
"Karthik Satchitanand",@ksatchit,karthik.s@mayadata.io,MayaData
"Maria Kotlyarevskaya",@Jasstkn,jasssstkn@yahoo.com,Wrike
"Sumit Nagal",@sumitnagal,sumit_nagal@intuit.com,Intuit
"Uma Mukkara",@umamukkara,uma@mayadata.io,MayaData
#Reviewers
"Amit Bhatt",@amitbhatt818,amit.bhatt@mayadata.io,MayaData
"Rahul M Chheda",@rahulchheda,rahul.chheda1997@gmail.com,InfraCloud Technologies
"Raj Das",@rajdas98,raj.das@mayadata.io,MayaData
"Shubham Chaudhary",@ispeakc0de,shubham.chaudhary@mayadata.io,MayaData
"Udit Gaurav",@uditgaurav,udit.gaurav@mayadata.io,MayaData

69
MAINTAINERS.md Normal file
View File

@ -0,0 +1,69 @@
# LitmusChaos Maintainers
- [GOVERNANCE.md](./GOVERNANCE.md) describes the LitmusChaos governance.
- [community-roles.md](./community-roles.md) describes the responsibilities and requirements on the project roles.
### Component-Wise Code Owners & Primary Reviewers
Area |Components |Source |Maintainers |Reviewers|
-----------------|---------------------------------|-------------------------------------------------|--------------------------------------------|-------- |
control-plane |chaos-manager |graphql-server |@amityt, @Jonsy13, @imrajdas, @SarthakJain26 |@gdsoumya, @Saranya-jena, @arkajyotiMukherjee|
control-plane |chaos-dashboard |frontend, component-library |@arkajyotiMukherjee, @S-ayanide |@amityt, @SahilKr24, @hrishavjha|
execution-plane |subscriber, event-tracker |cluster-agents |@gdsoumya, @imrajdas, @SarthakJain26 |@amityt, @Jonsy13, @ispeakc0de, @Adarshkumar14 |
execution-plane |litmus-core |chaos-operator, chaos-runner, elves, chaos-exporter |@ksatchit, @ispeakc0de, @chandankumar4 |@uditgaurav, @neelanjan |
chaos-experiments|experiment-lib, chaoshub |litmus-go, test-tools, chaos-charts |@uditgaurav, @ispeakc0de, @ksatchit, @Vr00mm| @neelanjan00, @Adarshkumar14, @avaakash |
chaos-plugins |cli, plugin infra, developer portals |litmusctl, backstage-plugin |@Saranya-jena, @SarthakJain26, @namkyu1999 |@Jonsy13, @ajeshbaby, @imrajdas |
chaos-sdk |go/python/ansible sdk |litmus-go,litmus-python,litmus-ansible |@oumkale, @ispeakc0de, @ksatchit |@neelanjan00, @avaakash, @uditgaurav |
e2e |e2e-suite, e2e-dashboard |litmus-e2e |@uditgaurav, @Jonsy13 |@neelanjan00, @S-ayanide, @avaakash |
integrations |CI/CD plugins, wrappers |chaos-ci-lib, gitlab-templates, github-actions |@uditgaurav, @ksatchit |@ispeakc0de, @Adarshkumar14 |
helm-charts |control-plane, agent, experiments|litmus-helm |@Jasstkn, @ispeakc0de, @imrajdas, @Jonsy13 |@ksatchit, @uditgaurav |
documentation |platform-docs, experiment-docs |litmus-docs, mkdocs |@neelanjan00, @umamukkara, @ispeakc0de |@ksatchit, @ajeshbaby, @amityt, @uditgaurav |websites |project website, chaoshub, documentation |litmus-website, charthub, litmus-docs |@umamukkara, @arkajyotiMukherjee, @S-ayanide |@SahilKr24, @hrishavjha, @ajeshbaby |
websites |project website, chaoshub, documentation |litmus-website, charthub, litmus-docs |@SahilKr24, @hrishavjha, @ajeshbaby |@umamukkara, @S-ayanide |
### Consolidated Maintainers List
```
"Amit Kumar Das",@amityt,amit.das@harness.io
"Arkojyoti Mukherjee",@arkajyotiMukherjee,arko@harness.io
"Chandan Kumar",@chandankumar4,ckamtaprasad@msystechnologies.com
"Karthik Satchitanand",@ksatchit,karthik.s@harness.io
"Maria Kotlyarevskaya",@Jasstkn,jasssstkn@yahoo.com
"Namkyu Park",namkyu1999,lak9348@gmail.com
"Neelanjan Manna",@neelanjan00,neelanjan.manna@harness.io
"Oum Nivrati Kale",@oumkale,oumk@jfrog.com
"Raj Das",@imrajdas,rajbabu.das@harness.io
"Rémi Ziolkowski",@Vr00mm,remi.ziolkowski-ext@pole-emploi.fr
"Soumya Ghosh Dastidar",@gdsoumya,gdsoumya@gmail.com
"Saranya Jena",@Saranya-jena,saranya.jena@harness.io
"Sarthak Jain",@SarthakJain26,sarthak.jain@harness.io
"Sayan Mondal",@S-ayanide,sayan.mondal@harness.io
"Shubham Chaudhary",@ispeakc0de,shubham.chaudhary@harness.io
"Udit Gaurav",@uditgaurav,udit.gaurav@harness.io
"Vedant Shrotria",@Jonsy13,vedant.shrotria@harness.io
"Uma Mukkara",@umamukkara,umasankar.mukkara@harness.io
"Sahil KR",@SahilKr24,sahil.kumar@harness.io
"Ajesh Baby",@ajeshbaby,ajesh.baby@harness.io
"Hrishav Kumar",@hrishavjha,hrishav.kumar@harness.io
```
### Consolidated Reviewers List
```
"Adarsh Kumar",@Adarshkumar14,adarsh.kumar@harness.io
"Akash Srivastava",@avaakash,akash.srivastava@harness.io
```
### Emeritus Maintainers
```
"Jayesh Kumar",@k8s-dev,tankjaye@amazon.com,Amazon
"Sumit Nagal",@sumitnagal,snagal@salesforce.com,Salesforce
```
### Emeritus Reviewers
```
"Amit Bhatt",@amitbhatt818,amit.bhatt@mayadata.io,MayaData
"Ishan Gupta",@ishangupta-ds,ishan@chaosnative.com,ChaosNative
"Rahul M Chheda",@rahulchheda,rahul.chheda1997@gmail.com,Independent
```

26
MENTORING.md Normal file
View File

@ -0,0 +1,26 @@
# LITMUSCHAOS MENTORING
This document serves as a comprehensive record of mentees, mentors, issues, and blogs associated with prominent open source programs such as LFX Mentorship, Google Summer of Code, Google Season of Docs, and Outreachy. Its primary objective is to provide an organized overview of mentoring activities and effectively track the progress made within the project.
## Mentoring Details
| Program | Timeline | Mentee | Mentor(s) | Github Issue | Blog(s) |
|-----------------------------|-------------------------------------|-------------------------------------------------|----------------------------------------------------------------------------------------------------|---------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Google Summer of Code (GSoC) | May 17th - August 31st, 2021 | [Hemanth Krishna](https://github.com/DarthBenro008) | [Raj Babu Das](https://github.com/imrajdas), [Karthik S](https://github.com/ksatchit) | https://github.com/litmuschaos/litmus/issues/2483 | [Blog](https://darthbenro008.medium.com/google-summer-of-code-2021-with-cloud-native-compute-foundation-my-experience-with-litmuschaos-18f1ec3e5bfa), [CNCF blog](https://www.cncf.io/blog/2021/08/19/__trashed-2/) |
| LFX Mentorship | September 1st - November 31st, 2021 | [Dhananjay Purohit](https://github.com/DhananjayPurohit) | [Vedant Shrotria](https://github.com/jonsy13), [Raj Babu Das](https://github.com/imrajdas) | https://github.com/litmuschaos/litmus/issues/3114 | [Blog](https://dhananjaypurohit.medium.com/getting-started-my-journey-with-lfx-mentorship-and-litmuschaos-3514eacf6df2) |
| LFX Mentorship | September 1st - November 31st, 2021 | [Aman Dwivedi](https://github.com/Aman-Codes) | [Udit Gaurav](https://github.com/uditgaurav), [Soumya Ghosh Dastidar](https://github.com/gdsoumya) | https://github.com/litmuschaos/litmus/issues/3112 | [Blog](https://aman-codes.medium.com/kick-start-of-my-lfx-mentorship-with-litmus-chaos-eeb089a10951), [CNCF blog](https://www.cncf.io/blog/2022/08/11/my-experience-contributing-to-litmuschaos-as-a-student) |
| LFX Mentorship | March 1st - May 31st, 2022 | [Prayag Savsani](https://github.com/PrayagS) | [Saranya Jena](https://github.com/Saranya-jena), [Sarthak Jain](https://github.com/SarthakJain26) | https://github.com/litmuschaos/litmus/issues/3440 | -- |
| LFX Mentorship | March 1st - May 31st, 2023 | [NamKyu Park](https://github.com/namkyu1999) | [Sayan Mondal](https://github.com/S-ayanide), [Amit Kumar Das](https://github.com/amityt) | https://github.com/litmuschaos/litmus/issues/3892 | [Blog](https://dev.to/namkyu1999/my-lfx-mentorship-journey-the-best-starting-point-for-contributing-to-open-source-4f35), [CNCF blog](https://www.cncf.io/blog/2023/05/30/my-lfx-mentorship-journey-the-best-starting-point-for-contributing-to-open-source/) |
| LFX Mentorship | June 1st - August 31st, 2023 | [Soham Ratnaparkhi](https://github.com/SohamRatnaparkhi) | [Amit Kumar Das](https://github.com/amityt), [Arkajyoti Mukherjee](https://github.com/arkajyotiMukherjee) | https://github.com/litmuschaos/litmus/issues/3970 | -- |
| LFX Mentorship | June 1st - August 31st, 2023 | [Nagesh Bansal](https://github.com/Nageshbansal) | [Shubham Chaudhary](https://github.com/ispeakc0de), [Vansh Bhatia](https://github.com/vanshBhatia-A4k9) | https://github.com/litmuschaos/litmus/issues/3969 | [Blog](https://dev.to/nageshbansal/exploring-litmusctl-a-comprehensive-guide-170k) |
| LFX Mentorship | September 1st - November 30th, 2023 | [Magnim Thibaut Freedisch Batale](https://github.com/Freedisch) | [Saranya Jena](https://github.com/Saranya-jena), [Sayan Mondal](https://github.com/S-ayanide) | https://github.com/litmuschaos/litmus/issues/4102 | [Blog](https://dev.to/freedisch_10/embarking-on-a-professional-growth-adventure-insights-from-my-lfx-mentorship-program-at-litmuschaos-5cbc) |
| LFX Mentorship | September 1st - November 30th, 2023 | [Deep Poharkar](https://github.com/deep-poharkar) | [Sarthak Jain](https://github.com/SarthakJain26), [Neelanjan Manna](https://github.com/neelanjan00) | https://github.com/litmuschaos/litmus/issues/4101 | -- |
| LFX Mentorship | March 1st - April 31st, 2024 | [Aryan Bhokare](https://github.com/aryan-bhokare) | [Saranya Jena](https://github.com/Saranya-jena), [Hrishav Kumar](https://github.com/hrishavjha), [Sahil Kumar](https://github.com/SahilKr24) | https://github.com/litmuschaos/litmus/issues/4407 | --
| LFX Mentorship | March 1st - April 31st, 2024 | [Shivam Purohit](https://github.com/shivam-Purohit) | [Sarthak Jain](https://github.com/SarthakJain26), [Vedant Shrotria](https://github.com/jonsy13), [Nagesh Bansal](https://github.com/Nageshbansal) | https://github.com/litmuschaos/litmus/issues/4405 | --
| LFX Mentorship | March 1st - April 31st, 2024 | [M R DHANUSH](https://github.com/Dhanush0369) | [Raj Babu Das](https://github.com/imrajdas), [Shubham Chaudhary](https://github.com/ispeakc0de), [NamKyu Park](https://github.com/namkyu1999) | https://github.com/litmuschaos/litmus/issues/4406 | -- |
> Refer to the [CNCF Mentoring](https://github.com/cncf/mentoring) repository for more details.
We sincerely thank all the mentors, mentees, organizations, and programs involved in this project for their invaluable support and contributions. Their dedication and commitment play a vital role in the success of our mentoring initiatives.
--x--

166
README.md
View File

@ -1,18 +1,18 @@
<img alt="LitmusChaos" src="https://landscape.cncf.io/logos/litmus.svg" width="200" align="left">
<img alt="LitmusChaos" src="https://avatars.githubusercontent.com/u/49853472?s=200&v=4" width="200" align="left">
# Litmus
### Cloud-Native Chaos Engineering
# [LitmusChaos](https://litmuschaos.io/)
### Open Source Chaos Engineering Platform
[![Slack Channel](https://img.shields.io/badge/Slack-Join-purple)](https://slack.litmuschaos.io)
[![CircleCI](https://circleci.com/gh/litmuschaos/litmus/tree/master.svg?style=shield)](https://app.circleci.com/pipelines/github/litmuschaos/litmus)
![GitHub Workflow](https://github.com/litmuschaos/litmus/actions/workflows/push.yml/badge.svg?branch=master)
[![Docker Pulls](https://img.shields.io/docker/pulls/litmuschaos/chaos-operator.svg)](https://hub.docker.com/r/litmuschaos/chaos-operator)
[![GitHub stars](https://img.shields.io/github/stars/litmuschaos/litmus?style=social)](https://github.com/litmuschaos/litmus/stargazers)
[![GitHub issues](https://img.shields.io/github/issues/litmuschaos/litmus)](https://github.com/litmuschaos/litmus/issues)
[![Twitter Follow](https://img.shields.io/twitter/follow/litmuschaos?style=social)](https://twitter.com/LitmusChaos)
[![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/3202/badge)](https://bestpractices.coreinfrastructure.org/projects/3202)
[![BCH compliance](https://bettercodehub.com/edge/badge/litmuschaos/litmus?branch=master)](https://bettercodehub.com/)
[![OpenSSF Best Practices](https://www.bestpractices.dev/projects/3202/badge)](https://www.bestpractices.dev/projects/3202)
[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Flitmuschaos%2Flitmus.svg?type=shield)](https://app.fossa.io/projects/git%2Bgithub.com%2Flitmuschaos%2Flitmus?ref=badge_shield)
[![YouTube Channel](https://img.shields.io/badge/YouTube-Subscribe-red)](https://www.youtube.com/channel/UCa57PMqmz_j0wnteRa9nCaw)
[![Gurubase](https://img.shields.io/badge/Gurubase-Ask%20LitmusChaos%20Guru-006BFF)](https://gurubase.io/g/litmuschaos)
<br><br><br><br>
#### *Read this in [other languages](translations/TRANSLATIONS.md).*
@ -22,53 +22,139 @@
## Overview
Litmus is a toolset to do cloud-native chaos engineering. Litmus provides tools to orchestrate chaos on Kubernetes to help SREs find weaknesses in their deployments. SREs use Litmus to run chaos experiments initially in the staging environment and eventually in production to find bugs, vulnerabilities. Fixing the weaknesses leads to increased resilience of the system.
LitmusChaos is an open source Chaos Engineering platform that enables teams to identify weaknesses & potential outages in infrastructures by
inducing chaos tests in a controlled way. Developers & SREs can practice Chaos Engineering with LitmusChaos as it is easy to use, based on modern
Chaos Engineering principles & community collaborated. It is 100% open source & a CNCF project.
Litmus takes a cloud-native approach to create, manage and monitor chaos. Chaos is orchestrated using the following Kubernetes Custom Resource Definitions (**CRDs**):
LitmusChaos takes a cloud-native approach to create, manage and monitor chaos. The platform itself runs as a set of microservices and uses Kubernetes
custom resources (CRs) to define the chaos intent, as well as the steady state hypothesis.
- **ChaosEngine**: A resource to link a Kubernetes application or Kubernetes node to a ChaosExperiment. ChaosEngine is watched by Litmus' Chaos-Operator which then invokes Chaos-Experiments
- **ChaosExperiment**: A resource to group the configuration parameters of a chaos experiment. ChaosExperiment CRs are created by the operator when experiments are invoked by ChaosEngine.
- **ChaosResult**: A resource to hold the results of a chaos-experiment. The Chaos-exporter reads the results and exports the metrics into a configured Prometheus server.
At a high-level, Litmus comprises of:
Chaos experiments are hosted on <a href="https://hub.litmuschaos.io" target="_blank">hub.litmuschaos.io</a>. It is a central hub where the application developers or vendors share their chaos experiments so that their users can use them to increase the resilience of the applications in production.
- **Chaos Control Plane**: A centralized chaos management tool called chaos-center, which helps construct, schedule and visualize Litmus chaos workflows
- **Chaos Execution Plane Services**: Made up of a chaos agent and multiple operators that execute & monitor the experiment within a defined
target Kubernetes environment.
![Litmus workflow](/images/litmus-arch_1.png)
![architecture summary](/images/litmus-control-and-execution-plane-overview.png)
At the heart of the platform are the following chaos custom resources:
- **ChaosExperiment**: A resource to group the configuration parameters of a particular fault. ChaosExperiment CRs are essentially installable templates
that describe the library carrying out the fault, indicate permissions needed to run it & the defaults it will operate with. Through the ChaosExperiment, Litmus supports BYOC (bring-your-own-chaos) that helps integrate (optional) any third-party tooling to perform the fault injection.
- **ChaosEngine**: A resource to link a Kubernetes application workload/service, node or an infra component to a fault described by the ChaosExperiment.
It also provides options to tune the run properties and specify the steady state validation constraints using 'probes'. ChaosEngine is watched by the
Chaos-Operator, which reconciles it (triggers experiment execution) via runners.
The ChaosExperiment & ChaosEngine CRs are embedded within a Workflow object that can string together one or more experiments in a desired order.
- **ChaosResult**: A resource to hold the results of the experiment run. It provides details of the success of each validation constraint,
the revert/rollback status of the fault as well as a verdict. The Chaos-exporter reads the results and exposes information as prometheus metrics.
ChaosResults are especially useful during automated runs.
ChaosExperiment CRs are hosted on <a href="https://hub.litmuschaos.io" target="_blank">hub.litmuschaos.io</a>. It is a central hub where the
application developers or vendors share their chaos experiments so that their users can use them to increase the resilience of the applications
in production.
## Use cases
- **For Developers**: To run chaos experiments during application development as an extension of unit testing or integration testing.
- **For CI pipeline builders**: To run chaos as a pipeline stage to find bugs when the application is subjected to fail paths in a pipeline.
- **For SREs**: To plan and schedule chaos experiments into the application and/or surrounding infrastructure. This practice identifies the weaknesses in the system and increases resilience.
- **For CI/CD pipeline builders**: To run chaos as a pipeline stage to find bugs when the application is subjected to fail paths in a pipeline.
- **For SREs**: To plan and schedule chaos experiments into the application and/or surrounding infrastructure. This practice identifies the weaknesses
in the deployment system and increases resilience.
## Getting Started with Litmus
[![IMAGE ALT TEXT](images/maxresdefault.jpg)](https://youtu.be/W5hmNbaYPfM)
Check out the <a href="https://docs.litmuschaos.io/docs/next/getstarted.html" target="_blank">Litmus Docs</a> to get started.
To get started, check out the <a href="https://docs.litmuschaos.io/docs/introduction/what-is-litmus" target="_blank">Litmus Docs</a> and specifically the <a href="https://docs.litmuschaos.io/docs/getting-started/installation#prerequisites" target="_blank">Installation section</a> of the <a href="https://docs.litmuschaos.io/docs/getting-started/installation" target="_blank">Getting Started with Litmus</a> page.
## Contributing to Chaos Hub
Check out the <a href="https://github.com/litmuschaos/community-charts/blob/master/CONTRIBUTING.md" target="_blank">Contributing Guidelines for the Chaos Hub</a>
## Community
### Community Resources:
Feel free to reach out if you have any queries,concerns, or feature requests
- Give us a star ⭐️ - If you are using LitmusChaos or think it is an interesting project, we would love a star ❤️
- Follow LitmusChaos on Twitter [@LitmusChaos](https://twitter.com/LitmusChaos).
- Subscribe to the [LitmusChaos YouTube channel](https://www.youtube.com/channel/UCa57PMqmz_j0wnteRa9nCaw) for regular updates & meeting recordings.
- To join our [Slack Community](https://slack.litmuschaos.io/) and meet our community members, put forward your questions & opinions, join the #litmus channel on the [Kubernetes Slack](https://slack.k8s.io/).
### Community Meetings
1. Community Meetings
These will be hosted every 3rd Wednesday of every month at 5:30 PM GMT /6:30 PM CEST /10 PM IST
The community meetings will involve discussing community updates, sharing updates on new features/releases and discussing user/adopter stories. Everyone in the community is invited for the same to participate in the LitmusChaos community meetings.
2. Contributor Meetings
These will be hosted every second & last Thursday of every month at 2:30 PM GMT /3:30 PM CEST /7 PM IST
The contributor meetings are only meant to discuss technical and non-technical contributions to LitmusChaos. Maintainers, present Contributors and aspiring contributors are invited to participate in the LitmusChaos contributor meetings to discuss issues, fixes, enhancements and future contributions
Fill out the [LitmusChaos Meetings invite form](https://forms.gle/xYZyZ2gTWMqz7xSs7) to get your Calendar invite!
- [Sync Up Meeting Link](https://harness-io.zoom.us/j/95100368978?pwd=b2VrdCtaakE5U3dhOElFMUJOaXVOUT09)
- [Sync Up Agenda & Meeting Notes](https://hackmd.io/a4Zu_sH4TZGeih-xCimi3Q)
- [Release Tracker](https://github.com/litmuschaos/litmus/milestones)
### Videos
- [What if Your System Experiences an Outage? Let's Build a Resilient Systems with Chaos Engineering](https://www.youtube.com/watch?v=3mjGEh905u4&t=1s) @ [CNCF](https://www.youtube.com/@cncf)
- [Enhancing Cyber Resilience Through Zero Trust Chaos Experiments in Cloud Native Environments](https://youtu.be/BelNIk4Bkng) @ [CNCF](https://www.youtube.com/@cncf)
- [LitmusChaos, with Karthik Satchitanand](https://www.youtube.com/watch?v=ks2R57hhFZk&t=503s) @ [The Kubernetes Podcast from Google](https://www.youtube.com/@TheKubernetesPodcast)
- [Cultural Shifts: Fostering a Chaos First Mindset in Platform Engineering](https://www.youtube.com/watch?v=WUXFKxgZRsk) @ [CNCF](https://www.youtube.com/@cncf)
- [Fire in the Cloud: Bringing Managed Services Under the Ambit of Cloud-Native Chaos Engineering](https://www.youtube.com/watch?v=xCDQp5E3VUs) @ [CNCF](https://www.youtube.com/@cncf)
- [Security Controls for Safe Chaos Experimentation](https://www.youtube.com/watch?v=whCkvLKAw74) @ [CNCF](https://www.youtube.com/@cncf)
- [Chaos Engineering For Hybrid Targets With LitmusChaos](https://www.youtube.com/watch?v=BZL-ngvbpbU&t=751s) @ [CNCF](https://www.youtube.com/@cncf)
- [Cloud Native Live: Litmus Chaos Engine and a microservices demo app](https://youtu.be/hOghvd9qCzI)
- [Chaos Engineering hands-on - An SRE ideating Chaos Experiments and using LitmusChaos | July 2022](https://youtu.be/_x_7SiesjF0)
- [Achieve Digital Product Resiliency with Chaos Engineering](https://youtu.be/PQrmBHgk0ps)
- [Case Study: Bringing Chaos Engineering to the Cloud Native Developers](https://youtu.be/KSl-oKk6TPA) @ [CNCF](https://www.youtube.com/@cncf)
- [Cloud Native Chaos Engineering with LitmusChaos](https://www.youtube.com/watch?v=ItUUqejdXr0) @ [CNCF](https://www.youtube.com/@cncf)
- [How to create Chaos Experiments with Litmus | Litmus Chaos tutorial](https://youtu.be/mwu5eLgUKq4) @ [Is it Observable](https://www.youtube.com/c/IsitObservable)
- [Cloud Native Chaos Engineering Preview With LitmusChaos](https://youtu.be/pMWqhS-F3tQ)
- [Get started with Chaos Engineering with Litmus](https://youtu.be/5CI8d-SKBfc) @ [Containers from the Couch](https://www.youtube.com/c/ContainersfromtheCouch)
- [Litmus 2 - Chaos Engineering Meets Argo Workflows](https://youtu.be/B8DfYnDh2F4) @ [DevOps Toolkit](https://youtube.com/c/devopstoolkit)
- [Hands-on with Litmus 2.0 | Rawkode Live](https://youtu.be/D0t3emVLLko) @ [Rawkode Academy](https://www.youtube.com/channel/UCrber_mFvp_FEF7D9u8PDEA)
- [Introducing LitmusChaos 2.0 / Dok Talks #74](https://youtu.be/97BiCNtJbDw) @ [DoK.community](https://www.youtube.com/channel/UCUnXJbHQ89R2uSfKsqQwGvQ)
- [Introduction to Cloud Native Chaos Engineering](https://youtu.be/LK0oDLQE4S8) @ [Kunal Kushwaha](https://www.youtube.com/channel/UCBGOUQHNNtNGcGzVq5rIXjw)
- [#EveryoneCanContribute cafe: Litmus - Chaos Engineering for your Kubernetes](https://youtu.be/IiyrEiK4stQ) @ [GitLab Unfiltered](https://www.youtube.com/channel/UCMtZ0sc1HHNtGGWZFDRTh5A)
- [Litmus - Chaos Engineering for Kubernetes (CNCFMinutes 9)](https://youtu.be/rDQ9XKbSJIc) @ [Saiyam Pathak](https://www.youtube.com/channel/UCi-1nnN0eC9nRleXdZA6ncg)
- [Chaos Engineering with Litmus Chaos by Prithvi Raj || HACKODISHA Workshop](https://youtu.be/eyAG0svCsQA) @ [Webwiz](https://www.youtube.com/channel/UC9yM_PkV0QIIsPA3qPrp)
[And More....](https://www.youtube.com/channel/UCa57PMqmz_j0wnteRa9nCaw)
### Blogs
- CNCF: [Introduction to LitmusChaos](https://www.cncf.io/blog/2020/08/28/introduction-to-litmuschaos/)
- Hackernoon: [Manage and Monitor Chaos via Litmus Custom Resources](https://hackernoon.com/solid-tips-on-how-to-manage-and-monitor-chaos-via-litmus-custom-resources-5g1s33m9)
- [Observability Considerations in Chaos: The Metrics Story](https://dev.to/ksatchit/observability-considerations-in-chaos-the-metrics-story-6cb)
Community Blogs:
- LiveWyer: [LitmusChaos Showcase: Chaos Experiments in a Helm Chart Test Suite](https://livewyer.io/blog/2021/03/22/litmuschaos-showcase-chaos-experiments-in-a-helm-chart-test-suite/)
- Jessica Cherry: [Test Kubernetes cluster failures and experiments in your terminal](https://opensource.com/article/21/6/kubernetes-litmus-chaos)
- Yang Chuansheng(KubeSphere): [KubeSphere 部署 Litmus 至 Kubernetes 开启混沌实验](https://kubesphere.io/zh/blogs/litmus-kubesphere/)
- Saiyam Pathak(Civo): [Chaos Experiments on Kubernetes using Litmus to ensure your cluster is production ready](https://www.civo.com/learn/chaos-engineering-kubernetes-litmus)
- Andreas Krivas(Container Solutions):[Comparing Chaos Engineering Tools for Kubernetes Workloads](https://blog.container-solutions.com/comparing-chaos-engineering-tools)
- Akram Riahi(WeScale):[Chaos Engineering : Litmus sous tous les angles](https://blog.wescale.fr/2021/03/11/chaos-engineering-litmus-sous-tous-les-angles/)
- Prashanto Priyanshu(LensKart):[Lenskarts approach to Chaos Engineering-Part 2](https://blog.lenskart.com/lenskarts-approach-to-chaos-engineering-part-2-6290e4f3a74e)
- DevsDay.ru(Russian):[LitmusChaos at Kubecon EU '21](https://devsday.ru/blog/details/40746)
## Adopters
Check out the <a href="https://github.com/litmuschaos/litmus/blob/master/ADOPTERS.md" target="_blank">Adopters of LitmusChaos</a>
(_Send a PR to the above page if you are using Litmus in your chaos engineering practice_)
## Things to Consider
Some of the considerations that need to be made with Litmus (as a chaos framework), are broadly listed here. Many of these are already being worked on
as mentioned in the [ROADMAP](./ROADMAP.md). For details or limitations around specific experiments, refer to the respective [experiments docs](https://docs.litmuschaos.io/docs/pod-delete/).
- Litmus chaos operator and the chaos experiments run as kubernetes resources in the cluster. In case of airgapped environments, the chaos custom resources
and images need to be hosted on premise.
- When attempting to execute platform specific chaos experiments (like those on AWS, GCP cloud) the access details are passed via kubernetes secrets. Support
for other modes of secret management with Litmus is yet to be tested/implemented.
- Some chaos experiments make use of the docker api from within the experiment pods, and thereby require the docker socket to be mounted. User discretion is
advised when allowing developers/devops admins/SREs access for running these experiments.
- In (rare) cases where chaos experiments make use of privileged containers, the recommended security policies will be documented.
## License
Litmus is licensed under the Apache License, Version 2.0. See [LICENSE](./LICENSE) for the full license text. Some of the projects used by the Litmus project may be governed by a different license, please refer to its specific license.
@ -77,19 +163,7 @@ Litmus is licensed under the Apache License, Version 2.0. See [LICENSE](./LICENS
Litmus Chaos is part of the CNCF Projects.
[![CNCF](https://github.com/cncf/artwork/blob/master/other/cncf/horizontal/color/cncf-color.png)](https://landscape.cncf.io/selected=litmus)
## Community
The Litmus community meets on the third wednesday of every month at 10:00PM IST/9.30 AM PST.
Community Resources:
- [Community Slack](https://slack.litmuschaos.io)
- [Sync Up Meeting Link](https://zoom.us/j/91358162694)
- [Sync Up Agenda & Meeting Notes](https://hackmd.io/a4Zu_sH4TZGeih-xCimi3Q)
- [Youtube Channel (demos, meeting recordings, virtual meetups)](https://www.youtube.com/channel/UCa57PMqmz_j0wnteRa9nCaw)
- [Release Tracker](https://github.com/litmuschaos/litmus/milestones)
[![CNCF](https://github.com/cncf/artwork/blob/main/other/cncf/horizontal/color/cncf-color.png)](https://landscape.cncf.io/?selected=litmus)
## Important Links
@ -97,6 +171,6 @@ Community Resources:
Litmus Docs <img src="https://avatars0.githubusercontent.com/u/49853472?s=200&v=4" alt="Litmus Docs" height="15">
</a>
<br>
<a href="https://landscape.cncf.io/selected=litmus">
CNCF Landscape <img src="https://landscape.cncf.io/images/left-logo.svg" alt="Litmus on CNCF Landscape" height="15">
<a href="https://landscape.cncf.io/?selected=litmus">
CNCF Landscape <img src="https://landscape.cncf.io/images/cncf-landscape-horizontal-color.svg" alt="Litmus on CNCF Landscape" height="15">
</a>

View File

@ -1,4 +1,19 @@
## RELEASE GUIDELINES
# Versioning and Release Guidelines
This document details the versioning, release plan and release guidelines for LitmusChaos. Stability
is a top goal for this project, and we hope that this document and the processes
it entails will help to achieve that. It covers the release timelines, tracking, process, versioning
numbering, support horizons, and API stability.
If you rely on LitmusChaos, it would be good to spend time understanding the
areas of the API that are and are not supported and how they impact your
project in the future.
This document will be considered a living document. Scheduled releases, supported timelines, and API stability guarantees will be updated here as they
change.
If there is something that you require or this document leaves out, please
reach out by [filing an issue](https://github.com/litmuschaos/litmus/issues).
- There is a scheduled release on the 15th of every month on the following repositories:
- [Litmus](https://github.com/litmuschaos/litmus)
@ -7,8 +22,6 @@
- [Chaos-Exporter](https://github.com/litmuschaos/chaos-exporter)
- [Chaos-Charts](https://github.com/litmuschaos/chaos-charts)
- Repositories use release version according to the [Semantic Versioning](https://semver.org/)
- Docker images with release tags are pushed upon creation of a github release
- Following are the docker images:
@ -19,8 +32,6 @@
- The chaos chart bundles are created by publishing the github releases for the [chaos-charts](https://github.com/litmuschaos/chaos-charts) repo. This is picked by the chaos [charthub](https://hub.litmuschaos.io) for user download.
- Tracking of releases is done on Github [project board](https://github.com/litmuschaos/litmus/projects)
- The release flow consists of the following steps:
- Sprint Planning based on backlogs & feature requests from the community
@ -32,6 +43,157 @@
- Doc sanity tests
- Litmus release with change log
## Releases
Releases of LitmusChaos will be versioned using dotted triples, similar to
[Semantic Version](http://semver.org/). For the purposes of this document, we
will refer to the respective components of this triple as
`<major>.<minor>.<patch>`. The version number may have additional information,
such as alpha, beta and release candidate qualifications. Such releases will be
considered "pre-releases".
### Major and Minor Releases
Major and minor releases of LitmusChaos will be made from master. Releases of
LitmusChaos will be marked with GPG signed tags and announced at
https://github.com/litmuschaos/litmus/releases. The tag will be of the
format `<major>.<minor>.<patch>` and should be made with the command `git tag
-s <major>.<minor>.<patch>`.
After a minor release, a branch will be created, with the format
`release-<major>.<minor>.x` from the minor tag. All further patch releases will
be done from that branch. For example, once we release `1.0.0`, a branch
`release-1.0.x` will be created from that tag. All future patch releases will be
done against that branch.
### Pre-releases
Pre-releases, such as alphas, betas and release candidates will be conducted
from their source branch. For major and minor releases, these releases will be
done from main. For patch releases, these pre-releases should be done within
the corresponding release branch.
While pre-releases are done to assist in the stabilization process, no
guarantees are provided.
### Upgrade Path
The upgrade path for LitmusChaos is such that the 0.0.x patch releases are
always backward compatible with its major and minor version. Minor (0.x.0)
version will always be compatible with the previous minor release. i.e. 1.2.0
is backwards compatible with 1.1.0 and 1.1.0 is compatible with 1.0.0. There is
no compatibility guarantees for upgrades that span multiple, _minor_ releases.
For example, 1.0.0 to 1.2.0 is not supported. One should first upgrade to 1.1,
then 1.2.
There are no compatibility guarantees with upgrades to _major_ versions. For
example, upgrading from 1.0.0 to 2.0.0 may require resources to migrated or
integrations to change. Each major version will be supported for at least 1
year with bug fixes and security patches.
### Next Release
The activity for the next release will be tracked in the
[project board](https://github.com/litmuschaos/litmus/projects). If your
issue or PR is not present in the project board, please reach out to the maintainers or discuss the same on the #litmus-dev slack channel to create the milestone or add an issue or PR to an existing milestone.
### Support Horizon
Support horizons will be defined corresponding to a release branch, identified
by `<major>.<minor>`. Release branches will be in one of several states:
- __*Next*__: The next planned release branch.
- __*Active*__: The release is a stable branch which is currently supported and accepting patches.
- __*Extended*__: The release branch is only accepting security patches.
- __*LTS*__: The release is a long term stable branch which is currently supported and accepting patches.
- __*End of Life*__: The release branch is no longer supported and no new patches will be accepted.
Releases will be supported at least one year after a _minor_ release. This means that
we will accept bug reports and backports to release branches until the end of
life date. If no new _minor_ release has been made, that release will be
considered supported until 6 months after the next _minor_ is released or one year,
whichever is longer. Additionally, releases may have an extended security support
period after the end of the active period to accept security backports. This
timeframe will be decided by maintainers before the end of the active status.
Long term stable (_LTS_) releases will be supported for at least three years after
their initial _minor_ release. These branches will accept bug reports and
backports until the end of life date. They may also accept a wider range of
patches than non-_LTS_ releases to support the longer term maintainability of the
branch, including library dependency, toolchain (including Go) and other version updates
which are needed to ensure each release is built with fully supported dependencies and
remains usable by LitmusChaos clients. _LTS_ releases can also accept feature backports
to support new Kubernetes releases. The default action has to be reject it though,
for long-term stability. This is still negotiable when the feature is a hard dependency
for a new release of Kubernetes. There should be at least a 6-month overlap between
the end of life of an _LTS_ release and the initial release of a new _LTS_ release.
Up to 6 months before the announced end of life of an _LTS_ branch, the branch may
convert to a regular _Active_ release with stricter backport criteria.
The current state is available in the following tables:
| Release | Status | Start | End of Life |
| --------- | ------------- | ------------------ | ------------------- |
| [0.x {0.6 - 0.9}](https://github.com/litmuschaos/litmus/releases/tag/0.9.0) | End of Life | Sept 13, 2019 | Jun 15, 2020 |
| [1.x {1.0 - 1.13}](https://github.com/litmuschaos/litmus/releases/tag/1.13.8) | End of Life | Jan 8, 2020 | - |
| [2.0 beta {2.0 beta 0 to 2.0 beta 9}](https://github.com/litmuschaos/litmus/releases/tag/2.0.0-Beta9) | End of Life | Mar 05, 2021 | July 15, 2021 |
| [2.x](https://github.com/litmuschaos/litmus/releases/tag/2.14.0) | End of Life | Aug 9, 2021 | September 5, 2023 |
| [3.x beta](https://github.com/litmuschaos/litmus/releases/tag/3.0.0-beta12) | End of Life | Nov 16, 2022 | Nov 15, 2023 |
| [3.x](https://github.com/litmuschaos/litmus/releases/tag/3.6.1) | Active | Oct 04, 2023 | active(release of 4.0 + 6 months), |
| [4.0](https://github.com/litmuschaos/litmus/blob/master/ROADMAP.md) | Next | TBD | TBD |
> **_NOTE_** LitmusChaos v3.x will end of life at the same time as v4.x reaches full stability. Due to
> [Minimal Version Selection](https://go.dev/ref/mod#minimal-version-selection) used
> by Go modules, 3.x must be supported until EOL of all 3.x releases. Once 3.x is in
> extended support, it will continue to accept security patches in addition to client
> changes relevant for package importers.
### Kubernetes Support
The Kubernetes version matrix represents the versions of LitmusChaos which are
recommended for a Kubernetes release. Any actively supported version of
LitmusChaos may receive patches to fix bugs encountered in any version of
Kubernetes, however, our recommendation is based on which versions have been
the most thoroughly tested. See the [Kubernetes test grid](https://testgrid.k8s.io/sig-node-LitmusChaos)
for the list of actively tested versions. Kubernetes only supports n-3 minor
release versions and LitmusChaos will ensure there is always a supported version
of LitmusChaos for every supported version of Kubernetes.
| Kubernetes Version | LitmusChaos Version |
|---------------------|---------------------|
| 1.26 | 1.x, 2.x, 3.x |
| 1.27 | 3.x |
| 1.28 | 3.x |
| 1.29 | 3.x |
| 1.30 | 3.x, 4.0(wip) |
## Public API Stability
The following table provides an overview of the components covered by
LitmusChaos versions:
| Component | Status | Stabilized Version | Links |
|------------------|----------|--------------------|---------------|
| GraphQL API | Stable | 1.0 | [graphql API]() |
| Go client API | Stable | 2.0 | [godoc]() |
From the version stated in the above table, that component must adhere to the
stability constraints expected in release versions.
Unless explicitly stated here, components that are called out as unstable or
not covered may change in a future minor version. Breaking changes to
"unstable" components will be avoided in patch versions.
Go client API stability includes the `client`, `defaults` and `version` package
as well as all packages under `pkg`, `core`, `api` and `protobuf`.
All packages under `cmd`, `contrib`, `integration`, and `internal` are not
considered part of the stable client API.
### Release Checklist
* [ ] Release branch creation on litmus component repos

View File

@ -1,6 +1,6 @@
## LITMUS ROADMAP
This document captures only the high level roadmap items. For the detailed backlog, see [issues list](https://github.com/litmuschaos/litmus/issues) and [current milestones](https://github.com/litmuschaos/litmus/milestones).
This document captures only the high level roadmap items. For the detailed backlog, see [issues list](https://github.com/litmuschaos/litmus/issues).
### Completed
@ -9,42 +9,64 @@ This document captures only the high level roadmap items. For the detailed backl
- Off the shelf / ready chaos experiments for general Kubernetes chaos
- Self sufficient, Centralized Hub for chaos experiments
- Per-experiment minimal RBAC permissions definition
- Helm3 charts for Litmus Chaos (operator, kubernetes/generic chaos charts)
- Creation of 'scenarios' involving multiple faults via Argo-based Chaos Workflows (with examples for microservices apps like podtato-head and sock-shop)
- Cross-Cloud Control Plane (Litmus Portal) to perform chaos against remote clusters
- Helm charts for LitmusChaos control plane
- Helm Chart for LitmusChaos execution Plane
- Support for admin mode (centralized chaos management) as well as namespaced mode (multi-tenant clusters)
- Generation of Kubernetes chaos events in experiments
- Continuous chaos via flexible schedules, with support to halt/resume or (manual/conditional) abort experiments
- Provide complete workflow termination/abort capability
- Generation of observability data via Prometheus metrics and Kubernetes chaos events for experiments
- Steady-State hypothesis validation before, during and after chaos injection via different probe types
- Support for Docker, Containerd & CRI-O runtime
- Scaffolding scripts (SDK) to help bootstrap a new chaos experiment in Go, Ansible
- Continuous chaos via flexible scheduling policies, with support to halt/resume or abort experiments
- Ability to customize/override experiment defaults on an instance basis
- Support for scheduling policies (nodeSelector, tolerations) and resource definitions for chaos pods
- ChaosHub refactor for 2.x user flow
- Support for ARM64 nodes
- Minimized role permissions for Chaos Service Accounts
- Scaffolding scripts (SDK) to help bootstrap a new chaos experiment in Go, Python, Ansible
- Support orchestration of non-native chaos libraries via the BYOC (Bring-Your-Own-Chaos) model
- Define creation of scenarios involving multiple experiments via Argo-based Chaos Workflows
- Support for OpenShift platform
- Gitlab e2e pipeline for chaos experiments
- Documentation (user & developer guides, integration with other chaos tools)
- Add architecture details & design resources
- Define community sync up schedule
- Workflow YAML linter addition
- Integration tests & e2e framework creation for control plane components and chaos experiments
- Documentation (usage guide for chaos operator, resources & developer guide for new experiment creation)
- Improved documentation and tutorials for Litmus Portal based execution flow
- Add architecture details & design resources
- Define community sync up cadence and structure
------
### In-Progress (Near-term)
### In-Progress (Under Design OR Active Development)
- Improved runtime validation of chaos dependencies via litmus admission controllers
- Support for Kubernetes pod scheduling policies (affinity rules for chaos resources)
- A UI portal for LitmusChaos to trigger and schedule chaos experiments & workflows. Ongoing development [here](https://github.com/litmuschaos/litmus/tree/master/litmus-portal/)
- Off the shelf chaos-integrated grafana dashboards for OpenEBS, Kafka, Cassandra [#1280](https://github.com/litmuschaos/litmus/issues/1280)
- Support for user defined chaos experiment result definition (ex:json blob as chaos result) [#1254](https://github.com/litmuschaos/litmus/issues/1254)
- Increased IO-Chaos libraries [#1623](https://github.com/litmuschaos/litmus/issues/1623)
- HTTP Chaos libraries [#1179](https://github.com/litmuschaos/litmus/issues/1179)
- Create and functionalize Special Interest Groups (SIGs) around specific areas in the project to take the roadmap forward
- Native Chaos Workflows with redesigned subscriber to improve resource delegation, enabling seamless and efficient execution of chaos workflows within Kubernetes clusters.
- Introduce transient runners to improve resource efficiency during chaos experiments by dynamically creating and cleaning up chaos runner instances.
- Implement Kubernetes connectors to enable streamlined integration with Kubernetes clusters, providing simplified authentication and configuration management.
- Integrate with tools like K8sGPT to generate insightful reports that identify potential weaknesses in your Kubernetes environment before executing chaos experiments.
- Add Terraform support for defining and executing chaos experiments on infrastructure components, enabling infrastructure-as-code-based chaos engineering.
- Add SDK support for Python and Java, with potential extensions to other programming languages based on community interest.
- Include in-product documentation, such as tooltips, to improve user experience and ease of adoption.
- Implement the litmus-java-sdk with a targeted v1.0.0 release by Q1.
- Integrate distributed tracing by adding attributes or events to spans, and create an OpenTelemetry demo showcasing chaos engineering observability.
- Enhance the exporter to function as an OpenTelemetry collector, providing compatibility with existing observability pipelines.
- Add support for DocumentDB by replacing certain MongoDB operations, improving flexibility for database chaos.
- Upgrade Kubernetes SDK from version 1.21 to 1.26 to stay aligned with the latest Kubernetes features and enhancements.
- Refactor the chaos charts to:
- Replace latest tags with specific, versioned image tags.
- Consolidate multiple images into a single optimized image.
- Update GraphQL and authentication API documentation for improved clarity and user guidance.
- Add comprehensive unit and fuzz tests to enhance code reliability and robustness.
- Implement out-of-the-box Slack integration for better collaboration and monitoring during chaos experiments.
------
### Backlog
### Backlog
- Add pre-defined chaos workflows for the [podtato-head](https://github.com/cncf/podtato-head) model app from CNCF Ap-Delivery SIG
- Pre-defined chaos workflows to inject chaos during application benchmark runs
- Support for cloudevents compliant chaos events
- Increased chaos metrics via prometheus chaos exporter
- Migration to native Kubernetes ansible modules for ansible-based experiments
- Improved application Chaos Suites (OpenEBS, Kafka, Cassandra)
- Support for platform (AWS, GKE, vSphere) Chaos
- Validation support for all ChaosEngine schema elements within workflow wizard
- Chaos-center users account to chaosService account map
- Cross-hub experiment support within a Chaos Workflow
- Enhanced CRD schema for ChaosEngine to support advanced CommandProbe configuration
- Support for S3 artifact sink (helps performance/benchmark runs)
- Chaos experiments against virtual machines and cloud infrastructure (AWS, GCP, Azure, VMWare, Baremetal)
- Off the shelf chaos-integrated monitoring dashboards for application chaos categories
- Support for user defined chaos experiment result definition
- Increased fault injection types (IOChaos, HTTPChaos, JVMChaos)
- Special Interest Groups (SIGs) around specific areas in the project to take the roadmap forward

124
SECURITY.md Normal file
View File

@ -0,0 +1,124 @@
# SECURITY
## Reporting a Vulnerability
We are extremely grateful for security researchers and users that report vulnerabilities to the LitmusChaos Open Source Community. All reports are thoroughly investigated by a set of community members.
To report a litmuschaos vulnerability, either:
1. Report it on Github directly:
Navigate to the security tab on the repository
![Github Security Tab](./images/securityreport.png)
Click on 'Advisories'
![Github Advisories tab](./images/security-reporting2.png)
Click on 'Report a vulnerability'
![Github Report a Vulnerability](./images/security-reporting3.png)
2. Send an email to `litmuschaos@gmail.com` detailing the issue and steps
to reproduce.
The reporter(s) can expect a response within 24 hours acknowledging
the issue was received. If a response is not received within 24 hours, please
reach out to any committer directly to confirm receipt of the issue.
To make a report, submit your vulnerability to all security contacts of LitmusChaos [listed below](#security-contacts). This allows triage and handling of the vulnerability with standardized response times.
### When Should I Report a Vulnerability?
- You think you discovered a potential security vulnerability in LitmusChaos
- You are unsure how a vulnerability affects LitmusChaos
- You think you discovered a vulnerability in another project that LitmusChaos depends on. For projects with their own vulnerability reporting and disclosure process, please report it directly there.
### When Should I NOT Report a Vulnerability?
- You need help tuning LitmusChaos components for security - please discuss this is in the various LitmusChaos community channels
- You need help applying security-related updates
- Your issue is not security-related
## Review Process
Once a committer has confirmed the relevance of the report, a draft security
advisory will be created on Github. The draft advisory will be used to discuss
the issue with committers, the reporter(s), and litmuschaos's security advisors.
If the reporter(s) wishes to participate in this discussion, then provide
reporter Github username(s) to be invited to the discussion. If the reporter(s)
does not wish to participate directly in the discussion, then the reporter(s)
can request to be updated regularly via email.
If the vulnerability is accepted, a timeline for developing a patch, public
disclosure, and patch release will be determined. If there is an embargo period
on public disclosure before the patch release, an announcment will be sent to
the security announce mailing list announcing the scope of the vulnerability, the date of availability of the
patch release, and the date of public disclosure. The reporter(s) are expected
to participate in the discussion of the timeline and abide by agreed upon dates
for public disclosure.
## Security Vulnerability Response
Each report is acknowledged and analyzed by the security contacts within 5 working days. This will set off the [Security Release Process](#process).
Any vulnerability information shared with the LitmusChaos security contacts stays within LitmusChaos project and will not be disseminated to other projects unless it is necessary to get the issue fixed.
## Public Disclosure Timing
A public disclosure date is negotiated by the LitmusChaos Security Committee and the bug submitter. We prefer to fully disclose the bug as soon as possible once a user mitigation is available. It is reasonable to delay disclosure when the bug or the fix is not yet fully understood, the solution is not well-tested, or for vendor coordination. The timeframe for disclosure is from immediate (especially if it is already publicly known) to a few weeks. For a vulnerability with a straightforward mitigation, we expect report date to disclosure date to be on the order of 7 days. The LitmusChaos Security Committee holds the final say when setting a disclosure date.
## Process
If you find a security-related bug in LitmusChaos, we kindly ask you for responsible disclosure and for giving us appropriate time to react, analyze, and develop a fix to mitigate the found security vulnerability. The security contact will investigate the issue within 5 working days.
The team will react promptly to fix the security issue and its workaround/fix will be published on our release notes.
## Supported Versions
See the [litmuschaos release page]()
for information on supported versions of litmuschaos. Any `Extended` or `Active`
release branch may receive security updates. For any security issues discovered
on older versions, non-core packages, or dependencies, please inform committers
using the same security mailing list as for reporting vulnerabilities.
## Joining the security announce mailing list
Any organization or individual who directly uses litmuschaos and non-core
packages in production or in a security critical application is eligible to join
the security announce mailing list. Indirect users who use litmuschaos through a
vendor are not expected to join, but should request their vendor join. To join
the mailing list, the individual or organization must be sponsored by either a
litmuschaos committer or security advisor as well as have a record of properly
handling non-public security information. If a sponsor cannot be found,
sponsorship may be requested at `litmuschaos@gmail.com`. Sponsorship should not
be requested via public channels since membership of the security announce list
is not public.
## Security Vulnerability Response
Each report is acknowledged and analyzed by the security contacts within 5 working days. This will set off the [Security Release Process](#process).
Any vulnerability information shared with the LitmusChaos security contacts stays within LitmusChaos project and will not be disseminated to other projects unless it is necessary to get the issue fixed.
## Public Disclosure Timing
A public disclosure date is negotiated by the LitmusChaos Security Committee and the bug submitter. We prefer to fully disclose the bug as soon as possible once a user mitigation is available. It is reasonable to delay disclosure when the bug or the fix is not yet fully understood, the solution is not well-tested, or for vendor coordination. The timeframe for disclosure is from immediate (especially if it is already publicly known) to a few weeks. For a vulnerability with a straightforward mitigation, we expect report date to disclosure date to be on the order of 7 days. The LitmusChaos Security Committee holds the final say when setting a disclosure date.
## Process
If you find a security-related bug in LitmusChaos, we kindly ask you for responsible disclosure and for giving us appropriate time to react, analyze, and develop a fix to mitigate the found security vulnerability. The security contact will investigate the issue within 5 working days.
The team will react promptly to fix the security issue and its workaround/fix will be published on our release notes.
## Security Contacts
Defined below are the security contacts for this repository. In case you identify any security issue, please reach out to all of the security contacts.
- @ksatchit (karthik satchitanand, karthik.s@harness.io)
- @rajdas98 (raj babu das, raj.das@harness.io)

8
TRAINING_AND_COURSES.md Normal file
View File

@ -0,0 +1,8 @@
# LitmusChaos Training and Courses
Here is a list of training and courses related to LitmusChaos available out there. LitmusChaos is a CNCF project which does not endorse any particular course.
If you have created a training or course for LitmusChaos and wish to add the same, please raise a PR against this document.
- [Harness Chaos Engineering Practitioner](https://university.harness.io/path/harness-chaos-engineering-practitioner)
- [Configuring Kubernetes for Reliability with LitmusChaos](https://www.udemy.com/course/configuring-kubernetes-for-reliability-with-litmuschaos/)

13
USERS.md Normal file
View File

@ -0,0 +1,13 @@
This is a list of users that are using & benefited by LitmusChaos. Please send a PR to this file (along with details [here](./adopters/users))
to add yourselves.
| User | Usecase | Details |
| :--- | :--- | :--- |
| [Laura Henning](https://github.com/LaumiH)|Reasearch on how to do chaos engineering in minikube clusters like [these](https://github.com/LaumiH/k8sstuff)|[My Story](adopters/users/Laura_Henning.md) |
| [Johnny Jacob](https://github.com/johnnyjacob)|Testing deployment designs for resiliency|Coming Soon!|
| [Jayesh Kumar Tank](https://github.com/k8s-dev)|Create Cloud Native Validation Suite on [Microservices Application](https://github.com/k8s-dev/microservices-demo)|[My Story](adopters/users/Jayesh_Kumar_Tank.md)|
| [Bhaumik Shah](https://github.com/Bhaumik1802)|Use LitmusChaos for Kafka Resiliency on Dev/Staging|[My Story](adopters/users/Bhaumik_Shah.md)|
| [Jayadeep KM](https://github.com/kmjayadeep)|Ensure reliability of microservices|[My Story](adopters/users/Jayadeep_KM.md)|
| [Shantanu Deshpande](https://github.com/ishantanu)|Chaos Engineering Practice as SRE|[My Story](adopters/users/Shantanu_Deshpande.md)|
| [Omar Hanafi](https://github.com/oHanafi)|Performance Anomaly Detection in Cloud and Containerized Applications|Coming Soon!|

View File

@ -0,0 +1,15 @@
## AB-Inbev
Anheuser-Busch InBev SA/NV, commonly known as AB InBev, is a Belgian multinational drink and brewing company based in Leuven, Belgium. AB InBev has a global functional management office in New York City, and regional headquarters in São Paulo, London, St. Louis, Mexico City, Bremen, Johannesburg and others.
## Why Do We Use Litmus:
After an evaluation period of some Chaos Engineering tools, we chose Litmus because it is a more mature tool that would meet most of our needs. We are in the implementation, configuration, and process definition phase.
AB-Inbev's BEES is a huge project that has hundreds of microservices, it has been a great challenge to adapt Litmus in this process, making customizations and counting on the help of the Litmus community to evolve the tool and thus achieve our goal of making it available to the teams.
Some points that made us choose Litmus:
- Based on K8S resources
- SSO
- Customization of attacks, attacks in parallel
- Installation on multiple clusters
- GitOps

View File

@ -0,0 +1,29 @@
## Adidas
[Adidas](https://adidas.com) is a German multinational corporation, founded and headquartered in Herzogenaurach, Bavaria, that designs and manufactures shoes, clothing and accessories.
## Why do we use Litmus.
In adidas, we started months ago with a new initiative about how to implement chaos engineering practices in order to provide the engineering teams a guide and tools about how to test the resilience of the applications through chaos engineering. With this goal in mind, we started to define some best practices and processes to be shared with our engineering team, and we started to evaluate a few tools.
After an evaluation of different tools, we decided to go ahead with Litmus Chaos.
## How are we using Litmus chaos:
Applications/Workloads or Infra that are being subjected to chaos by Litmus
- Litmus chaos will be provided by our platform team as part of their services. It will be running on kubernetes and will be available for engineering teams.
- Experiments, like pod deletion, network latency or packetloss, applied between functional dependencies like checkout & Payments, login, order creation...
- Not applied in production yet.
## Why was Litmus chosen & How it is helping you
We defined a set of priorities (with different value) and stoppers, we analyzed the tooling and selected the most valued one:
- Prio 1 & Stoppers if not: Full detailed documentation in English available, API / Shared Libraries, Control Injecting Failure, Permissions scope isolated, Authorization, chaos Scenarios - Parallel, works with: Kuberentes, OpenSource
- Prio 2: Installation and Management, Metrics / Reporting, Halt attack, Automatic rollback, High/admin permissions on the node, Chaos scenarios as code, chaos attacks - Serial, Custom or Specialized Attacks, Custom or Specialized Scenarios, Works with: AWS
- Prio 3: Access to the logs, Scheduling attacks, Health Checks, Application Attacks, Target Randomization, Network Attacks, VMs Attacks, Public API, Web UI
## How do we use Litmus
- Staging/pre-prod
- Planned to go to production and through CI/CD pipelines.
If you would like your name (as standalone user) or organization name to be added to the Adopters.md, please provide a preferred contact handle like GitHub id, Twitter id, LinkedIn id, website etc.

View File

@ -0,0 +1,18 @@
# Amadeus
[Amadeus](https://amadeus.com/) technology powers the global travel and tourism industry.
From airlines to search engines, travel agencies to hotels, the world's top travel brands rely on Amadeus to help create exceptional traveler experiences.
## How do we use Litmus.
We are using Litmus for the following 3 topics:
- **Identify weakness** by injecting a wide variety of disruptions to catch bugs and gaps in the stability of our applications
- **Build confidence in the resiliency** by introducing disruptions that activate our resiliency mechanisms to ensure they are working as expected.
- **Validate fixes** by recreating specific conditions and disruptions, we can reproduce complex production incidents and validate the fixes deployed to resolve them.
## Benefits in using Litmus.
We are finding the following benefits in Litmus
- **Open Source**: Allows us to contribute new features and fix bugs based on feedback from our Chaos users.
- **QA-Friendly**: Through the UI and YAML-based configuration, it allows QA profiles with limited SRE knowledge to easily create their own experiments.
- **Extensibility**: As Chaos Scenarios are based on ArgoWorkflow, it allows for the inclusion of custom steps, such as updating a configuration before/after the experiments.
- **Variety of Disruption Types**: Which satisfies our current Chaos users.

View File

@ -0,0 +1,18 @@
# AnutaNetworks
[Anuta Networks](https://www.anutanetworks.com/) is a leading provider of Web-Scale On-prem and Cloud Network Orchestration and Assurance software for the branch, campus, data center and service provider-managed multi-vendor enterprise networks.
## Why do we need Chaos Tooling
We wanted to test the resiliency of our platform and also verify observability of stack. Below are the primary reasons to go with Litmus
- Resiliency of k8s Infrastructure - OnPrem and Cloud
- Observability Validations
## What makes us to go with Litmus
- It's an Open Source project
- It has a wide selection of experiments available
- K8s Native Implementation
- It's a CNCF sandbox project
- It has a vibrant community
- There are frequent releases and it is well maintained

View File

@ -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

View File

@ -0,0 +1,14 @@
## CI&T
CI&T is an information technology and software engineering company. CI&T operates as a global systems integrator headquartered in the Brazilian city of Campinas with offices in other regions of South America, United States, Europe, and Asia.
## Why Do We Use Litmus:
After an evaluation period of some Chaos Engineering tools, we chose Litmus because it is a more mature tool that would meet most of our needs. We are in the implementation, configuration, and process definition phase.
AB-Inbev's BEES is a huge project that has hundreds of microservices, it has been a great challenge to adapt Litmus in this process, making customizations and counting on the help of the Litmus community to evolve the tool and thus achieve our goal of making it available to the teams.
Some points that made us choose Litmus:
- Based on K8S resources
- SSO
- Customization of attacks, attacks in parallel
- Installation on multiple clusters
- GitOps

View File

@ -0,0 +1,13 @@
CNF Test Suite
---
The [CNF Test Suite](https://github.com/cncf/cnf-testsuite) is an open source test suite for Cloud Native Network Function (CNF) developers and network operators to evaluate how well a telecom service (a platform or network application, aka CNF) follows cloud native principles and best practices, like resilience.
## Why do we use Litmus
Subjecting the telecom services to chaos testing is useful in finding failure points and suggesting remediation steps toward improving resilience. Therefore, we chose LitmusChaos to create resilience tests in the CNF Test Suite.
## How do we use Litmus
By including LitmusChaos experiments in the CNF Test Suite's workload tests, we are able to run telecom services in resilience experiments including: **pod-network-duplication**, **pod-network-corruption**, **pod-io-stress**, **pod-memory-hog**, **pod-delete**, **disk-fill**, **pod-network-latency**, and more. This helps the end user see how their service behaves when exposed to common application failures.
## Benefits in using Litmus
The benefits we see in LitmusChaos are: it is part of the CNCF ecosystem, it is designed for Kubernetes workloads, it has a vibrant community and it is well maintained.

View File

@ -0,0 +1,12 @@
## Container Solutions
[Container Solutions](https://www.container-solutions.com/) We bring culture, strategy, and technology together —to make sure your Cloud Native transformation is done right.
## How do we use Litmus
We have used Litmus to build out Chaos Engineering platforms with some of our large E-Commerce customers to improve resilience for big sales periods such as Black Friday.
We looked into quite a few tools, and Litmus provided us with the flexibility we needed, whilst bootstrapping many of the components we would have to write ourselves.
We also used Litmus Chaos experiments when discussing some of our customer's architecture constraints, and showing them real world cases of how to make Kubernetes more resilient.
One concrete use case was our customer wanting to build a cluster per app, whilst we wanted to build bigger clusters for easier management. We would use Litmus to show what application failure looks like on one part of the cluster, and show global resilience in their cluster when this happens.
The Litmus community and *product have been a great addition to our tool stack, and provided many benefits for us.

View File

@ -0,0 +1,13 @@
## Emirates NBD
[Emirates NBD](https://www.emiratesnbd.com) is Dubai's government-owned bank and is one of the largest banking groups in the Middle East in terms of assets.
### **Why do we use Litmus.**
Resilience is a key aspect in creating fault-tolerant environments, and leveraging tools like Litmus has been instrumental in automating resilience testing. Litmus has enabled us to simulate real-time chaos scenarios, allowing us to thoroughly verify the robustness of both our infrastructure and applications.
### **How do we use Litmus.**
We began with a proof of concept (POC) on a playground cluster. While we explored other tools during this process, Litmus stood out significantly, not only in its capabilities but also due to its excellent user interface. Although we faced a few challenges during the initial setup of Litmus on OpenShift, the team provided timely support, helping us overcome these obstacles and successfully complete the POC.
Now, we've successfully deployed Litmus in a non-production cluster environment, and our SRE team is in the process of transitioning from manual chaos testing to automated chaos tests. This shift will enable us to schedule, automate, and efficiently track the outcomes of these tests, enhancing the resilience of our systems.

View File

@ -0,0 +1,20 @@
## FIS
[FIS](https://www.fisglobal.com/) is an American multinational corporation which offers a wide range of financial products and services.
## Why do we use Litmus.
We at FIS Global, have been embarking on to larger SRE program to transform platform teams from purely operations focused to bring in SRE/Automation culture and mindset. As part of that larger effort, Chaos/Resiliency Engineering is identified as key program to improve stability and availability thus improve overall reliability of applications across organization and provide superior customer experience. We have chosen Litmus as a Chaos Engineering Tool because, It
Fulfills all of resiliency testing requirements
Has good and responsive community
Has good documentation
is built on loosely coupled architecture
Has nice dashboard features
Exposes APIs to integrate with CI/CD pipelines
## Where we are using Litmus
Currently, using in Applications/Workloads but idea is to expand to Infrastructure, e.g. using network latency to identify and understand resiliency of upstream application/component when downstream application/component is slow, Use Pod delete under production load to understand the application's ability to self heal.
Simulate experiments using Litmus to understand utilization of JVM's key resources such as thread pool, connection pool, heap memory etc
Kafka Resiliency : Kafka itself is a complex distributed architecture solution, planning to use Litmus network and memory hog experiments to simulate latency between Producer and Broker, Consumer and Broker, Leader and Follower, and also trying to understand how cluster behaves under Memory and CPU pressure.
Integrate Litmus with CI/CD over APIs so that Chaos Testing can be autonomous

View File

@ -0,0 +1,32 @@
## **Halodoc**
[Halodoc](https://www.halodoc.com/) is a secure health-tech platform with a mission to simplifying access to healthcare by connecting millions of patients with licensed doctors, insurance, labs, and pharmacies in one simple mobile application. Halodocs innovative technology, nimble services, and patient focus enable a host of solutions including 24/7 doctor tele consultation via chat, voice or video; medicine purchase & delivery; lab services at home; and strong customer support.
Halodoc is the 2018 Forbes Indonesia Choice Award winner and Galen Growths 2018 Most Innovative HealthTech Startup in Asia, a testimony to a team of compassionate, innovative, trustworthy and agile people who take ownership of their work in building the most trusted digital healthcare company.
### **Why we explored litmus**
We wanted a tool that we could leverage to test the resiliency of multi k8s cluster workloads in a private cloud,
after evaluating different tools of similar flavour, we wanted to exercise our chaos experiments using Litmus, as it has the following benefits.
- It is designed for Kubernetes workload
- It has the wide range of chaos experiments to perform on k8s workload and Infrastructure
- It has litmus portal as control plane to target chaos experiments against multiple k8s cluster within our organisation.
- It has prometheus integration, able to see in litmus portal dashboard about how each of the workflow chaos experiments perform.
- It fits into our gitops flow to enable end to end automation.
### How we use litmus
At Halodoc we use Litmus to validate the resiliency of our private aws managed eks by covering the following areas.
- Testing resiliency of Control plane Kubernetes Infrastructure
- Validating the HA of different control plane services
- Target SRE tools at k8s clusters, benchmark it based on several parameters.
### Benefits of litmus
Litmus has has a wide variety of chaos experiments for Kubernetes workload and Infrastructure and provides a very easy way for end-to-end automation of resiliency test cases.

View File

@ -0,0 +1,6 @@
## iFood
[iFood](https://ifood.com.br) is a Brazilian online food ordering and food delivery platform. It operates mainly in Brazil and Mexico, after it merged its businesses in Argentina and Colombia with rival PedidosYa.
## How are we using Litmus
We have been using Litmus 2.X at iFood for a couple of months, replacing chaostoolkit as it provides a wider range of experiments out-of-the-box. We've started using it to validate the fallback mechanisms of critical services monthly. Right now, we are expanding its usage to go further and inject failures to drop access to databases, redis, Kafka and AWS services and learn from it and take some countermeasures to improve the critical services.
I hope Litmus to become the de-facto tool to implement Chaos Engineering in a simple manner.

View File

@ -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.

View File

@ -0,0 +1,15 @@
# Kitopi
[Kitopi](https://www.kitopi.com) is world's leading managed cloud kitchen platform.
## Why do we use Litmus.
We started out using Litmus when searching for chaos testing tool, to continuously test our resiliency. It turned out to be really easy to implement and intuitive to use.
## How do we use Litmus.
On our stage environment we run nightly pipelines consisting of:
- Traffic source (Locust.io performance tests)
- Litmus Chaos experiments
- Results evaluation using Keptn
Which provide us with the information about
## Benefits in using Litmus.
Litmus let's us easily incorporate simple chaos experiments into already existing clusters. Since it provides native Kubernetes support, it's easy to understand and modify. Also, LitmusChaos community is nothing short of exceptional, so that's a bonus!

View File

@ -0,0 +1,26 @@
# **Klanik**
Founded in December 2011, [Klanik](https://www.klanik.com/en/atypik-company-2/#histoire) has built its success on its award-winning Consultant-Centric approach, defining us as a great place to work. #Happyatwork2021 This model is materialized by unprecedented personal and professional development programs:
## **Why we explored litmus**
We wanted a tool that we could leverage to test the containerized control plane of our clients public, private & hybrid cloud.
When we came across Litmus, we wanted to give it a try.
... To be continued ;)
<!-- - It is designed for Kubernetes workload
- It has wide variety of generic test cases for Kubernetes workload and Infrastructure
- It can be used to trigger customized validations
- It is easy to Integrate with our existing automation framework
## How we explored litmus
We explored Litmus to validate the resiliency of our private telco cloud by covering the following areas.
- Testing resiliency of Control plane Kubernetes Infrastructure
- Validating the HA of different control plane services
- Testing inter dependency among different open source applications
## Benefits of litmus
Litmus has has a wide variety of generic test cases for Kubernetes workload and Infrastructure and provides a very easy way for end-to-end automation of resiliency test cases. -->

View File

@ -0,0 +1,32 @@
## Lenskart
[Lenskart](https://www.lenskart.com) is one of the premium eyewear companies with a presence in the retail sector. [Lenskart](https://www.lenskart.com) has a
lot of flagship products some of them like BluO and airflex which are very popular among customers. [Lenskart](https://www.lenskart.com) also has subsidiary
retail eyewear companies like [John&Jacobs](https://www.johnjacobseyewear.com/) and [Aqualens](https://aqualens.in/). [Lenskart](https://www.lenskart.com)
is not only a retail shop but has an omnichannel business model which serves customer from online and offline stores spread not only across India but also
expanding gloablly.
## **Motivation**
[Lenskart](https://www.lenskart.com) not only serves fashion products to customer but also power eyeglasses and contact lenses which are custom made for every
customer. This makes it a very niche product as well as an company serving essentials commodities for it's customer. Delivery and ease of ordering from online
and offline stores is what we take very seriously. Any downtime could cost not only business but also could impact delivery of his/her eyeglasses or contact
lenses. As an engineering team who is always accepting challenges , we started looking at chaos engineering very seriously once we also faced some major
downtimes in our platform due to system failure or DDOS attacks. It didn't take us time to realize that just running shop on the cloud was not good enough
we have to be prepared for chaotic situations, not just that, we also have to simulate it and find weak points in our architecture. So, we first started with manual
and scripted chaos, but the problem was that they were hard to reproduce and involved a lot of effort to plan and execute them. Then we started exploring
if we could have a framework which could help us maintain our chaos experiments in form of templates. After looking at a couple of tools we narrowed down on
Litmus.
## **How are we using Litmus**
We started using Litmus from our devops kubernetes cluster , where we first started to test stateful service like redis cluster or elasticsearch. We then
gradually started testing our own application services using Litmus. We have gradually moved from our integration environments to pre-production. We are regularly maturing
our hypothesis and writing relevant experiments for these services. Currently, we haven't integrated these experiments into our CI/CD pipelines but in the future we have
plans to run these experiments with every release.
## **Benefits of using litmus**
We are quite new to Litmus framework but what we have really gained from Litmus is templating of our chaos experiments and able to maintain them in our CVS.
This has really helped us with the reproducibility of the experiments. It has opened new opportunities for us where we can write our own custom experiments
which might be very specific targetting our in-house and public services. We have started ranking the experiments and adding them to our experiment suite so that we
could now measure the reasiliency of our services. This would also help us in future to be more targeted in our resiliency journey.

View File

@ -0,0 +1,12 @@
## Mercedes
[Mercedes](https://www.mercedes-benz.com/) is among the leading automobile manufacturing company.
### **Why do we use Litmus.**
To ensure resilience, detect bugs and test rollouts. We are still in the early stages.
### **How do we use Litmus.**
Litmus is being used as part of dev/test cycles to catch bugs & verify resiliency.
### **Benefits in using Litmus.**
The litmus is easy to use and extend/develop based on custom requirements and well-supported open source tool.

View File

@ -0,0 +1,16 @@
### **NEUDESIC**
[NEUDESIC](https://www.neudesic.com/) has assembled a fully-managed partner ecosystem of leading cloud and independent software partners that provide us maximum flexibility to architect technology, strategies and solutions that drive business growth. Neudesic offers decades of experience, proven frameworks and a disciplined approach to quickly deliver reliable, quality solutions that help you go to market faster and get a leg up on your competition.
### Why do we use litmus
We are using litmus chaos to inject faults in our aks environments. Before arriving at litmus we explored other tools , but found litmus to be the most well rounded one and the one that aligned closest to the principles of chaos
### How do we use litmus
We are using litmus in our pre prod environments in the ci cd stage as a gate for releases
### Benefits in using Litmus
The chaos gated deployments make use of the in-built git ops integration in litmus

View File

@ -0,0 +1,30 @@
## OutSystems
[OutSystems](https://www.outsystems.com/) is a low-code development platform which provides tools for companies to develop, deploy and manage omnichannel enterprise applications. OutSystems was founded in 2001 in Lisbon, Portugal. In June 2018 OutSystems secured a $360M round of funding from KKR and Goldman Sachs and reached the status of Unicorn.
### **Leveraging Litmus Chaos Engineering in Kubernetes Infrastructure:**
We have a Kubernetes-based infrastructure pivotal to our operations, where reliability and resilience are paramount. Recognizing the need for robust testing methodologies, we turned to Litmus Chaos Engineering to fortify our systems against potential failures and to ensure seamless operations even under adverse conditions.
### **Why do we use Litmus:**
Litmus emerged as our tool of choice due to its comprehensive suite of chaos engineering capabilities tailored specifically for Kubernetes environments. Its versatility in orchestrating controlled chaos experiments aligns perfectly with our commitment to enhancing system reliability while maintaining agility.
### **Use Case and Implementation:**
We have seamlessly integrated Litmus Chaos Engineering into various stages of our development and deployment pipeline, spanning from development and testing to staging and production environments. Leveraging Litmus, we meticulously craft and execute chaos experiments, meticulously observing how our infrastructure behaves under stress, and ensuring it meets our predefined Service Level Objectives (SLOs) and Service Level Indicators (SLIs).
### **Achievements:**
Our journey with Litmus Chaos Engineering has been marked by significant milestones:
- Successful deployment of Chaos Center and Litmus Delegate, empowering us with centralized chaos management capabilities.
- Establishment of secure access to Chaos Center through HTTPS, coupled with domain customization for enhanced usability.
- Implementation of WAF ACL to restrict access to Chaos Center, ensuring secure interactions.
- Integration of Azure SSO for streamlined user management and authentication.
- Seamless connectivity between Chaos Center and target nodes, facilitating efficient chaos experimentation.
- Execution of numerous successful experiments, validating the resilience and scalability of our infrastructure.
### **Next Steps:**
As we continue to harness the power of Litmus Chaos Engineering, we remain committed to expanding our chaos engineering initiatives, further refining our chaos experiments, and continually enhancing the resilience of our Kubernetes infrastructure.

View File

@ -0,0 +1,32 @@
## PokerBaazi
[PokerBaazi](https://www.pokerbaazi.com/) is India's biggest online poker platform providing an unparalleled world-class experience. Home Grown and 8 years of calling it our own, today, we have a strong and loyal user base of 40 LAC+ Indians.
### **Applications/Workloads or Infra that are being subjected to chaos by Litmus.**
At PokerBaazi, we leverage Litmus Chaos to subject critical components of our infrastructure to controlled chaos experiments. These include:
- Microservices Infrastructure: Our backend is designed as a microservices architecture, running on Kubernetes. We conduct experiments on inter-service communication, API latencies, and service resilience during node failures or resource constraints.
- Load Balancers and Networking: We simulate disruptions in networking, such as packet drops or DNS failures, to ensure our applications maintain connectivity and continue serving users.
- Application Workloads: High-demand applications like our gaming engine and payment/promotions api's are put under stress to evaluate their fault tolerance and recovery mechanisms during peak loads or unexpected outages.
### **Why do we use Litmus.**
We chose Litmus Chaos for several compelling reasons:
- Kubernetes-Native Integration: Since our infrastructure is heavily Kubernetes-based, Litmus seamlessly integrates with our stack, making it a natural fit.
- Ease of Use and Open-Source: Litmus offers a user-friendly interface along with robust documentation, allowing our teams to adopt it quickly without steep learning curves.
- Custom Experiment Support: The ability to create tailored chaos experiments aligned with our specific workloads ensures we can target critical failure scenarios unique to our ecosystem.
- Community Support and Scalability: Being an open-source project with an active community, Litmus evolves rapidly, allowing us to leverage the latest chaos engineering methodologies and tools.
Litmus has been instrumental in identifying hidden weaknesses in our system, such as unexpected dependencies or cascading failures. This has enabled us to proactively address potential issues, enhance system resilience, and meet our uptime commitments.
### **Where are we using Litmus.**
We use Litmus Chaos in various environments to ensure robust testing at every stage of development:
- Development: Initial chaos experiments are conducted in isolated dev environments to identify basic resilience issues and ensure service fault tolerance during early-stage development.
- Staging/Pre-Production: In staging, we run more comprehensive chaos scenarios simulating real-world failures, such as pod crashes, resource exhaustion, or external API downtime, to ensure the production-like environment is resilient.
- Production: Selected, low-risk chaos experiments are conducted in production under strict supervision to verify real-time system robustness and validate SLAs in live conditions.
Litmus Chaos has transformed our approach to building and maintaining a highly resilient gaming platform, allowing us to deliver exceptional user experiences while preparing for the unexpected.

View File

@ -0,0 +1,32 @@
## **Pole Emploi**
[Pole Emploi](https://www.pole-emploi.fr/accueil/) is the public employment service in France.
Its roles are, on the one hand, to compensate job seekers and help them find a job, and on the other hand, to guide companies in their recruitment.
In order to do that, Pôle emploi's agents are mobilized on a daily basis to anticipate trends, innovate and bring together key players and relays in the field.
### **Why we explored litmus**
With around 5.6 millions end-users, and applications that generate hudge traffic and datas,
the resiliency of our apps and infrastructures is a must-have!
- Litmus is OPEN SOURCE
- Litmus is designed for Kubernetes
- Litmus is easy to deploy ( helm chart )
- Litmus is extendable ( experiments libs, predefined workflows, private hubs )
### How we explored litmus
We explored Litmus to validate and increase the resiliency of our private and public Kubernetes clouds.
- Testing resiliency of Kubernetes Infrastructure Components
- Testing resiliency of Public applications hosted on Kubernetes
- Testing resiliency of Private applications hosted on Kubernetes
### Benefits of litmus
Litmus allowed us to identify and work on the observability, configuration, and high availability of certain components which were not resilient.
With the history of experiences, the Reliability score system, and all the statistics on the chaos tests, using random recurring tests, litmus allows us to audit, over time, the resilience of our platforms, and to have a global vision of the state of it.

View File

@ -0,0 +1,14 @@
### **Pravega**
[Pravega](https://pravega.io/) is an open source storage system implementing **Streams** as a first-class primitive for storing/serving continuous and unbounded data. Pravega organizes data into **Streams**. A **Stream** is a durable, elastic, append-only, unbounded sequence of bytes having good performance and strong consistency.
Pravega Streams are based on an append-only log data structure. By using append-only logs, Pravega rapidly ingests data into durable storage.
### Why do we use litmus
**Pravega** is a distributed system and is deployed on our custom build of Kubernetes having the desired set of microservices, hence we were seeking a tool which can adapt in our environment with minimal alteration and be able to inject faults while exercising quality tests on our product.
Therefore, we chose Litmus Chaos to meet our use cases. The benefits we see in Litmus Chaos are: it is a CNCF project, it supports kubernetes type deployment environment, it has frequent & steady releases, and it's a well maintained tool.
### How do we use litmus
On deploying Litmus Chaos along with its **Chaos Experiments**, we get standard fault injection scenarios like: **pod-network-loss**, **pod-network-latency** & **pod-cpu-hog**, which we introduce on live deployments of a Pravega cluster. This helps us to simulate real time stressful conditions on the setup and to test for its recovery & fault-tolerance behavior, which in turn helps us to improve the overall quality of our product in stable as well as adverse conditions.

View File

@ -0,0 +1,21 @@
# Red Hat
[Red Hat](https://www.redhat.com) is an enterprise software company with an open source development model. [Openshift](https://www.openshift.com/) is a family of containerization software products developed by Red Hat
## Why do we use Litmus.
We wanted to test the maturity of Red Hat Openshift Container Platform and layers on top of it using chaos testing. Following that, we decided to use Litmus for these reasons:
- It's an Open Source project
- It has a wide selection of experiments available
- It has a vibrant community
- There are frequent releases and it is well maintained
## How do we use Litmus.
We consume a variety of Litmus experiments in a tool called [Kraken](https://github.com/cloud-bulldozer/kraken), where we are able to test infrastructure components of OpenShift.
Litmus experiments are deployed against a single Openshift cluster that runs on top of a variety of cloud providers and a baremetal server using libvirt/KVM.
Each experiment consists of observing the behavior upon applying chaos to the underlying infrastucture of a running pod or node instance, and validating the results of the resiliency.
The chaos we inject to the VMs that host the openshift nodes can vary from hogging up the CPU and memory to stressing the IO and network disruption at the node level, among others.
## Benefits in using Litmus.
Being a cloud native solution, Litmus allows us to define our experiment and expectations in the `chaosexperiment` manifest and retrieve the results in the `chaosresult` object generated at runtime.
Its vast selection of experiments, periodic release cadence and a welcoming community were sufficient signals that ensured with Litmus we would achieve our goal.

View File

@ -0,0 +1,11 @@
# Wingie Enuygun Company
[Wingie Enuygun Company](https://www.wingie.com/) is a leading travel and technology company providing seamless travel solutions across various platforms.
## Why do we use Litmus
We use Litmus to identify bottlenecks in our systems, detect issues early, and foresee potential errors. This allows us to take proactive measures and maintain the resilience and performance of our infrastructure.
## How do we use Litmus
Litmus is integrated into our QA cycles, where it plays a crucial role in catching bugs and verifying the overall resilience of our systems.
## Benefits in using Litmus
Litmus chaos experiments are straightforward to implement and can be easily customized or extended to meet our specific requirements, enabling us to effectively manage and optimize our systems at Wingie Enuygun.

163
chaoscenter/Makefile Normal file
View File

@ -0,0 +1,163 @@
# Makefile for building Chaos Center
# Reference Guide - https://www.gnu.org/software/make/manual/make.html
#
# Internal variables or constants.
# NOTE - These will be executed when any make target is invoked.
#
IS_DOCKER_INSTALLED = $(shell which docker >> /dev/null 2>&1; echo $$?)
.PHONY: help
help:
@echo ""
@echo "Usage:-"
@echo "\tmake all -- [default] builds the litmus containers"
@echo ""
.PHONY: deps
deps: _build_check_docker
_build_check_docker:
@echo "------------------"
@echo "--> Check the Docker deps"
@echo "------------------"
@if [ $(IS_DOCKER_INSTALLED) -eq 1 ]; \
then echo "" \
&& echo "ERROR:\tdocker is not installed. Please install it before build." \
&& echo "" \
&& exit 1; \
fi;
.PHONY: chaos-center-check
chaos-center-check : frontend-services-checks backend-services-checks
frontend-services-checks:
@echo "------------------"
@echo "--> checking code style [frontend]"
@echo "------------------"
cd web && yarn -s && yarn lint
# @echo "------------------"
# @echo "--> Check chaos-center frontend [depcheck]"
# @echo "------------------"
# cd web && npx depcheck --skip-missing .
backend-services-checks:
@echo "------------------"
@echo "--> checking code style [backend]"
@echo "------------------"
@fmtRes=$$(gofmt -d $$(find . -path ./vendor -prune -o -name '*.go' -print)); \
if [ -n "$${fmtRes}" ]; then \
echo "gofmt checking failed!" && echo "$${fmtRes}" \
&& echo "Please ensure you are using $$($(GO) version) for formatting code." \
&& exit 1;\
fi
@echo "------------------"
@echo "--> Check chaos-center graphql-server [go mod tidy]"
@echo "------------------"
@tidyRes=$$(cd graphql/server && go mod tidy); \
if [ -n "$${tidyRes}" ]; then \
echo "go mod tidy checking failed!" && echo "$${tidyRes}" \
&& echo "Please ensure you are using $$($(GO) version) for formatting code." \
&& exit 1; \
fi
@echo "------------------"
@echo "--> Check chaos-center authentication [go mod tidy]"
@echo "------------------"
@tidyRes=$$(cd authentication && go mod tidy); \
if [ -n "$${tidyRes}" ]; then \
echo "go mod tidy checking failed!" && echo "$${tidyRes}" \
&& echo "Please ensure you are using $$($(GO) version) for formatting code." \
&& exit 1; \
fi
@echo "------------------"
@echo "--> Check chaos-center subscriber [go mod tidy]"
@echo "------------------"
@tidyRes=$$(cd subscriber && go mod tidy); \
if [ -n "$${tidyRes}" ]; then \
echo "go mod tidy checking failed!" && echo "$${tidyRes}" \
&& echo "Please ensure you are using $$($(GO) version) for formatting code" \
&& exit 1; \
fi
@echo "------------------"
@echo "--> Check chaos-center event tracker [go mod tidy]"
@echo "------------------"
@tidyRes=$$(cd cluster-agents/event-tracker && go mod tidy); \
if [ -n "$${tidyRes}" ]; then \
echo "go mod tidy checking failed!" && echo "$${tidyRes}" \
&& echo "Please ensure you are using $$($(GO) version) for formatting code" \
&& exit 1; \
fi
# @echo "------------------"
# @echo "--> Check chaos-center upgrade agent [go mod tidy]"
# @echo "------------------"
# @tidyRes=$$(cd upgrade-agents/control-plane && go mod tidy); \
# if [ -n "$${tidyRes}" ]; then \
# echo "go mod tidy checking failed!" && echo "$${tidyRes}" \
# && echo "Please ensure you are using $$($(GO) version) for formatting code" \
# && exit 1; \
# fi
backend-unit-tests:
@echo "------------------"
@echo "--> Running backend 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 ./...
web-unit-tests:
@echo "------------------"
@echo "--> Running frontend unit tests"
@echo "------------------"
@cd web && yarn -s && yarn test --coverage
.PHONY: docker.buildx
docker.buildx:
@echo "------------------------------"
@echo "--> Setting up Builder "
@echo "------------------------------"
@if ! docker buildx ls | grep -q multibuilder; then\
docker buildx create --name multibuilder;\
docker buildx inspect multibuilder --bootstrap;\
docker buildx use multibuilder;\
docker run --rm --privileged multiarch/qemu-user-static --reset -p yes;\
fi
buildx.push.image:
@cd $(DIRECTORY) && \
docker buildx build -f Dockerfile --progress plain --push --no-cache --platform $(PLATFORMS) -t $(REPONAME)/$(IMAGE_NAME):$(IMG_TAG) .
.PHONY: push-portal-component
push-portal-component: docker.buildx buildx.push.image
.PHONY: push-frontend
push-frontend: docker.buildx buildx.push.frontend
buildx.push.frontend:
@cd web && \
if [ "${IMG_TAG}" = "ci" ]; then \
docker build . -f Dockerfile -t $(REPONAME)/$(FRONTEND_IMAGE):$(IMG_TAG) --build-arg PUBLIC_URL="$(PUBLIC_URL)" --build-arg TARGETARCH=amd64;\
docker push $(REPONAME)/$(FRONTEND_IMAGE):$(IMG_TAG);\
else \
docker buildx build . -f Dockerfile --progress plain --push --no-cache --platform $(PLATFORMS) -t $(REPONAME)/$(FRONTEND_IMAGE):$(IMG_TAG) --build-arg PUBLIC_URL="$(PUBLIC_URL)";\
fi
.PHONY: push-portal-component-amd64
push-portal-component-amd64: docker-build-portal-amd64 docker-push-portal-amd64
docker-build-portal-amd64:
@cd $(DIRECTORY) && \
docker build . -f Dockerfile -t $(REPONAME)/$(IMAGE_NAME):$(IMG_TAG) --build-arg TARGETARCH=amd64
docker-push-portal-amd64:
@docker push $(REPONAME)/$(IMAGE_NAME):$(IMG_TAG)
.PHONY: push-frontend-amd64
push-frontend-amd64: docker-build-frontend-amd64 docker-push-frontend-amd64
docker-build-frontend-amd64:
@cd frontend && \
docker build . -f Dockerfile -t $(REPONAME)/$(IMAGE_NAME):$(IMG_TAG) --build-arg TARGETARCH=amd64 --build-arg REACT_APP_KB_CHAOS_VERSION=$(IMG_TAG) \
--build-arg REACT_APP_BUILD_TIME="$(timestamp)" --build-arg PUBLIC_URL="$(PUBLIC_URL)" --build-arg REACT_APP_HUB_BRANCH_NAME="v1.13.x"
docker-push-frontend-amd64:
@docker push $(REPONAME)/$(IMAGE_NAME):$(IMG_TAG)

View File

@ -0,0 +1,123 @@
# README for Setting Up API Documentation
## Overview
This guide details the steps to set up and generate API documentation for your project using Swagger and GoSwagger. Swagger is used to create an OpenAPI specification file (`swagger.yaml`), and GoSwagger serves this specification file on a local server.
.
## Prerequisites
Before beginning, ensure that you have the following installed:
- Go programming language environment
- `swaggo/swag` library
- `goswagger.io` tool
## Installation
### Step 1: Install Swagger
First, you need to install `swag`, a tool for generating Swagger 2.0 documents for Go applications. Use the following command to install it:
```bash
go get -u github.com/swaggo/swag/cmd/swag
```
For more details, visit the [swag GitHub repository](https://github.com/swaggo/swag).
### Step 2: Install GoSwagger
Next, install GoSwagger, which will serve your Swagger specification file:
```bash
go get -u github.com/go-swagger/go-swagger/cmd/swagger
```
For additional information, refer to the [GoSwagger website](https://goswagger.io/).
## Setting Up Documentation
### Step 1: Annotate Your API
You need to annotate your Go functions to define the API specifications. These annotations are used by Swagger to generate documentation.
#### Example Annotation:
```go
// DexLogin godoc
//
// @Description DexRouter creates all the required routes for OAuth purposes.
// @Tags DexRouter
// @Accept json
// @Produce json
// @Failure 500 {object} response.ErrServerError
// @Success 200 {object} response.Response{}
// @Router /dex/login [get]
//
// DexLogin handles and redirects to DexServer to proceed with OAuth
func DexLogin() gin.HandlerFunc {
// ... function implementation ...
}
```
#### Formatting:
After adding the annotations run this command to fix and update the annotation formatting
```bash
swag fmt .
```
### Step 3: Define Response Structures in `doc.go`
In your handler folder, create or update a file named `doc.go`. Here, define the structures for your responses and errors.
#### Example Structures:
```go
package handler
// LoginResponse represents the response structure for login.
type LoginResponse struct {
accessToken string
projectID string
projectRole string
expiresIn string
}
// ErrServerError represents an error structure for server errors.
type ErrServerError struct {
Code int `json:"code" example:"500"`
Message string `json:"message" example:"Unexpected server error"`
}
```
### Step 4: Generate Swagger Documentation
After annotating your API and defining your responses, run the following command in your project root to generate the `swagger.yaml` file:
```bash
swag init --parseDependency true
```
This command scans your project and creates a Swagger specification from your annotations.
### Step 5: Serve the Swagger Specification
Finally, use GoSwagger to serve your Swagger specification file. This allows you to view your API documentation in a web browser. By default the API docs will be generated with Redocly.
```bash
swagger serve swagger.yaml
```
To run the orginal swagger format
```bash
swagger serve -F=swagger swagger.yaml
```
This command starts a local server hosting your API documentation.
## Conclusion
With these steps, you should now have a fully functional API documentation setup using Swagger and GoSwagger. Remember to regularly update your annotations and regenerate the Swagger file to keep your documentation in sync with your API.

View File

@ -0,0 +1,33 @@
# BUILD STAGE
FROM golang:1.22 AS builder
ARG TARGETOS=linux
ARG TARGETARCH
ADD . /auth-server
WORKDIR /auth-server
ENV GOOS=${TARGETOS} \
GOARCH=${TARGETARCH}
RUN go env
RUN CGO_ENABLED=0 go build -o /output/server -v ./api/
# Packaging stage
# Use RedHat UBI minimal image as base
FROM registry.access.redhat.com/ubi9/ubi-minimal:9.5
LABEL maintainer="LitmusChaos"
ENV APP_DIR="/litmus"
COPY --from=builder /output/server $APP_DIR/
RUN chown 65534:0 $APP_DIR/server && chmod 755 $APP_DIR/server
WORKDIR $APP_DIR
USER 65534
CMD ["./server"]
EXPOSE 3000

View File

@ -0,0 +1,189 @@
package response
import (
"github.com/gin-gonic/gin"
"github.com/litmuschaos/litmus/chaoscenter/authentication/pkg/entities"
)
type Response struct {
Response string
}
type ApiTokenResponse struct {
UserID string
Name string
Token string
ExpiresAt int64
CreatedAt int64
}
type Role string
type UserResponse struct {
ID string `bson:"_id,omitempty" json:"userID"`
Username string `bson:"username,omitempty" json:"username"`
Password string `bson:"password,omitempty" json:"password,omitempty"`
Email string `bson:"email,omitempty" json:"email,omitempty"`
Name string `bson:"name,omitempty" json:"name,omitempty"`
Role Role `bson:"role,omitempty" json:"role"`
DeactivatedAt *int64 `bson:"deactivated_at,omitempty" json:"deactivatedAt,omitempty"`
}
type CapabilitiesResponse struct {
Dex struct {
Enabled bool `json:"enabled"`
} `json:"dex"`
}
type MessageResponse struct {
Message string `json:"message"`
}
type NewApiToken struct {
accessToken string
}
type LoginResponse struct {
accessToken string
projectID string
projectRole string
expiresIn string
}
// HTTPError example
func NewError(ctx *gin.Context, status int, err error) {
er := HTTPError{
Code: status,
Message: err.Error(),
}
ctx.JSON(status, er)
}
type HTTPError struct {
Code int `json:"code" example:"400"`
Message string `json:"message" example:"status bad request"`
}
type ErrServerError struct {
Code int `json:"code" example:"500"`
Message string `json:"message" example:"The authorization server encountered an unexpected condition that prevented it from fulfilling the request"`
}
type ErrInvalidCredentials struct {
Code int `json:"code" example:"401"`
Message string `json:"message" example:"Invalid Credentials"`
}
type ErrInvalidRequest struct {
Code int `json:"code" example:"400"`
Message string `json:"message" example:"The request is missing a required parameter, includes an invalid parameter value, includes a parameter more than once, or is otherwise malformed"`
}
type ErrOldPassword struct {
Code int `json:"code" example:"400"`
Message string `json:"message" example:"The old and new passwords can't be same"`
}
type ErrUnauthorized struct {
Code int `json:"code" example:"401"`
Message string `json:"message" example:"The user does not have requested authorization to access this resource"`
}
type ErrUserExists struct {
Code int `json:"code" example:"401"`
Message string `json:"message" example:"This username is already assigned to another user"`
}
type ErrUserNotFound struct {
Code int `json:"code" example:"400"`
Message string `json:"message" example:"user does not exist"`
}
type ErrUserDeactivated struct {
Code int `json:"code" example:"400"`
Message string `json:"message" example:"your account has been deactivated"`
}
type ErrStrictPasswordPolicyViolation struct {
Code int `json:"code" example:"401"`
Message string `json:"message" example:"Please ensure the password is atleast 8 characters and atmost 16 characters long and has atleast 1 digit, 1 lowercase alphabet, 1 uppercase alphabet and 1 special character"`
}
type ErrStrictUsernamePolicyViolation struct {
Code int `json:"code" example:"401"`
Message string `json:"message" example:"The username should be atleast 3 characters long and atmost 16 characters long."`
}
type ErrEmptyProjectName struct {
Code int `json:"code" example:"400"`
Message string `json:"message" example:"Project name can't be empty"`
}
type ErrInvalidRole struct {
Code int `json:"code" example:"400"`
Message string `json:"message" example:"Role is invalid"`
}
type ErrProjectNotFound struct {
Code int `json:"code" example:"400"`
Message string `json:"message" example:"This project does not exist"`
}
type ErrInvalidEmail struct {
Code int `json:"code" example:"400"`
Message string `json:"message" example:"Email address is invalid"`
}
type ErrProjectNotFoundstruct struct {
Code int `json:"code" example:"400"`
Message string `json:"message" example:"project does not exist"`
}
type ReadinessAPIStatus struct {
DataBase string `json:"database"`
Collections string `json:"collections"`
}
type APIStatus struct {
Status string `json:"status"`
}
type UserWithProject struct {
Data entities.UserWithProject `json:"data"`
}
type Project struct {
Data entities.Project `json:"data"`
}
type Projects struct {
Data []*entities.Project `json:"data"`
}
type ListProjectResponse struct {
Data entities.ListProjectResponse `json:"data"`
}
type ProjectStats struct {
Data []*entities.ProjectStats `json:"data"`
}
type Members struct {
Data []*entities.Member `json:"data"`
}
type Member struct {
Data entities.Member `json:"data"`
}
type ListInvitationResponse struct {
Data []entities.ListInvitationResponse `json:"data"`
}
type ProjectRole struct {
Role string `json:"role"`
}
type ProjectIDWithMessage struct {
Message string `json:"message"`
ProjectID string `json:"projectID"`
}

View File

@ -0,0 +1,108 @@
package grpc
import (
"context"
"strconv"
"github.com/litmuschaos/litmus/chaoscenter/authentication/api/presenter/protos"
"github.com/litmuschaos/litmus/chaoscenter/authentication/pkg/entities"
"github.com/litmuschaos/litmus/chaoscenter/authentication/pkg/validations"
log "github.com/sirupsen/logrus"
"github.com/golang-jwt/jwt"
)
func (s *ServerGrpc) ValidateRequest(ctx context.Context,
inputRequest *protos.ValidationRequest) (*protos.ValidationResponse, error) {
token, err := s.ValidateToken(inputRequest.Jwt)
if err != nil {
return &protos.ValidationResponse{Error: err.Error(), IsValid: false}, err
}
claims := token.Claims.(jwt.MapClaims)
if claims["uid"] == nil {
return &protos.ValidationResponse{Error: "token is invalid", IsValid: false}, err
}
uid := claims["uid"].(string)
err = validations.RbacValidator(uid, inputRequest.ProjectId,
inputRequest.RequiredRoles, inputRequest.Invitation, s.ApplicationService)
if err != nil {
return &protos.ValidationResponse{Error: err.Error(), IsValid: false}, err
}
return &protos.ValidationResponse{Error: "", IsValid: true}, nil
}
func (s *ServerGrpc) GetProjectById(ctx context.Context,
inputRequest *protos.GetProjectByIdRequest) (*protos.GetProjectByIdResponse, error) {
project, err := s.ApplicationService.GetProjectByProjectID(inputRequest.ProjectID)
if err != nil {
log.Error(err)
return nil, err
}
// Fetching user ids of all the members in the project
var uids []string
for _, member := range project.Members {
uids = append(uids, member.UserID)
}
memberMap := make(map[string]entities.User)
authUsers, err := s.ApplicationService.FindUsersByUID(uids)
for _, authUser := range *authUsers {
memberMap[authUser.ID] = authUser
}
var projectMembers []*protos.ProjectMembers
// Adding additional details of project members
for _, member := range project.Members {
var projectMember protos.ProjectMembers
projectMember.Email = memberMap[member.UserID].Email
projectMember.Username = memberMap[member.UserID].Username
projectMember.Invitation = string(member.Invitation)
projectMember.Uid = member.UserID
projectMember.JoinedAt = strconv.FormatInt(member.JoinedAt, 10)
projectMembers = append(projectMembers, &projectMember)
}
if err != nil {
return nil, err
}
return &protos.GetProjectByIdResponse{
Id: project.ID,
Name: project.Name,
Members: projectMembers,
State: "",
CreatedAt: strconv.FormatInt(project.CreatedAt, 10),
UpdatedAt: strconv.FormatInt(project.UpdatedAt, 10),
}, nil
}
func (s *ServerGrpc) GetUserById(ctx context.Context,
inputRequest *protos.GetUserByIdRequest) (*protos.GetUserByIdResponse, error) {
user, err := s.ApplicationService.GetUser(inputRequest.UserID)
if err != nil {
log.Error(err)
return nil, err
}
var deactivatedAt string
if user.DeactivatedAt != nil {
deactivatedAt = strconv.FormatInt(*user.DeactivatedAt, 10)
}
return &protos.GetUserByIdResponse{
Id: user.ID,
Name: user.Name,
Username: user.Username,
CreatedAt: strconv.FormatInt(user.CreatedAt, 10),
UpdatedAt: strconv.FormatInt(user.UpdatedAt, 10),
DeactivatedAt: deactivatedAt,
Role: string(user.Role),
Email: user.Email,
}, nil
}

View File

@ -0,0 +1,168 @@
package grpc_test
import (
"context"
"errors"
"testing"
"github.com/litmuschaos/litmus/chaoscenter/authentication/api/handlers/grpc"
"github.com/litmuschaos/litmus/chaoscenter/authentication/api/mocks"
"github.com/litmuschaos/litmus/chaoscenter/authentication/api/presenter/protos"
"github.com/litmuschaos/litmus/chaoscenter/authentication/pkg/entities"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/mock"
)
func TestGetProjectById(t *testing.T) {
testCases := []struct {
name string
projectID string
mockGetProjectResponse *entities.Project
mockGetProjectError error
mockFindUsersResponse *[]entities.User
mockFindUsersError error
expectedResponse *protos.GetProjectByIdResponse
expectedError bool
}{
{
name: "PositiveTestProjectExists",
projectID: "project-id",
mockGetProjectResponse: &entities.Project{
ID: "project-id",
Name: "test-project",
Members: []*entities.Member{
{
UserID: "user-1",
Invitation: entities.PendingInvitation,
JoinedAt: 1234567890,
},
},
},
mockGetProjectError: nil,
mockFindUsersResponse: &[]entities.User{
{
ID: "user-1",
Email: "user1@email.com",
Username: "user1",
},
},
mockFindUsersError: nil,
expectedResponse: &protos.GetProjectByIdResponse{
Id: "project-id",
Name: "test-project",
},
expectedError: false,
},
{
name: "NegativeTestProjectDoesNotExist",
projectID: "non-existing-project-id",
mockGetProjectResponse: nil,
mockGetProjectError: errors.New("project not found"),
mockFindUsersResponse: nil,
mockFindUsersError: nil,
expectedResponse: nil,
expectedError: true,
},
}
s := &grpc.ServerGrpc{
ApplicationService: &mocks.MockedApplicationService{},
}
for _, tc := range testCases {
t.Run(tc.name, func(t *testing.T) {
ctx := context.Background()
mockService := s.ApplicationService.(*mocks.MockedApplicationService)
mockService.On("GetProjectByProjectID", tc.projectID).Return(tc.mockGetProjectResponse, tc.mockGetProjectError)
if tc.mockFindUsersResponse != nil {
mockService.On("FindUsersByUID", mock.Anything).Return(tc.mockFindUsersResponse, tc.mockFindUsersError)
}
req := &protos.GetProjectByIdRequest{
ProjectID: tc.projectID,
}
resp, err := s.GetProjectById(ctx, req)
if tc.expectedError {
assert.Error(t, err)
} else {
assert.NoError(t, err)
assert.NotNil(t, resp)
assert.Equal(t, tc.expectedResponse.Name, resp.Name)
}
mockService.AssertExpectations(t)
})
}
}
func TestGetUserById(t *testing.T) {
testcases := []struct {
name string
userID string
mockServiceResponse *entities.User
mockServiceError error
expectedResponse *protos.GetUserByIdResponse
expectedError bool
}{
{
name: "PositiveTestUserExists",
userID: "user-id",
mockServiceResponse: &entities.User{
ID: "user-id",
Name: "test-user",
Username: "username",
DeactivatedAt: nil,
Role: "admin",
Email: "user@email.com",
},
mockServiceError: nil,
expectedResponse: &protos.GetUserByIdResponse{
Id: "user-id",
Name: "test-user",
Email: "user@email.com",
DeactivatedAt: "nil",
},
expectedError: false,
},
{
name: "NegativeTestUserDoesNotExist",
userID: "non-existing-user-id",
mockServiceResponse: nil,
mockServiceError: errors.New("user not found"),
expectedResponse: nil,
expectedError: true,
},
}
s := &grpc.ServerGrpc{
ApplicationService: &mocks.MockedApplicationService{},
}
for _, tc := range testcases {
t.Run(tc.name, func(t *testing.T) {
ctx := context.Background()
mockService := s.ApplicationService.(*mocks.MockedApplicationService)
mockService.On("GetUser", tc.userID).Return(tc.mockServiceResponse, tc.mockServiceError)
req := &protos.GetUserByIdRequest{
UserID: tc.userID,
}
resp, err := s.GetUserById(ctx, req)
if tc.expectedError {
assert.Error(t, err)
} else {
assert.NoError(t, err)
assert.NotNil(t, resp)
assert.Equal(t, tc.expectedResponse.Name, resp.Name)
assert.Equal(t, tc.expectedResponse.Email, resp.Email)
}
mockService.AssertExpectations(t)
})
}
}

View File

@ -0,0 +1,11 @@
package grpc
import (
"github.com/litmuschaos/litmus/chaoscenter/authentication/api/presenter/protos"
"github.com/litmuschaos/litmus/chaoscenter/authentication/pkg/services"
)
type ServerGrpc struct {
services.ApplicationService
protos.UnimplementedAuthRpcServiceServer
}

View File

@ -0,0 +1,27 @@
package rest
import (
"github.com/gin-gonic/gin"
response "github.com/litmuschaos/litmus/chaoscenter/authentication/api/handlers"
"github.com/litmuschaos/litmus/chaoscenter/authentication/pkg/utils"
)
// GetCapabilities godoc
//
// @Summary Get capabilities of Auth Server.
// @Description Returns capabilities that can be leveraged by frontend services to toggle certain features.
// @Tags CapabilitiesRouter
// @Accept json
// @Produce json
// @Failure 500 {object} response.ErrServerError
// @Success 200 {object} response.CapabilitiesResponse{}
// @Router /capabilities [get]
//
// GetCapabilities returns the capabilities of the Auth Server.
func GetCapabilities() gin.HandlerFunc {
return func(c *gin.Context) {
capabilities := new(response.CapabilitiesResponse)
capabilities.Dex.Enabled = utils.DexEnabled
c.JSON(200, capabilities)
}
}

View File

@ -0,0 +1,47 @@
package rest_test
import (
"encoding/json"
"net/http"
"net/http/httptest"
"testing"
response "github.com/litmuschaos/litmus/chaoscenter/authentication/api/handlers"
"github.com/litmuschaos/litmus/chaoscenter/authentication/api/handlers/rest"
"github.com/litmuschaos/litmus/chaoscenter/authentication/pkg/utils"
"github.com/stretchr/testify/assert"
)
func TestCapabilities(t *testing.T) {
testcases := []struct {
Name string
DexEnabled bool
}{
{
Name: "Dex Enabled",
DexEnabled: true,
},
{
Name: "Dex Disabled",
DexEnabled: false,
},
}
for _, test := range testcases {
test := test
t.Run(test.Name, func(t *testing.T) {
w := httptest.NewRecorder()
ctx := GetTestGinContext(w)
utils.DexEnabled = test.DexEnabled
rest.GetCapabilities()(ctx)
capa := response.CapabilitiesResponse{}
err := json.Unmarshal(w.Body.Bytes(), &capa)
assert.Nil(t, err)
assert.Equal(t, test.DexEnabled, capa.Dex.Enabled)
assert.Equal(t, http.StatusOK, w.Code)
})
}
}

View File

@ -0,0 +1,205 @@
package rest
import (
"context"
"net/http"
"time"
"github.com/google/uuid"
"github.com/litmuschaos/litmus/chaoscenter/authentication/api/presenter"
"github.com/litmuschaos/litmus/chaoscenter/authentication/pkg/entities"
"github.com/litmuschaos/litmus/chaoscenter/authentication/pkg/services"
"github.com/litmuschaos/litmus/chaoscenter/authentication/pkg/utils"
"github.com/coreos/go-oidc/v3/oidc"
"github.com/gin-gonic/gin"
log "github.com/sirupsen/logrus"
"golang.org/x/oauth2"
)
func oAuthDexConfig() (*oauth2.Config, *oidc.IDTokenVerifier, error) {
ctx := oidc.ClientContext(context.Background(), &http.Client{})
provider, err := oidc.NewProvider(ctx, utils.DexOIDCIssuer)
if err != nil {
log.Errorf("OAuth Error: Something went wrong with OIDC provider %s", err)
return nil, nil, err
}
return &oauth2.Config{
RedirectURL: utils.DexCallBackURL,
ClientID: utils.DexClientID,
ClientSecret: utils.DexClientSecret,
Scopes: []string{"openid", "profile", "email"},
Endpoint: provider.Endpoint(),
}, provider.Verifier(&oidc.Config{ClientID: utils.DexClientID}), nil
}
// DexLogin godoc
//
// @Description DexRouter creates all the required routes for OAuth purposes. .
// @Tags DexRouter
// @Accept json
// @Produce json
// @Failure 500 {object} response.ErrServerError
// @Success 200 {object} response.Response{}
// @Router /dex/login [get]
//
// DexLogin handles and redirects to DexServer to proceed with OAuth
func DexLogin() gin.HandlerFunc {
return func(c *gin.Context) {
dexToken, err := utils.GenerateOAuthJWT()
if err != nil {
log.Error(err)
c.JSON(utils.ErrorStatusCodes[utils.ErrServerError], presenter.CreateErrorResponse(utils.ErrServerError))
return
}
config, _, err := oAuthDexConfig()
if err != nil {
log.Error(err)
c.JSON(utils.ErrorStatusCodes[utils.ErrServerError], presenter.CreateErrorResponse(utils.ErrServerError))
return
}
url := config.AuthCodeURL(dexToken)
c.Redirect(http.StatusTemporaryRedirect, url)
}
}
// DexCallback godoc
//
// @Description DexRouter creates all the required routes for OAuth purposes. .
// @Tags DexRouter
// @Accept json
// @Produce json
// @Failure 500 {object} response.ErrServerError
// @Success 200 {object} response.Response{}
// @Router /dex/callback [get]
//
// DexCallback is the handler that creates/logs in the user from Dex and provides JWT to frontend via a redirect
func DexCallback(userService services.ApplicationService) gin.HandlerFunc {
return func(c *gin.Context) {
incomingState := c.Query("state")
validated, err := utils.ValidateOAuthJWT(incomingState)
if !validated {
c.Redirect(http.StatusTemporaryRedirect, "/")
}
config, verifier, err := oAuthDexConfig()
if err != nil {
log.Error(err)
c.JSON(utils.ErrorStatusCodes[utils.ErrServerError], presenter.CreateErrorResponse(utils.ErrServerError))
return
}
token, err := config.Exchange(context.Background(), c.Query("code"))
if err != nil {
log.Error(err)
c.JSON(utils.ErrorStatusCodes[utils.ErrServerError], presenter.CreateErrorResponse(utils.ErrServerError))
return
}
rawIDToken, ok := token.Extra("id_token").(string)
if !ok {
log.Error("OAuth Error: no raw id_token found")
c.JSON(utils.ErrorStatusCodes[utils.ErrServerError], presenter.CreateErrorResponse(utils.ErrServerError))
return
}
idToken, err := verifier.Verify(c, rawIDToken)
if err != nil {
log.Error("OAuth Error: no id_token found")
c.JSON(utils.ErrorStatusCodes[utils.ErrServerError], presenter.CreateErrorResponse(utils.ErrServerError))
return
}
var claims struct {
Name string
Email string `json:"email"`
Verified bool `json:"email_verified"`
}
if err := idToken.Claims(&claims); err != nil {
log.Error("OAuth Error: claims not found")
c.JSON(utils.ErrorStatusCodes[utils.ErrServerError], presenter.CreateErrorResponse(utils.ErrServerError))
return
}
createdAt := time.Now().UnixMilli()
var userData = entities.User{
Name: claims.Name,
Email: claims.Email,
Username: claims.Email,
Role: entities.RoleUser,
Audit: entities.Audit{
CreatedAt: createdAt,
UpdatedAt: createdAt,
},
}
signedInUser, err := userService.LoginUser(&userData)
if err != nil {
log.Error(err)
c.JSON(utils.ErrorStatusCodes[utils.ErrServerError], presenter.CreateErrorResponse(utils.ErrServerError))
return
}
salt, err := userService.GetConfig("salt")
if err != nil {
log.Error(err)
c.JSON(utils.ErrorStatusCodes[utils.ErrServerError], presenter.CreateErrorResponse(utils.ErrServerError))
return
}
jwtToken, err := userService.GetSignedJWT(signedInUser, salt.Value)
if err != nil {
log.Error(err)
c.JSON(utils.ErrorStatusCodes[utils.ErrServerError], presenter.CreateErrorResponse(utils.ErrServerError))
return
}
var defaultProject string
ownerProjects, err := userService.GetOwnerProjectIDs(c, signedInUser.ID)
if len(ownerProjects) > 0 {
defaultProject = ownerProjects[0].ID
} else {
// Adding user as project owner in project's member list
newMember := &entities.Member{
UserID: signedInUser.ID,
Role: entities.RoleOwner,
Invitation: entities.AcceptedInvitation,
Username: signedInUser.Username,
Name: signedInUser.Name,
Email: signedInUser.Email,
JoinedAt: time.Now().UnixMilli(),
}
var members []*entities.Member
members = append(members, newMember)
state := "active"
newProject := &entities.Project{
ID: uuid.Must(uuid.NewRandom()).String(),
Name: signedInUser.Username + "-project",
Members: members,
State: &state,
Audit: entities.Audit{
IsRemoved: false,
CreatedAt: time.Now().UnixMilli(),
CreatedBy: entities.UserDetailResponse{
Username: signedInUser.Username,
UserID: signedInUser.ID,
Email: signedInUser.Email,
},
UpdatedAt: time.Now().UnixMilli(),
UpdatedBy: entities.UserDetailResponse{
Username: signedInUser.Username,
UserID: signedInUser.ID,
Email: signedInUser.Email,
},
},
}
err := userService.CreateProject(newProject)
if err != nil {
return
}
defaultProject = newProject.ID
}
c.Redirect(http.StatusPermanentRedirect, "/login?jwtToken="+jwtToken+"&projectID="+defaultProject+"&projectRole="+string(entities.RoleOwner))
}
}

View File

@ -0,0 +1,18 @@
package rest_test
import (
"net/http/httptest"
"testing"
"github.com/litmuschaos/litmus/chaoscenter/authentication/api/handlers/rest"
"github.com/stretchr/testify/assert"
)
func TestDexLogin(t *testing.T) {
w := httptest.NewRecorder()
ctx := GetTestGinContext(w)
rest.DexLogin()(ctx)
assert.Equal(t, 500, w.Code)
}

View File

@ -0,0 +1,88 @@
package rest
import (
"net/http"
response "github.com/litmuschaos/litmus/chaoscenter/authentication/api/handlers"
"github.com/litmuschaos/litmus/chaoscenter/authentication/pkg/services"
"github.com/gin-gonic/gin"
log "github.com/sirupsen/logrus"
)
func contains(s []string, str string) bool {
for _, v := range s {
if v == str {
return true
}
}
return false
}
// Status godoc
//
// @Description Status will request users list and return, if successful, a http code 200.
// @Tags MiscRouter
// @Accept json
// @Produce json
// @Failure 500 {object} response.ErrServerError
// @Success 200 {object} response.APIStatus{}
// @Router /status [get]
//
// Status will request users list and return, if successful, a http code 200
func Status(service services.ApplicationService) gin.HandlerFunc {
return func(c *gin.Context) {
_, err := service.GetUsers()
if err != nil {
log.Error(err)
c.JSON(http.StatusInternalServerError, response.APIStatus{Status: "down"})
return
}
c.JSON(http.StatusOK, response.APIStatus{Status: "up"})
}
}
// Readiness godoc
//
// @Description Return list of tags.
// @Tags MiscRouter
// @Accept json
// @Produce json
// @Failure 500 {object} response.ErrServerError
// @Success 200 {object} response.ReadinessAPIStatus{}
// @Router /readiness [get]
//
// Readiness will return the status of the database and collections
func Readiness(service services.ApplicationService) gin.HandlerFunc {
return func(c *gin.Context) {
var (
dbFlag = "up"
colFlag = "up"
)
dbs, err := service.ListDataBase()
if !contains(dbs, "auth") {
dbFlag = "down"
}
if err != nil {
log.Error(err)
c.JSON(http.StatusInternalServerError, response.ReadinessAPIStatus{DataBase: "down", Collections: "unknown"})
return
}
cols, err := service.ListCollection()
if !contains(cols, "project") || !contains(cols, "users") {
colFlag = "down"
}
if err != nil {
log.Error(err)
c.JSON(http.StatusInternalServerError, response.ReadinessAPIStatus{DataBase: dbFlag, Collections: "down"})
return
}
c.JSON(http.StatusOK, response.ReadinessAPIStatus{DataBase: dbFlag, Collections: colFlag})
}
}

View File

@ -0,0 +1,63 @@
package rest_test
import (
"errors"
"net/http"
"net/http/httptest"
"testing"
"github.com/litmuschaos/litmus/chaoscenter/authentication/api/handlers/rest"
"github.com/litmuschaos/litmus/chaoscenter/authentication/api/mocks"
"github.com/litmuschaos/litmus/chaoscenter/authentication/pkg/entities"
"github.com/stretchr/testify/assert"
)
func TestStatus(t *testing.T) {
t.Run("Success with valid data", func(t *testing.T) {
w := httptest.NewRecorder()
ctx := GetTestGinContext(w)
users := []entities.User{}
mockService := new(mocks.MockedApplicationService)
mockService.On("GetUsers").Return(&users, nil)
rest.Status(mockService)(ctx)
assert.Equal(t, http.StatusOK, w.Code)
})
t.Run("Failed with invalid request", func(t *testing.T) {
w := httptest.NewRecorder()
ctx := GetTestGinContext(w)
users := []entities.User{}
mockService := new(mocks.MockedApplicationService)
mockService.On("GetUsers").Return(&users, errors.New("Failed"))
rest.Status(mockService)(ctx)
assert.Equal(t, http.StatusInternalServerError, w.Code)
})
}
func TestReadiness(t *testing.T) {
t.Run("Success with valid data", func(t *testing.T) {
mockService := new(mocks.MockedApplicationService)
mockService.On("ListDataBase").Return([]string{"auth", "otherDB"}, nil)
mockService.On("ListCollection").Return([]string{"project", "users", "otherCollection"}, nil)
w := httptest.NewRecorder()
ctx := GetTestGinContext(w)
rest.Readiness(mockService)(ctx)
assert.Equal(t, http.StatusOK, w.Code)
})
t.Run("Failed with invalid data", func(t *testing.T) {
mockService := new(mocks.MockedApplicationService)
mockService.On("ListDataBase").Return([]string{"auth", "otherDB"}, errors.New("Failed"))
mockService.On("ListCollection").Return([]string{"project", "users", "otherCollection"}, errors.New("Failed"))
w := httptest.NewRecorder()
ctx := GetTestGinContext(w)
rest.Readiness(mockService)(ctx)
assert.Equal(t, http.StatusInternalServerError, w.Code)
})
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,311 @@
package rest_test
import (
"errors"
"net/http"
"net/http/httptest"
"testing"
"github.com/gin-gonic/gin"
"github.com/litmuschaos/litmus/chaoscenter/authentication/api/handlers/rest"
"github.com/litmuschaos/litmus/chaoscenter/authentication/api/mocks"
"github.com/litmuschaos/litmus/chaoscenter/authentication/pkg/entities"
"github.com/litmuschaos/litmus/chaoscenter/authentication/pkg/utils"
"github.com/stretchr/testify/assert"
"go.mongodb.org/mongo-driver/bson/primitive"
)
func TestGetUserWithProject(t *testing.T) {
gin.SetMode(gin.TestMode)
t.Run("Failed to retrieve user with projects", func(t *testing.T) {
service := new(mocks.MockedApplicationService)
username := "testUser"
w := httptest.NewRecorder()
c := GetTestGinContext(w)
c.Params = gin.Params{
{"username", username},
}
c.Set("username", username)
c.Set("role", string(entities.RoleUser))
user := &entities.User{
ID: "testUID",
Username: "testUser",
Email: "test@example.com",
}
response := &entities.ListProjectResponse{}
request := &entities.ListProjectRequest{
UserID: "testUID",
}
service.On("FindUserByUsername", "testUser").Return(user, errors.New("failed"))
service.On("GetProjectsByUserID", request).Return(response, errors.New("failed"))
rest.GetUserWithProject(service)(c)
assert.Equal(t, http.StatusBadRequest, w.Code)
})
t.Run("Successfully retrieve user with projects", func(t *testing.T) {
service := new(mocks.MockedApplicationService)
username := "testUser1"
f := httptest.NewRecorder()
c := GetTestGinContext(f)
c.Params = gin.Params{
{"username", username},
}
c.Set("username", username)
c.Set("role", string(entities.RoleUser))
user := &entities.User{
ID: "testUID",
Username: "testUser1",
Email: "test@example.com",
}
response := &entities.ListProjectResponse{}
fieldName := entities.ProjectSortingFieldTime
request := &entities.ListProjectRequest{
UserID: "testUID",
Pagination: &entities.Pagination{
Page: 0,
Limit: 15,
},
Sort: &entities.SortInput{
Field: &fieldName,
Ascending: nil,
},
Filter: &entities.ListProjectInputFilter{
CreatedByMe: nil,
InvitedByOthers: nil,
ProjectName: nil,
},
}
service.On("FindUserByUsername", "testUser1").Return(user, nil)
service.On("GetProjectsByUserID", request).Return(response, nil)
rest.GetUserWithProject(service)(c)
assert.Equal(t, http.StatusOK, f.Code)
})
t.Run("Successfully retrieve user with projects if logged user has admin role", func(t *testing.T) {
service := new(mocks.MockedApplicationService)
username := "testUser"
w := httptest.NewRecorder()
c := GetTestGinContext(w)
c.Params = gin.Params{
{"username", username},
}
c.Set("username", "adminusername")
c.Set("role", string(entities.RoleAdmin))
user := &entities.User{
ID: "testUID",
Username: "testUser",
Email: "test@example.com",
Role: entities.RoleAdmin,
}
response := &entities.ListProjectResponse{}
fieldName := entities.ProjectSortingFieldTime
request := &entities.ListProjectRequest{
UserID: "testUID",
Pagination: &entities.Pagination{
Page: 0,
Limit: 15,
},
Sort: &entities.SortInput{
Field: &fieldName,
Ascending: nil,
},
Filter: &entities.ListProjectInputFilter{
CreatedByMe: nil,
InvitedByOthers: nil,
ProjectName: nil,
},
}
service.On("FindUserByUsername", "testUser").Return(user, nil)
service.On("GetProjectsByUserID", request).Return(response, nil)
rest.GetUserWithProject(service)(c)
assert.Equal(t, http.StatusOK, w.Code)
})
}
func TestGetProjectsByUserID(t *testing.T) {
gin.SetMode(gin.TestMode)
t.Run("Failed with invalid data", func(t *testing.T) {
w := httptest.NewRecorder()
ctx := GetTestGinContext(w)
ctx.Set("uid", "testUserID")
response := &entities.ListProjectResponse{}
fieldName := entities.ProjectSortingFieldTime
request := &entities.ListProjectRequest{
UserID: "testUserID",
Pagination: &entities.Pagination{
Page: 0,
Limit: 15,
},
Sort: &entities.SortInput{
Field: &fieldName,
Ascending: nil,
},
Filter: &entities.ListProjectInputFilter{
CreatedByMe: nil,
InvitedByOthers: nil,
ProjectName: nil,
},
}
service := new(mocks.MockedApplicationService)
service.On("GetProjectsByUserID", request).Return(response, errors.New("Failed"))
rest.GetProjectsByUserID(service)(ctx)
assert.Equal(t, utils.ErrorStatusCodes[utils.ErrServerError], w.Code)
})
t.Run("Successful retrieve of project", func(t *testing.T) {
w := httptest.NewRecorder()
ctx := GetTestGinContext(w)
ctx.Set("uid", "testUserID")
projects := []*entities.Project{
{
ID: "testProjectID",
Name: "Test Project",
},
}
response := &entities.ListProjectResponse{
Projects: projects,
}
fieldName := entities.ProjectSortingFieldTime
request := &entities.ListProjectRequest{
UserID: "testUserID",
Pagination: &entities.Pagination{
Page: 0,
Limit: 15,
},
Sort: &entities.SortInput{
Field: &fieldName,
Ascending: nil,
},
Filter: &entities.ListProjectInputFilter{
CreatedByMe: nil,
InvitedByOthers: nil,
ProjectName: nil,
},
}
service := new(mocks.MockedApplicationService)
service.On("GetProjectsByUserID", request).Return(response, nil)
rest.GetProjectsByUserID(service)(ctx)
assert.Equal(t, http.StatusOK, w.Code)
})
}
func TestGetProject(t *testing.T) {
gin.SetMode(gin.TestMode)
t.Run("unauthorized request to Project", func(t *testing.T) {
projectID := "testProjectID"
w := httptest.NewRecorder()
ctx := GetTestGinContext(w)
ctx.Set("uid", projectID)
ctx.Set("role", string(entities.RoleUser))
service := new(mocks.MockedApplicationService)
project := &entities.Project{
ID: "testProjectID",
Name: "Test Project",
}
user := &entities.User{
ID: "testProjectID",
Name: "Test Project",
}
service.On("GetProjectByProjectID", projectID).Return(project, errors.New("Failed"))
service.On("GetUser", projectID).Return(user, errors.New("Failed"))
rest.GetProject(service)(ctx)
assert.Equal(t, utils.ErrorStatusCodes[utils.ErrUnauthorized], w.Code)
})
t.Run("Successful to find Project", func(t *testing.T) {
projectID := "testUserID"
w := httptest.NewRecorder()
ctx := GetTestGinContext(w)
ctx.Set("uid", projectID)
ctx.Set("role", string(entities.RoleAdmin))
service := new(mocks.MockedApplicationService)
project := &entities.Project{
ID: "testProjectID",
Name: "Test Project",
}
user := &entities.User{
ID: "testUserID",
Name: "Test User",
}
projects := []*entities.Project{
{
ID: "testProjectID",
Name: "Test Project",
},
}
expectedFilter := primitive.D{
primitive.E{
Key: "_id",
Value: "",
},
primitive.E{
Key: "members",
Value: primitive.D{
primitive.E{
Key: "$elemMatch",
Value: primitive.D{
primitive.E{
Key: "user_id",
Value: "testUserID",
},
primitive.E{
Key: "role",
Value: primitive.D{
primitive.E{
Key: "$in",
Value: []string{"Owner", "Viewer", "Executor"},
},
},
},
primitive.E{
Key: "invitation",
Value: "Accepted",
},
},
},
},
},
}
service.On("GetProjectByProjectID", "").Return(project, nil)
service.On("GetUser", projectID).Return(user, nil)
service.On("GetProjects", expectedFilter).Return(projects, nil)
rest.GetProject(service)(ctx)
assert.Equal(t, 200, w.Code)
})
}

View File

@ -0,0 +1,838 @@
package rest
import (
"errors"
"net/http"
"strings"
"time"
response "github.com/litmuschaos/litmus/chaoscenter/authentication/api/handlers"
"github.com/litmuschaos/litmus/chaoscenter/authentication/api/presenter"
"github.com/litmuschaos/litmus/chaoscenter/authentication/pkg/entities"
"github.com/litmuschaos/litmus/chaoscenter/authentication/pkg/services"
"github.com/litmuschaos/litmus/chaoscenter/authentication/pkg/utils"
"github.com/litmuschaos/litmus/chaoscenter/authentication/pkg/validations"
"github.com/gin-gonic/gin"
"github.com/google/uuid"
log "github.com/sirupsen/logrus"
"golang.org/x/crypto/bcrypt"
)
const BearerSchema = "Bearer "
// CreateUser godoc
//
// @Description Create new user.
// @Tags UserRouter
// @Accept json
// @Produce json
// @Failure 400 {object} response.ErrInvalidRequest
// @Failure 401 {object} response.ErrUnauthorized
// @Failure 400 {object} response.ErrInvalidEmail
// @Failure 401 {object} response.ErrStrictPasswordPolicyViolation
// @Failure 401 {object} response.ErrStrictUsernamePolicyViolation
// @Failure 401 {object} response.ErrUserExists
// @Failure 500 {object} response.ErrServerError
// @Success 200 {object} response.UserResponse{}
// @Router /create_user [post]
//
// CreateUser creates a new user
func CreateUser(service services.ApplicationService) gin.HandlerFunc {
return func(c *gin.Context) {
userRole := c.MustGet("role").(string)
if entities.Role(userRole) != entities.RoleAdmin {
c.AbortWithStatusJSON(utils.ErrorStatusCodes[utils.ErrUnauthorized], presenter.CreateErrorResponse(utils.ErrUnauthorized))
return
}
var userRequest entities.User
err := c.BindJSON(&userRequest)
if err != nil {
log.Warn(err)
c.JSON(utils.ErrorStatusCodes[utils.ErrInvalidRequest], presenter.CreateErrorResponse(utils.ErrInvalidRequest))
return
}
if userRequest.Role != entities.RoleUser && userRequest.Role != entities.RoleAdmin {
c.JSON(utils.ErrorStatusCodes[utils.ErrInvalidRequest], presenter.CreateErrorResponse(utils.ErrInvalidRequest))
return
}
userRequest.Username = utils.SanitizeString(userRequest.Username)
if userRequest.Role == "" || userRequest.Username == "" || userRequest.Password == "" {
c.JSON(utils.ErrorStatusCodes[utils.ErrInvalidRequest], presenter.CreateErrorResponse(utils.ErrInvalidRequest))
return
}
//username validation
err = utils.ValidateStrictUsername(userRequest.Username)
if err != nil {
c.JSON(utils.ErrorStatusCodes[utils.ErrStrictUsernamePolicyViolation], presenter.CreateErrorResponse(utils.ErrStrictUsernamePolicyViolation))
return
}
// Assigning UID to user
uID := uuid.Must(uuid.NewRandom()).String()
userRequest.ID = uID
userRequest.IsInitialLogin = true
// Generating password hash
hashedPassword, err := bcrypt.GenerateFromPassword([]byte(userRequest.Password), utils.PasswordEncryptionCost)
if err != nil {
log.Error("auth error: Error generating password")
}
password := string(hashedPassword)
userRequest.Password = password
// Validating email address
if userRequest.Email != "" {
if !userRequest.IsEmailValid(userRequest.Email) {
log.Error("auth error: invalid email")
c.JSON(utils.ErrorStatusCodes[utils.ErrInvalidEmail], presenter.CreateErrorResponse(utils.ErrInvalidEmail))
return
}
}
createdAt := time.Now().UnixMilli()
userRequest.CreatedAt = createdAt
userResponse, err := service.CreateUser(&userRequest)
if errors.Is(err, utils.ErrUserExists) {
log.Error(err)
c.JSON(utils.ErrorStatusCodes[utils.ErrUserExists], presenter.CreateErrorResponse(utils.ErrUserExists))
return
}
if err != nil {
log.Error(err)
c.JSON(utils.ErrorStatusCodes[utils.ErrServerError], presenter.CreateErrorResponse(utils.ErrServerError))
return
}
c.JSON(http.StatusOK, userResponse)
}
}
// UpdateUser godoc
//
// @Description Update users details.
// @Tags UserRouter
// @Accept json
// @Produce json
// @Failure 400 {object} response.ErrInvalidRequest
// @Failure 401 {object} response.ErrStrictPasswordPolicyViolation
// @Failure 401 {object} response.ErrStrictUsernamePolicyViolation
// @Failure 500 {object} response.ErrServerError
// @Success 200 {object} response.MessageResponse{}
// @Router /update/details [post]
//
// UpdateUser updates the user details
func UpdateUser(service services.ApplicationService) gin.HandlerFunc {
return func(c *gin.Context) {
var userRequest entities.UserDetails
err := c.BindJSON(&userRequest)
if err != nil {
log.Warn(err)
c.JSON(utils.ErrorStatusCodes[utils.ErrInvalidRequest], presenter.CreateErrorResponse(utils.ErrInvalidRequest))
return
}
uid := c.MustGet("uid").(string)
userRequest.ID = uid
initialLogin, err := CheckInitialLogin(service, uid)
if err != nil {
c.JSON(utils.ErrorStatusCodes[utils.ErrServerError], presenter.CreateErrorResponse(utils.ErrServerError))
return
}
if initialLogin {
c.JSON(utils.ErrorStatusCodes[utils.ErrServerError], presenter.CreateErrorResponse(utils.ErrPasswordNotUpdated))
return
}
err = service.UpdateUser(&userRequest)
if err != nil {
c.JSON(utils.ErrorStatusCodes[utils.ErrServerError], presenter.CreateErrorResponse(utils.ErrServerError))
return
}
c.JSON(http.StatusOK, response.MessageResponse{Message: "User details updated successfully"})
}
}
// GetUser godoc
//
// @Description Get user.
// @Tags UserRouter
// @Accept json
// @Produce json
// @Failure 400 {object} response.ErrUserNotFound
// @Success 200 {object} response.UserResponse{}
// @Router /get_user/:uid [get]
//
// GetUser returns the user that matches the uid passed in parameter
func GetUser(service services.ApplicationService) gin.HandlerFunc {
return func(c *gin.Context) {
uid := c.Param("uid")
// Validating logged-in user
// Must be either requesting info from the logged-in user
// or any user if it has the admin role
role := c.MustGet("role").(string)
if c.MustGet("uid").(string) != uid && role != string(entities.RoleAdmin) {
log.Error("auth error: unauthorized")
c.JSON(utils.ErrorStatusCodes[utils.ErrUnauthorized],
presenter.CreateErrorResponse(utils.ErrUnauthorized))
return
}
user, err := service.GetUser(uid)
if err != nil {
log.Error(err)
c.JSON(utils.ErrorStatusCodes[utils.ErrUserNotFound], presenter.CreateErrorResponse(utils.ErrUserNotFound))
return
}
c.JSON(http.StatusOK, user)
}
}
// FetchUsers godoc
//
// @Description Fetch users.
// @Tags UserRouter
// @Accept json
// @Produce json
// @Failure 401 {object} response.ErrUnauthorized
// @Failure 500 {object} response.ErrServerError
// @Success 200 {object} response.UserResponse{}
// @Router /users [get]
//
// FetchUsers fetches all the users
func FetchUsers(service services.ApplicationService) gin.HandlerFunc {
return func(c *gin.Context) {
userRole := c.MustGet("role").(string)
if entities.Role(userRole) != entities.RoleAdmin {
c.AbortWithStatusJSON(utils.ErrorStatusCodes[utils.ErrUnauthorized], presenter.CreateErrorResponse(utils.ErrUnauthorized))
return
}
users, err := service.GetUsers()
if err != nil {
log.Error(err)
c.JSON(utils.ErrorStatusCodes[utils.ErrServerError], presenter.CreateErrorResponse(utils.ErrServerError))
return
}
c.JSON(http.StatusOK, users)
}
}
// InviteUsers godoc
//
// @Description Invite users.
// @Tags UserRouter
// @Accept json
// @Produce json
// @Failure 400 {object} response.ErrInvalidRequest
// @Failure 500 {object} response.ErrServerError
// @Success 200 {object} response.UserResponse{}
// @Router /invite_users/:project_id [get]
//
// InviteUsers invites users to the project
func InviteUsers(service services.ApplicationService) gin.HandlerFunc {
return func(c *gin.Context) {
projectID := c.Param("project_id")
if projectID == "" {
c.JSON(utils.ErrorStatusCodes[utils.ErrInvalidRequest], presenter.CreateErrorResponse(utils.ErrInvalidRequest))
return
}
err := validations.RbacValidator(c.MustGet("uid").(string), projectID,
validations.MutationRbacRules["sendInvitation"], string(entities.AcceptedInvitation), service)
if err != nil {
log.Warn(err)
c.JSON(utils.ErrorStatusCodes[utils.ErrUnauthorized],
presenter.CreateErrorResponse(utils.ErrUnauthorized))
return
}
projectMembers, err := service.GetProjectMembers(projectID, "all")
var userIds []string
for _, k := range projectMembers {
userIds = append(userIds, k.UserID)
}
users, err := service.InviteUsers(userIds)
if err != nil {
log.Error(err)
c.JSON(utils.ErrorStatusCodes[utils.ErrServerError], presenter.CreateErrorResponse(utils.ErrServerError))
return
}
c.JSON(http.StatusOK, gin.H{"data": users})
}
}
// LoginUser godoc
//
// @Description User Login.
// @Tags UserRouter
// @Accept json
// @Produce json
// @Failure 400 {object} response.ErrInvalidRequest
// @Failure 400 {object} response.ErrUserNotFound
// @Failure 400 {object} response.ErrUserDeactivated
// @Failure 401 {object} response.ErrInvalidCredentials
// @Failure 500 {object} response.ErrServerError
// @Success 200 {object} response.LoginResponse{}
// @Router /login [post]
//
// LoginUser returns the token for the user if the credentials are valid
func LoginUser(service services.ApplicationService) gin.HandlerFunc {
return func(c *gin.Context) {
var userRequest entities.User
err := c.BindJSON(&userRequest)
if err != nil {
log.Warn(err)
c.JSON(utils.ErrorStatusCodes[utils.ErrInvalidRequest], presenter.CreateErrorResponse(utils.ErrInvalidRequest))
return
}
userRequest.Username = utils.SanitizeString(userRequest.Username)
if userRequest.Username == "" || userRequest.Password == "" {
c.JSON(utils.ErrorStatusCodes[utils.ErrInvalidRequest], presenter.CreateErrorResponse(utils.ErrInvalidRequest))
return
}
// Checking if user exists
user, err := service.FindUserByUsername(userRequest.Username)
if err != nil {
log.Error(err)
c.JSON(utils.ErrorStatusCodes[utils.ErrInvalidCredentials], presenter.CreateErrorResponse(utils.ErrInvalidCredentials))
return
}
// Checking if user is deactivated
if user.DeactivatedAt != nil {
c.JSON(utils.ErrorStatusCodes[utils.ErrInvalidCredentials], presenter.CreateErrorResponse(utils.ErrInvalidCredentials))
return
}
// Validating password
err = service.CheckPasswordHash(user.Password, userRequest.Password)
if err != nil {
log.Warn(err)
c.JSON(utils.ErrorStatusCodes[utils.ErrInvalidCredentials], presenter.CreateErrorResponse(utils.ErrInvalidCredentials))
return
}
salt, err := service.GetConfig("salt")
if err != nil {
c.JSON(utils.ErrorStatusCodes[utils.ErrServerError], presenter.CreateErrorResponse(utils.ErrServerError))
return
}
token, err := service.GetSignedJWT(user, salt.Value)
if err != nil {
log.Error(err)
c.JSON(utils.ErrorStatusCodes[utils.ErrServerError], presenter.CreateErrorResponse(utils.ErrServerError))
return
}
expiryTime := time.Duration(utils.JWTExpiryDuration) * 60
var defaultProject string
ownerProjects, err := service.GetOwnerProjectIDs(c, user.ID)
if len(ownerProjects) > 0 {
defaultProject = ownerProjects[0].ID
} else if !user.IsInitialLogin {
// Adding user as project owner in project's member list
newMember := &entities.Member{
UserID: user.ID,
Role: entities.RoleOwner,
Invitation: entities.AcceptedInvitation,
Username: user.Username,
Name: user.Name,
Email: user.Email,
JoinedAt: time.Now().UnixMilli(),
}
var members []*entities.Member
members = append(members, newMember)
state := "active"
newProject := &entities.Project{
ID: uuid.Must(uuid.NewRandom()).String(),
Name: user.Username + "-project",
Members: members,
State: &state,
Audit: entities.Audit{
IsRemoved: false,
CreatedAt: time.Now().UnixMilli(),
CreatedBy: entities.UserDetailResponse{
Username: user.Username,
UserID: user.ID,
Email: user.Email,
},
UpdatedAt: time.Now().UnixMilli(),
UpdatedBy: entities.UserDetailResponse{
Username: user.Username,
UserID: user.ID,
Email: user.Email,
},
},
}
err := service.CreateProject(newProject)
if err != nil {
return
}
defaultProject = newProject.ID
}
c.JSON(http.StatusOK, gin.H{
"accessToken": token,
"projectID": defaultProject,
"projectRole": entities.RoleOwner,
"expiresIn": expiryTime,
"type": "Bearer",
})
}
}
// LogoutUser godoc
//
// @Description Revokes the token passed in the Authorization header.
// @Tags UserRouter
// @Accept json
// @Produce json
// @Failure 401 {object} response.ErrUnauthorized
// @Failure 500 {object} response.ErrServerError
// @Success 200 {object} response.MessageResponse{}
// @Router /logout [post]
//
// LogoutUser revokes the token passed in the Authorization header
func LogoutUser(service services.ApplicationService) gin.HandlerFunc {
return func(c *gin.Context) {
authHeader := c.GetHeader("Authorization")
if authHeader == "" {
c.AbortWithStatusJSON(utils.ErrorStatusCodes[utils.ErrUnauthorized], presenter.CreateErrorResponse(utils.ErrUnauthorized))
return
}
tokenString := authHeader[len(BearerSchema):]
// revoke token
err := service.RevokeToken(tokenString)
if err != nil {
log.Error(err)
c.JSON(utils.ErrorStatusCodes[utils.ErrServerError], presenter.CreateErrorResponse(utils.ErrServerError))
return
}
c.JSON(http.StatusOK, response.MessageResponse{Message: "successfully logged out"})
}
}
// UpdatePassword godoc
//
// @Description Update user password.
// @Tags UserRouter
// @Accept json
// @Produce json
// @Failure 400 {object} response.ErrInvalidRequest
// @Failure 401 {object} response.ErrStrictPasswordPolicyViolation
// @Failure 400 {object} response.ErrOldPassword
// @Failure 401 {object} response.ErrInvalidCredentials
// @Success 200 {object} response.ProjectIDWithMessage{}
// @Router /update/password [post]
//
// UpdatePassword updates the user password
func UpdatePassword(service services.ApplicationService) gin.HandlerFunc {
return func(c *gin.Context) {
var userPasswordRequest entities.UserPassword
err := c.BindJSON(&userPasswordRequest)
if err != nil {
log.Warn(err)
c.JSON(utils.ErrorStatusCodes[utils.ErrInvalidRequest], presenter.CreateErrorResponse(utils.ErrInvalidRequest))
return
}
username := c.MustGet("username").(string)
// Fetching userDetails
user, err := service.FindUserByUsername(username)
if err != nil {
log.Error(err)
c.JSON(utils.ErrorStatusCodes[utils.ErrUserNotFound], presenter.CreateErrorResponse(utils.ErrInvalidCredentials))
return
}
userPasswordRequest.Username = username
if userPasswordRequest.NewPassword != "" {
err := utils.ValidateStrictPassword(userPasswordRequest.NewPassword)
if err != nil {
c.JSON(utils.ErrorStatusCodes[utils.ErrStrictPasswordPolicyViolation], presenter.CreateErrorResponse(utils.ErrStrictPasswordPolicyViolation))
return
}
} else {
c.JSON(utils.ErrorStatusCodes[utils.ErrInvalidRequest], presenter.CreateErrorResponse(utils.ErrInvalidRequest))
return
}
err = service.UpdatePassword(&userPasswordRequest, true)
if err != nil {
log.Info(err)
if strings.Contains(err.Error(), "old and new passwords can't be same") {
c.JSON(utils.ErrorStatusCodes[utils.ErrOldPassword], presenter.CreateErrorResponse(utils.ErrOldPassword))
} else if strings.Contains(err.Error(), "invalid credentials") {
c.JSON(utils.ErrorStatusCodes[utils.ErrInvalidCredentials], presenter.CreateErrorResponse(utils.ErrInvalidCredentials))
} else {
c.JSON(utils.ErrorStatusCodes[utils.ErrServerError], presenter.CreateErrorResponse(utils.ErrServerError))
}
return
}
var defaultProject string
ownerProjects, err := service.GetOwnerProjectIDs(c, user.ID)
if len(ownerProjects) > 0 {
defaultProject = ownerProjects[0].ID
} else {
// Adding user as project owner in project's member list
newMember := &entities.Member{
UserID: user.ID,
Role: entities.RoleOwner,
Invitation: entities.AcceptedInvitation,
Username: user.Username,
Name: user.Name,
Email: user.Email,
JoinedAt: time.Now().UnixMilli(),
}
var members []*entities.Member
members = append(members, newMember)
state := "active"
newProject := &entities.Project{
ID: uuid.Must(uuid.NewRandom()).String(),
Name: user.Username + "-project",
Members: members,
State: &state,
Audit: entities.Audit{
IsRemoved: false,
CreatedAt: time.Now().UnixMilli(),
CreatedBy: entities.UserDetailResponse{
Username: user.Username,
UserID: user.ID,
Email: user.Email,
},
UpdatedAt: time.Now().UnixMilli(),
UpdatedBy: entities.UserDetailResponse{
Username: user.Username,
UserID: user.ID,
Email: user.Email,
},
},
}
err := service.CreateProject(newProject)
if err != nil {
return
}
defaultProject = newProject.ID
}
c.JSON(http.StatusOK, response.ProjectIDWithMessage{Message: "password has been updated successfully", ProjectID: defaultProject})
}
}
// ResetPassword godoc
//
// @Description Reset user password.
// @Tags UserRouter
// @Accept json
// @Produce json
// @Failure 401 {object} response.ErrUnauthorized
// @Failure 400 {object} response.ErrInvalidRequest
// @Failure 401 {object} response.ErrStrictPasswordPolicyViolation
// @Failure 500 {object} response.ErrServerError
// @Success 200 {object} response.MessageResponse{}
// @Router /reset/password [post]
//
// ResetPassword resets the user password
func ResetPassword(service services.ApplicationService) gin.HandlerFunc {
return func(c *gin.Context) {
userRole := c.MustGet("role").(string)
if entities.Role(userRole) != entities.RoleAdmin {
c.AbortWithStatusJSON(utils.ErrorStatusCodes[utils.ErrUnauthorized], presenter.CreateErrorResponse(utils.ErrUnauthorized))
return
}
var userPasswordRequest entities.UserPassword
err := c.BindJSON(&userPasswordRequest)
if err != nil {
log.Info(err)
c.JSON(utils.ErrorStatusCodes[utils.ErrInvalidRequest], presenter.CreateErrorResponse(utils.ErrInvalidRequest))
return
}
uid := c.MustGet("uid").(string)
var adminUser entities.User
adminUser.Username = c.MustGet("username").(string)
adminUser.ID = uid
// admin/user shouldn't be able to perform any task if it's default pwd is not changes(initial login is true)
initialLogin, err := CheckInitialLogin(service, uid)
if err != nil {
c.JSON(utils.ErrorStatusCodes[utils.ErrServerError], presenter.CreateErrorResponse(utils.ErrServerError))
return
}
if initialLogin {
c.JSON(utils.ErrorStatusCodes[utils.ErrServerError], presenter.CreateErrorResponse(utils.ErrPasswordNotUpdated))
return
}
if userPasswordRequest.NewPassword != "" {
err := utils.ValidateStrictPassword(userPasswordRequest.NewPassword)
if err != nil {
c.JSON(utils.ErrorStatusCodes[utils.ErrStrictPasswordPolicyViolation], presenter.CreateErrorResponse(utils.ErrStrictPasswordPolicyViolation))
return
}
}
if userPasswordRequest.Username == "" || userPasswordRequest.NewPassword == "" {
log.Warn(err)
c.JSON(utils.ErrorStatusCodes[utils.ErrInvalidRequest], presenter.CreateErrorResponse(utils.ErrInvalidRequest))
return
}
err = service.IsAdministrator(&adminUser)
if err != nil {
log.Info(err)
c.AbortWithStatusJSON(utils.ErrorStatusCodes[utils.ErrUnauthorized], presenter.CreateErrorResponse(utils.ErrUnauthorized))
return
}
err = service.UpdatePassword(&userPasswordRequest, false)
if err != nil {
log.Error(err)
c.AbortWithStatusJSON(utils.ErrorStatusCodes[utils.ErrServerError], presenter.CreateErrorResponse(utils.ErrServerError))
return
}
c.JSON(http.StatusOK, response.MessageResponse{Message: "password has been reset successfully"})
}
}
// UpdateUserState godoc
//
// @Description Updates the user state.
// @Tags UserRouter
// @Accept json
// @Produce json
// @Failure 401 {object} response.ErrUnauthorized
// @Failure 400 {object} response.ErrInvalidRequest
// @Success 200 {object} response.MessageResponse{}
// @Router /update/state [post]
//
// UpdateUserState updates the user state
func UpdateUserState(service services.ApplicationService) gin.HandlerFunc {
return func(c *gin.Context) {
userRole := c.MustGet("role").(string)
var adminUser entities.User
adminUser.Username = c.MustGet("username").(string)
adminUser.ID = c.MustGet("uid").(string)
// admin/user shouldn't be able to perform any task if it's default pwd is not changes(initial login is true)
initialLogin, err := CheckInitialLogin(service, adminUser.ID)
if err != nil {
c.JSON(utils.ErrorStatusCodes[utils.ErrServerError], presenter.CreateErrorResponse(utils.ErrServerError))
return
}
if initialLogin {
c.JSON(utils.ErrorStatusCodes[utils.ErrServerError], presenter.CreateErrorResponse(utils.ErrPasswordNotUpdated))
return
}
if entities.Role(userRole) != entities.RoleAdmin {
c.AbortWithStatusJSON(utils.ErrorStatusCodes[utils.ErrUnauthorized], presenter.CreateErrorResponse(utils.ErrUnauthorized))
return
}
var userRequest entities.UpdateUserState
err = c.BindJSON(&userRequest)
if err != nil {
log.Info(err)
c.JSON(utils.ErrorStatusCodes[utils.ErrInvalidRequest], presenter.CreateErrorResponse(utils.ErrInvalidRequest))
return
}
if userRequest.IsDeactivate == nil {
c.JSON(utils.ErrorStatusCodes[utils.ErrInvalidRequest], presenter.CreateErrorResponse(utils.ErrInvalidRequest))
return
}
// Checking if loggedIn user is admin
err = service.IsAdministrator(&adminUser)
if err != nil {
log.Info(err)
c.AbortWithStatusJSON(utils.ErrorStatusCodes[utils.ErrUnauthorized], presenter.CreateErrorResponse(utils.ErrUnauthorized))
return
}
// Transaction to update state in user and project collection
err = service.UpdateStateTransaction(userRequest)
if err != nil {
log.Info(err)
c.AbortWithStatusJSON(utils.ErrorStatusCodes[err], presenter.CreateErrorResponse(err))
return
}
c.JSON(http.StatusOK, response.MessageResponse{Message: "user's state updated successfully"})
}
}
// CreateApiToken godoc
//
// @Description Creates a new api token for the user.
// @Tags UserRouter
// @Accept json
// @Produce json
// @Failure 400 {object} response.ErrInvalidRequest
// @Failure 400 {object} response.ErrUserNotFound
// @Failure 500 {object} response.ErrServerError
// @Success 200 {object} response.NewApiToken{}
// @Router /create_token [post]
//
// CreateApiToken creates a new api token for the user
func CreateApiToken(service services.ApplicationService) gin.HandlerFunc {
return func(c *gin.Context) {
var apiTokenRequest entities.ApiTokenInput
err := c.BindJSON(&apiTokenRequest)
if err != nil {
log.Warn(err)
c.JSON(utils.ErrorStatusCodes[utils.ErrInvalidRequest], presenter.CreateErrorResponse(utils.ErrInvalidRequest))
return
}
// Validating logged-in user
// Requesting info must be from the logged-in user
if c.MustGet("uid").(string) != apiTokenRequest.UserID {
log.Error("auth error: unauthorized")
c.JSON(utils.ErrorStatusCodes[utils.ErrUnauthorized],
presenter.CreateErrorResponse(utils.ErrUnauthorized))
return
}
// admin/user shouldn't be able to perform any task if it's default pwd is not changes(initial login is true)
initialLogin, err := CheckInitialLogin(service, apiTokenRequest.UserID)
if err != nil {
c.JSON(utils.ErrorStatusCodes[utils.ErrServerError], presenter.CreateErrorResponse(utils.ErrServerError))
return
}
if initialLogin {
c.JSON(utils.ErrorStatusCodes[utils.ErrServerError], presenter.CreateErrorResponse(utils.ErrPasswordNotUpdated))
return
}
// Checking if user exists
user, err := service.GetUser(apiTokenRequest.UserID)
if err != nil {
log.Error(err)
c.JSON(utils.ErrorStatusCodes[utils.ErrUserNotFound], presenter.CreateErrorResponse(utils.ErrUserNotFound))
return
}
if token, err := service.CreateApiToken(user, apiTokenRequest); err != nil {
log.Error(err)
c.JSON(utils.ErrorStatusCodes[utils.ErrServerError], presenter.CreateErrorResponse(utils.ErrServerError))
return
} else {
c.JSON(http.StatusOK, gin.H{
"accessToken": token,
"type": "Bearer",
})
}
}
}
// GetApiTokens godoc
//
// @Description Returns all the api tokens for the user.
// @Tags UserRouter
// @Accept json
// @Produce json
// @Failure 500 {object} response.ErrServerError
// @Success 200 {object} response.ApiTokenResponse{}
// @Router /token/:uid [post]
//
// GetApiTokens returns all the api tokens for the user
func GetApiTokens(service services.ApplicationService) gin.HandlerFunc {
return func(c *gin.Context) {
uid := c.Param("uid")
// Validating logged-in user
// Requesting info must be from the logged-in user
if c.MustGet("uid").(string) != uid {
log.Error("auth error: unauthorized")
c.JSON(utils.ErrorStatusCodes[utils.ErrUnauthorized],
presenter.CreateErrorResponse(utils.ErrUnauthorized))
return
}
apiTokens, err := service.GetApiTokensByUserID(uid)
if err != nil {
log.Error(err)
c.JSON(utils.ErrorStatusCodes[utils.ErrServerError], presenter.CreateErrorResponse(utils.ErrServerError))
return
}
c.JSON(http.StatusOK, gin.H{
"apiTokens": apiTokens,
})
}
}
// DeleteApiToken godoc
//
// @Description Delete api token for the user.
// @Tags UserRouter
// @Accept json
// @Produce json
// @Failure 400 {object} response.ErrInvalidRequest
// @Failure 500 {object} response.ErrServerError
// @Success 200 {object} response.MessageResponse{}
// @Router /remove_token [post]
//
// DeleteApiToken deletes the api token for the user
func DeleteApiToken(service services.ApplicationService) gin.HandlerFunc {
return func(c *gin.Context) {
var deleteApiTokenRequest entities.DeleteApiTokenInput
err := c.BindJSON(&deleteApiTokenRequest)
if err != nil {
log.Warn(err)
c.JSON(utils.ErrorStatusCodes[utils.ErrInvalidRequest], presenter.CreateErrorResponse(utils.ErrInvalidRequest))
return
}
// Validating logged-in user
// Requesting info must be from the logged-in user
if c.MustGet("uid").(string) != deleteApiTokenRequest.UserID {
log.Error("auth error: unauthorized")
c.JSON(utils.ErrorStatusCodes[utils.ErrUnauthorized],
presenter.CreateErrorResponse(utils.ErrUnauthorized))
return
}
// admin/user shouldn't be able to perform any task if it's default pwd is not changes(initial login is true)
initialLogin, err := CheckInitialLogin(service, deleteApiTokenRequest.UserID)
if err != nil {
c.JSON(utils.ErrorStatusCodes[utils.ErrServerError], presenter.CreateErrorResponse(utils.ErrServerError))
return
}
if initialLogin {
c.JSON(utils.ErrorStatusCodes[utils.ErrServerError], presenter.CreateErrorResponse(utils.ErrPasswordNotUpdated))
return
}
token := deleteApiTokenRequest.Token
err = service.DeleteApiToken(token)
if err != nil {
log.Error(err)
c.JSON(utils.ErrorStatusCodes[utils.ErrServerError], presenter.CreateErrorResponse(utils.ErrServerError))
return
}
if err = service.RevokeToken(token); err != nil {
log.Error(err)
c.JSON(utils.ErrorStatusCodes[utils.ErrServerError], presenter.CreateErrorResponse(utils.ErrServerError))
return
}
c.JSON(http.StatusOK, response.MessageResponse{Message: "api token deleted successfully"})
}
}

View File

@ -0,0 +1,840 @@
package rest_test
import (
"bytes"
"encoding/json"
"errors"
"io"
"log"
"net/http"
"net/http/httptest"
"net/url"
"os"
"strings"
"testing"
"github.com/litmuschaos/litmus/chaoscenter/authentication/pkg/authConfig"
"go.mongodb.org/mongo-driver/bson/primitive"
"github.com/gin-gonic/gin"
"github.com/litmuschaos/litmus/chaoscenter/authentication/api/handlers/rest"
"github.com/litmuschaos/litmus/chaoscenter/authentication/api/mocks"
"github.com/litmuschaos/litmus/chaoscenter/authentication/pkg/entities"
"github.com/litmuschaos/litmus/chaoscenter/authentication/pkg/services"
"github.com/litmuschaos/litmus/chaoscenter/authentication/pkg/utils"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/mock"
)
// TestMain is the entry point for testing
func TestMain(m *testing.M) {
gin.SetMode(gin.TestMode)
log.SetOutput(io.Discard)
os.Exit(m.Run())
}
func GetTestGinContext(w *httptest.ResponseRecorder) *gin.Context {
ctx, _ := gin.CreateTestContext(w)
ctx.Request = &http.Request{
Header: make(http.Header),
URL: &url.URL{},
}
return ctx
}
func TestCreateUser(t *testing.T) {
service := new(mocks.MockedApplicationService)
tests := []struct {
name string
inputBody *entities.User
mockRole string
given func()
expectedCode int
}{
{
name: "successfully",
inputBody: &entities.User{
Username: "newUser",
Password: "ValidPassword@1",
Email: "newuser@example.com",
Name: "John Doe",
Role: entities.RoleUser,
},
mockRole: "admin",
given: func() {
service.On("CreateUser", mock.AnythingOfType("*entities.User")).Return(&entities.User{
ID: "newUserId",
Username: "newUser",
Email: "newuser@example.com",
Name: "John Doe",
Role: entities.RoleUser,
}, nil).Once()
},
expectedCode: 200,
},
}
for _, tc := range tests {
t.Run(tc.name, func(t *testing.T) {
w := httptest.NewRecorder()
c, _ := gin.CreateTestContext(w)
c.Set("role", tc.mockRole)
if tc.inputBody != nil {
b, err := json.Marshal(tc.inputBody)
if err != nil {
t.Fatalf("could not marshal input body: %v", err)
}
c.Request = httptest.NewRequest(http.MethodPost, "/users", bytes.NewBuffer(b))
c.Request.Header.Set("Content-Type", "application/json")
}
tc.given()
rest.CreateUser(service)(c)
assert.Equal(t, tc.expectedCode, w.Code)
})
}
}
func TestUpdateUser(t *testing.T) {
service := new(mocks.MockedApplicationService)
tests := []struct {
name string
uid string
inputBody *entities.UserDetails
given func()
expectedCode int
expectedMsg string
}{
{
name: "Successful update details",
uid: "testUID",
inputBody: &entities.UserDetails{Email: "test@email.com", Name: "Test"},
given: func() {
user := &entities.User{
ID: "testUID",
Username: "testUser",
Email: "test@example.com",
IsInitialLogin: false,
}
service.On("GetUser", "testUID").Return(user, nil)
service.On("UpdateUser", mock.AnythingOfType("*entities.UserDetails")).Return(nil)
},
expectedCode: http.StatusOK,
expectedMsg: "User details updated successfully",
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
w := httptest.NewRecorder()
c, _ := gin.CreateTestContext(w)
c.Set("uid", tt.uid)
if tt.inputBody != nil {
b, _ := json.Marshal(tt.inputBody)
c.Request = httptest.NewRequest(http.MethodPost, "/path", bytes.NewBuffer(b))
}
tt.given()
rest.UpdateUser(service)(c)
assert.Equal(t, tt.expectedCode, w.Code)
var response map[string]string
json.Unmarshal(w.Body.Bytes(), &response)
assert.Equal(t, tt.expectedMsg, response["message"])
})
}
}
func TestGetUser(t *testing.T) {
service := new(mocks.MockedApplicationService)
tests := []struct {
name string
uid string
role string
given func()
expectedCode int
}{
{
name: "Successfully retrieve user",
uid: "testUID",
role: "user",
given: func() {
user := &entities.User{
ID: "testUID",
Username: "testUser",
Email: "test@example.com",
}
service.On("GetUser", "testUID").Return(user, nil)
},
expectedCode: http.StatusOK,
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
w := httptest.NewRecorder()
c, _ := gin.CreateTestContext(w)
c.Params = gin.Params{
{"uid", tt.uid},
}
c.Set("uid", tt.uid)
c.Set("role", tt.role)
tt.given()
rest.GetUser(service)(c)
assert.Equal(t, tt.expectedCode, w.Code)
if w.Code == http.StatusOK {
var user entities.User
_ = json.Unmarshal(w.Body.Bytes(), &user)
assert.Equal(t, tt.uid, user.ID)
}
})
}
}
func TestFetchUsers(t *testing.T) {
service := new(mocks.MockedApplicationService)
tests := []struct {
name string
role string
given func()
expectedCode int
}{
{
name: "Successfully retrieve users by admin",
role: "admin",
given: func() {
users := &[]entities.User{
{
ID: "testUID1",
Username: "testUser1",
Email: "test1@example.com",
},
{
ID: "testUID2",
Username: "testUser2",
Email: "test2@example.com",
},
}
service.On("GetUsers").Return(users, nil)
},
expectedCode: http.StatusOK,
},
{
name: "Non-admin tries to retrieve users",
role: "user",
given: func() {},
expectedCode: utils.ErrorStatusCodes[utils.ErrUnauthorized],
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
w := httptest.NewRecorder()
c, _ := gin.CreateTestContext(w)
c.Set("role", tt.role)
tt.given()
rest.FetchUsers(service)(c)
assert.Equal(t, tt.expectedCode, w.Code)
})
}
}
func TestInviteUsers(t *testing.T) {
service := new(mocks.MockedApplicationService)
tests := []struct {
name string
projectID string
given func()
expectedCode int
}{
{
name: "Successfully invite users",
projectID: "testProjectID",
given: func() {
projectMembers := []*entities.Member{
{UserID: "user1ID"},
{UserID: "user2ID"},
}
service.On("GetProjectMembers", "testProjectID", "all").Return(projectMembers, nil)
uids := []string{"user1ID", "user2ID"}
users := &[]entities.User{
{ID: "user1ID", Username: "user1"},
{ID: "user2ID", Username: "user2"},
}
service.On("InviteUsers", uids).Return(users, nil)
},
expectedCode: http.StatusOK,
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
w := httptest.NewRecorder()
c, _ := gin.CreateTestContext(w)
c.Set("uid", tt.projectID)
c.Params = gin.Params{
{"project_id", tt.projectID},
}
user := &entities.User{
ID: "testUserID",
Name: "Test User",
}
project := &entities.Project{
ID: "testProjectID",
Name: "Test Project",
}
projects := []*entities.Project{
{
ID: "testProjectID",
Name: "Test Project",
},
}
expectedFilter := primitive.D{
primitive.E{
Key: "_id",
Value: tt.projectID,
},
primitive.E{
Key: "members",
Value: primitive.D{
primitive.E{
Key: "$elemMatch",
Value: primitive.D{
primitive.E{
Key: "user_id",
Value: tt.projectID,
},
primitive.E{
Key: "role",
Value: primitive.D{
primitive.E{
Key: "$in",
Value: []string{"Owner"},
},
},
},
primitive.E{
Key: "invitation",
Value: "Accepted",
},
},
},
},
},
}
tt.given()
service.On("GetProjectByProjectID", "").Return(project, nil)
service.On("GetUser", tt.projectID).Return(user, nil)
service.On("GetProjects", expectedFilter).Return(projects, nil)
rest.InviteUsers(service)(c)
assert.Equal(t, tt.expectedCode, w.Code)
})
}
}
func TestLogoutUser(t *testing.T) {
gin.SetMode(gin.TestMode)
service := new(mocks.MockedApplicationService)
tests := []struct {
name string
givenToken string
given func()
expectedCode int
expectedOutput string
}{
{
name: "Successfully logout",
givenToken: "Bearer testToken",
given: func() {
service.On("RevokeToken", "testToken").Return(nil)
},
expectedCode: http.StatusOK,
expectedOutput: `{"message":"successfully logged out"}`,
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
w := httptest.NewRecorder()
c, _ := gin.CreateTestContext(w)
c.Request, _ = http.NewRequest(http.MethodPost, "/", nil)
c.Request.Header.Set("Authorization", tt.givenToken)
tt.given()
rest.LogoutUser(service)(c)
assert.Equal(t, tt.expectedCode, w.Code)
assert.Equal(t, tt.expectedOutput, w.Body.String())
})
}
}
func TestLoginUser(t *testing.T) {
service := new(mocks.MockedApplicationService)
tests := []struct {
name string
input entities.User
given func()
expectedCode int
}{
{
name: "Successfully login user",
input: entities.User{
Username: "testUser",
Password: "testPassword",
},
given: func() {
userFromDB := &entities.User{
ID: "testUserID",
Username: "testUser",
Password: "hashedPassword",
Email: "test@example.com",
}
service.On("GetConfig", "salt").Return(&authConfig.AuthConfig{}, nil)
service.On("FindUserByUsername", "testUser").Return(userFromDB, nil)
service.On("CheckPasswordHash", "hashedPassword", "testPassword").Return(nil)
service.On("UpdateUserByQuery", mock.Anything, mock.Anything).Return(nil)
service.On("GetSignedJWT", userFromDB, mock.Anything).Return("someJWTToken", nil)
project := &entities.Project{
ID: "someProjectID",
}
service.On("GetOwnerProjectIDs", mock.Anything, "testUserID").Return([]*entities.Project{project}, nil)
},
expectedCode: http.StatusOK,
},
{
name: "Invalid JSON body",
given: func() {},
expectedCode: utils.ErrorStatusCodes[utils.ErrInvalidRequest],
},
{
name: "Missing Username or Password",
given: func() {},
expectedCode: utils.ErrorStatusCodes[utils.ErrInvalidRequest],
},
{
name: "User not found",
given: func() {
service.On("FindUserByUsername", "notFoundUser").Return(nil, errors.New("user not found"))
},
expectedCode: utils.ErrorStatusCodes[utils.ErrUserNotFound],
},
{
name: "User deactivated",
given: func() {
deactivatedUser := &entities.User{
ID: "deactivatedUserID",
Username: "deactivatedUser",
Password: "hashedPassword",
}
service.On("FindUserByUsername", "deactivatedUser").Return(deactivatedUser, nil)
},
expectedCode: utils.ErrorStatusCodes[utils.ErrUserDeactivated],
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
w := httptest.NewRecorder()
c, _ := gin.CreateTestContext(w)
body, _ := json.Marshal(tt.input)
c.Request = httptest.NewRequest(http.MethodPost, "/", bytes.NewReader(body))
c.Request.Header.Set("Content-Type", "application/json")
tt.given()
rest.LoginUser(service)(c)
assert.Equal(t, tt.expectedCode, w.Code)
})
}
}
func TestUpdatePassword(t *testing.T) {
gin.SetMode(gin.TestMode)
service := new(mocks.MockedApplicationService)
tests := []struct {
name string
givenBody string
givenUsername string
givenStrictPassword bool
givenServiceResponse error
expectedCode int
expectedOutput string
}{
{
name: "Successfully update password",
givenBody: `{"oldPassword":"oldPass@123", "newPassword":"newPass@123"}`,
givenUsername: "testUser",
givenStrictPassword: false,
givenServiceResponse: nil,
expectedCode: http.StatusOK,
expectedOutput: `{"message":"password has been updated successfully","projectID":"someProjectID"}`,
},
{
name: "Invalid new password",
givenBody: `{"oldPassword":"oldPass@123", "newPassword":"short"}`,
givenUsername: "testUser",
givenStrictPassword: false,
givenServiceResponse: errors.New("invalid password"),
expectedCode: utils.ErrorStatusCodes[utils.ErrStrictPasswordPolicyViolation],
expectedOutput: `{"error":"password_policy_violation","errorDescription":"Please ensure the password is atleast 8 characters long and atmost 16 characters long and has atleast 1 digit, 1 lowercase alphabet, 1 uppercase alphabet and 1 special character"}`,
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
w := httptest.NewRecorder()
c, _ := gin.CreateTestContext(w)
c.Request, _ = http.NewRequest(http.MethodPost, "/", strings.NewReader(tt.givenBody))
c.Request.Header.Set("Content-Type", "application/json")
c.Set("username", tt.givenUsername)
userPassword := entities.UserPassword{
Username: tt.givenUsername,
OldPassword: "oldPass@123",
NewPassword: "newPass@123",
}
user := &entities.User{
ID: "testUID",
Username: "testUser",
Email: "test@example.com",
IsInitialLogin: false,
}
userFromDB := &entities.User{
ID: "testUserID",
Username: "testUser",
Password: "hashedPassword",
Email: "test@example.com",
}
service.On("FindUserByUsername", "testUser").Return(userFromDB, nil)
service.On("GetUser", "testUID").Return(user, nil)
service.On("UpdatePassword", &userPassword, true).Return(tt.givenServiceResponse)
project := &entities.Project{
ID: "someProjectID",
}
service.On("GetOwnerProjectIDs", mock.Anything, "testUserID").Return([]*entities.Project{project}, nil)
rest.UpdatePassword(service)(c)
assert.Equal(t, tt.expectedCode, w.Code)
assert.Equal(t, tt.expectedOutput, w.Body.String())
})
}
}
func TestResetPassword(t *testing.T) {
gin.SetMode(gin.TestMode)
service := new(mocks.MockedApplicationService)
tests := []struct {
name string
inputBody *entities.UserPassword
mockRole string
mockUID string
mockUsername string
given func()
expectedCode int
}{
{
name: "Admin role",
inputBody: &entities.UserPassword{
Username: "testUser",
OldPassword: "",
NewPassword: "ValidPass@123",
},
mockRole: "admin",
mockUID: "testUID",
mockUsername: "adminUser",
given: func() {
user := &entities.User{
ID: "testUID",
Username: "testUser",
Email: "test@example.com",
IsInitialLogin: false,
}
service.On("GetUser", "testUID").Return(user, nil)
service.On("IsAdministrator", mock.AnythingOfType("*entities.User")).Return(nil)
service.On("UpdatePassword", mock.AnythingOfType("*entities.UserPassword"), false).Return(nil)
},
expectedCode: 200,
},
{
name: "Non-admin role",
inputBody: &entities.UserPassword{
Username: "testUser",
OldPassword: "",
NewPassword: "validPass@123",
},
mockRole: "user",
mockUID: "testUID",
mockUsername: "user",
expectedCode: utils.ErrorStatusCodes[utils.ErrUnauthorized],
},
{
name: "Invalid Request Body",
mockRole: "admin",
mockUID: "testUID",
mockUsername: "adminUser",
expectedCode: utils.ErrorStatusCodes[utils.ErrInvalidRequest],
},
{
name: "Empty Username or Password",
inputBody: &entities.UserPassword{},
mockRole: "admin",
mockUID: "testUID",
mockUsername: "adminUser",
expectedCode: utils.ErrorStatusCodes[utils.ErrInvalidRequest],
},
{
name: "Admin role wrong password",
inputBody: &entities.UserPassword{
Username: "testUser",
OldPassword: "",
NewPassword: "short",
},
mockRole: "admin",
mockUID: "testUID",
mockUsername: "adminUser",
given: func() {
user := &entities.User{
ID: "testUID",
Username: "testUser",
Email: "test@example.com",
IsInitialLogin: false,
}
service.On("GetUser", "testUID").Return(user, nil)
service.On("IsAdministrator", mock.AnythingOfType("*entities.User")).Return(nil)
service.On("UpdatePassword", mock.AnythingOfType("*entities.UserPassword"), false).Return(nil)
},
expectedCode: utils.ErrorStatusCodes[utils.ErrStrictPasswordPolicyViolation],
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
if tt.given != nil {
tt.given()
}
w := httptest.NewRecorder()
c := GetTestGinContext(w)
c.Request.Method = http.MethodPost
bodyBytes, _ := json.Marshal(tt.inputBody)
c.Request.Body = io.NopCloser(bytes.NewReader([]byte(bodyBytes)))
c.Set("role", tt.mockRole)
c.Set("uid", tt.mockUID)
c.Set("username", tt.mockUsername)
rest.ResetPassword(service)(c)
assert.Equal(t, tt.expectedCode, w.Code)
})
}
}
func TestUpdateUserState(t *testing.T) {
service := new(mocks.MockedApplicationService)
const (
myTrue = 0 == 0
myFalse = 0 != 0
)
deactivate := myFalse
tests := []struct {
name string
inputBody *entities.UpdateUserState
mockRole string
mockUsername string
mockUID string
given func()
expectedCode int
}{
{
name: "successfully",
inputBody: &entities.UpdateUserState{
Username: "adminUser",
IsDeactivate: &deactivate,
},
mockRole: "admin",
mockUsername: "adminUser",
mockUID: "tetstUUIS",
given: func() {
user := &entities.User{
ID: "tetstUUIS",
Username: "testUser",
Email: "test@example.com",
IsInitialLogin: false,
}
service.On("GetUser", "tetstUUIS").Return(user, nil)
service.On("IsAdministrator", mock.AnythingOfType("*entities.User")).Return(nil)
service.On("UpdateStateTransaction", mock.AnythingOfType("entities.UpdateUserState")).Return(nil)
},
expectedCode: 200,
},
{
name: "failed to desactivate",
inputBody: &entities.UpdateUserState{
Username: "adminUser",
IsDeactivate: nil,
},
mockRole: "admin",
mockUsername: "adminUser",
mockUID: "tetstUUIS",
expectedCode: utils.ErrorStatusCodes[utils.ErrInvalidRequest],
},
{
name: "failed to authorize",
inputBody: &entities.UpdateUserState{
IsDeactivate: &deactivate,
},
mockRole: "user",
mockUsername: "adminUser",
mockUID: "tetstUUIS",
expectedCode: utils.ErrorStatusCodes[utils.ErrUnauthorized],
},
}
for _, tc := range tests {
t.Run(tc.name, func(t *testing.T) {
if tc.given != nil {
tc.given()
}
w := httptest.NewRecorder()
c := GetTestGinContext(w)
c.Request.Method = http.MethodPost
bodyBytes, _ := json.Marshal(tc.inputBody)
c.Request.Body = io.NopCloser(bytes.NewReader([]byte(bodyBytes)))
c.Set("role", tc.mockRole)
c.Set("uid", tc.mockUID)
c.Set("username", tc.mockUsername)
rest.UpdateUserState(service)(c)
assert.Equal(t, tc.expectedCode, w.Code)
})
}
}
func TestCreateApiToken(t *testing.T) {
gin.SetMode(gin.TestMode)
service := new(mocks.MockedApplicationService)
tests := []struct {
name string
inputBody *entities.ApiTokenInput
given func()
expectedCode int
}{
{
name: "Valid Request",
inputBody: &entities.ApiTokenInput{
UserID: "testUserID",
},
given: func() {
user := &entities.User{ID: "testUserID"}
service.On("GetUser", "testUserID").Return(user, nil)
service.On("CreateApiToken", user, mock.MatchedBy(func(input entities.ApiTokenInput) bool {
return input.UserID == "testUserID"
})).Return("sampleToken", nil)
},
expectedCode: http.StatusOK,
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
w := httptest.NewRecorder()
c := GetTestGinContext(w)
bodyBytes, _ := json.Marshal(tt.inputBody)
c.Request = httptest.NewRequest(http.MethodPost, "/api/token", bytes.NewReader(bodyBytes))
c.Request.Header.Set("Content-Type", "application/json")
c.Set("uid", tt.inputBody.UserID)
tt.given()
rest.CreateApiToken(service)(c)
assert.Equal(t, tt.expectedCode, w.Code)
})
}
}
func TestGetApiTokens(t *testing.T) {
gin.SetMode(gin.TestMode)
service := new(mocks.MockedApplicationService)
tests := []struct {
name string
uid string
given func()
expectedCode int
expectedToken []entities.ApiToken
}{
{
name: "Valid Request",
uid: "testUserID",
given: func() {
returnedTokens := []entities.ApiToken{
{Token: "sampleToken1"},
{Token: "sampleToken2"},
}
service.On("GetApiTokensByUserID", "testUserID").Return(returnedTokens, nil)
},
expectedCode: http.StatusOK,
expectedToken: []entities.ApiToken{
{Token: "sampleToken1"},
{Token: "sampleToken2"},
},
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
w := httptest.NewRecorder()
c, _ := gin.CreateTestContext(w)
c.Params = []gin.Param{{Key: "uid", Value: tt.uid}}
c.Set("uid", tt.uid)
tt.given()
rest.GetApiTokens(service)(c)
assert.Equal(t, tt.expectedCode, w.Code)
if tt.expectedCode == http.StatusOK {
var response map[string][]entities.ApiToken
json.Unmarshal(w.Body.Bytes(), &response)
assert.Equal(t, tt.expectedToken, response["apiTokens"])
}
})
}
}
func TestDeleteApiToken(t *testing.T) {
// given
w := httptest.NewRecorder()
ctx := GetTestGinContext(w)
service := new(services.ApplicationService)
// when
rest.DeleteApiToken(*service)(ctx)
// then
assert.Equal(t, http.StatusBadRequest, w.Code)
}

View File

@ -0,0 +1,17 @@
package rest
import (
"github.com/litmuschaos/litmus/chaoscenter/authentication/pkg/services"
)
func CheckInitialLogin(applicationService services.ApplicationService, userID string) (bool, error) {
user, err := applicationService.GetUser(userID)
if err != nil {
return false, err
}
if user.IsInitialLogin {
return true, nil
} else {
return false, nil
}
}

View File

@ -0,0 +1,44 @@
package response
import (
"encoding/base64"
"github.com/litmuschaos/litmus/chaoscenter/authentication/pkg/authConfig"
"github.com/litmuschaos/litmus/chaoscenter/authentication/pkg/services"
"github.com/litmuschaos/litmus/chaoscenter/authentication/pkg/utils"
log "github.com/sirupsen/logrus"
"go.mongodb.org/mongo-driver/mongo"
)
func AddSalt(service services.ApplicationService) error {
// generate salt and add/update to user collection
// pass the salt in the below func which will act as jwt secret
getSalt, err := service.GetConfig("salt")
if err != nil && err != mongo.ErrNoDocuments {
log.Error(err)
return err
}
if getSalt != nil {
return nil
}
salt, err := utils.RandomString(6)
if err != nil {
log.Error(err)
return err
}
encodedSalt := base64.StdEncoding.EncodeToString([]byte(salt))
config := authConfig.AuthConfig{
Key: "salt",
Value: encodedSalt,
}
err = service.CreateConfig(config)
if err != nil {
log.Error(err)
return err
}
return nil
}

View File

@ -0,0 +1,267 @@
package main
import (
"flag"
"fmt"
"net"
"net/http"
"runtime"
"time"
response "github.com/litmuschaos/litmus/chaoscenter/authentication/api/handlers"
"github.com/litmuschaos/litmus/chaoscenter/authentication/pkg/authConfig"
"google.golang.org/grpc/credentials"
grpcHandler "github.com/litmuschaos/litmus/chaoscenter/authentication/api/handlers/grpc"
"github.com/litmuschaos/litmus/chaoscenter/authentication/api/middleware"
grpcPresenter "github.com/litmuschaos/litmus/chaoscenter/authentication/api/presenter/protos"
"github.com/litmuschaos/litmus/chaoscenter/authentication/api/routes"
"github.com/litmuschaos/litmus/chaoscenter/authentication/pkg/entities"
"github.com/litmuschaos/litmus/chaoscenter/authentication/pkg/misc"
"github.com/litmuschaos/litmus/chaoscenter/authentication/pkg/project"
"github.com/litmuschaos/litmus/chaoscenter/authentication/pkg/services"
"github.com/litmuschaos/litmus/chaoscenter/authentication/pkg/session"
"github.com/litmuschaos/litmus/chaoscenter/authentication/pkg/user"
"github.com/litmuschaos/litmus/chaoscenter/authentication/pkg/utils"
"google.golang.org/grpc"
"github.com/gin-gonic/gin"
"github.com/google/uuid"
"github.com/kelseyhightower/envconfig"
log "github.com/sirupsen/logrus"
"golang.org/x/crypto/bcrypt"
)
type Config struct {
AdminUsername string `required:"true" split_words:"true"`
AdminPassword string `required:"true" split_words:"true"`
DbServer string `required:"true" split_words:"true"`
DbUser string `required:"true" split_words:"true"`
DbPassword string `required:"true" split_words:"true"`
AllowedOrigins []string `split_words:"true" default:"^(http://|https://|)litmuschaos.io(:[0-9]+|)?,^(http://|https://|)localhost(:[0-9]+|)"`
}
var config Config
func init() {
log.SetFormatter(&log.JSONFormatter{})
log.SetReportCaller(true)
printVersion()
err := envconfig.Process("", &config)
if err != nil {
log.Fatal(err)
}
}
// @title Chaoscenter API documentation
func main() {
// send logs to stderr, so we can use 'kubectl logs'
_ = flag.Set("logtostderr", "true")
_ = flag.Set("v", "3")
flag.Parse()
client, err := utils.MongoConnection()
if err != nil {
log.Fatal("database connection error $s", err)
}
db := client.Database(utils.DBName)
// Creating User Collection
err = utils.CreateCollection(utils.UserCollection, db)
if err != nil {
log.Errorf("failed to create collection %s", err)
}
err = utils.CreateIndex(utils.UserCollection, utils.UsernameField, db)
if err != nil {
log.Errorf("failed to create index %s", err)
}
// Creating Project Collection
err = utils.CreateCollection(utils.ProjectCollection, db)
if err != nil {
log.Errorf("failed to create collection %s", err)
}
// Creating AuthConfig Collection
err = utils.CreateCollection(utils.AuthConfigCollection, db)
if err != nil {
log.Errorf("failed to create collection %s", err)
}
// Creating RevokedToken Collection
if err = utils.CreateCollection(utils.RevokedTokenCollection, db); err != nil {
log.Errorf("failed to create collection %s", err)
}
if err = utils.CreateTTLIndex(utils.RevokedTokenCollection, db); err != nil {
log.Errorf("failed to create index %s", err)
}
// Creating ApiToken Collection
if err = utils.CreateCollection(utils.ApiTokenCollection, db); err != nil {
log.Errorf("failed to create collection %s", err)
}
userCollection := db.Collection(utils.UserCollection)
userRepo := user.NewRepo(userCollection)
projectCollection := db.Collection(utils.ProjectCollection)
projectRepo := project.NewRepo(projectCollection)
revokedTokenCollection := db.Collection(utils.RevokedTokenCollection)
revokedTokenRepo := session.NewRevokedTokenRepo(revokedTokenCollection)
apiTokenCollection := db.Collection(utils.ApiTokenCollection)
apiTokenRepo := session.NewApiTokenRepo(apiTokenCollection)
authConfigCollection := db.Collection(utils.AuthConfigCollection)
authConfigRepo := authConfig.NewAuthConfigRepo(authConfigCollection)
miscRepo := misc.NewRepo(db, client)
applicationService := services.NewService(userRepo, projectRepo, miscRepo, revokedTokenRepo, apiTokenRepo, authConfigRepo, db)
err = response.AddSalt(applicationService)
if err != nil {
log.Fatal("couldn't create salt $s", err)
}
validatedAdminSetup(applicationService)
if utils.EnableInternalTls {
if utils.TlsCertPath != "" && utils.TlSKeyPath != "" {
go runGrpcServerWithTLS(applicationService)
} else {
log.Fatalf("Failure to start chaoscenter authentication GRPC server due to empty TLS cert file path and TLS key path")
}
} else {
go runGrpcServer(applicationService)
}
runRestServer(applicationService)
}
func validatedAdminSetup(service services.ApplicationService) {
// Assigning UID to admin
uID := uuid.Must(uuid.NewRandom()).String()
// Generating password hash
hashedPassword, err := bcrypt.GenerateFromPassword([]byte(utils.AdminPassword), utils.PasswordEncryptionCost)
if err != nil {
log.Println("Error generating password for admin")
}
password := string(hashedPassword)
adminUser := entities.User{
ID: uID,
Username: utils.AdminName,
Password: password,
Role: entities.RoleAdmin,
IsInitialLogin: true,
Audit: entities.Audit{
CreatedAt: time.Now().UnixMilli(),
UpdatedAt: time.Now().UnixMilli(),
},
}
_, err = service.CreateUser(&adminUser)
if err != nil && err == utils.ErrUserExists {
log.Println("Admin already exists in the database, not creating a new admin")
} else if err != nil {
log.Fatalf("Unable to create admin, error: %v", err)
}
}
func printVersion() {
log.Info(fmt.Sprintf("Go Version: %s", runtime.Version()))
log.Info(fmt.Sprintf("Go OS/Arch: %s/%s", runtime.GOOS, runtime.GOARCH))
}
func runRestServer(applicationService services.ApplicationService) {
// Starting REST server using Gin
gin.SetMode(gin.ReleaseMode)
gin.EnableJsonDecoderDisallowUnknownFields()
app := gin.Default()
app.Use(middleware.ValidateCors(config.AllowedOrigins))
// Enable dex routes only if passed via environment variables
if utils.DexEnabled {
routes.DexRouter(app, applicationService)
}
routes.CapabilitiesRouter(app)
routes.MiscRouter(app, applicationService)
routes.UserRouter(app, applicationService)
routes.ProjectRouter(app, applicationService)
if utils.EnableInternalTls {
if utils.TlsCertPath != "" && utils.TlSKeyPath != "" {
conf := utils.GetTlsConfig()
server := http.Server{
Addr: ":" + utils.RestPort,
Handler: app,
TLSConfig: conf,
}
log.Infof("Listening and serving HTTPS on :%s", utils.RestPort)
err := server.ListenAndServeTLS("", "")
if err != nil {
log.Fatalf("Failure to start litmus-portal authentication REST server due to %v", err)
}
} else {
log.Fatalf("Failure to start chaoscenter authentication REST server due to empty TLS cert file path and TLS key path")
}
} else {
log.Infof("Listening and serving HTTP on :%s", utils.RestPort)
err := app.Run(":" + utils.RestPort)
if err != nil {
log.Fatalf("Failure to start litmus-portal authentication REST server due to %v", err)
}
}
}
func runGrpcServer(applicationService services.ApplicationService) {
// Starting gRPC server
lis, err := net.Listen("tcp", ":"+utils.GrpcPort)
if err != nil {
log.Fatalf("Failure to start litmus-portal authentication server due"+
" to %s", err)
}
grpcApplicationServer := grpcHandler.ServerGrpc{ApplicationService: applicationService}
grpcServer := grpc.NewServer()
grpcPresenter.RegisterAuthRpcServiceServer(grpcServer, &grpcApplicationServer)
log.Infof("Listening and serving gRPC on :%s", utils.GrpcPort)
err = grpcServer.Serve(lis)
if err != nil {
log.Fatalf("Failure to start chaoscenter authentication GRPC server due to %v", err)
}
}
func runGrpcServerWithTLS(applicationService services.ApplicationService) {
// Starting gRPC server
lis, err := net.Listen("tcp", ":"+utils.GrpcPort)
if err != nil {
log.Fatalf("Failure to start litmus-portal authentication server due to %s", err)
}
// configuring TLS config based on provided certificates & keys
conf := utils.GetTlsConfig()
// create tls credentials
tlsCredentials := credentials.NewTLS(conf)
// create grpc server with tls credential
grpcServer := grpc.NewServer(grpc.Creds(tlsCredentials))
grpcApplicationServer := grpcHandler.ServerGrpc{ApplicationService: applicationService}
grpcPresenter.RegisterAuthRpcServiceServer(grpcServer, &grpcApplicationServer)
log.Infof("Listening and serving gRPC on :%s with TLS", utils.GrpcPort)
err = grpcServer.Serve(lis)
if err != nil {
log.Fatalf("Failure to start chaoscenter authentication GRPC server due to %v", err)
}
}

View File

@ -0,0 +1,55 @@
package middleware
import (
"net/http"
"regexp"
"strings"
"github.com/gin-gonic/gin"
)
const (
AllowedOrigin string = "Access-Control-Allow-Origin"
AllowedMethods string = "Access-Control-Allow-Methods"
AllowedHeaders string = "Access-Control-Allow-Headers"
AllowedCredentials string = "Access-Control-Allow-Credentials"
)
func ValidateCors(allowedOrigins []string) gin.HandlerFunc {
return func(c *gin.Context) {
origin := c.GetHeader("Origin")
if origin == "" {
origin = c.Request.Host
}
validOrigin := false
for _, allowedOrigin := range allowedOrigins {
match, err := regexp.MatchString(allowedOrigin, origin)
if err == nil && match {
validOrigin = true
c.Writer.Header().Set(AllowedOrigin, origin)
break
}
}
if !validOrigin {
c.JSON(http.StatusForbidden, gin.H{
"error": "Invalid origin",
})
c.Abort()
return
}
c.Writer.Header().Set(AllowedMethods, strings.Join([]string{
"GET",
"POST",
"PUT",
"DELETE",
"OPTIONS",
}, ","))
c.Writer.Header().Set(AllowedHeaders, "*")
c.Writer.Header().Set(AllowedCredentials, "true")
c.Next()
}
}

View File

@ -0,0 +1,39 @@
package middleware
import (
"github.com/gin-gonic/gin"
"github.com/golang-jwt/jwt"
"github.com/litmuschaos/litmus/chaoscenter/authentication/api/presenter"
"github.com/litmuschaos/litmus/chaoscenter/authentication/pkg/services"
"github.com/litmuschaos/litmus/chaoscenter/authentication/pkg/utils"
log "github.com/sirupsen/logrus"
)
// JwtMiddleware is a Gin Middleware that authorises requests
func JwtMiddleware(service services.ApplicationService) gin.HandlerFunc {
return func(c *gin.Context) {
const BearerSchema = "Bearer "
authHeader := c.GetHeader("Authorization")
if authHeader == "" {
c.AbortWithStatusJSON(utils.ErrorStatusCodes[utils.ErrUnauthorized], presenter.CreateErrorResponse(utils.ErrUnauthorized))
return
}
tokenString := authHeader[len(BearerSchema):]
token, err := service.ValidateToken(tokenString)
if err != nil {
log.Error(err)
c.AbortWithStatusJSON(utils.ErrorStatusCodes[utils.ErrUnauthorized], presenter.CreateErrorResponse(utils.ErrUnauthorized))
return
}
if token.Valid {
claims := token.Claims.(jwt.MapClaims)
c.Set("username", claims["username"])
c.Set("uid", claims["uid"])
c.Set("role", claims["role"])
c.Next()
} else {
c.AbortWithStatusJSON(utils.ErrorStatusCodes[utils.ErrUnauthorized], presenter.CreateErrorResponse(utils.ErrUnauthorized))
return
}
}
}

View File

@ -0,0 +1,125 @@
package middleware_test
import (
"errors"
"net/http"
"net/http/httptest"
"testing"
"github.com/gin-gonic/gin"
"github.com/golang-jwt/jwt"
"github.com/litmuschaos/litmus/chaoscenter/authentication/api/middleware"
"github.com/litmuschaos/litmus/chaoscenter/authentication/api/mocks"
"github.com/litmuschaos/litmus/chaoscenter/authentication/pkg/utils"
"github.com/stretchr/testify/assert"
)
func TestJwtMiddleware(t *testing.T) {
router := gin.Default()
mockService := new(mocks.MockedApplicationService)
router.Use(middleware.JwtMiddleware(mockService))
router.GET("/status", func(c *gin.Context) {
c.JSON(http.StatusOK, gin.H{"message": "Access Granted"})
})
createRequest := func(token string) *httptest.ResponseRecorder {
req := httptest.NewRequest("GET", "/status", nil)
req.Header.Set("Authorization", "Bearer "+token)
w := httptest.NewRecorder()
return w
}
t.Run("Valid Token", func(t *testing.T) {
wValid := createRequest("jwtstring")
assert.Equal(t, http.StatusOK, wValid.Code)
})
t.Run("Missing Authorization Header", func(t *testing.T) {
wMissingHeader := httptest.NewRecorder()
reqMissingHeader := httptest.NewRequest("GET", "/status", nil)
router.ServeHTTP(wMissingHeader, reqMissingHeader)
assert.Equal(t, http.StatusUnauthorized, wMissingHeader.Code)
})
}
func TestJwtMiddleware_SetClaimsAndCallNextHandler(t *testing.T) {
router := gin.Default()
mockService := new(mocks.MockedApplicationService)
router.Use(middleware.JwtMiddleware(mockService))
router.GET("/status", func(c *gin.Context) {
username, _ := c.Get("username")
uid, _ := c.Get("uid")
role, _ := c.Get("role")
assert.Equal(t, "testuser", username)
assert.Equal(t, "12345", uid)
assert.Equal(t, "admin", role)
c.JSON(http.StatusOK, gin.H{"message": "Access Granted"})
})
mockService.On("ValidateToken", "jwtstring").Return(&jwt.Token{
Valid: true,
Claims: jwt.MapClaims{
"username": "testuser",
"uid": "12345",
"role": "admin",
},
}, nil)
w := httptest.NewRecorder()
req, _ := http.NewRequest("GET", "/status", nil)
req.Header.Set("Authorization", "Bearer jwtstring")
router.ServeHTTP(w, req)
assert.Equal(t, http.StatusOK, w.Code)
}
func TestJwtMiddleware_TokenValidationFailure(t *testing.T) {
router := gin.Default()
mockService := new(mocks.MockedApplicationService)
router.Use(middleware.JwtMiddleware(mockService))
router.GET("/status", func(c *gin.Context) {
c.JSON(http.StatusOK, gin.H{"message": "Access Granted"})
})
mockService.On("ValidateToken", "invalidtoken").Return(&jwt.Token{
Valid: false,
}, nil)
w := httptest.NewRecorder()
req, _ := http.NewRequest("GET", "/status", nil)
req.Header.Set("Authorization", "Bearer invalidtoken")
router.ServeHTTP(w, req)
assert.Equal(t, http.StatusUnauthorized, w.Code)
}
func TestJwtMiddleware_Error(t *testing.T) {
router := gin.Default()
mockService := new(mocks.MockedApplicationService)
router.Use(middleware.JwtMiddleware(mockService))
dummyToken := &jwt.Token{
Raw: "DummyToken",
Method: jwt.SigningMethodHS256,
Header: map[string]interface{}{"alg": "HS256"},
Claims: jwt.MapClaims{"foo": "bar"},
Signature: "",
Valid: false,
}
mockService.On("ValidateToken", "dummy").Return(dummyToken, errors.New("mock error"))
req, _ := http.NewRequest("GET", "/", nil)
req.Header.Set("Authorization", "Bearer dummy")
resp := httptest.NewRecorder()
router.ServeHTTP(resp, req)
if status := resp.Code; status != utils.ErrorStatusCodes[utils.ErrUnauthorized] {
t.Errorf("Handler returned wrong status code: got %v want %v", status, utils.ErrorStatusCodes[utils.ErrUnauthorized])
}
}

View File

@ -0,0 +1,38 @@
package mocks
import (
"context"
"github.com/litmuschaos/litmus/chaoscenter/authentication/api/presenter/protos"
"github.com/stretchr/testify/mock"
"google.golang.org/grpc"
)
// ServerGrpc is a mock type for the ServerGrpc type
type MockAuthRpcServiceClient struct {
mock.Mock
}
func (m *MockAuthRpcServiceClient) ValidateRequest(ctx context.Context, in *protos.ValidationRequest, opts ...grpc.CallOption) (*protos.ValidationResponse, error) {
args := m.Called(ctx, in, opts)
if vr, ok := args.Get(0).(*protos.ValidationResponse); ok {
return vr, args.Error(1)
}
return nil, args.Error(1)
}
func (m *MockAuthRpcServiceClient) GetProjectById(ctx context.Context, in *protos.GetProjectByIdRequest, opts ...grpc.CallOption) (*protos.GetProjectByIdResponse, error) {
args := m.Called(ctx, in, opts)
if gpir, ok := args.Get(0).(*protos.GetProjectByIdResponse); ok {
return gpir, args.Error(1)
}
return nil, args.Error(1)
}
func (m *MockAuthRpcServiceClient) GetUserById(ctx context.Context, in *protos.GetUserByIdRequest, opts ...grpc.CallOption) (*protos.GetUserByIdResponse, error) {
args := m.Called(ctx, in, opts)
if guir, ok := args.Get(0).(*protos.GetUserByIdResponse); ok {
return guir, args.Error(1)
}
return nil, args.Error(1)
}

View File

@ -0,0 +1,238 @@
package mocks
import (
"context"
"github.com/litmuschaos/litmus/chaoscenter/authentication/pkg/authConfig"
"github.com/golang-jwt/jwt"
"github.com/litmuschaos/litmus/chaoscenter/authentication/pkg/entities"
"github.com/stretchr/testify/mock"
"go.mongodb.org/mongo-driver/bson"
"go.mongodb.org/mongo-driver/mongo"
"go.mongodb.org/mongo-driver/mongo/options"
)
type MockedApplicationService struct {
mock.Mock
}
func (m *MockedApplicationService) IsAdministrator(user *entities.User) error {
args := m.Called(user)
return args.Error(0)
}
func (m *MockedApplicationService) UpdatePassword(userPassword *entities.UserPassword, isAdminBeingReset bool) error {
args := m.Called(userPassword, isAdminBeingReset)
return args.Error(0)
}
func (m *MockedApplicationService) AddMember(projectID string, member *entities.Member) error {
args := m.Called(projectID, member)
return args.Error(0)
}
func (m *MockedApplicationService) LoginUser(user *entities.User) (*entities.User, error) {
args := m.Called(user)
return args.Get(0).(*entities.User), args.Error(1)
}
func (m *MockedApplicationService) GetUser(uid string) (*entities.User, error) {
args := m.Called(uid)
return args.Get(0).(*entities.User), args.Error(1)
}
func (m *MockedApplicationService) GetUsers() (*[]entities.User, error) {
args := m.Called()
return args.Get(0).(*[]entities.User), args.Error(1)
}
func (m *MockedApplicationService) FindUsersByUID(uid []string) (*[]entities.User, error) {
args := m.Called(uid)
return args.Get(0).(*[]entities.User), args.Error(1)
}
func (m *MockedApplicationService) FindUserByUsername(username string) (*entities.User, error) {
args := m.Called(username)
return args.Get(0).(*entities.User), args.Error(1)
}
func (m *MockedApplicationService) CheckPasswordHash(hash, password string) error {
args := m.Called(hash, password)
return args.Error(0)
}
func (m *MockedApplicationService) CreateUser(user *entities.User) (*entities.User, error) {
args := m.Called(user)
return args.Get(0).(*entities.User), args.Error(1)
}
func (m *MockedApplicationService) UpdateUser(user *entities.UserDetails) error {
args := m.Called(user)
return args.Error(0)
}
func (m *MockedApplicationService) UpdateUserByQuery(filter bson.D, updateQuery bson.D) error {
args := m.Called(filter, updateQuery)
return args.Error(0)
}
func (m *MockedApplicationService) UpdateUserState(ctx context.Context, username string, isDeactivate bool, deactivateTime int64) error {
args := m.Called(ctx, username, isDeactivate, deactivateTime)
return args.Error(0)
}
func (m *MockedApplicationService) InviteUsers(invitedUsers []string) (*[]entities.User, error) {
args := m.Called(invitedUsers)
return args.Get(0).(*[]entities.User), args.Error(1)
}
func (m *MockedApplicationService) GetProjectByProjectID(projectID string) (*entities.Project, error) {
args := m.Called(projectID)
return args.Get(0).(*entities.Project), args.Error(1)
}
func (m *MockedApplicationService) GetProjects(query bson.D) ([]*entities.Project, error) {
args := m.Called(query)
return args.Get(0).([]*entities.Project), args.Error(1)
}
func (m *MockedApplicationService) GetProjectsByUserID(request *entities.ListProjectRequest) (*entities.ListProjectResponse, error) {
args := m.Called(request)
return args.Get(0).(*entities.ListProjectResponse), args.Error(1)
}
func (m *MockedApplicationService) GetProjectStats() ([]*entities.ProjectStats, error) {
args := m.Called()
return args.Get(0).([]*entities.ProjectStats), args.Error(1)
}
func (m *MockedApplicationService) CreateProject(project *entities.Project) error {
args := m.Called(project)
return args.Error(0)
}
func (m *MockedApplicationService) RemoveInvitation(projectID, userID string, invitation entities.Invitation) error {
args := m.Called(projectID, userID, invitation)
return args.Error(0)
}
func (m *MockedApplicationService) UpdateInvite(projectID, userID string, invitation entities.Invitation, role *entities.MemberRole) error {
args := m.Called(projectID, userID, invitation, role)
return args.Error(0)
}
func (m *MockedApplicationService) UpdateProjectName(projectID, projectName string) error {
args := m.Called(projectID, projectName)
return args.Error(0)
}
func (m *MockedApplicationService) UpdateMemberRole(projectID, userID string, role *entities.MemberRole) error {
args := m.Called(projectID, userID, role)
return args.Error(0)
}
func (m *MockedApplicationService) GetAggregateProjects(pipeline mongo.Pipeline, opts *options.AggregateOptions) (*mongo.Cursor, error) {
args := m.Called(pipeline, opts)
return args.Get(0).(*mongo.Cursor), args.Error(1)
}
func (m *MockedApplicationService) UpdateProjectState(ctx context.Context, userID string, deactivateTime int64, isDeactivate bool) error {
args := m.Called(ctx, userID, deactivateTime, isDeactivate)
return args.Error(0)
}
func (m *MockedApplicationService) GetOwnerProjectIDs(ctx context.Context, userID string) ([]*entities.Project, error) {
args := m.Called(ctx, userID)
return args.Get(0).([]*entities.Project), args.Error(1)
}
func (m *MockedApplicationService) GetProjectRole(projectID, userID string) (*entities.MemberRole, error) {
args := m.Called(projectID, userID)
return args.Get(0).(*entities.MemberRole), args.Error(1)
}
func (m *MockedApplicationService) GetProjectMembers(projectID, state string) ([]*entities.Member, error) {
args := m.Called(projectID, state)
return args.Get(0).([]*entities.Member), args.Error(1)
}
func (m *MockedApplicationService) GetProjectOwners(projectID string) ([]*entities.Member, error) {
args := m.Called(projectID)
return args.Get(0).([]*entities.Member), args.Error(1)
}
func (m *MockedApplicationService) ListInvitations(userID string, invitationState entities.Invitation) ([]*entities.Project, error) {
args := m.Called(userID, invitationState)
return args.Get(0).([]*entities.Project), args.Error(1)
}
func (m *MockedApplicationService) RevokeToken(tokenString string) error {
args := m.Called(tokenString)
return args.Error(0)
}
func (m *MockedApplicationService) ValidateToken(encodedToken string) (*jwt.Token, error) {
args := m.Called(encodedToken)
return args.Get(0).(*jwt.Token), args.Error(1)
}
func (m *MockedApplicationService) GetSignedJWT(user *entities.User, jwtSecret string) (string, error) {
args := m.Called(user, jwtSecret)
return args.String(0), args.Error(1)
}
func (m *MockedApplicationService) CreateApiToken(user *entities.User, request entities.ApiTokenInput) (string, error) {
args := m.Called(user, request)
return args.String(0), args.Error(1)
}
func (m *MockedApplicationService) GetApiTokensByUserID(userID string) ([]entities.ApiToken, error) {
args := m.Called(userID)
return args.Get(0).([]entities.ApiToken), args.Error(1)
}
func (m *MockedApplicationService) DeleteApiToken(token string) error {
args := m.Called(token)
return args.Error(0)
}
func (m *MockedApplicationService) ListCollection() ([]string, error) {
args := m.Called()
return args.Get(0).([]string), args.Error(1)
}
func (m *MockedApplicationService) ListDataBase() ([]string, error) {
args := m.Called()
return args.Get(0).([]string), args.Error(1)
}
func (m *MockedApplicationService) UpdateStateTransaction(userRequest entities.UpdateUserState) error {
args := m.Called(userRequest)
return args.Error(0)
}
func (m *MockedApplicationService) RbacValidator(userID, resourceID string, rules []string, invitationStatus string) error {
args := m.Called(userID, resourceID, rules, invitationStatus)
return args.Error(0)
}
func (m *MockedApplicationService) DeleteProject(projectID string) error {
args := m.Called(projectID)
return args.Error(0)
}
func (m *MockedApplicationService) CreateConfig(config authConfig.AuthConfig) error {
args := m.Called(config)
return args.Error(0)
}
func (m *MockedApplicationService) GetConfig(key string) (*authConfig.AuthConfig, error) {
args := m.Called(key)
return args.Get(0).(*authConfig.AuthConfig), args.Error(1)
}
func (m *MockedApplicationService) UpdateConfig(ctx context.Context, key string, value interface{}) error {
args := m.Called(ctx, key, value)
return args.Error(0)
}

View File

@ -0,0 +1,774 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.28.1
// protoc v3.21.12
// source: authentication.proto
package protos
import (
reflect "reflect"
sync "sync"
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
)
const (
// Verify that this generated code is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
// Verify that runtime/protoimpl is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
// The validation function that checks if the user has the required permission over the project
type ValidationRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Jwt string `protobuf:"bytes,1,opt,name=jwt,proto3" json:"jwt,omitempty"`
ProjectId string `protobuf:"bytes,2,opt,name=projectId,proto3" json:"projectId,omitempty"`
RequiredRoles []string `protobuf:"bytes,3,rep,name=requiredRoles,proto3" json:"requiredRoles,omitempty"`
Invitation string `protobuf:"bytes,4,opt,name=invitation,proto3" json:"invitation,omitempty"`
}
func (x *ValidationRequest) Reset() {
*x = ValidationRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_authentication_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ValidationRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ValidationRequest) ProtoMessage() {}
func (x *ValidationRequest) ProtoReflect() protoreflect.Message {
mi := &file_authentication_proto_msgTypes[0]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ValidationRequest.ProtoReflect.Descriptor instead.
func (*ValidationRequest) Descriptor() ([]byte, []int) {
return file_authentication_proto_rawDescGZIP(), []int{0}
}
func (x *ValidationRequest) GetJwt() string {
if x != nil {
return x.Jwt
}
return ""
}
func (x *ValidationRequest) GetProjectId() string {
if x != nil {
return x.ProjectId
}
return ""
}
func (x *ValidationRequest) GetRequiredRoles() []string {
if x != nil {
return x.RequiredRoles
}
return nil
}
func (x *ValidationRequest) GetInvitation() string {
if x != nil {
return x.Invitation
}
return ""
}
// The validation response that will contain the results of the validation request
type ValidationResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Error string `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"`
IsValid bool `protobuf:"varint,2,opt,name=isValid,proto3" json:"isValid,omitempty"`
}
func (x *ValidationResponse) Reset() {
*x = ValidationResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_authentication_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ValidationResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ValidationResponse) ProtoMessage() {}
func (x *ValidationResponse) ProtoReflect() protoreflect.Message {
mi := &file_authentication_proto_msgTypes[1]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ValidationResponse.ProtoReflect.Descriptor instead.
func (*ValidationResponse) Descriptor() ([]byte, []int) {
return file_authentication_proto_rawDescGZIP(), []int{1}
}
func (x *ValidationResponse) GetError() string {
if x != nil {
return x.Error
}
return ""
}
func (x *ValidationResponse) GetIsValid() bool {
if x != nil {
return x.IsValid
}
return false
}
// GetProjectByIdRequest is the message struct for requesting project details by ID
type GetProjectByIdRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ProjectID string `protobuf:"bytes,1,opt,name=projectID,proto3" json:"projectID,omitempty"`
}
func (x *GetProjectByIdRequest) Reset() {
*x = GetProjectByIdRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_authentication_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetProjectByIdRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetProjectByIdRequest) ProtoMessage() {}
func (x *GetProjectByIdRequest) ProtoReflect() protoreflect.Message {
mi := &file_authentication_proto_msgTypes[2]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GetProjectByIdRequest.ProtoReflect.Descriptor instead.
func (*GetProjectByIdRequest) Descriptor() ([]byte, []int) {
return file_authentication_proto_rawDescGZIP(), []int{2}
}
func (x *GetProjectByIdRequest) GetProjectID() string {
if x != nil {
return x.ProjectID
}
return ""
}
// ProjectMembers is the message struct that holds the details about the project members
type ProjectMembers struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Uid string `protobuf:"bytes,1,opt,name=uid,proto3" json:"uid,omitempty"`
Username string `protobuf:"bytes,2,opt,name=userName,proto3" json:"userName,omitempty"`
Role string `protobuf:"bytes,3,opt,name=role,proto3" json:"role,omitempty"`
Email string `protobuf:"bytes,4,opt,name=email,proto3" json:"email,omitempty"`
Invitation string `protobuf:"bytes,5,opt,name=invitation,proto3" json:"invitation,omitempty"`
JoinedAt string `protobuf:"bytes,6,opt,name=joinedAt,proto3" json:"joinedAt,omitempty"`
}
func (x *ProjectMembers) Reset() {
*x = ProjectMembers{}
if protoimpl.UnsafeEnabled {
mi := &file_authentication_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ProjectMembers) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ProjectMembers) ProtoMessage() {}
func (x *ProjectMembers) ProtoReflect() protoreflect.Message {
mi := &file_authentication_proto_msgTypes[3]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ProjectMembers.ProtoReflect.Descriptor instead.
func (*ProjectMembers) Descriptor() ([]byte, []int) {
return file_authentication_proto_rawDescGZIP(), []int{3}
}
func (x *ProjectMembers) GetUid() string {
if x != nil {
return x.Uid
}
return ""
}
func (x *ProjectMembers) GetUsername() string {
if x != nil {
return x.Username
}
return ""
}
func (x *ProjectMembers) GetRole() string {
if x != nil {
return x.Role
}
return ""
}
func (x *ProjectMembers) GetEmail() string {
if x != nil {
return x.Email
}
return ""
}
func (x *ProjectMembers) GetInvitation() string {
if x != nil {
return x.Invitation
}
return ""
}
func (x *ProjectMembers) GetJoinedAt() string {
if x != nil {
return x.JoinedAt
}
return ""
}
// GetProjectByIdRequest is the message struct for response of project details by ID
type GetProjectByIdResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
Uid string `protobuf:"bytes,2,opt,name=uid,proto3" json:"uid,omitempty"`
Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
Members []*ProjectMembers `protobuf:"bytes,4,rep,name=members,proto3" json:"members,omitempty"`
State string `protobuf:"bytes,5,opt,name=state,proto3" json:"state,omitempty"`
CreatedAt string `protobuf:"bytes,6,opt,name=createdAt,proto3" json:"createdAt,omitempty"`
UpdatedAt string `protobuf:"bytes,7,opt,name=updatedAt,proto3" json:"updatedAt,omitempty"`
RemovedAt string `protobuf:"bytes,8,opt,name=removedAt,proto3" json:"removedAt,omitempty"`
}
func (x *GetProjectByIdResponse) Reset() {
*x = GetProjectByIdResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_authentication_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetProjectByIdResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetProjectByIdResponse) ProtoMessage() {}
func (x *GetProjectByIdResponse) ProtoReflect() protoreflect.Message {
mi := &file_authentication_proto_msgTypes[4]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GetProjectByIdResponse.ProtoReflect.Descriptor instead.
func (*GetProjectByIdResponse) Descriptor() ([]byte, []int) {
return file_authentication_proto_rawDescGZIP(), []int{4}
}
func (x *GetProjectByIdResponse) GetId() string {
if x != nil {
return x.Id
}
return ""
}
func (x *GetProjectByIdResponse) GetUid() string {
if x != nil {
return x.Uid
}
return ""
}
func (x *GetProjectByIdResponse) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *GetProjectByIdResponse) GetMembers() []*ProjectMembers {
if x != nil {
return x.Members
}
return nil
}
func (x *GetProjectByIdResponse) GetState() string {
if x != nil {
return x.State
}
return ""
}
func (x *GetProjectByIdResponse) GetCreatedAt() string {
if x != nil {
return x.CreatedAt
}
return ""
}
func (x *GetProjectByIdResponse) GetUpdatedAt() string {
if x != nil {
return x.UpdatedAt
}
return ""
}
func (x *GetProjectByIdResponse) GetRemovedAt() string {
if x != nil {
return x.RemovedAt
}
return ""
}
// GetUserByIdRequest is the message struct for requesting user details by ID
type GetUserByIdRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
UserID string `protobuf:"bytes,1,opt,name=userID,proto3" json:"userID,omitempty"`
}
func (x *GetUserByIdRequest) Reset() {
*x = GetUserByIdRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_authentication_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetUserByIdRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetUserByIdRequest) ProtoMessage() {}
func (x *GetUserByIdRequest) ProtoReflect() protoreflect.Message {
mi := &file_authentication_proto_msgTypes[5]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GetUserByIdRequest.ProtoReflect.Descriptor instead.
func (*GetUserByIdRequest) Descriptor() ([]byte, []int) {
return file_authentication_proto_rawDescGZIP(), []int{5}
}
func (x *GetUserByIdRequest) GetUserID() string {
if x != nil {
return x.UserID
}
return ""
}
// GetUserByIdResponse is the message struct for response of user details by ID
type GetUserByIdResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
Username string `protobuf:"bytes,2,opt,name=username,proto3" json:"username,omitempty"`
Email string `protobuf:"bytes,3,opt,name=email,proto3" json:"email,omitempty"`
Role string `protobuf:"bytes,4,opt,name=role,proto3" json:"role,omitempty"`
Name string `protobuf:"bytes,5,opt,name=name,proto3" json:"name,omitempty"`
CreatedAt string `protobuf:"bytes,6,opt,name=createdAt,proto3" json:"createdAt,omitempty"`
UpdatedAt string `protobuf:"bytes,7,opt,name=updatedAt,proto3" json:"updatedAt,omitempty"`
DeactivatedAt string `protobuf:"bytes,8,opt,name=deactivatedAt,proto3" json:"deactivatedAt,omitempty"`
}
func (x *GetUserByIdResponse) Reset() {
*x = GetUserByIdResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_authentication_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetUserByIdResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetUserByIdResponse) ProtoMessage() {}
func (x *GetUserByIdResponse) ProtoReflect() protoreflect.Message {
mi := &file_authentication_proto_msgTypes[6]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GetUserByIdResponse.ProtoReflect.Descriptor instead.
func (*GetUserByIdResponse) Descriptor() ([]byte, []int) {
return file_authentication_proto_rawDescGZIP(), []int{6}
}
func (x *GetUserByIdResponse) GetId() string {
if x != nil {
return x.Id
}
return ""
}
func (x *GetUserByIdResponse) GetUsername() string {
if x != nil {
return x.Username
}
return ""
}
func (x *GetUserByIdResponse) GetEmail() string {
if x != nil {
return x.Email
}
return ""
}
func (x *GetUserByIdResponse) GetRole() string {
if x != nil {
return x.Role
}
return ""
}
func (x *GetUserByIdResponse) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *GetUserByIdResponse) GetCreatedAt() string {
if x != nil {
return x.CreatedAt
}
return ""
}
func (x *GetUserByIdResponse) GetUpdatedAt() string {
if x != nil {
return x.UpdatedAt
}
return ""
}
func (x *GetUserByIdResponse) GetDeactivatedAt() string {
if x != nil {
return x.DeactivatedAt
}
return ""
}
var File_authentication_proto protoreflect.FileDescriptor
var file_authentication_proto_rawDesc = []byte{
0x0a, 0x14, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x22, 0x89,
0x01, 0x0a, 0x11, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71,
0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6a, 0x77, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28,
0x09, 0x52, 0x03, 0x6a, 0x77, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63,
0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65,
0x63, 0x74, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64,
0x52, 0x6f, 0x6c, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x71,
0x75, 0x69, 0x72, 0x65, 0x64, 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x69, 0x6e,
0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a,
0x69, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x44, 0x0a, 0x12, 0x56, 0x61,
0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x73, 0x56, 0x61, 0x6c, 0x69,
0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x73, 0x56, 0x61, 0x6c, 0x69, 0x64,
0x22, 0x35, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x42, 0x79,
0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x72, 0x6f,
0x6a, 0x65, 0x63, 0x74, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72,
0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x44, 0x22, 0xa4, 0x01, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x6a,
0x65, 0x63, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69,
0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08,
0x75, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08,
0x75, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x6c, 0x65,
0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x12, 0x14, 0x0a, 0x05,
0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61,
0x69, 0x6c, 0x12, 0x1e, 0x0a, 0x0a, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e,
0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69,
0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x6a, 0x6f, 0x69, 0x6e, 0x65, 0x64, 0x41, 0x74, 0x18, 0x06,
0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6a, 0x6f, 0x69, 0x6e, 0x65, 0x64, 0x41, 0x74, 0x22, 0xf0,
0x01, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x42, 0x79, 0x49,
0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18,
0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64,
0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e,
0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12,
0x30, 0x0a, 0x07, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b,
0x32, 0x16, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63,
0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x52, 0x07, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72,
0x73, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09,
0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74,
0x65, 0x64, 0x41, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61,
0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64,
0x41, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65,
0x64, 0x41, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x41, 0x74,
0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x41,
0x74, 0x22, 0x2c, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x42, 0x79, 0x49, 0x64,
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49,
0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x44, 0x22,
0xe1, 0x01, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x42, 0x79, 0x49, 0x64, 0x52,
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20,
0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e,
0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e,
0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x03, 0x20, 0x01,
0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x6c,
0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x12, 0x12, 0x0a,
0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d,
0x65, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x06,
0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12,
0x1c, 0x0a, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x07, 0x20, 0x01,
0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x24, 0x0a,
0x0d, 0x64, 0x65, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x08,
0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x64, 0x65, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65,
0x64, 0x41, 0x74, 0x32, 0xf9, 0x01, 0x0a, 0x0e, 0x61, 0x75, 0x74, 0x68, 0x52, 0x70, 0x63, 0x53,
0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x4a, 0x0a, 0x0f, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61,
0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x73, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71,
0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x56, 0x61,
0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
0x22, 0x00, 0x12, 0x51, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74,
0x42, 0x79, 0x49, 0x64, 0x12, 0x1d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x47, 0x65,
0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75,
0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x47, 0x65, 0x74,
0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f,
0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x48, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72,
0x42, 0x79, 0x49, 0x64, 0x12, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x47, 0x65,
0x74, 0x55, 0x73, 0x65, 0x72, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x1a, 0x1b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65,
0x72, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42,
0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x33,
}
var (
file_authentication_proto_rawDescOnce sync.Once
file_authentication_proto_rawDescData = file_authentication_proto_rawDesc
)
func file_authentication_proto_rawDescGZIP() []byte {
file_authentication_proto_rawDescOnce.Do(func() {
file_authentication_proto_rawDescData = protoimpl.X.CompressGZIP(file_authentication_proto_rawDescData)
})
return file_authentication_proto_rawDescData
}
var file_authentication_proto_msgTypes = make([]protoimpl.MessageInfo, 7)
var file_authentication_proto_goTypes = []interface{}{
(*ValidationRequest)(nil), // 0: protos.ValidationRequest
(*ValidationResponse)(nil), // 1: protos.ValidationResponse
(*GetProjectByIdRequest)(nil), // 2: protos.GetProjectByIdRequest
(*ProjectMembers)(nil), // 3: protos.ProjectMembers
(*GetProjectByIdResponse)(nil), // 4: protos.GetProjectByIdResponse
(*GetUserByIdRequest)(nil), // 5: protos.GetUserByIdRequest
(*GetUserByIdResponse)(nil), // 6: protos.GetUserByIdResponse
}
var file_authentication_proto_depIdxs = []int32{
3, // 0: protos.GetProjectByIdResponse.members:type_name -> protos.ProjectMembers
0, // 1: protos.authRpcService.ValidateRequest:input_type -> protos.ValidationRequest
2, // 2: protos.authRpcService.GetProjectById:input_type -> protos.GetProjectByIdRequest
5, // 3: protos.authRpcService.GetUserById:input_type -> protos.GetUserByIdRequest
1, // 4: protos.authRpcService.ValidateRequest:output_type -> protos.ValidationResponse
4, // 5: protos.authRpcService.GetProjectById:output_type -> protos.GetProjectByIdResponse
6, // 6: protos.authRpcService.GetUserById:output_type -> protos.GetUserByIdResponse
4, // [4:7] is the sub-list for method output_type
1, // [1:4] is the sub-list for method input_type
1, // [1:1] is the sub-list for extension type_name
1, // [1:1] is the sub-list for extension extendee
0, // [0:1] is the sub-list for field type_name
}
func init() { file_authentication_proto_init() }
func file_authentication_proto_init() {
if File_authentication_proto != nil {
return
}
if !protoimpl.UnsafeEnabled {
file_authentication_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ValidationRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_authentication_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ValidationResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_authentication_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetProjectByIdRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_authentication_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ProjectMembers); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_authentication_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetProjectByIdResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_authentication_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetUserByIdRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_authentication_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetUserByIdResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_authentication_proto_rawDesc,
NumEnums: 0,
NumMessages: 7,
NumExtensions: 0,
NumServices: 1,
},
GoTypes: file_authentication_proto_goTypes,
DependencyIndexes: file_authentication_proto_depIdxs,
MessageInfos: file_authentication_proto_msgTypes,
}.Build()
File_authentication_proto = out.File
file_authentication_proto_rawDesc = nil
file_authentication_proto_goTypes = nil
file_authentication_proto_depIdxs = nil
}

View File

@ -0,0 +1,70 @@
syntax = "proto3";
package protos;
option go_package = "./protos";
// The validation function that checks if the user has the required permission over the project
message ValidationRequest{
string jwt = 1;
string projectId = 2;
repeated string requiredRoles = 3;
string invitation = 4 ;
}
// The validation response that will contain the results of the validation request
message ValidationResponse{
string error = 1;
bool isValid = 2;
}
// GetProjectByIdRequest is the message struct for requesting project details by ID
message GetProjectByIdRequest {
string projectID = 1;
}
//ProjectMembers is the message struct that holds the details about the project members
message ProjectMembers {
string uid = 1;
string userName = 2;
string role = 3;
string email = 4;
string invitation = 5;
string joinedAt = 6;
}
// GetProjectByIdRequest is the message struct for response of project details by ID
message GetProjectByIdResponse{
string id = 1;
string uid = 2;
string name = 3;
repeated ProjectMembers members = 4;
string state = 5;
string createdAt = 6;
string updatedAt = 7;
string removedAt = 8;
}
// GetUserByIdRequest is the message struct for requesting user details by ID
message GetUserByIdRequest {
string userID = 1;
}
// GetUserByIdResponse is the message struct for response of user details by ID
message GetUserByIdResponse{
string id = 1;
string username = 2;
string email = 3;
string role=4;
string name = 5;
string createdAt = 6;
string updatedAt = 7;
string deactivatedAt=8;
}
// Service definition for the authentication RPC Service
service authRpcService{
rpc ValidateRequest(ValidationRequest) returns (ValidationResponse) {}
rpc GetProjectById (GetProjectByIdRequest) returns (GetProjectByIdResponse) {}
rpc GetUserById (GetUserByIdRequest) returns (GetUserByIdResponse) {}
}

View File

@ -0,0 +1,184 @@
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
// versions:
// - protoc-gen-go-grpc v1.3.0
// - protoc v3.21.12
// source: authentication.proto
package protos
import (
context "context"
grpc "google.golang.org/grpc"
codes "google.golang.org/grpc/codes"
status "google.golang.org/grpc/status"
)
// This is a compile-time assertion to ensure that this generated file
// is compatible with the grpc package it is being compiled against.
// Requires gRPC-Go v1.32.0 or later.
const _ = grpc.SupportPackageIsVersion7
const (
AuthRpcService_ValidateRequest_FullMethodName = "/protos.authRpcService/ValidateRequest"
AuthRpcService_GetProjectById_FullMethodName = "/protos.authRpcService/GetProjectById"
AuthRpcService_GetUserById_FullMethodName = "/protos.authRpcService/GetUserById"
)
// AuthRpcServiceClient is the client API for AuthRpcService service.
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
type AuthRpcServiceClient interface {
ValidateRequest(ctx context.Context, in *ValidationRequest, opts ...grpc.CallOption) (*ValidationResponse, error)
GetProjectById(ctx context.Context, in *GetProjectByIdRequest, opts ...grpc.CallOption) (*GetProjectByIdResponse, error)
GetUserById(ctx context.Context, in *GetUserByIdRequest, opts ...grpc.CallOption) (*GetUserByIdResponse, error)
}
type authRpcServiceClient struct {
cc grpc.ClientConnInterface
}
func NewAuthRpcServiceClient(cc grpc.ClientConnInterface) AuthRpcServiceClient {
return &authRpcServiceClient{cc}
}
func (c *authRpcServiceClient) ValidateRequest(ctx context.Context, in *ValidationRequest, opts ...grpc.CallOption) (*ValidationResponse, error) {
out := new(ValidationResponse)
err := c.cc.Invoke(ctx, AuthRpcService_ValidateRequest_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *authRpcServiceClient) GetProjectById(ctx context.Context, in *GetProjectByIdRequest, opts ...grpc.CallOption) (*GetProjectByIdResponse, error) {
out := new(GetProjectByIdResponse)
err := c.cc.Invoke(ctx, AuthRpcService_GetProjectById_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *authRpcServiceClient) GetUserById(ctx context.Context, in *GetUserByIdRequest, opts ...grpc.CallOption) (*GetUserByIdResponse, error) {
out := new(GetUserByIdResponse)
err := c.cc.Invoke(ctx, AuthRpcService_GetUserById_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
// AuthRpcServiceServer is the server API for AuthRpcService service.
// All implementations must embed UnimplementedAuthRpcServiceServer
// for forward compatibility
type AuthRpcServiceServer interface {
ValidateRequest(context.Context, *ValidationRequest) (*ValidationResponse, error)
GetProjectById(context.Context, *GetProjectByIdRequest) (*GetProjectByIdResponse, error)
GetUserById(context.Context, *GetUserByIdRequest) (*GetUserByIdResponse, error)
mustEmbedUnimplementedAuthRpcServiceServer()
}
// UnimplementedAuthRpcServiceServer must be embedded to have forward compatible implementations.
type UnimplementedAuthRpcServiceServer struct {
}
func (UnimplementedAuthRpcServiceServer) ValidateRequest(context.Context, *ValidationRequest) (*ValidationResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method ValidateRequest not implemented")
}
func (UnimplementedAuthRpcServiceServer) GetProjectById(context.Context, *GetProjectByIdRequest) (*GetProjectByIdResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method GetProjectById not implemented")
}
func (UnimplementedAuthRpcServiceServer) GetUserById(context.Context, *GetUserByIdRequest) (*GetUserByIdResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method GetUserById not implemented")
}
func (UnimplementedAuthRpcServiceServer) mustEmbedUnimplementedAuthRpcServiceServer() {}
// UnsafeAuthRpcServiceServer may be embedded to opt out of forward compatibility for this service.
// Use of this interface is not recommended, as added methods to AuthRpcServiceServer will
// result in compilation errors.
type UnsafeAuthRpcServiceServer interface {
mustEmbedUnimplementedAuthRpcServiceServer()
}
func RegisterAuthRpcServiceServer(s grpc.ServiceRegistrar, srv AuthRpcServiceServer) {
s.RegisterService(&AuthRpcService_ServiceDesc, srv)
}
func _AuthRpcService_ValidateRequest_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(ValidationRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(AuthRpcServiceServer).ValidateRequest(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: AuthRpcService_ValidateRequest_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(AuthRpcServiceServer).ValidateRequest(ctx, req.(*ValidationRequest))
}
return interceptor(ctx, in, info, handler)
}
func _AuthRpcService_GetProjectById_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(GetProjectByIdRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(AuthRpcServiceServer).GetProjectById(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: AuthRpcService_GetProjectById_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(AuthRpcServiceServer).GetProjectById(ctx, req.(*GetProjectByIdRequest))
}
return interceptor(ctx, in, info, handler)
}
func _AuthRpcService_GetUserById_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(GetUserByIdRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(AuthRpcServiceServer).GetUserById(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: AuthRpcService_GetUserById_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(AuthRpcServiceServer).GetUserById(ctx, req.(*GetUserByIdRequest))
}
return interceptor(ctx, in, info, handler)
}
// AuthRpcService_ServiceDesc is the grpc.ServiceDesc for AuthRpcService service.
// It's only intended for direct use with grpc.RegisterService,
// and not to be introspected or modified (even as a copy)
var AuthRpcService_ServiceDesc = grpc.ServiceDesc{
ServiceName: "protos.authRpcService",
HandlerType: (*AuthRpcServiceServer)(nil),
Methods: []grpc.MethodDesc{
{
MethodName: "ValidateRequest",
Handler: _AuthRpcService_ValidateRequest_Handler,
},
{
MethodName: "GetProjectById",
Handler: _AuthRpcService_GetProjectById_Handler,
},
{
MethodName: "GetUserById",
Handler: _AuthRpcService_GetUserById_Handler,
},
},
Streams: []grpc.StreamDesc{},
Metadata: "authentication.proto",
}

View File

@ -0,0 +1,167 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.27.1
// protoc v3.6.1
// source: project.proto
package protos
import (
reflect "reflect"
sync "sync"
wrappers "github.com/golang/protobuf/ptypes/wrappers"
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
)
const (
// Verify that this generated code is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
// Verify that runtime/protoimpl is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
// The request message containing the projectID
type ProjectInitializationRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ProjectID string `protobuf:"bytes,1,opt,name=projectID,proto3" json:"projectID,omitempty"`
Role string `protobuf:"bytes,2,opt,name=role,proto3" json:"role,omitempty"`
}
func (x *ProjectInitializationRequest) Reset() {
*x = ProjectInitializationRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_project_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ProjectInitializationRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ProjectInitializationRequest) ProtoMessage() {}
func (x *ProjectInitializationRequest) ProtoReflect() protoreflect.Message {
mi := &file_project_proto_msgTypes[0]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ProjectInitializationRequest.ProtoReflect.Descriptor instead.
func (*ProjectInitializationRequest) Descriptor() ([]byte, []int) {
return file_project_proto_rawDescGZIP(), []int{0}
}
func (x *ProjectInitializationRequest) GetProjectID() string {
if x != nil {
return x.ProjectID
}
return ""
}
func (x *ProjectInitializationRequest) GetRole() string {
if x != nil {
return x.Role
}
return ""
}
var File_project_proto protoreflect.FileDescriptor
var file_project_proto_rawDesc = []byte{
0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72,
0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x50, 0x0a, 0x1c, 0x50, 0x72, 0x6f, 0x6a, 0x65,
0x63, 0x74, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e,
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65,
0x63, 0x74, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a,
0x65, 0x63, 0x74, 0x49, 0x44, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x02, 0x20,
0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x32, 0x62, 0x0a, 0x07, 0x50, 0x72, 0x6f,
0x6a, 0x65, 0x63, 0x74, 0x12, 0x57, 0x0a, 0x11, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x69,
0x7a, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x24, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x73, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61,
0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x00, 0x42, 0x0a, 0x5a,
0x08, 0x2e, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x33,
}
var (
file_project_proto_rawDescOnce sync.Once
file_project_proto_rawDescData = file_project_proto_rawDesc
)
func file_project_proto_rawDescGZIP() []byte {
file_project_proto_rawDescOnce.Do(func() {
file_project_proto_rawDescData = protoimpl.X.CompressGZIP(file_project_proto_rawDescData)
})
return file_project_proto_rawDescData
}
var file_project_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
var file_project_proto_goTypes = []interface{}{
(*ProjectInitializationRequest)(nil), // 0: protos.ProjectInitializationRequest
(*wrappers.BoolValue)(nil), // 1: google.protobuf.BoolValue
}
var file_project_proto_depIdxs = []int32{
0, // 0: protos.Project.InitializeProject:input_type -> protos.ProjectInitializationRequest
1, // 1: protos.Project.InitializeProject:output_type -> google.protobuf.BoolValue
1, // [1:2] is the sub-list for method output_type
0, // [0:1] is the sub-list for method input_type
0, // [0:0] is the sub-list for extension type_name
0, // [0:0] is the sub-list for extension extendee
0, // [0:0] is the sub-list for field type_name
}
func init() { file_project_proto_init() }
func file_project_proto_init() {
if File_project_proto != nil {
return
}
if !protoimpl.UnsafeEnabled {
file_project_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ProjectInitializationRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_project_proto_rawDesc,
NumEnums: 0,
NumMessages: 1,
NumExtensions: 0,
NumServices: 1,
},
GoTypes: file_project_proto_goTypes,
DependencyIndexes: file_project_proto_depIdxs,
MessageInfos: file_project_proto_msgTypes,
}.Build()
File_project_proto = out.File
file_project_proto_rawDesc = nil
file_project_proto_goTypes = nil
file_project_proto_depIdxs = nil
}

View File

@ -0,0 +1,19 @@
syntax = "proto3";
package protos;
option go_package = "./protos";
import "google/protobuf/wrappers.proto";
// The project service definition.
service Project {
// Initialize project by adding instances for the required db collections
rpc InitializeProject (ProjectInitializationRequest) returns (google.protobuf.BoolValue) {
}
}
// The request message containing the projectID
message ProjectInitializationRequest {
string projectID = 1;
string role = 2;
}

View File

@ -0,0 +1,105 @@
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
package protos
import (
context "context"
wrappers "github.com/golang/protobuf/ptypes/wrappers"
grpc "google.golang.org/grpc"
codes "google.golang.org/grpc/codes"
status "google.golang.org/grpc/status"
)
// This is a compile-time assertion to ensure that this generated file
// is compatible with the grpc package it is being compiled against.
// Requires gRPC-Go v1.32.0 or later.
const _ = grpc.SupportPackageIsVersion7
// ProjectClient is the client API for Project service.
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
type ProjectClient interface {
// Initialize project by adding instances for the required db collections
InitializeProject(ctx context.Context, in *ProjectInitializationRequest, opts ...grpc.CallOption) (*wrappers.BoolValue, error)
}
type projectClient struct {
cc grpc.ClientConnInterface
}
func NewProjectClient(cc grpc.ClientConnInterface) ProjectClient {
return &projectClient{cc}
}
func (c *projectClient) InitializeProject(ctx context.Context, in *ProjectInitializationRequest, opts ...grpc.CallOption) (*wrappers.BoolValue, error) {
out := new(wrappers.BoolValue)
err := c.cc.Invoke(ctx, "/protos.Project/InitializeProject", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
// ProjectServer is the server API for Project service.
// All implementations must embed UnimplementedProjectServer
// for forward compatibility
type ProjectServer interface {
// Initialize project by adding instances for the required db collections
InitializeProject(context.Context, *ProjectInitializationRequest) (*wrappers.BoolValue, error)
mustEmbedUnimplementedProjectServer()
}
// UnimplementedProjectServer must be embedded to have forward compatible implementations.
type UnimplementedProjectServer struct {
}
func (UnimplementedProjectServer) InitializeProject(context.Context, *ProjectInitializationRequest) (*wrappers.BoolValue, error) {
return nil, status.Errorf(codes.Unimplemented, "method InitializeProject not implemented")
}
func (UnimplementedProjectServer) mustEmbedUnimplementedProjectServer() {}
// UnsafeProjectServer may be embedded to opt out of forward compatibility for this service.
// Use of this interface is not recommended, as added methods to ProjectServer will
// result in compilation errors.
type UnsafeProjectServer interface {
mustEmbedUnimplementedProjectServer()
}
func RegisterProjectServer(s grpc.ServiceRegistrar, srv ProjectServer) {
s.RegisterService(&Project_ServiceDesc, srv)
}
func _Project_InitializeProject_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(ProjectInitializationRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(ProjectServer).InitializeProject(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/protos.Project/InitializeProject",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ProjectServer).InitializeProject(ctx, req.(*ProjectInitializationRequest))
}
return interceptor(ctx, in, info, handler)
}
// Project_ServiceDesc is the grpc.ServiceDesc for Project service.
// It's only intended for direct use with grpc.RegisterService,
// and not to be introspected or modified (even as a copy)
var Project_ServiceDesc = grpc.ServiceDesc{
ServiceName: "protos.Project",
HandlerType: (*ProjectServer)(nil),
Methods: []grpc.MethodDesc{
{
MethodName: "InitializeProject",
Handler: _Project_InitializeProject_Handler,
},
},
Streams: []grpc.StreamDesc{},
Metadata: "project.proto",
}

View File

@ -0,0 +1,17 @@
package presenter
import "github.com/litmuschaos/litmus/chaoscenter/authentication/pkg/utils"
// ErrorResponseStruct defines the structure for error responses
type ErrorResponseStruct struct {
Error string `json:"error"`
ErrorDescription string `json:"errorDescription"`
}
// CreateErrorResponse is a helper function that creates a ErrorResponseStruct
func CreateErrorResponse(appError utils.AppError) *ErrorResponseStruct {
return &ErrorResponseStruct{
Error: appError.Error(),
ErrorDescription: utils.ErrorDescriptions[appError],
}
}

View File

@ -0,0 +1,12 @@
package routes
import (
"github.com/litmuschaos/litmus/chaoscenter/authentication/api/handlers/rest"
"github.com/gin-gonic/gin"
)
// CapabilitiesRouter creates all the required routes for exposing capabilities.
func CapabilitiesRouter(router *gin.Engine) {
router.GET("/capabilities", rest.GetCapabilities())
}

View File

@ -0,0 +1,14 @@
package routes
import (
"github.com/litmuschaos/litmus/chaoscenter/authentication/api/handlers/rest"
"github.com/litmuschaos/litmus/chaoscenter/authentication/pkg/services"
"github.com/gin-gonic/gin"
)
// DexRouter creates all the required routes for OAuth purposes.
func DexRouter(router *gin.Engine, service services.ApplicationService) {
router.GET("/dex/login", rest.DexLogin())
router.GET("/dex/callback", rest.DexCallback(service))
}

View File

@ -0,0 +1,13 @@
package routes
import (
"github.com/litmuschaos/litmus/chaoscenter/authentication/api/handlers/rest"
"github.com/litmuschaos/litmus/chaoscenter/authentication/pkg/services"
"github.com/gin-gonic/gin"
)
func MiscRouter(router *gin.Engine, service services.ApplicationService) {
router.GET("/status", rest.Status(service))
router.GET("/readiness", rest.Readiness(service))
}

View File

@ -0,0 +1,32 @@
package routes
import (
"github.com/litmuschaos/litmus/chaoscenter/authentication/api/handlers/rest"
"github.com/litmuschaos/litmus/chaoscenter/authentication/api/middleware"
"github.com/litmuschaos/litmus/chaoscenter/authentication/pkg/services"
"github.com/gin-gonic/gin"
)
// ProjectRouter creates all the required routes for project related purposes.
func ProjectRouter(router *gin.Engine, service services.ApplicationService) {
router.Use(middleware.JwtMiddleware(service))
router.GET("/get_project/:project_id", rest.GetProject(service))
router.GET("/get_project_members/:project_id/:state", rest.GetActiveProjectMembers(service))
router.GET("/get_project_owners/:project_id", rest.GetActiveProjectOwners(service))
router.GET("/get_user_with_project/:username", rest.GetUserWithProject(service))
router.GET("/get_owner_projects", rest.GetOwnerProjects(service))
router.GET("/get_project_role/:project_id", rest.GetProjectRole(service))
router.GET("/list_projects", rest.GetProjectsByUserID(service))
router.GET("/get_projects_stats", rest.GetProjectStats(service))
router.GET("/list_invitations_with_filters/:invitation_state", rest.ListInvitations(service))
router.POST("/create_project", rest.CreateProject(service))
router.POST("/send_invitation", rest.SendInvitation(service))
router.POST("/accept_invitation", rest.AcceptInvitation(service))
router.POST("/decline_invitation", rest.DeclineInvitation(service))
router.POST("/remove_invitation", rest.RemoveInvitation(service))
router.POST("/leave_project", rest.LeaveProject(service))
router.POST("/update_project_name", rest.UpdateProjectName(service))
router.POST("/update_member_role", rest.UpdateMemberRole(service))
router.POST("/delete_project/:project_id", rest.DeleteProject(service))
}

View File

@ -0,0 +1,27 @@
package routes
import (
"github.com/litmuschaos/litmus/chaoscenter/authentication/api/handlers/rest"
"github.com/litmuschaos/litmus/chaoscenter/authentication/api/middleware"
"github.com/litmuschaos/litmus/chaoscenter/authentication/pkg/services"
"github.com/gin-gonic/gin"
)
// UserRouter creates all the required routes for user authentications purposes.
func UserRouter(router *gin.Engine, service services.ApplicationService) {
router.POST("/login", rest.LoginUser(service))
router.POST("/logout", rest.LogoutUser(service))
router.Use(middleware.JwtMiddleware(service))
router.GET("/token/:uid", rest.GetApiTokens(service))
router.POST("/create_token", rest.CreateApiToken(service))
router.POST("/remove_token", rest.DeleteApiToken(service))
router.POST("/update/password", rest.UpdatePassword(service))
router.POST("/reset/password", rest.ResetPassword(service))
router.POST("/create_user", rest.CreateUser(service))
router.POST("/update/details", rest.UpdateUser(service))
router.GET("/get_user/:uid", rest.GetUser(service))
router.GET("/users", rest.FetchUsers(service))
router.GET("/invite_users/:project_id", rest.InviteUsers(service))
router.POST("/update/state", rest.UpdateUserState(service))
}

Some files were not shown because too many files have changed in this diff Show More