#!/usr/bin/env ruby # # Keyringer secret management system. # # Copyright (C) 2011 Keyringer Development Team. # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the # License, or any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. # # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . # module Keyring class Repository def initialize @git = Backend::Git.new end # Check for a valid repository # TODO: check for repository version, .git # and configuration. def exists?(path) File.directory?(path) end def create(path, url = nil) keys_path = Keys.getPath(path) if !exists?(path) if url @git.clone(url, path) else @git.init(path) end end # Reparse basedir to force absolute folder path = Pathname.new(path).realpath # TODO: if needed: # create structure # recipients, options, version, keys # save user config # issue initial commit # set permissions end end end