Project Kebe is the open-source Snap Store implementation.

Introduction

Kebe intends to be a full replacement for the Snap Store.

Quickstart

Once you have an environment setup (for instance using https://github.com/freetocompute/kebe-helm) then you are ready to initialize your store.

Run:

go run bin/admin/main.go store -s <database ip> -p <database port> -d <database name> 
-x <database password> -u <database user> -m <minio host> -a <minio access key> -k <minio secret key>
initialize

You can also use go run bin/admin/main.go store --help for more details.

If you've previously initialized your store, you will need to use destroy before you can do it again.

Once you've done that you can browse to your assertions http://cluster-address:30900/minio/root. These will be used in your patched snapd.

Development

task build-push-redeploy

Requirements

Struct Generation From Schemas

Uses https://github.com/a-h/generate

go get -u github.com/a-h/generate/...

Currently requires manual fix-up after generation due to tool bugs.

Based on the PR here some required fields in the schema were removed to only require what Snapcraft currently cares about.

Similar Resources

Open Source Continuous File Synchronization

Open Source Continuous File Synchronization

Goals Syncthing is a continuous file synchronization program. It synchronizes files between two or more computers. We strive to fulfill the goals belo

Dec 31, 2022

Squzy - is a high-performance open-source monitoring, incident and alert system written in Golang with Bazel and love.

Squzy - opensource monitoring, incident and alerting system About Squzy - is a high-performance open-source monitoring and alerting system written in

Dec 12, 2022

CDN for Open Source, Non-commercial CDN management

CDN for Open Source, Non-commercial CDN management

CDN Control Official Website: https://cluckcdn.buzz Documentation (Traditional Chinese): https://cluckcdn.buzz/docs/ 简体中文 README: README_CN.md Please

Dec 20, 2021

mysshw - a free and open source ssh cli client soft.

mysshw install go version = 1.16.* use go get go get -u github.com/cnphpbb/mysshw go version = 1.17.* use go install go install github.com/cnphpbb/

Dec 16, 2021

Hybridnet is an open source container networking solution, integrated with Kubernetes and used officially by following well-known PaaS platforms

Hybridnet What is Hybridnet? Hybridnet is an open source container networking solution, integrated with Kubernetes and used officially by following we

Jan 4, 2023

Openp2p - an open source, free, and lightweight P2P sharing network

Openp2p - an open source, free, and lightweight P2P sharing network

It is an open source, free, and lightweight P2P sharing network. As long as any device joins in, you can access them anywhere

Dec 31, 2022

Scout is a standalone open source software solution for DIY video security.

Scout is a standalone open source software solution for DIY video security.

scout Scout is a standalone open source software solution for DIY video security. https://www.jonoton-innovation.com Features No monthly fees! Easy In

Oct 25, 2022

NebulaChat - Open source mtproto server written in golang

 NebulaChat - Open source mtproto server written in golang

NebulaChat - Open source mtproto server written in golang open source mtproto server implemented in golang with compatible telegram client. Introduce

Jan 5, 2023
Comments
  • missing apiobjects on main branch

    missing apiobjects on main branch

    Hi there,

    I run into the below error message when I tried to start the service. It seems the folder is not in this repo.

    $ go run bin/admin/main.go store -s xxx -p xxx -d xxx -x xxx -u xxx -m xxx -a xxx -k xxx initialize
    cmd/admin/accounts/accounts.go:7:2: no required module provides package github.com/freetocompute/kebe/pkg/kebe/apiobjects; to add it:
    	go get github.com/freetocompute/kebe/pkg/kebe/apiobjects
    

    Thanks!

  • Refactor to introduce Repositories (Snaps & Accounts) and Handlers for REST API services (Store, Dashboard)

    Refactor to introduce Repositories (Snaps & Accounts) and Handlers for REST API services (Store, Dashboard)

    This is the first major refactor of the code base since establishing some basic functionality that allows for self-hosting a store, registering snaps, uploading, installing, etc.

    This takes out the direct dependency of the database object (and some other things) to the services that run for the REST API.

    This should make it easier to add unit tests and add new functionality without breaking existing functionality.

  • How to point local snapd to Kebe cluster

    How to point local snapd to Kebe cluster

    Hi Tim

    I think I've successfully deployed a Kebe cluster using kebe-helm.

    $ helm install my-kebe-cluster .
    NAME: my-kebe-cluster
    LAST DEPLOYED: Mon Aug  2 19:55:04 2021
    NAMESPACE: default
    STATUS: deployed
    REVISION: 1
    TEST SUITE: None
    $ kubectl get pods
    NAME                             READY   STATUS    RESTARTS   AGE
    postgres-store-b87f5bff9-62v5t   1/1     Running   0          12s
    kebe-store-5fd5667555-ctt9n      1/1     Running   0          12s
    pgadmin-d89bf9b85-php2p          1/1     Running   0          12s
    minio-567c8d6575-5n79v           1/1     Running   0          12s
    

    It's not entirely clear to me how I can point snapd to this cluster. Do I need to recompile the snapd repo from this organization? Do I need to set some environment variables? If you point me in the right direction, I might be able to contribute full docs to this project.

Related tags
Magma is an open-source software platform that gives network operators an open, flexible and extendable mobile core network solution.
Magma is an open-source software platform that gives network operators an open, flexible and extendable mobile core network solution.

Connecting the Next Billion People Magma is an open-source software platform that gives network operators an open, flexible and extendable mobile core

Dec 31, 2022
gRelay is an open source project written in Go that provides the circuit break pattern with a relay idea behind.
gRelay is an open source project written in Go that provides the circuit break pattern with a relay idea behind.

gRELAY gRelay is an open source project written in Go that provides: Circuit Break ✔️ Circuit Break + Relay ✔️ Concurrecny Safe ✔️ Getting start Insta

Sep 30, 2022
Headscale - An open source, self-hosted implementation of the Tailscale control server

Headscale - An open source, self-hosted implementation of the Tailscale control server

Dec 29, 2022
Apache Traffic Control is an Open Source implementation of a Content Delivery Network

Apache Traffic Control Apache Traffic Control is an Open Source implementation of a Content Delivery Network. Documentation Intro CDN Basics Traffic C

Jan 6, 2023
An open source Pusher server implementation compatible with Pusher client libraries written in Go

Try browsing the code on Sourcegraph! IPÊ An open source Pusher server implementation compatible with Pusher client libraries written in Go. Why I wro

Aug 27, 2022
Backend implementation using go, proto3 and gRPC for a mock online store

Backend implementation using go, proto3 and gRPC for a mock online store Ricardo RICO URIBE Tasks I - Order service The current system exposes a produ

Oct 10, 2021
Consul K/V Store Implementation For Go
Consul K/V Store Implementation For Go

Consul K/V Store Implementation For Go Enables Consul to be used as a configuration source in go applications Dynamic Configuration with Consul's Key/

Jun 7, 2022
Open Source HTTP Reverse Proxy Cache and Time Series Dashboard Accelerator
Open Source HTTP Reverse Proxy Cache and Time Series Dashboard Accelerator

Trickster is an HTTP reverse proxy/cache for http applications and a dashboard query accelerator for time series databases. Learn more below, and chec

Jan 2, 2023
Open source 5G core network base on 3GPP R15
Open source 5G core network base on 3GPP R15

What is free5GC The free5GC is an open-source project for 5th generation (5G) mobile core networks. The ultimate goal of this project is to implement

Jan 4, 2023