Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Want a basic repo system #4

Open
alexhudson opened this issue Sep 2, 2017 · 1 comment
Open

Want a basic repo system #4

alexhudson opened this issue Sep 2, 2017 · 1 comment
Assignees

Comments

@alexhudson
Copy link
Owner

As a developer, I would like to be able to share stow definitions so that other developers can easily discover and install commands I've created, so that I don't need to maintain separate documentation which will inevitably go out of date.

Ideally, this would function a bit like homebrew. E.g. I've created a command "files-push" which is used to put binary output into S3. I want to share "files-push" with others. I have a files-push.json document.

$ stowage repo-list
No repositories configured.
$ stowage repo-create shared-dev-tools
Repo 'shared-dev-tools' created.
$ stowage repo-list
shared-dev-tools  local
$ stowage repo-location shared-dev-tools
/usr/local/some/path/shared-dev-tools.json

.. will create a local "repository" file which is initially empty. I can then add my new command:

$ stowage repo-update shared-dev-tools ./files-push.json
Added new command: files-push

Initially, my stowage doesn't actually follow any repos until I create one, but I can also add a URI:

$ stowage repo-list
No repositories configured.
$ stowage repo-add http://example.com/stowage/my-repo
Repo 'my-repo' added.
$ stowage repo-list
my-repo http://example.com/stowage/my-repo

Either way, if I create or add a repo, I can do a very basic text search to find stuff, and then install it as I would expect:

$ stowage search files
shared-dev-tools:files-push    A basic system for pushing binaries to S3
$ stowage install shared-dev-tools:files-push
$ which files-push
/usr/local/bin/files-push
@alexhudson
Copy link
Owner Author

I've changed the repo creation part of this, adopting a scan-dir type approach like dpkg/rpm. This means you just need to stick the specifications into a directory, scan it to create a _stowage.json file, and the whole then can then be rsync'ed or something to a location that is convenient for serving.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant