Enhancing Cloud Foundry with CLI Plugins

Slides:



Advertisements
Similar presentations
Openshift Jason Shepherd Middleware Support Engineer, Red Hat August 15, 2012.
Advertisements

Faith Allington Program Manager Microsoft Corporation WSV322.
Web Toolkit Julie George & Ronald Lopez 1. Requirements  Java SDK version 1.5 or later  Apache Ant is also necessary to run command line arguments 
Ravi Mathur Updated December 5,  ODTBX uses Git (see the ODTBX Git Tutorial) ODTBXODTBX Git Tutorial ◦ SourceForge account needed (free). SourceForge.
1. What is Subversion? Why do we need CM? Basic concepts Repositories Options Setup Clients Options Setup Operation Troubleshooting Slide 2.
Presented by IBM developer Works ibm.com/developerworks/ 2006 January – April © 2006 IBM Corporation. Making the most of Creating Eclipse plug-ins.
Firefox 2 Feature Proposal: Remote User Profiles TeamOne August 3, 2007 TeamOne August 3, 2007.
MCTS Guide to Microsoft Windows Server 2008 Network Infrastructure Configuration Chapter 8 Introduction to Printers in a Windows Server 2008 Network.
Enhancing open-source localization By Farzana Forhad Farzana Forhad May 20, 2010 Advisor: Dr. Chris Pollett Committee members: Dr. Robert Chun & Professor.
Project Implementation for COSC 5050 Distributed Database Applications Lab1.
Understanding and Managing WebSphere V5
Google App Engine Google APIs OAuth Facebook Graph API
Introduction to Git and Github Joshua imtraum.com.
Erlware For Managing Distribution and Build Erlang User Conference 2007.
Crystal Hoyer Program Manager IIS Team Preview of features that will be announced at MIX09 Please do not blog, take pictures or video of session.
Maven & Bamboo CONTINUOUS INTEGRATION. QA in a large organization In a large organization that manages over 100 applications and over 20 developers, implementing.
Customized cloud platform for computing on your terms !
London April 2005 London April 2005 Creating Eyeblaster Ads The Rich Media Platform The Rich Media Platform Eyeblaster.
London April 2005 London April 2005 Creating Eyeblaster Ads The Rich Media Platform The Rich Media Platform Eyeblaster.
Model a Container Runtime environment on Your Mac with VMware AppCatalyst VMworld Fabio Rapposelli
Version control Using Git Version control, using Git1.
ITEC 370 Lecture 16 Implementation. Review Questions? Design document on F, feedback tomorrow Midterm on F Implementation –Management (MMM) –Team roles.
SharePoint 2010 Search Architecture The Connector Framework Enhancing the Search User Interface Creating Custom Ranking Models.
Contents 1.Introduction, architecture 2.Live demonstration 3.Extensibility.
Vagrant workflow Jul. 15, 2014.
Team 708 – Hardwired Fusion Created by Nam Tran 2014.
Kako razvijate PL/SQL pakete? File based PL/SQL development Mitja Golouh SIOUG 2006,
Plugin management in Geronimo admin console
Wordpress with Mina Automated Deployment Solution Jonathan Gravato DIG 4104c.
EXPOSING OVS STATISTICS FOR Q UANTUM USERS Tomer Shani Advanced Topics in Storage Systems Spring 2013.
Portal Update Plan Ashok Adiga (512)
© 2008 by Shawn Spiars; made available under the EPL v1.0 | March 17, 2008 Case Study – Phurnace Software and RCP Shawn Spiars Lead UI Developer Phurnace.
SPI NIGHTLIES Alex Hodgkins. SPI nightlies  Build and test various software projects each night  Provide a nightlies summary page that displays all.
Introduction to Git Yonglei Tao GVSU. Version Control Systems  Also known as Source Code Management systems  Increase your productivity by allowing.
INFSO-RI Enabling Grids for E-sciencE Ganga 4 Technical Overview Jakub T. Moscicki, CERN.
EGEE-III INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks Towards an Information System Product Team.
Project Cumulus Overview March 15, End Goal Unified Public & Private PaaS for GlassFish/Java EE Simplify deployment of Java EE Apps on top of.
SoftUpdate New features and management technique.
Linux Kernel Security (SELinux vs AppArmor vs Grsecurity)
XNAT 1.7: Getting Started 6 June, Introduction In this presentation we’ll discuss:  Features and functions in XNAT 1.7  Requirements  Installing.
April 1st, 2009 Cobbler Provisioning Made Easy Jasper Capel.
Building ARM IaaS Application Environment
Containers as a Service with Docker to Extend an Open Platform
Deployment Architectures For Containers
Abstract After a SIG has been approved, one of the next steps is to get products out to users. During this talk, Niels will explain how the Storage SIG.
Make your app a native part of Office with Add-ins
WWU Hackathon May 6 & 7.
Version Control with Subversion
Introduction to the Application Hosting Environment
Deploy, Manage, and Scale Your Apps with OpsWorks, Elastic Beanstalk, and CodeDeploy Part 1 – Elastic Beanstalk © 2017 Amazon Web Services, Inc. and.
State of Testing Jason Kenny – ATS committer.
Demo : Introduction to BlueMix Sandhya Kapoor May 28, 2014
Version control, using Git
ТУЕС - Дипломни работи в САП Лабс
Distributed Tracing Of Microservices
Maintaining software solutions
Release Presentation – January 2017
Build Better Apps with MEAN.
Migrating Oracle Forms Using Oracle Application Express
SQL Server 2005 Installation
Dev Test on Windows Azure Solution in a Box
Module 01 ETICS Overview ETICS Online Tutorials
Git CS Fall 2018.
MULTILINGUAL USER INTERFACE
Microsoft Build /8/2019 6:29 AM © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY,
Configuration management suite
Dreaming up a CMS in Go (golang)
PyWBEM Python WBEM Client: Overview #2
Windows Forms in Visual Studio 2005: An Overview
Presentation transcript:

Enhancing Cloud Foundry with CLI Plugins Jonathan Berkhahn, IBM @jberkhahn Simon Leung, IBM @_simonleung

What are Cloud Foundry CLI Plugins? An extensible framework to add novel functionality and value to the Cloud Foundry Command Line Interface Allow CF users, developers, admins to add new commands Arbitrary functionality; interact with CF or infrastructure on top Plugin framework for interaction between plugin and CLI Golang Binary Implements the CLI plugin interface Documentation and examples available at github.com/cloudfoundry/cli/plugin_examples

What can CLI Plugins be used for? Users interacting with apps Managing app deployment, i.e. blue-green deploy Interacting with apps directly Admins interacting with CF deployments Updating configuration of CF resources Developers testing new CF features Testbed for up and coming new features Development tools for ease of use

Plugin Use Case: CF Stack-Changer Lucid version of Ubuntu being sunset Many container backends running on CF use Lucid Every running app on a Cloud Foundry needs to be switched Without Plugins Switch every app manually Writing a script isn’t much better Heavy-duty scripting to hit all the apps under all the orgs on an entire Cloud Foundry Script has to be distributed to multiple possible environments

CF Stack-Changer

Plugin Use Case: V3_Beta Version 3 of the CF API being rolled out experimentally New endpoints, abstractions for pushing, listing apps Volatile API as development continues 3 Without Plugins Write curl requests manually Hard to keep up with evolving API

V3_Beta Easier than manually writing curl requests Easier to distribute than scripts Easy to update the plugin when the API changes

Distributing CLI Plugins

How would users discover and install my plugins? Distributing? How would users discover and install my plugins?

Problem: Hassle to download Discovering the plugin Binary file Problem: Hassle to download Discovering the plugin > cf install-plugin <PLUGIN_BINARY>

Problem: Discovering the plugin From URL Problem: Discovering the plugin > cf install-plugin <URL_TO_PLUGIN>

Plugin Repository Find and install plugins with only 2 commands! cf repo-plugins cf install-plugin

What is a plugin repository? A server that CLI interact with to browse and install plugins Multiple repos can be tracked.

2 repositories being tracked by CLI

What is a plugin repository? A server that CLI interact with to browse and install plugins Multiple repos can be tracked. Anyone can host a plugin repo.

Clone and start hosting your own repository http://github.com/cloudfoundry-incubator/cli-plugin-repo

Run repo and add URL to CLI

What is a plugin repository? A server the CLI interact with to browse and install plugins Multiple repos can be tracked. Anyone can host a plugin repo. Users find/install plugin without leaving CLI

Install plugin directly from repository

Bonus: Creating a plugin

Plugin Minimum Implementation GetMetadata() Meta data for all commands in the plugin Run() Entry point for plugin main function main() bootstrapping the plugin object `plugin.Start(OBJECT)` Show code

Run() GetMetadata() Main()

Questions?

Plugin Examples https://github.com/cloudfoundry/cli/tree/master/plugin_examples https://github.com/simonleung8/cli-plugin-examples