Skip to content
This repository has been archived by the owner on Feb 15, 2023. It is now read-only.

IBM/generator-ibm-cloud-assets

Repository files navigation

WARNING: This repository is no longer maintained ⚠️

This repository will not be updated. The repository will be kept available in read-only mode.

IBM Cloud Asset Generator

IBM Cloud powered

Creates the files required to deploy projects to Kubernetes (using Helm Charts) and/or Cloud Foundry (using a generated manifest). Also, provides scripts to initiate IBM Cloud’s DevOps Toolchain.

Pre-requisites

Install Yeoman Install Helm

  • Required to run unit tests
npm install -g yo

Installation

npm install -g generator-ibm-cloud-assets

Usage

yo ibm-cloud-assets

Following command line arguments are supported:

  • --deploy_options {stringified-json} --application {stringified-array} - used by Scaffolder to supply project information from pman. You can also supply a local file containing compatible JSON object by using --deploy_options file:<path/to/file.json> --application file:<path/to/file.json>.

sample command with payload:

yo ibm-cloud-assets --deploy_options '{"kube":{"cluster_name":"gv-devx-classic-dal1","region":"ibm:ys1:us-south","service_bindings":{"cloudant":"cloudant-gv-spring-ms-test-co1436hv30tbd0j"}}}' --application '{"app_id":"4b3e5cc4-5149-48e2-b711-b3dd80cf3f11","name":"test-genv2-app","language":"NODE","service_credentials":{"cloudant":{"apikey":"REPLACEME.UNKNOWN_SERVICE_NAME.apikey","host":"REPLACEME.UNKNOWN_SERVICE_NAME.host","iam_apikey_description":"REPLACEME.UNKNOWN_SERVICE_NAME.iam_apikey_description","iam_apikey_name":"REPLACEME.UNKNOWN_SERVICE_NAME.iam_apikey_name","iam_role_crn":"crn:v1:bluemix:public:iam::::serviceRole:Manager","iam_serviceid_crn":"REPLACEME.UNKNOWN_SERVICE_NAME.iam_serviceid_crn","password":"REPLACEME.UNKNOWN_SERVICE_NAME.password","port":443,"url":"REPLACEME.UNKNOWN_SERVICE_NAME.url","username":"REPLACEME.UNKNOWN_SERVICE_NAME.username"}}}'

Artifacts

Here is a list of the files and folders you receive after executing the generator:

File Purpose
Dockerfile Configuration file for the run container.
docker-compose.yml Configuration for the run container if services option is added
Dockerfile-tools Configuration file for the tools container
docker-compose-tools.yml Configuration file for the tool container, if services option is added
chart/* Folder containing all the Helm yaml files required to deploy to Kubernetes if helm selected
manifest.yml markdown file for Cloud Foundry deployments if cloud foundry selected
mappings.json dictates preference order by which the services will look for service credentials
localdev-config.json json object with credentials supplied in application options if service provided with credentials
cli-config.yml Yaml file containing mappings for various commands, files, and settings, utilized by the cli commands
run-dev and run-debug config files used by cli commands

Development Environment

Clone this repository and link it via npm

git clone https://github.com/IBM/generator-ibm-cloud-assets
cd generator-ibm-cloud-assets
npm link

In a separate directory invoke the generator via

yo ibm-cloud-assets --deploy_options {stringified-json} --application {stringified-array}

Testing

To run the unit tests. Remember to install Helm if you have not already before running the tests.

npm test

Publishing Changes

In order to publish changes, you will need to fork the repository or branch off the master branch.

Make sure to follow the conventional commit specification before contributing. To help you with commit a commit template is provide. Run config.sh to initialize the commit template to your .git/config or use commitizen

Once you are finished with your changes, run npm test to make sure all tests pass.

Do a pull request against master, make sure the build passes. A team member will review and merge your pull request. Once merged to master an auto generated pull request will be created against master to update the changelog. Make sure that the CHANGELOG.md and the package.json is correct before merging the pull request. After the auto generated pull request has been merged to master the version will be bumped and published to public npm.

About

WARNING: This repository is no longer maintained

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published