Ecosyste.ms: OpenCollective

An open API service for software projects hosted on Open Collective.

github.com/getsolus/ferryd

Fast, safe and reliable transit for the delivery of software updates to users.
https://github.com/getsolus/ferryd

vendor: Sync again

Signed-off-by: Ikey Doherty <[email protected]>

6f356fb105d8b3cf0cf3cfc091c4e774fd82e4b1 authored over 7 years ago
vendor: Sync with latest upstream changes

Signed-off-by: Ikey Doherty <[email protected]>

644eaca453885c848c4bfc166c91b7c0a9babad0 authored over 7 years ago
cli: No need to use logrus in the frontend like that

Signed-off-by: Ikey Doherty <[email protected]>

eb4801fca2ee7b2107fe49a539c5c6a505e430c5 authored over 7 years ago
Greatly improve the error handling

This method now allows us to easily communicate back and forth with less
boiler plate, whilst lo...

a9806594d1923fad4fa4749950d7ed273e42aaaf authored over 7 years ago
Move slip code into daemon, has no place in the public API

Signed-off-by: Ikey Doherty <[email protected]>

ea5d7f8ead533efaf84c3c62b8dc4107a949634a authored over 7 years ago
Move GobTranscoder into reusable Ferry package

Signed-off-by: Ikey Doherty <[email protected]>

0d2e79812f311f6996f27e6b968f254d7bcaddf7 authored over 7 years ago
Move repo testing into /ferry directory

Signed-off-by: Ikey Doherty <[email protected]>

bd0e992fa9de4dde32d4240106f469003a7d57fc authored over 7 years ago
Add very basic CLI accessor to create a remote repository

Signed-off-by: Ikey Doherty <[email protected]>

1c1f59a51e2a4bd1329428d48599985c8ebcea63 authored over 7 years ago
daemon: Merge the subpackage server into the main package

To avoid spaghetti code we'll keep main in the same package, as it doesn't
really need to do any...

6c4d67580e0f47ab63dc6c2f17e42b554718d783 authored over 7 years ago
slip: Start adding the public API functions

This api.go entry point is the main manager wrapper functions that ferryd
will expose through ha...

f5a89c90e0a2c1dcbbd366c442542060200a6b80 authored over 7 years ago
slip: Add basic functions for the creation of repositories

Signed-off-by: Ikey Doherty <[email protected]>

55770f7b3db358c3fa585418201073157c023de7 authored over 7 years ago
slip: Add skeleton for the RepositoryManager

Unsurprisingly the RepositoryManager will be used for the maintainence
of repositories. Specific...

ded38cbb78df9fed6f0e8a0b3ee2739e981de1c4 authored over 7 years ago
slip: Fix inverted fatal logic in AddPackage

Signed-off-by: Ikey Doherty <[email protected]>

a0a85c86d22c16466526cdeac6874ba5c9b573ac authored over 7 years ago
util: Ensure CopyFile sets any file as 00644, avoiding umask buggery

Signed-off-by: Ikey Doherty <[email protected]>

cc94dfb63640fac059bb2415c5d2e34f7fc4f9b4 authored over 7 years ago
slip: Implement Ref/Unref/AddPackage routines

These methods form the very core part of ferryd, by allowing the storage
of eopkgs into a shared...

fc8b98dfbb47a1a86f34b24eb15217a05864f8c7 authored over 7 years ago
libeopkg: Move Path component method to the MetaPackage itself

This is needed so that we can access it again from the serialised object
in the pool.

Signed-of...

2813e29edbe83c6c4e390efe2909d58a55786704 authored over 7 years ago
slip: Add basic serialisation logic to the pool

The basic premise of the Pool is refcounting IDs, in effect its like a
disk-backed hashmap. Once...

d8e63ee4fbb8b6f8f2792cee76e2e6804fc141cd authored over 7 years ago
slip: Add a new reusable gob transcoder system

Much of the database interaction is going to require back and forth with
serialisation, and will...

0f1fe2918694d0c71684205e7d79d8a2d5ade71e authored over 7 years ago
slip: Fix the initialisation function name to match new components API

Signed-off-by: Ikey Doherty <[email protected]>

562682656cd223837e691277e1c3417e14163902 authored over 7 years ago
slip/pool: Add basic definition for the PoolEntry type

Signed-off-by: Ikey Doherty <[email protected]>

fa26b29672050684901a5f99745e5e0b83671cdc authored over 7 years ago
libeopkg: Add new function for getting the source path component

To help organisation within the repository, and indeed to help with the
time it takes to list a ...

fdec637e30558a201890fe40bb45d23233726b93 authored over 7 years ago
slip/pool: Remove unnecessary constructor

Signed-off-by: Ikey Doherty <[email protected]>

38861cdae99af81a14d24525e875a4f65d7b706a authored over 7 years ago
slip: Add a new Component interface for easy management

Instead of having lots of intertwined code for managing specifics of the
startup/teardown routin...

a1796e7373ce0f3cefb5bb5a89b4b0f630bb6619 authored over 7 years ago
slip: Share working directory assignments through a Context

The Context provides a minimal form of environment to ferryd, by sharing
the root directory and ...

d36dc3a70929cc9d8fd99d98eab9932c6f422d65 authored over 7 years ago
slip: Add stub methods for Ref/Unref

Signed-off-by: Ikey Doherty <[email protected]>

0508430735e2c802f190c1f083a0a6d521ba367f authored over 7 years ago
slip: Add skeleton for pool management

Signed-off-by: Ikey Doherty <[email protected]>

97b5fa121d9fcb58f056b15992f53d1803d38190 authored over 7 years ago
daemon: Hold a slip manager instance

The daemon will effectively be a large wrapper around the Slip Manager,
providing socket operati...

5291566dda8ddf6743ef55b1e6f696dd70dc86c0 authored over 7 years ago
slip: Add skeleton for Manager testing

Signed-off-by: Ikey Doherty <[email protected]>

3f942c2048e0c491afb42de7e6b4e7f585ac165b authored over 7 years ago
slip: Initialise all root-level buckets on initialisation

This is a very early assertion that our database is actually working,
and will lead to less comp...

b6a2695892be7f4f8215aa416714097d0b1969bd authored over 7 years ago
slip: Move manager into manager.go, add initial BoltDB setup

We'll follow a file namespacing approach to ferryd to make it easier
to manage, i.e. repos.go, p...

d3548830226143e573c4a59fdfe66c806fa17e8f authored over 7 years ago
ferry: Start a new subpackage for Slip management

In the ferryd architecture, packages are ferried to the Slip, which is
responsible for incoming ...

ebeb3f0795cb7bd619eabbf3c3d823402e72d279 authored over 7 years ago
cli: Remove 'version' string from the version command out

Signed-off-by: Ikey Doherty <[email protected]>

82d35b593678f46fac5f0af44b5f0c320e7bfd0f authored over 7 years ago
cli: Move version code into a new "version" subcommand

The new command will emit the local CLI version as well as the daemon
version, if it's running. ...

609c3cb4be78bf31d41eb35c7283d9f919c38458 authored over 7 years ago
daemon: Ensure fail to bind is actually fatal

Signed-off-by: Ikey Doherty <[email protected]>

f2a08a62d64129f2c798e97f84d74ae7af7a353f authored over 7 years ago
daemon: Split bind from serve routine

Ideally we want to know whether we had an issue binding vs an issue
with actually serving on the...

00f4600dd5be970d3e65b4f12389d704358a3d63 authored over 7 years ago
daemon: Use same output format as solbuild

Signed-off-by: Ikey Doherty <[email protected]>

9732b6401c68143c30add8229a2e2526162d91f3 authored over 7 years ago
daemon: Do not unnecessarily allocate heap stuff

Signed-off-by: Ikey Doherty <[email protected]>

c7a8fa09b10f69c8656309ea1bc75a7c8b394e8f authored over 7 years ago
ferry: Share VersionRequest type between daemon and client

This will ensure to keep consistency between both consumer and daemon
if we have to change any A...

7cdc63389e49af3c09c1684407ab85c997d1d8d7 authored over 7 years ago
daemon: Now JSON encode a Version response to the client

Signed-off-by: Ikey Doherty <[email protected]>

fd289e58cb8c4be87b1ae0e9f30c66e22077f631 authored over 7 years ago
ferry: Flesh out the GetVersion method

The GetVersion method has been fixed to use JSON decoding from the
local UNIX socket, which is a...

09c583049f8b442441d3732e2fdb4a64d94f7bec authored over 7 years ago
ferry: Unstutter the FerryClient name to meet Go requirements

Signed-off-by: Ikey Doherty <[email protected]>

1e2320bd88d519086ea1f79776ae2c8a2ba0656e authored over 7 years ago
cli: Add basic skeleton for the GetVersion API

This will just help set up the project structure for now until we
have some working bits in plac...

1a48814dcd5d20660f4acb7b8f4c560b067ac55c authored over 7 years ago
daemon: Integrate httprouter and serve a RESTful API

We now create a very basic API on the socket for a GetVersion request,
which will in time help u...

98ba03d6a239df073175db467145e1c0c860bc16 authored over 7 years ago
Vendor httprouter into the project

We'll be using this for simple API endpoint matching the daemon with
a high performance RESTful ...

bbf1a2f33176a492c7c14cdd768c5e232d10213a authored over 7 years ago
Ignore coverage files in working tree

Signed-off-by: Ikey Doherty <[email protected]>

4428f48e3b543f86da6f8798f73a3831d675161f authored over 7 years ago
Simplify the Makefile for tests/compliance

Signed-off-by: Ikey Doherty <[email protected]>

eda12d42324982cc45bc180769f1fb1b23db384b authored over 7 years ago
Completely re-namespace all of our bits

The main client library will simply be called "ferry", with the daemon and
CLI components approp...

ef2b744038f44cf1c32342536d34c605022601de authored over 7 years ago
Sync Makefile.gobuild with tooling-central

Signed-off-by: Ikey Doherty <[email protected]>

7154c2c12f04b5700800ff8ec518f9628718324c authored over 7 years ago
daemon: Hook logrus up for building

Signed-off-by: Ikey Doherty <[email protected]>

60771e6a2db0f6cd02f743c205e5d3bba44f0985 authored over 7 years ago
Vendor logrus for logging

We'll be using logrus for all daemon logging, eventually putting these
to logfiles, instead of s...

bad2ecd677c9078944b3d564ce6e3648cc4d6ede authored over 7 years ago
ferryc: Add a new Close method to the FerryClient

As we reuse keep-alive cached connections for queries to the daemon, we
also need an idiomatic c...

60be55d597531f6d7e140c85b371edeaccf5f482 authored over 7 years ago
ferryc: Set some expected sanity in the connection

This ensures that we can reuse connections efficiently, and that our
timeout values aren't too l...

331bf85b203f53f8d1cc132a99289d41ce5ce70c authored over 7 years ago
ferryc: Pass the address across to the anonymous function

Signed-off-by: Ikey Doherty <[email protected]>

ff215c338ee831ef4c3adedbdbe95cd2b94a73a8 authored over 7 years ago
Add start of the client implementation

Signed-off-by: Ikey Doherty <[email protected]>

fb657e208294381dd2a2aa341ff9493874402e95 authored over 7 years ago
server: Restrict permissions of the socket

This ensures that only the user that started the daemon can interact
with the socket, which is c...

55c6a577ecae3c8e874d29fca0d1ff0554ab63a7 authored over 7 years ago
server: Don't close socket a second time, Serve closes it always

Signed-off-by: Ikey Doherty <[email protected]>

47da8759a4b9fb6e427eae91605fbac7c3047693 authored over 7 years ago
server: Gracefully handle ctrl+c situations

Signed-off-by: Ikey Doherty <[email protected]>

335eb1a0eeaae41f3582ee345ca7ebc6e680bec6 authored over 7 years ago
Ensure we cleanly close down the server and connections

Signed-off-by: Ikey Doherty <[email protected]>

3f3c4fd28e29e2c75c25e298d0188f7f7fd3a137 authored over 7 years ago
Add very basic nasty unix socket daemon code

Signed-off-by: Ikey Doherty <[email protected]>

3ac0ea74df552c58ccd702e88ba90ced0cc3bd8d authored over 7 years ago
ferryd: Begin new daemon component

Signed-off-by: Ikey Doherty <[email protected]>

4a5c814bdcf71d47155621816bdddf2f586a4fad authored over 7 years ago
Rename the client component to "ferry"

Signed-off-by: Ikey Doherty <[email protected]>

351fa73a6936b0def50e12b3a47e1a5388db7665 authored over 7 years ago
Add note on gpg signing the transit manifest

Signed-off-by: Ikey Doherty <[email protected]>

d88d4b7cca44e080e6d7f82451ebb1ba3cdda11c authored over 7 years ago
Add endpoints, architecture, and filesystem layout

Signed-off-by: Ikey Doherty <[email protected]>

53ac6a5ae033bdd344a10838ca451fecdf8ca921 authored over 7 years ago
Start all schemas at 1.0

Signed-off-by: Ikey Doherty <[email protected]>

d79d0a39f58c20afa79f89e20b516e50e6800e39 authored over 7 years ago
Reduce lookups to use correct /pool bucket

Signed-off-by: Ikey Doherty <[email protected]>

a7351ff8782f0ebb82bdbabdb7d7784b8c16c50f authored over 7 years ago
Rename to ferryd

Signed-off-by: Ikey Doherty <[email protected]>

5d26c1da381d4c019ca7974733e68ecc1031424a authored over 7 years ago
Add some initial architectural notes

Signed-off-by: Ikey Doherty <[email protected]>

e01c9c3e82f1fb3d08e89ba766cf8c08b7661368 authored over 7 years ago
vendor: Resync with spf13

Signed-off-by: Ikey Doherty <[email protected]>

a8e0c0824397bc502d4288aa39429d368d9668a8 authored over 7 years ago
Add new dummy entry point (binman binary)

Signed-off-by: Ikey Doherty <[email protected]>

319c3b93945ed77a31bd3ee545bf9dbfd761185e authored almost 8 years ago
Update copyright year range

Signed-off-by: Ikey Doherty <[email protected]>

4e579173474bc527830d37623b4a804de80616a0 authored almost 8 years ago
Nuke old crap code and unvendor no longer needed bits

Signed-off-by: Ikey Doherty <[email protected]>

d7636fc8501641ba0e0779f1f50bc7b4eb6ba3fd authored almost 8 years ago
vendor: Sync cobra

Signed-off-by: Ikey Doherty <[email protected]>

17adf80657630da7c943c48c63b1a196fe1d0cf4 authored almost 8 years ago
libeopkg: Unblock test

Signed-off-by: Ikey Doherty <[email protected]>

9b8dfe5bce2c1e7e9bbba01b25912e6d462f4cc5 authored almost 8 years ago
vendor: Sync with upstreams

Signed-off-by: Ikey Doherty <[email protected]>

16699e3894d59a77def804cb096acaa8c888094c authored almost 8 years ago
Update gitignore for namespaced tree

Signed-off-by: Ikey Doherty <[email protected]>

abeaf745931e15304691d457bbe9cc890f4440ec authored about 8 years ago
manager: Namespace a root directory

Signed-off-by: Ikey Doherty <[email protected]>

13fc2dd11760a8d93f8357462dbc15a6b35c2dc5 authored about 8 years ago
Store pkg.ID, stop recalculating it all the time..

Signed-off-by: Ikey Doherty <[email protected]>

b7f8b2745f25101d8247dbbc4144fd87227a8736 authored about 8 years ago
add: Store a source -> PkgID mapping

This mapping will help us to identify commonality in packages, and
allow removing them all from ...

180c349fa40b22c5dce5915ec1bcfdb7942ecec2 authored about 8 years ago
repos: Also track a new nested bucket: Sources

The Sources bucket will contain a mapping of source name to package
ID, i.e. the basename of the...

a24d6a2c343ea21224e87357efd8c5f865181cb7 authored about 8 years ago
cmd/info: Match output of eopkg info with sizes and such

Signed-off-by: Ikey Doherty <[email protected]>

044948f1eb1a32e7ded2eb9936abc8f6e80a26c9 authored about 8 years ago
util: Add helper functions to determine human size of things

Signed-off-by: Ikey Doherty <[email protected]>

195508a99886316e31dc28b0e82bcf2d5cc46000 authored about 8 years ago
manager: Now store the packages into the repository

Signed-off-by: Ikey Doherty <[email protected]>

50325ded5bfbfa8c327bb74e53ecc7f0d52ab25b authored about 8 years ago
add: Garbage collect any failed uploads immediately

Signed-off-by: Ikey Doherty <[email protected]>

449936615a03d88e3edb6109ef445f3509dbd66e authored about 8 years ago
repos: Forbid creation of invalid named repositories

We want to ensure that our pathing doesn't become corrupted by the
name of the repository itself...

8106cdd4f1ab9951b84e9e61846d66e43e396c3b authored about 8 years ago
repos: Ensure we error out if adding bucket with existing name

Signed-off-by: Ikey Doherty <[email protected]>

f2b01941b389734192a4ffae32e9673ee4d8ef99 authored about 8 years ago
repos: Always delete our owned buckets when we're removed

Signed-off-by: Ikey Doherty <[email protected]>

62e4b6c6c6263dd5024eb179d5b5d05da61c8ff9 authored about 8 years ago
repos: Namespace a bucket to reserve package mappings

This package mapping will be of ID->source, and allow additions/removals
from the repository in ...

f2fa4a7e2bb5e3c7b1f714c3c78f0e051df5187d authored about 8 years ago
pool: Remove orphan directories that are package's parents

This routine will try to delete the 2 directories above the original
package file, if they are e...

2fe64c30042250e7a121ce43d3395f5f43cefbce authored about 8 years ago
manager: Check blob length, not if its nil

Signed-off-by: Ikey Doherty <[email protected]>

3f225f4d35ff8f2ef2c34a7df3517f682628c116 authored about 8 years ago
pool: Implement UnrefPackage routine

After any given package is removed from a repository, we then ask the
pool to unref the asset. S...

ee997ae1092c84a83c61ab856952206b3fc725d5 authored about 8 years ago
manager: Swap JSON for GOB

According to recent benchmarks, gob is a faster format now than using
JSON. It also packs better...

623fdedbb764ad594ef3fa337e5c84c3c92504b7 authored about 8 years ago
manager: Hardlink the pool path to the target

Once we've moved the ref'd asset into place, we simply hard link the
source path into the target...

d8da8143d88c638e32845cbe4208322f74c0ab45 authored about 8 years ago
manager: Add skeletal addPackageToRepo function

This function will be used after ref'ing a pool asset to insert a package
into a repository tree...

bb12bed0c930e3f779d0a22d513c54775a9447d3 authored about 8 years ago
add: Do not add to a repository that doesn't exist

Signed-off-by: Ikey Doherty <[email protected]>

3ea5fcd84cbef27733234c4a531d73ed08ea7b13 authored about 8 years ago
repos: Add an accessor method to find the named repository

Signed-off-by: Ikey Doherty <[email protected]>

34605a90c9c1b5fef4a376dfa449a2c4478f6bd1 authored about 8 years ago
pool: Use a rename, it's faster

Even if the file is still open, it doesn't matter, the old file descriptor
is still valid. At th...

7d4cc53e63894196925dac97ca52f17fa124839a authored about 8 years ago
pool: Make pooling actually work.

Signed-off-by: Ikey Doherty <[email protected]>

8fb3f7b66a5347b0d6321e56c9c9e4fb4a92ebcb authored about 8 years ago
add: Put in some probably broken test code

Signed-off-by: Ikey Doherty <[email protected]>

664c984bf1ce7d2481e02d28fb9b897edf275155 authored about 8 years ago
Add skeletal Add command

The Add comment will allow us to flesh out the real internals of storing
eopkgs into the reposit...

910ce2119544d805d2d835cbb8bc3b2b6f1ce79c authored about 8 years ago
pool: Add some debug statements to help us build this

Signed-off-by: Ikey Doherty <[email protected]>

798f6b06a45f67485c156c93217d0ea83ad842ae authored about 8 years ago