Here's some of the commands the client would have. I had a look at osc and the Studio API in coming up with this. Let me know what you think.
Templates: template list
Appliances: appliance list appliance status <id> appliance create [--clone_from=appliance_name --arch=x86_64/i686] [name] # Creates a local directory with a manifest that stores apppliance id and other changes that have been made locally and not committed appliance delete <id>
Repositories: repository list <search_string> --base-system= repository add <name> <url> repository remove <id>
Packages(Software): package list # lists all repositories in the current appliance with the appliance ID from the manifest file. package add <name> --version --repository-id package remove <name> package search <search string> --all-fields --all-repos
Files: file list file add [local_path|url] [remote_path] --owner=user --group=user --permissions=-rwxr-xr-x # copies the file to the appliance directory for future edits and for comparing against the file on the server file diff [path] file update [path] # update the local file with corresponding file on the server file remove [path]
Builds: build list [running|finished] build status <id> build start build cancel <id> build delete <id>
General Commands:
commit [files|packages|repositories|all] [--cherry-pick] # The cherry pick option gives you more control over what changes you're pushing to server. checkout # update the local files packages and repository from the server status # show changes in packages/files/repos waiting for commit
All PUT, POST and DELETE requests are not done until the commit command is run. I think the existing client has to be mostly rewritten. Some of the required gems are not actively maintained and don't work under Ruby 1.9(xml-smart). We can use thor to handle the command line option parsing. And the studio_api gem to handle the requests.
On Tue, Mar 22, 2011 at 10:56 PM, Cornelius Schumacher cschum@suse.de wrote:
On Tuesday 22 March 2011 14:19:27 Ratan Sebastian wrote:
I'd like to work on the improvement of the Suse Studio command line client(ssc) idea for GSOC this year. I've gone through the current ssc code but found no documentation on it. Is there someone here I can talk to who has worked on it and would know what is lacking. It would help me formulate a detailed project proposal.
You can find more information here: http://en.opensuse.org/openSUSE:SUSE_Studio_command_line_client
You can also join us on IRC in the #susestudio channel, or use the mailing list studio-users@suse.de to reach the team and the community.
As I see it I'd first write a wrapper for the suse studio api(http://susestudio.com/help/api/v1) and a command like client to use the wrapper. It would be a good idea to separate the two so that the wrapper can be used programatically as well.
There already is a library to access the Studio API at https://github.com/jreidinger/studio_api.
-- Cornelius Schumacher cschum@suse.de -- To unsubscribe, e-mail: opensuse-project+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-project+help@opensuse.org