This is the new version of the the Suse Studio command line client. Built as a part of GSOC 2011.
gem install ssc
-
Checkout the code
-
In the checked out directory do ‘rake install`
ssc checkout --appliance-id=N --password=PASSWORD --username=USERNAME --server=SUSE_STUDIO_SERVER # checkout the latest changes to an appliance ssc commit # commit changes to studio ssc status # show status of the appliance
ssc appliance # manage appliances
ssc appliance create APPLIANCE_NAME --password=PASSWORD --source-id=N --username=USERNAME --server=SUSE_STUDIO_SERVER # Create an appliance ssc appliance destroy # destroy the current appliance ssc appliance info # show details of a specific appliance ssc appliance list # list all appliances ssc appliance status # gives status of the appliance ssc appliance diff # get difference between RPMs installed on current machine and SUSE Studio software configuration
ssc package # manage packages
ssc package add NAME # add a package to the appliance ssc package ban NAM # ban a package from the appliance ssc package list [selected|installed] # list all selected or installed packages ssc package remove NAME # remove a package from the appliance ssc package search SEARCH_STRING # search available packages and patterns ssc package unban NAME # unban a package for the appliance
ssc repository # manage repositories
ssc repository add REPO_IDS # add existing repositories to the appliance ssc repository import URL NAME # import a 3rd party repository into appliance ssc repository list # list all repositories in a given appliance ssc repository remove REPO_IDS # remove existing repositories from appliance ssc repository search SEARCH_STRING # search all available repositories
ssc file # manage files
ssc file add PATH # create a new overlay file ssc file diff FILE_NAME # show the diff of the remote file and the local one ssc file list # show all overlay files ssc file remove FILE_NAME # removes existing overlay file ssc file show FILE_NAME # show the contents of the file
ssc build # manage builds
ssc build # build an appliance ssc list # list builds (running or completed) ssc status --build-id=N # find the build status of an appliance
ssc template # manage templates
ssc template list SET_NAME # show details of a particular template set ssc template list_sets # list all available template sets
ssc help [TASK] # Describe available tasks or one specific task
-
Creating and modifying a new appliance:
$ ssc appliance create web_server --source-id=SOURCE_APPLIANCE_ID --username=USERNAME --password=PASSWORD --server=SUSE_STUDIO_SERVER $ cd web_server $ ssc package list $ ssc package add apache $ ssc file add /etc/apache2/apache2.conf $ ssc commit
-
Checking out an existing appliance and starting a build
$ ssc checkout --appliance-id APPLIANCE_ID --username=USERNAME --password=PASSWORD --server=SUSE_STUDIO_SERVER $ cd APPLIANCE_NAME $ ssc build $ ssc build status
-
Performing appliance diff between deployed image and configuration in Studio; example assumes that ssc is running within a deployed appliance
$ ssc checkout --appliance-id=APPLIANCE_ID --username=USERNAME --password=PASSWORD --server=SUSE_STUDIO_SERVER $ zypper in PACKAGES # install or remove arbitrary package list $ ssc appliance diff # Show configuration difference between running appliance and configuration is Studio $ ssc commit # Commit changes back to Studio
-
Check out the latest master to make sure the feature hasn’t been implemented or the bug hasn’t been fixed yet
-
Check out the issue tracker to make sure someone already hasn’t requested it and/or contributed it
-
Fork the project
-
Start a feature/bugfix branch
-
Commit and push until you are happy with your contribution
-
Make sure to add tests for it. This is important so I don’t break it in a future version unintentionally.
-
Please try not to mess with the Rakefile, version, or history. If you want to have your own version, or is o 5EA7 therwise necessary, that is fine, but please isolate to its own commit so I can cherry-pick around it.