Skip to content
This repository has been archived by the owner on Sep 15, 2023. It is now read-only.
/ PCMS Public archive

KMITL Senior Project: VMware Private Cloud Management System

Notifications You must be signed in to change notification settings

bankierubybank/PCMS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Private Cloud Management System

What is Private Cloud Management System

PCMS is web application for private cloud automation in VMware vSphere environment.

PCMS is builded by:

Deployment

$ pwsh
$ Set-ExecutionPolicy RemoteSigned
$ Install-Module -Name VMware.PowerCLI
$ Import-Module VMware.PowerCLI
$ Set-PowerCLIConfiguration -InvalidCertificateAction Ignore -ParticipateInCeip $false -DisplayDeprecationWarnings:$false
  • Install MongoDB
  • Install Node.js
  • Install Vue CLI
  • Clone this git then
    • cd to server directory and $ npm install
    • cd to vue-ui directory and $ npm install
    • Edit config file at /config/environments/config.json

Temporary Fix: Some modules is not currently supported on Core edition of PowerShell

Comment these modules (Add # in front of these modules) in VMware.PowerCLI.psd1

Located in C:\Program Files\PowerShell\Modules\VMware.PowerCLI\11.0.0.10380590 (Windows) or /usr/local/share/powershell/Modules/VMware.PowerCLI/11.0.0.10380590/ (Ubuntu)

#@{"ModuleName"="VMware.VimAutomation.Srm";"ModuleVersion"="10.0.0.7893900"}
#@{"ModuleName"="VMware.VimAutomation.License";"ModuleVersion"="10.0.0.7893904"}
#@{"ModuleName"="VMware.VimAutomation.vROps";"ModuleVersion"="10.0.0.7893921"}
#@{"ModuleName"="VMware.VimAutomation.HorizonView";"ModuleVersion"="7.6.0.10230451"}
#@{"ModuleName"="VMware.VimAutomation.Cloud";"ModuleVersion"="11.0.0.10379994"}
#@{"ModuleName"="VMware.DeployAutomation";"ModuleVersion"="6.7.0.8250345"}
#@{"ModuleName"="VMware.ImageBuilder";"ModuleVersion"="6.7.0.8250345"}
#@{"ModuleName"="VMware.VumAutomation";"ModuleVersion"="6.5.1.7862888"}

Source: https://cloudhat.eu/powercli-10-0-0-linux-error-vmware-vimautomation-srm/

Testing - REST API Server (Node.js)

$ node app.js

or run with pm2.

$ pm2 start app.js
$ pm2 monit

Testing - Web Application (Vue.js)

$ cd vue-ui
$ npm run serve

Open Web Browser and go to

Node.js Module

Module Name Source Description
node-powershell node-powershell Invoke PowerShell Commands on Node.js
express express Create REST Server
jsonwebtoken jsonwebtoken Maintain user's web token
body-parser body-parser Parse HTTP Request's Body
cors cors Enable CORS in Node.js
morgan morgan HTTP Request Logger
node-schedule node-schedule Schedule Jobs in Node.js
helmet helmet Middleware for more Security
compressing compressing Compress files into .zip
winston winston Log errors to Console and Files
mongoose mongoose MongoDB ODM for Node.js
compression compression Compress Response's Body
googleapis googleapis Upload backup files to Google Drive
ldapjs-client ldapjs-client Authentication with Active Directory
nodemailer nodemailer Send E-Mail

Vue.js Module

Module Name Source Description
axios axios Consume API
vuejs-datepicker vuejs-datepicker Date Picker
bootstrap-vue bootstrap-vue Front-End Framework
vue-apexcharts vue-apexcharts Chart
moment moment Date Formatter
vue-swal vue-swal More Beautiful Alert

JS Style Guide

Strict to Google JS Style Guide: https://google.github.io/styleguide/jsguide.html with eslint.

About

KMITL Senior Project: VMware Private Cloud Management System

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages