ptarmiganlabs / butler-app-duplicator Goto Github PK
View Code? Open in Web Editor NEWCross platform tool handling back-end tasks related to creating new Qlik Sense apps, using existing apps as templates
License: MIT License
Cross platform tool handling back-end tasks related to creating new Qlik Sense apps, using existing apps as templates
License: MIT License
Describe the bug
Let's say a user directory of for example TESTDIR is defined in the config file, and a owner of the newly created app of USER1 is specified.
If user TESTDIR/USER1 does not have permissions to access the template apps, the app duplicator will not be able to verify that the specified app really is tagged as a template app, with a failed app creation as a result.
This is how the app duplicator was designed, but the drawback is that all users using the tool must also be given access to the template apps. This will result in those template apps showing up in the Hub, potentially confusing users.
Expected behavior
This is a really a design change:
Upgrading Sense Enterprise to Feb 2020 or beyond means that the Sense certificates will be recreated. The new certs must be exported and made available to Butler app duplicator.
Failing to do so will cause Butler app duplicator to stop working.
Update docs to highlight the above.
Current version is vulnerable to https://nodesecurity.io/advisories/577.
It affects this repo as it uses qrs-interact, which in turn (eventually) uses lodash.
Fix by bumping the lodash version used in qrs-interact.
There are indications in some systems (but not all, strangely enough) that the Sense user sessions created by the app duplicator as part of the calls to the QRS are not properly released. Instead, these sessions stick around and just accumulate over time.
The strange thing is that this behaviour has been reported on a few Sense systems, but others work just fine (the sessions are automatically released after the new app has been created, as they should). Could be a bug in the app duplicator, but it also be something in Sense itself causing this.
Sometimes template apps take a significant time to reload, and usually there is no need to reload template apps right after they have been created (at least not if the template app's load script is kept intact).
=> Make it optional (by means of a config paramter) to reload the newly created apps
Request is deprecated, Axios is new, shiny and supported.
Axios is also used by most other Butler tools => make things consistent over the entire Butler family.
When trying to duplicate an app that is a template, but the new owner does not have permissions to, the following error occurs.
Seems "BadRequestError" is no longer a valid way of returning an error when using Restify.
error: Duplication error 5: Received error code: 403::No permission to duplicate the app.
Unhandled rejection TypeError: restify.BadRequestError is not a constructor
at qrsInteractInstance.Post.then.catch.err (/nodeapp/index.js:666:30)
...
Describe the bug
When running in a multi-arch (amd64 and arm64) k8s cluster, containers fail to start on arm64 nodes.
Expected behavior
Containers should automatically start on amd64, arm64 or arm nodes.
Solution idea
The issue might be caused by the variant field in the manifest. It seems that the manifests of other (working) multi-arch images Docker images don't have that variant field. Might be worth removing it as a first attempt at resolving the issue.
FROM ….
LABEL maintainer="Göran Sander [email protected]"
LABEL description="lorem ipsum"
An optional feature that (if enabled) will send recurring status messages to the log files, stating how the service has been running, how much memory it is using etc.
If a user clicks the Create app buttons a second time, before the app duplicator has finished, a "Can't set headers twice" error will be thrown.
Possible solution: Disable button until app duplication is done. Then enable it again.
It would be nice to get some basic info about the underlying Qlik Sense environment written to the Butler logs, whenever Butler is started.
Things such as overall Sense version, QIX engine version, info about the hardware Sense is running on etc.
Add a configurable (URL, frequency etc) heart beat that is sent from the app duplicator to an external monitoring tool.
This will make it easy to monitor the uptime of the app duplicator.
This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.
Warning
These dependencies are deprecated:
Datasource | Name | Replacement PR? |
---|---|---|
npm | request |
These updates are currently rate-limited. Click on a checkbox below to force their creation now.
These updates have all been created already. Click a checkbox below to force a retry/rebase of any.
docker-compose.yml
ptarmiganlabs/butler-app-duplicator 3.0.3
Dockerfile
node 12-stretch
www/conf/Dockerfile
.drone.yml
package.json
config ^3.3.0
enigma.js ^2.6.3
js-yaml ^4.0.0
jshint ^2.13.4
json-query ^2.2.0
qrs-interact ^6.0.0
request ^2.88.2
restify ^8.5.1
restify-cors-middleware ^1.1.1
restify-errors ^8.0.2
winston ^3.0.0
winston-daily-rotate-file ^4.0.0
ws ^8.0.0
chai 4.3.6
mocha 10.0.0
supertest 4.0.2
.travis.yml
Improve CI/CD process to be more automated, including multi architecture support.
In the spirit of minimalism, we should only run/expose the APIs really necessary from apps.
Thus make it possible to disable the Docker healtcheck server
Would offer user a more structured way of examining the REST API of Butler App Duplicator.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.