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 otherwise necessary, that is fine, but please isolate to its own commit so I can cherry-pick around it.