Coder Social home page Coder Social logo

industrial-edge / iectl-workflow Goto Github PK

View Code? Open in Web Editor NEW
0.0 2.0 2.0 843 KB

This application example shows how to use IECTL tool for automatic IEM/IED provisioning and application deployment.

License: MIT License

Shell 83.90% HTML 4.20% Python 11.90%
industrial-edge iectl v1-4

iectl-workflow's Issues

Activate IEM

Note To finish this task, you need to have IE HUB API access granted. This means you need to have API key from IE HUB.

Maybe a short hint should be give how to enable it.

Additionally you should give a hint how to setup the IEM, you should add a link to the IEM Getting Started if someone is looking for information how to install the OS

IP-Based setup

You should also mention somewhere that this example is setting up an IP-Based setup and for DNS-Based some additional steps are needed- Probably somewhere you need to specify the URLs as well as importing the certificates, right?

Sentence too complex

The following sentence is hard to read, please make it a bit more easy to read.
Additionally you are talking about "executed from a device", I initially thought it is a Edge Device, but for it is not. Maybe better use another word instead of device (engineering station or something similiar).

Same in "installation.md": Note Linux device is used to run shell scripts with IECTL commands.
I would use a different term than "device"

The idea is to provide with several shell scripts which can be executed from a device which has connection to the Industrial Edge componments you want to interact

Spelling

All componets have a IP adress ==> please change to "an IP address"

Deploying an unpublished application version to a device

I'm trying to build a pipeline that creates a new unpublished version of our application and deploys it onto a testing device.

Following the standalone app example, I tried this:

iectl publisher edgemanagement application uploadunpublishedversion \
    --appid "${APP_ID}" \
    --versionnumber "${version_new}"

iectl portal batches submit-batch \
    --appid "${APP_ID}" \
    --operation "installApplication" \
    --data "$(jq -c --null-input --arg deviceId "${DEVICE_ID}" '
      {
        "infoMap": {
          "devices":[
            $deviceId
          ]
        }
      }')" \
    --verbose

But this causes an error:

Error: request failed with status code 400 and response {"errors":[{"code":"notFound.appVersion","message":"App version not found.","errorCode":400,"field":"VersionVO","logref":"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx","parentLogref":""}]}

Investigating the network traffic from IEM web ui when I deploy from there, I can see it is making a request to:

https://${IEM_URL}/p.service/api/v4/applications/${APP_ID}/versions/${VERSION_ID}/batch?operation=installApplication&isRetainSecret=false&allow=true

and the infoMap only contains the target deviceIds.

So, how could I pass the versionId when using iectl? If this is currently not possible with iectl, would it be possible to obtain the needed headers from iectl and do the same request for example with curl?

Side note: I think running iectl portal batches submit-batch --help should show what information can/should be passed in infoMap. There is currently no mention of {"devices": [ $deviceIds ]}.

Using iectl version 1.3.1 on linux.

Clone repository and prepare the environment

Why workspace and onboarding-file folder are not available in the github repo?
If you do not want them to be available please explicitly mention that these two folders need to be created, I was a bit confused that I need to check which of the folders are available and which of the I need to create

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.