The Elastic Maps Landing Page is a previewer of the data of the Elastic Maps Service. It allows users to browse the data that is available within EMS.
The page is designed as a single-page application. It loads the root manifest from EMS using a cross-domain call. This is similar to how Kibana retrieves the manifest from EMS.
Please carefully review the CONTRIBUTING.md document before submitting any pull requests.
yarn is used as the dependency manager and script runner for this project. Ensure both node and yarn are installed on your system.
webpack is used for JavaScript transpilation.
To use the recommended node version for running the development and compile tasks, you can use nvm with:
nvm useyarn installyarn devKeep this running. The JavaScript/CSS will be automatically recompiled when files change.
Open public/index.html
You can run the page either from the file-system or any web-server.
To package the app, run the build script.
yarn buildThis script will put the relevant resources of the app in the ./build/release/** folder.
If any intermediate tasks break before packaging, such as a JavaScript linting or compilation failure, the build-script will error out. Fix the errors, and redeploy.
This project is built and deployed at Elastic infrastructure with Buildkite. All definitions and scripts are stored at the .buildkite folder.
⚠️ Buildkite pipeline executions are only accessible to Elastic team members.
- 
Any new PR will trigger a build that executes
yarn install && yarn buildas defined in.buildkite/scripts/build.sh. Any new commit on the PR will trigger a build and the result will be updated in a comment in the pull request. - 
When a PR is merged to
masteror a version branch (likev7.17.orv8.8) the pipeline will run thebuild.shto generate the website. Thenupload.shwill be executed to push the contents to a staging Google Cloud bucket. If the branch name coincides with theROOT_BRANCHparameter at the.buildkite/hooks/pre-commandscript, it will also upload the contents to the root folder of the staging bucket. - 
Deploying to production works as follows:
- Push a tag from any of the version branches (like 
v7.17orv8.8) to start the pipeline execution with thebuild.shscript. - A member of the team needs visit the Buildkite pipeline execution website and accept a manual block step to unlock the rest of the pipeline.
 archive.shwill generate a copy of the current production environment and store it in an archive bucket.upload.shwill upload the contents to the production environment. If the tag was made onROOT_BRANCHit will also upload the assets to the root folder of the production bucket.
 - Push a tag from any of the version branches (like