bheisig / i-doit-docker

Dockerized i-doit CMDB
GNU Affero General Public License v3.0
25 stars 13 forks source link

API Add on is missing in Docker Image #6

Closed alexei-matveev closed 3 years ago

alexei-matveev commented 3 years ago

Expected behavior

Run docker Image. Test API. Because testing on a production instance is not a good idea.

Actual behavior

Run docker image. No API Module is found. Forget the idea because, reinstalling the Addon over GUI is no fun.

Steps to reproduce the behavior

See README in https://github.com/alexei-matveev/hello-idoit

Environment

Question Answer
i-doit version 1.15
bheisig commented 3 years ago

Hey @alexei-matveev

Thanks for your interest in our Docker images :-)

The i-doit API is bundled in a separate add-on and is not part of the open/pro core. You need to download it separately and install it after the intial setup of i-doit. Therefore, the API is not part of the Docker images.

IMO you have two options:

  1. Extend the Dockerfile by copying the add-on file into the image and then build it
  2. Copy the add-on file to the pod after the deployment

Then you are able to install the add-on via i-doit's built-in CLI:

kubectl exec your-pod-name -- \
    php console.php addon-install \
    -u ADMIN_USER -p ADMIN_PASSWORD \
    -z /path/to/addon.zip -a api \
    -t 1 -n

Before you can use the API you need the its key which is auto-generated during the add-on installation. Here is a way to update it with your own one:

kubectl exec your-pod-name -- \
    mysql \
    --user=DB_USER --password=DB_PASSWORD \
    --database=DB_NAME \
    --host=DB_HOST \
    --execute="UPDATE isys_mandator SET isys_mandator__apikey = 'YOUR_API_KEY' WHERE isys_mandator__id = '1';"

I hope it helps. Let me know if you have further questions.

alexei-matveev commented 3 years ago

Thank you for detailed instructions. What I wanted to test was an linking objects to groups/services --- it does not seem to work in GUI too. Eventually I will come back to this sometime.

So maybe close it, please dont delete, for future references.