ssc
This is the new version of the the Suse Studio command line client. Built as a part of GSOC 2011.
Installing ssc
The easy way
gem install ssc
Straight from the code
-
Checkout the code
-
In the checked out directory do ‘rake install`
Using ssc
Command Listing
ssc checkout --appliance-id=N --password=PASSWORD --username=USERNAME # checkout the latest changes to an appliance
ssc commit --appliance-id=N --password=PASSWORD --username=USERNAME # commit changes to studio
ssc status --appliance-id=N --password=PASSWORD --username=USERNAME # show status of the appliance
ssc appliance # manage appliances
ssc appliance create APPLIANCE_NAME --password=PASSWORD --source-id=N --username=USERNAME # Create an appliance
ssc appliance destroy --appliance-id=N --password=PASSWORD --username=USERNAME # destroy the current appliance
ssc appliance info --appliance-id=N --password=PASSWORD --username=USERNAME # show details of a specific appliance
ssc appliance list --password=PASSWORD --username=USERNAME # list all appliances
ssc appliance status --appliance-id=N --password=PASSWORD --username=USERNAME # gives status of the appliance
ssc package # manage packages
ssc package add NAME --appliance-id=N --password=PASSWORD --username=USERNAME
# add a package to the appliance
ssc package ban NAME --appliance-id=N --password=PASSWORD --username=USERNAME
# ban a package from the appliance
ssc package list [selected|installed] --appliance-id=N --password=PASSWORD --username=USERNAME
# list all selected or installed packages
ssc package remove NAME --appliance-id=N --password=PASSWORD --username=USERNAME
# remove a package from the appliance
ssc package search SEARCH_STRING --appliance-id=N --password=PASSWORD --username=USERNAME
# search available packages and patterns
ssc package unban NAME --appliance-id=N --password=PASSWORD --username=USERNAME
# unban a package for the appliance
ssc repository # manage repositories
ssc repository add REPO_IDS --appliance-id=N --password=PASSWORD --username=USERNAME
# add existing repositories to the appliance
ssc repository import URL NAME --password=PASSWORD --username=USERNAME
# import a 3rd party repository into appliance
ssc repository list --appliance-id=N --password=PASSWORD --username=USERNAME
# list all repositories in a given appliance
ssc repository remove REPO_IDS --appliance-id=N --password=PASSWORD --username=USERNAME
# remove existing repositories from appliance
ssc repository search SEARCH_STRING --password=PASSWORD --username=USERNAME
# search all available repositories
ssc file # manage files
ssc file add PATH --appliance-id=N --password=PASSWORD --username=USERNAME # create a new overlay file
ssc file diff FILE_NAME --appliance-id=N --password=PASSWORD --username=USERNAME
# show the diff of the remote file and the local one
ssc file list --appliance-id=N --password=PASSWORD --username=USERNAME # show all overlay files
ssc file remove FILE_NAME --appliance-id=N --password=PASSWORD --username=USERNAME # removes existing overlay file
ssc file show FILE_NAME --appliance-id=N --password=PASSWORD --username=USERNAME # show the contents of the file
ssc build # manage builds
ssc build --appliance-id=N --password=PASSWORD --username=USERNAME # build an appliance
ssc list --appliance-id=N --password=PASSWORD --username=USERNAME # list builds (running or completed)
ssc status --build-id=N --password=PASSWORD --username=USERNAME # find the build status of an appliance
ssc template # manage templates
ssc template list SET_NAME --password=PASSWORD --username=USERNAME # show details of a particular template set
ssc template list_sets --password=PASSWORD --username=USERNAME # list all available template sets
ssc help [TASK] # Describe available tasks or one specific task
Examples
-
Creating and modifying a new appliance:
$ ssc appliance create web_server --source-id=SOURCE_APPLIANCE_ID --username=USERNAME --password=PASSWORD $ 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 59836 --username=USERNAME --password=PASSWORD $ cd APPLIANCE_NAME $ ssc build $ ssc build status
Contributing to ssc
-
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.