Skip to content
This repository has been archived by the owner on Jan 3, 2023. It is now read-only.

Support for KnotX in GAP environment plugin #61

Open
mierzwid opened this issue May 15, 2019 · 4 comments
Open

Support for KnotX in GAP environment plugin #61

mierzwid opened this issue May 15, 2019 · 4 comments
Milestone

Comments

@mierzwid
Copy link
Contributor

mierzwid commented May 15, 2019

@Skejven FYI

gradle-aem-multi setups KnotX service side by side with dispatcher

  • it is described in docker-compose.yml - additional KnotX container
  • KnotX is behind Apache and only page requests get forwarded to it
  • there is example content added to multi project thats allows additional rendering to be made by KnotX
  • data source for KnotX will be static files configured and mounted
  • KnotX configuration files would be bind-mounted

GAP support:

  • GAP should be able to perform health checks on KnotX endpoint 8092
  • GAP creates all needed logs and
@mierzwid mierzwid added this to the 7.1.0 milestone May 15, 2019
@pun-ky
Copy link
Contributor

pun-ky commented May 15, 2019

Above is good but one thing missing in my opinion. There need to be set up some custom knotx module in directory knotx/extension/build.gradle (beside of aem/ branch) that will have set up building jar artifact and deployment to the knotx (probably just volume and copying pasting jar to correct place will do the job, vertx is detecting changes / reloads by itself)

@pun-ky
Copy link
Contributor

pun-ky commented Jun 26, 2019

design results (consulted with @Skejven )

  1. knotx volume will point to unversioned directory / under .environment (not aem/gradle/environment as currently)
  2. knotx configuration will be grabbed from downloaded distribution file knotx-stack.zip/knotx/conf then unpacked under .environment/knotx/conf then all files could be overridden by aem/gradle/environment/knotx/conf (kinda overlay)
  3. on file changes under aem/gradle/environment/knotx/conf they will be copied to target location under volume so that Knotx will use changed file immediately

as a result, only project specific (example) knotx related files are versioned (less to maintain on GAP side), still it will be easy to get all updates from knotx side by bumping knotx-stack.zip version

@pun-ky
Copy link
Contributor

pun-ky commented Jun 26, 2019

similar design could be applied to built custom Knotx modules however then probably restarting Knotx container will be required (to reflect classpath changes)

@malaskowski
Copy link

Another solution for the classpath changes would be approach similar to one from the Knot.x Starter Kit, where custom Docker image is build every time dependencies/modules change.
Additionally this approach can be also transferred to prepare production-ready artifacts (Docker way).

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants