Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/knotx/knotx-stack
Stack is a way of distributing fully functional bootstrap project for Knot.x-based solutions
https://github.com/knotx/knotx-stack
knotx knotx-distribution knotx-package knotx-stack
Last synced: about 2 months ago
JSON representation
Stack is a way of distributing fully functional bootstrap project for Knot.x-based solutions
- Host: GitHub
- URL: https://github.com/knotx/knotx-stack
- Owner: Knotx
- License: apache-2.0
- Created: 2018-04-06T11:35:03.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2024-03-16T07:37:21.000Z (10 months ago)
- Last Synced: 2024-03-21T20:43:28.671Z (10 months ago)
- Topics: knotx, knotx-distribution, knotx-package, knotx-stack
- Language: Java
- Homepage: https://knotx.io
- Size: 777 KB
- Stars: 2
- Watchers: 12
- Forks: 8
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
[![Build Status](https://dev.azure.com/knotx/Knotx/_apis/build/status/Knotx.knotx-stack?branchName=master)](https://dev.azure.com/knotx/Knotx/_build/latest?definitionId=1&branchName=master)
[![Vulnerabilities Status](https://dev.azure.com/knotx/Knotx/_apis/build/status/Knotx.knotx-stack%20(1)?branchName=master)](https://dev.azure.com/knotx/Knotx/_build/latest?definitionId=19&branchName=master)
[![Gradle Status](https://gradleupdate.appspot.com/Knotx/knotx-stack/status.svg)](https://gradleupdate.appspot.com/Knotx/knotx-stack/status)# Knot.x Stack
Knot.x Stack is a Knot.x distribution containing all dependencies, configuration files and running scripts.
It does not require any external dependencies so it is used to build [Knot.x Docker](https://github.com/Knotx/knotx-docker) image.## Distribution structure
Structure of the stack is following
```
├── bin
| ├── knotx // shell script used to run knotx instance
│ └── knotx.bat // Windows script used to run knotx instance
├── conf // contains application and logger configuration files
│ ├── application.conf // defines / includes all modules that Knot.x instance is running
│ ├── bootstrap.json // config retriever options, defines application configuration stores (e.g. points to `application.conf` - the main configuration)
│ ├── openapi.yaml // Open API 3.0 configuration that is loaded via Knot.x HTTP Server
│ ├── server.conf // Knot.x HTTP server configuration which is included in `application.conf`
│ ├── routes // server routes configurations
│ │ ├── operations.conf // defines handlers per Open API operation ids
│ │ └── handlers // handlers configurations used in `operations.conf`
| │ │ ├── fragmentsHandler.conf
| │ │ └── httpRepoConnectorHandler.conf
│ ├── knots // Knot modules configurations which are included in `application.conf`
│ │ ├── templateEngineStack.conf
│ │ └── templateEngineKnot.conf
│ └── logback.xml // logger configuration
├── lib // contains instance libraries and dependencies, instance classpath
│ ├── list of project dependency libraries
│ ├── ...
```## Building
Simply run `gradlew build` to build your version of Knot.x stack or simply use one from the
[latest release](https://github.com/Knotx/knotx-stack/releases/latest). Knot.x stack artifact is a
ZIP file (see the `build/distributions` folder) with the structure described above.## Knot.x developers support
To develop Knot.x stack and any of its dependencies locally do following steps:
1. clone all Knot.x stack repositories into one directory (this will be a `{KNOTX_ROOT}`):
```
https://github.com/Knotx/knotx-dependencies
https://github.com/Knotx/knotx-commons
https://github.com/Knotx/knotx-junit5
https://github.com/Knotx/knotx-launcher
https://github.com/Knotx/knotx-server-http
https://github.com/Knotx/knotx-repository-connector
https://github.com/Knotx/knotx-fragments
https://github.com/Knotx/knotx-data-bridge
https://github.com/Knotx/knotx-template-engine
https://github.com/Knotx/knotx-stack
```
2. create `.composite-enabled` file in the `Knotx/knotx-stack`
```
touch knotx-stack/.composite-enabled
```
3. import `knotx-stack` project in IntelliJ as a Gradle project.You should see after a while all the Knot.x stack projects in single Idea window. Congratulations!
We now wait for your contribution :)> Note: You may use [Knot.x aggregator](https://github.com/Knotx/knotx-aggregator#development-process)
that will do (1) and (2) steps for you.## Running Stack
To start playing with Knot.x stack unzip the archive.
From the `knotx-stack` folder, execute:
```bash
bin/knotx run-knotx
```
or
```powershell
bin/knotx.bat run-knotx
```
to run the instance.By default, Knot.x stack's server will start on `localhost:8092`.