Outsider Stage 0.5
Replay and verify a real, sealed Outsider Stage 0.5 intervention chain.
Translation pending
ReadonlyREST is a battle tested, smart, quick to configure security solution that is compatible with the official Elasticsearch and Kibana pro
SecurityTypeScript · ShellGitHub @beshu-techOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
End-to-end tests for ReadonlyREST plugins
Translation pending
Taken from the repository README
Loading the full README.
Read the full README ↗Prerequisites:
1.22.x or newer) - for running E2E tests27.x.x or newer) - for running ELK environment0.26.x or newer) - for running ECK environmentrunner.sh bootstraps the environment and runs Cypress E2E tests in one shot.
Docker-based environment:
./runner.sh --elk 8.15.2 --env docker
ECK environment (pass the ECK operator version after eck-):
./runner.sh --elk 7.17.24 --env eck-2.15.0
With specific ROR versions (default: latest):
./runner.sh --elk 9.3.0 --env docker --ror-es 1.69.0 --ror-kbn 1.69.0
With dev images (default: prod):
./runner.sh --elk 9.3.0 --env docker --ror-es 1.69.0-pre1 --ror-kbn 1.69.0-pre1 --mode dev
To only bootstrap the environment without running tests (useful for debugging):
./runner.sh --run bootstrap --elk 8.15.2 --env docker
You can bootstrap the test env and run tests separately (to not build the ES+KBN+ROR stack every test run).
To run the env:
(running the latest version of ROR from Docker Hub production repo)
./environments/elk-ror/start.sh --es "8.15.0" --kbn "8.15.2"
(running the given version of ROR from Docker Hub development repo)
./environments/elk-ror/start.sh --es "8.15.0" --kbn "8.15.2" --ror-es 1.62.0-pre5 --ror-kbn 1.62.0-pre5 --mode dev
or
(running the latest version of ROR from Docker Hub production repo)
./environments/eck-ror/start.sh --es "8.15.0" --kbn "8.15.2"
(running the given version of ROR from Docker Hub development repo)
./environments/eck-ror/start.sh --es "8.15.0" --kbn "8.15.2" --ror-es 1.62.0-pre5 --ror-kbn 1.62.0-pre5 --mode dev
To run tests on the env from a docker environment:
./e2e-tests/run-tests.sh "8.15.2" "elk-ror"
To run tests on the env from eck environment:
./e2e-tests/run-tests.sh "8.15.2" "eck-ror"
cd e2e-tests; yarn cypress open --env kibanaVersion=[KBN_VERSION]
Prerequisites:
26.x.x or newer)Bootstrapping test environment and running tests inside a docker container (you don't need to have Yarn installed on your host - it's a docker-compose based environment):
$ ./docker-based-ror-dev-env/runE2ETests8xInDocker.sh
$ ./docker-based-ror-dev-env/runE2ETests7xInDocker.sh
The test environment is created with the Docker Compose. All code is located in the environments/elk-ror folder. Currently, the latest version of ROR is downloaded for the sake of tests. In the future, we are going to improve it and build plugins from sources too.
The Cypress-based tests are located in the e2e-tests/cypress/e2e. Screenshots and videos for test runs will be stored in results/videos and results/snapshots folders.
If you prefer, you can use scripts from the docker-based-ror-dev-env folder to run them inside a docker container of the Docker-based ROR development environment image. It's not needed, but it can be helpful in the following cases:
The CI jobs pull the Docker Hub base images through pull-through caches, and then from Docker Hub.
Docker Hub limits pulls per IP address, a runner shares its address with other tenants, and a
neighbour over the limit makes our pull fail with a bare 429. A login does not prevent that,
because the limit ignores the account. A cache can also fail to serve an image, so each pull retries
and then goes to the next source.
.github/scripts/docker-hub-mirror.sh holds the list of caches. A local run pulls from Docker Hub, and
ROR_DOCKER_HUB_MIRROR=false switches the mirrors off in CI.
Remember that most of the tests assume that ROR KBN is run with the Enterprise license. You have to set it on your host as an environment variable ROR_ACTIVATION_KEY. You can obtain a trial activation key in the Customer Portal or use the developer one.