# cloudux-starter-kit-service

> CloudUx starter kit for creating NodeJS based services

Latest version **2.2.5** (published 2023-02-27) · SEE LICENSE IN EULA.md license · 0 weekly downloads

## Install

```sh
npm install cloudux-starter-kit-service
pnpm add cloudux-starter-kit-service
yarn add cloudux-starter-kit-service
bun add cloudux-starter-kit-service
```

Provides the command `cloudux-starter-kit-service`.

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 2.2.5 |
| Published | 2023-02-27 |
| First published | 2018-09-06 |
| Weekly downloads | 0 |
| License | SEE LICENSE IN EULA.md |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 6 |
| Unpacked size | 94.2 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Author | AVID |
| Maintainers | wbauer, joeapearson, enterit, anna.kryzhko, anna.vaskovska, yvadim, diana_chaikovska, vladyslav.kurakov, michal.oleszczuk.avid |
| Keywords | CloudUx, Avid, NodeJS, Service |

## Links

- npm: https://www.npmjs.com/package/cloudux-starter-kit-service
- Repository: https://github.com/avid-technology
- npm.io page: https://npm.io/package/cloudux-starter-kit-service

## Dependencies (6)

- [joi](https://npm.io/package/joi.md) ^17.7.0
- [yargs](https://npm.io/package/yargs.md) ^17.x
- [log4js](https://npm.io/package/log4js.md) ^6.0.7
- [fs-extra](https://npm.io/package/fs-extra.md) ^10.1.0
- [inquirer](https://npm.io/package/inquirer.md) ^8.0.0
- [mediacentral-publish](https://npm.io/package/mediacentral-publish.md) ^0.3.9

## Alternatives

- [@sindresorhus/slugify](https://npm.io/package/@sindresorhus/slugify.md) — 3.7M weekly downloads
- [solid-js](https://npm.io/package/solid-js.md) — 2.7M weekly downloads
- [expo-glass-effect](https://npm.io/package/expo-glass-effect.md) — 2.5M weekly downloads
- [nanoassert](https://npm.io/package/nanoassert.md) — 780.8K weekly downloads
- [@ffmpeg/ffmpeg](https://npm.io/package/@ffmpeg/ffmpeg.md) — 529.5K weekly downloads

## Recent versions

- 2.2.5 (latest) — 2023-02-27
- 2.2.4 — 2023-02-17
- 2.2.3 — 2023-02-01
- 2.2.2 — 2022-07-18
- 2.2.1 — 2022-07-12
- 2.2.0 — 2019-11-14
- 2.0.2 — 2019-01-28
- 2.0.1 — 2019-01-04
- 2.0.0 — 2018-12-03
- 1.0.15 — 2018-11-27
- 1.0.14 — 2018-11-22
- 1.0.13 — 2018-11-21
- 1.0.12 — 2018-11-19
- 1.0.11 — 2018-10-26
- 1.0.10 — 2018-10-03
- … 9 more at https://npm.io/package/cloudux-starter-kit-service/versions

## README

[![pipeline status](https://burl-gitlab.global.avidww.com/avid/incubator/mediacentral-service-starter-kit-nodejs/badges/master/pipeline.svg)](https://burl-gitlab.global.avidww.com/avid/incubator/mediacentral-service-starter-kit-nodejs/commits/master)
[![coverage report](https://burl-gitlab.global.avidww.com/avid/incubator/mediacentral-service-starter-kit-nodejs/badges/master/coverage.svg)](https://burl-gitlab.global.avidww.com/avid/incubator/mediacentral-service-starter-kit-nodejs/commits/master)

# MediaCentral CloudUX Service Starter kit

Starter kit for creating a service for CloudUX

## Getting started
To use this application you will need following tools:
1. running **MediaCentral | Cloud UX 2018.6** machine
2. [node.js and npm](https://nodejs.org)
3. [proxy ball](https://my.avid.com/cpp/sdk/apc) for more information check FAQ

## Installation:
Using npm type in your CLI:

**`npm install -g cloudux-starter-kit-service`**

### Run from CLI:
In your **CLI** type:

- ```cloudux-starter-kit-service``` to create service with creator.
- ```cloudux-starter-kit-service --help``` Do display help page.

Installation can be executed by providing flags to your toolkit.

Usage :
- `-N` New Service
  - `-n` Project name _(required)_
  - `-d` Project description _(required)_
  - `-i` MediaCentral server host IP _(required)_
  - `-r` Realm _(required)_
  - `-v` Service version _(required)_
  - `-m` File with methods of you service _(optional)_
  - `-p` project path _(optional)_
- `-B` Build Service
  - `-p` path to a project root _(required)_
  - `-n` project name (Should match project/src/project.json under identity.appName) _(required)_
  - `-z` app version should match project/src/project.config.json version field _(required)_
  - `-o` organization should match project/src/project.config.json organization field _(required)_
  - `-i` appID should match project/src/project.config.json appID field _(required)_
  - `-j` appSecret should match project/src/project.config.json appID field _(required)_
  - `-d` developerID should match project/src/project.config.json developerID field _(optional)_
  - `-x` https_proxy For docker build _(optional)_
- `-I` Build DockerImage
  - `-p` project path _(required)_
  - `-n` project name (Should match project/src/project.json under identity.appName) _(required)_
  - `-z` app version should match project/src/project.config.json version field _(required)_
  - `-o` organization should match project/src/project.config.json organization field _(required)_
  - `-i` appID should match project/src/project.config.json appID field _(required)_
  - `-j` appSecret should match project/src/project.config.json appID field _(required)_
  - `-x` https_proxy For docker build _(optional)_
  - `-d` developerID should match project/src/project.config.json developerID field _(optional)_
- `-P` Publish project
  - `-p` path to a project root _(required)_
  - `-n` project name (Should match project/src/project.json under identity.appName) _(required)_
  - `-z` app version should match project/src/project.config.json version field _(required)_
  - `-o` organization should match project/src/project.config.json organization field _(required)_
  - `-k` privateKeyPath should match project/src/project.config.json privateKeyPath field _(required)_
  - `-i` appID should match project/src/project.config.json appID field _(required)_
  - `-j` appSecret should match project/src/project.config.json appID field _(required)_
  - `-x` https_proxy For docker build _(optional)_
  - `-d` developerID should match project/src/project.config.json developerID field _(optional)_
  - `-s` password to ssh private key _(optional)_

#### API
```js
const kit = require('cloudux-starter-kit-service')
kit(options)
```
##### `kit({options})`
- For new service:
  - `name` -- project name  _(required)_
  - `project_description` -- project description  _(required)_
  - `project_hostIp` -- MediaCentral server Ip  _(required)_
  - `relm` -- realm _(required)_
  - `version` -- Version of your service _(required)_
  - `project` -- path to save project  _(optional)_
  - `project_service_methods_file` -- File with methods of you service  _(optional)_
- Building Service:
  - `build` -- set build to **true** to build your project _(required)_
  - `project` -- path to save project  _(required)_
  - `name` -- project name  _(required)_
  - `https_proxy` -- For docker build _(optional)_
  - `config` -- Object with fields :
    - `version` -- Version of your service _(required)_
    - `organization` -- Name of organization _(required)_
    - `developerId` -- Your developer ID _(optional)_
- Publish Service:
  - `publish` -- set publish to **true** to publish your project _(required)_
  - `build` -- set build to **false** _(required)_
  - `project` -- path to save project  _(required)_
  - `name` -- project name  _(required)_
  - `password` -- password to your ssh key  _(optional)_
  - `https_proxy` -- For docker build _(optional)_
  - `config` -- path to a project config file (optional if the config is project/src/project.config.json)
    - `version` -- version of your app _(required)_
    - `organization` -- name of you organization _(required)_
    - `privateKeyPath` -- Path to your private key _(required)_
    - `appID` - your Application ID _(required)_
    - `developerID` -- your developer ID _(optional)_
- `buildImage` -- set buildImage to **true** to build image of your project
  - `project` -- path to your project  _(required)_
  - `name` -- path to your project  _(required)_
  - `https_proxy` -- For docker build _(optional)_
  - `config` -- path to your project  _(required)_
    - `version` -- App version _(required)_
    - `appID` - your Application ID _(required)_
    - `appSecret` - your Application Secret _(required)_
    - `organization` -- Organization name _(required)_
    - `developerId` -- Organization name _(optional)_
## FAQ

#### Why am I getting '404 Not Found: proxy-bal'?

You'll need to include [proxy-bal](https://my.avid.com/cpp/sdk/apc) module.

#### How to include proxy-bal  
Proxy-bal is package accesible only for developers with a Avid developer account  
Steps include proxy-bal:  
1. Download proxy-bal package from https://my.avid.com/cpp/sdk/apc (Avid Platform Connector Node)
2. Extract downloaded files
3. Enter the extracted directory and then node_modules directory
3. Extract proxy-bal.tgz file
4. Rename package directory to proxy-bal
5. Copy the proxy-bal directory to node_modules in service directory
6. Open command line inside proxy-bal directory and type npm update

#### Why my service won't connect because of 'unauthorized token'?
Because you need to receive appID and appSecret and paste it to your project.config.json.
Check [Development Guide](https://developer.avid.com/cert/services_development.html) to find out how optain AppID and AppSecret. 

**Check our CloudUX examples on [Avid-Technology Github](https://github.com/avid-technology)**

**Check our [Quick Start](https://developer.avid.com/cert/quickStart.html) for CloudUX**


## Latest Changes


## [2.2.4] (2023-02-17)

### Bug Fixes

* Umigrate to helm v3.


## [2.2.3] (2022-12-07)

### Bug Fixes

* Update dependencies. Removed critical vulnerabilities.


## [2.2.2] (2022-07-13)

### Bug Fixes

* config yaml file now is optional and not needed for the feature-pack installation without env variables.


## [2.2.1] (2022-07-12)

### Bug Fixes

* Fixed env variables.


## [2.2.0](https://burl-gitlab.global.avidww.com/avid/dtk/mediacentral-service-starter-kit-nodejs/compare/v2.0.3...v2.2.0) (2019-11-14)

### Features

* **chart:** [DTKT-730](https://avid-ondemand.atlassian.net/browse/DTKT-730) 'chartDir' option for custom chart templates ([8b05d65](https://burl-gitlab.global.avidww.com/avid/dtk/mediacentral-service-starter-kit-nodejs/commit/8b05d6549e0643b9f4ec1f1685e4c58a93819ae8))


### [2.0.3](https://burl-gitlab.global.avidww.com/avid/dtk/mediacentral-service-starter-kit-nodejs/compare/v2.0.2...v2.0.3) (2019-10-20)

### Bug Fixes

* [DTKT-729](https://avid-ondemand.atlassian.net/browse/DTKT-729) feature install fails because of wrong configmap template variable ([e0e0e0c](https://burl-gitlab.global.avidww.com/avid/dtk/mediacentral-service-starter-kit-nodejs/commit/e0e0e0c6e97a2483578516ffee313fe09075a468))

---
_Source: https://npm.io/package/cloudux-starter-kit-service · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
