Skip to content

Self service user interface for starting and stopping VMs on demand

License

Notifications You must be signed in to change notification settings

JClarke90/AzStartStop

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Az. Start Stop

Az. Start Stop provides a simple interface to define schedules for stopping and starting your Virtual Machines, helping you reduce your compute cost.

Try it out here!

This solution has been created to address the following key requirements

  • User interface to enable your teams to self-manage their compute cost
  • Install and managed completely within your own Azure tenancy

Example image of Azure Start Stop User Interface

Deployment

Azure (Public)

Deploy to Azure

After installation you'll need to provide VM Contributor and Cost Management Reader permissions to the User Assigned Managed Identity created during deployment.

License

This project is licensed under MIT

Contributor Notes

# Rebuild frontend styles
cd styles
npm install
npm run css-build

# Run the frontend
cd frontend
npm run serve

# Run function app
npm install -g azurite
azurite -l /tmp/azurite
func start

# Needed if you want to try out commands from the Azure Portal
az functionapp cors add --name compactcloud-startstop-1 --resource-group compactcloud-startstoptestdeploy --allowed-origins https://portal.azure.com

### How to create a new build
# Build the frontend content
# Note there seems to be an issue building with npm 9.8.0, node v20.5.1,
# I've been building using v18.7.1
npm run build
# We have to do this to bundle the front-end with the function app
copy frontend/dist app/dist
# Carry out the build locally creating a full .squashfs build of the app
func azure functionapp publish compactcloud-example-deploy --build local --build-native-deps

About

Self service user interface for starting and stopping VMs on demand

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • CSS 80.5%
  • Vue 9.3%
  • Python 8.7%
  • Other 1.5%