apache / apache/openwhisk-wskdeploy

Export Manifest - get rid of empty structures from exported manifest

Open
#728 2 comments 0 reactions 1 assignee Claimed by @mrutkows View on GitHub
Dominant language
Go
Stars
75
Forks
73
PR merge metrics
No merged PRs in 30d

Description

We added this new functionality with PR #715 which creates manifest file for the managed project so that the whole project can be replicated to any other openwhisk instance. However, the exported manifest file looks somewhat messy and not human readable. The exported file contains every different YAML structs defined in `wskdeploy` instead of having subset of them. For example, the exported file looks like this, for the manifest file at https://github.com/apache/incubator-openwhisk-wskdeploy/blob/master/tests/src/integration/managed-deployment/00-manifest-minus-second-package.yaml:

```
application:
name: ""
namespace: ""
credential: ""
apiHost: ""
version: ""
packages: {}
package:
name: ""
version: ""
license: ""
dependencies: {}
namespace: ""
credential: ""
apiHost: ""
actions: {}
triggers: {}
feeds: {}
rules: {}
inputs: {}
sequences: {}
apis: {}
project:
name: MyFirstManagedProject
namespace: ""
credential: ""
apiHost: ""
version: ""
packages: {}
package:
name: ""
version: ""
license: ""
dependencies: {}
namespace: ""
credential: ""
apiHost: ""
actions: {}
triggers: {}
feeds: {}
rules: {}
inputs: {}
sequences: {}
apis: {}
packages:
ManagedPackage-1:
name: ManagedPackage-1
version: 0.0.2
license: ""
dependencies: {}
namespace: guest
credential: ""
apiHost: ""
actions:
HelloWorld-1:
version: 0.0.2
location: ""
function: ManagedPackage-1/HelloWorld-1.js
runtime: nodejs:6
namespace: guest/ManagedPackage-1
credential: ""
inputs:
name:
value: ""
place:
value: ""
outputs: {}
name: HelloWorld-1
exposedUrl: ""
web-export: ""
main: ""
limits: null
HelloWorld-2:
version: 0.0.2
location: ""
function: ManagedPackage-1/HelloWorld-2.js
runtime: nodejs:6
namespace: guest/ManagedPackage-1
credential: ""
inputs:
name:
value: ""
place:
value: ""
outputs: {}
name: HelloWorld-2
exposedUrl: ""
web-export: ""
main: ""
limits: null
HelloWorld-3:
version: 0.0.2
location: ""
function: ManagedPackage-1/HelloWorld-3.js
runtime: nodejs:6
namespace: guest/ManagedPackage-1
credential: ""
inputs:
name:
value: ""
place:
value: ""
outputs: {}
name: HelloWorld-3
exposedUrl: ""
web-export: ""
main: ""
limits: null
triggers:
ManagedTrigger-1:
feed: ""
namespace: guest
credential: ""
inputs: {}
name: ManagedTrigger-1
source: ""
feeds: {}
rules: {}
inputs: {}
sequences:
ManagedSequence-1:
actions: HelloWorld-1,HelloWorld-2,HelloWorld-3
ManagedSequence-2:
actions: HelloWorld-1,HelloWorld-2,HelloWorld-3
apis: {}
package:
name: ""
version: ""
license: ""
dependencies: {}
namespace: ""
credential: ""
apiHost: ""
actions: {}
triggers: {}
feeds: {}
rules: {}
inputs: {}
sequences: {}
apis: {}
filepath: ""
```

Please update the YAML marshaling so that it produces more readable manifest.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.