iectl publisher app-project version create¶
Description
Create app project application version.
Usage
iectl publisher app-project version create [OPTIONS]
Options
-a, --appid <appid> Application unique id for which the version has to be created.
-v, --versionnumber <versionnumber> Version Number refers to versioning.
-y, --yamlpath <yamlpath> Path of docker compose yaml or folder path in case of kubernetes application.
-i, --imagetagjson <imagetagjson> JSON map of service name and tag of image. Only for kubernetes applications [Optional]
-n, --nginxjson <nginxjson> JSON map of nginx configuration. [Optional]
-j, --imagetarjson <imagetarjson> List of services with the reference to their exported docker images. [Optional]
-c, --changelogs <changelogs> Release Notes, Use '\n' for new line and '\t' for tab space. [Optional]
-m, --defaultmountpath To add default mount path (./publish/ and ./cfg-data/) [Optional]
-s, --redirectsection <redirectsection> Redirect Section [Optional]
-t, --redirecttype <redirecttype> Redirect Type["FromBoxReverseProxy","FromBoxSpecificPort","ExternalLink"] [Optional] (default: "ExternalLink")
-u, --redirecturl <redirecturl> Redirect URL [Optional]
-r, --restredirecturl <restredirecturl> Rest Redirect URL [Optional]
-e, --eventservice <eventservice> Event Service is a feature provided by edge runtime for applications to receive and publish events. The communication is based on Unix Domain Socket(UDS). eg: --eventservice "{"servicename":"/opt/event.sock"}" [Optional]
-o, --authservice <authservice> Auth service enables an application to use IED auth service api's(Make sure the application is created by enabling checkmark - Use Edge Device Auth Service). eg: --authservice "{"servicename":"/opt/appsecrets.json"}" [Optional]
-x, --accesswithoutlogin Allow application access without login (Not applicable for industrial edge devices) [Optional]
--arch <arch> Application supported platform, value can be x86-64 or arm64.By default it is set to x86-64 [Optional] (default: "x86-64")
-d, --devicefeatures <devicefeatures> The Applications will be allowed to trigger a Shutdown Operation, on the supporting device. The Device will gracefully shutdown in case triggered, by releasing the resources to avoid damaging integrity of the system. Especially useful for electric outage detection applications to trigger a shutdown in case of an outage. [Optional]
-b, --adddiscoveryinfo <adddiscoveryinfo> Add service metadata (discovery information). [Optional]
--verbose To print verbose output
-h, --help display help for command
Options inherited from parent commands
-o, --output string output format
-q, --query string query on result of object
-v, --verbose verbose output
Example
# examples are based on given yaml
version: "2.4"
services:
nginx:
image: nginx:alpine
restart: always
mem_limit: 200m
# Create application version with nginx reverse proxy
iectl publisher app-project version create -a "39853716a55048c9935e451a63eecc89" -v "0.0.2" -y "/home/user/Desktop/docker-compose.yaml" -c "changelogs" -n '{"nginx":[{"name":"nginxservice","protocol":"HTTP","port":"80","headers":{"proxy_cache_revalidate":"on","proxy_cache_valid":"5m"},"rewriteTarget":"/nginx", "subPath":"app/", "isSecureRedirection":false}]}' -s "nginx" -t "FromBoxReverseProxy" -u "nginxservice/app/" -r "" -e '{"nginx":"/.publish/"}' -o '{"nginx":"/.publish/"}' --arch "x86-64"
# Create application version without docker engine connection
iectl publisher app-project version create -a "39853716a55048c9935e451a63eecc89" -v "0.0.1" -y "/yaml/docker-compose.yaml" -c "changelogs" -s "nginx" -t "FromBoxSpecificPort" -u "80" --arch "x86-64" -j '{"nginx":"/data/nginx.tar"}'
# Create application version which does not have any redirection
iectl publisher app-project version create -a "39853716a55048c9935e451a63eecc89" -v "0.0.1" -y "/yaml/docker-compose.yaml" -c "changelogs" -s "" -t "ExternalLink" -u "" --arch "x86-64"
# Example [line breaks in changelogs]
iectl publisher app-project version create -a "39853716a55048c9935e451a63eecc89" -v "0.0.1" -y "/yaml/docker-compose.yaml" -c "changelogs line 1\nchangelogs line 2" -s "" -t "ExternalLink" -u "" --arch "x86-64"
# Example [read changelogs from file]
iectl publisher app-project version create -a "39853716a55048c9935e451a63eecc89" -v "0.0.1" -y "/yaml/docker-compose.yaml" -c "$(cat changelogs.md)" -s "" -t "ExternalLink" -u "" --arch "x86-64"