diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index e3090696f02..dd1648f21c0 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -94,43 +94,6 @@ jobs: working-directory: interop/packages/interop env: KUBO_BINARY: ${{ github.workspace }}/cmd/ipfs/ipfs - go-ipfs-api: - needs: [interop-prep] - runs-on: ubuntu-latest - timeout-minutes: 5 - env: - TEST_DOCKER: 0 - TEST_FUSE: 0 - TEST_VERBOSE: 1 - TRAVIS: 1 - GIT_PAGER: cat - IPFS_CHECK_RCMGR_DEFAULTS: 1 - defaults: - run: - shell: bash - steps: - - uses: actions/setup-go@v4 - with: - go-version: ${{ env.GO_VERSION }} - - uses: actions/download-artifact@v3 - with: - name: kubo - path: cmd/ipfs - - run: chmod +x cmd/ipfs/ipfs - - uses: actions/checkout@v4 - with: - repository: ipfs/go-ipfs-api - path: go-ipfs-api - - run: cmd/ipfs/ipfs daemon --init --enable-namesys-pubsub & - - run: | - while ! cmd/ipfs/ipfs id --api=/ip4/127.0.0.1/tcp/5001 2>/dev/null; do - sleep 1 - done - timeout-minutes: 5 - - run: go test -count=1 -v ./... - working-directory: go-ipfs-api - - run: cmd/ipfs/ipfs shutdown - if: always() ipfs-webui: needs: [interop-prep] runs-on: ${{ fromJSON(github.repository == 'ipfs/kubo' && '["self-hosted", "linux", "x64", "2xlarge"]' || '"ubuntu-latest"') }} diff --git a/core/coreapi/coreapi.go b/core/coreapi/coreapi.go index 5a7e321a9c6..81d05b58d49 100644 --- a/core/coreapi/coreapi.go +++ b/core/coreapi/coreapi.go @@ -1,15 +1,12 @@ /* +**NOTE: this package is experimental.** + Package coreapi provides direct access to the core commands in IPFS. If you are embedding IPFS directly in your Go program, this package is the public interface you should use to read and write files or otherwise control IPFS. -If you are running IPFS as a separate process, you should use `go-ipfs-api` to -work with it via HTTP. As we finalize the interfaces here, `go-ipfs-api` will -transparently adopt them so you can use the same code with either package. - -**NOTE: this package is experimental.** `go-ipfs` has mainly been developed -as a standalone application and library-style use of this package is still new. -Interfaces here aren't yet completely stable. +If you are running IPFS as a separate process, you should use `client/rpc` to +work with it via HTTP. */ package coreapi diff --git a/docs/http-rpc-clients.md b/docs/http-rpc-clients.md index 0b4baa1b0d1..74094a4ca63 100644 --- a/docs/http-rpc-clients.md +++ b/docs/http-rpc-clients.md @@ -2,12 +2,6 @@ Kubo provides official HTTP RPC (`/api/v0`) clients for selected languages: -- [`js-kubo-rpc-client`](https://github.com/ipfs/js-kubo-rpc-client) - Official JS client for talking to Kubo RPC over HTTP -- [`go-ipfs-api`](https://github.com/ipfs/go-ipfs-api) - The go interface to ipfs's HTTP RPC - Follow https://github.com/ipfs/kubo/issues/9124 for coming changes. -- [`httpapi`](./client/rpc) (previously `go-ipfs-http-client`) - [`coreiface.CoreAPI`](https://pkg.go.dev/github.com/ipfs/boxo/coreiface#CoreAPI) implementation using HTTP RPC - -## Recommended clients - | Language | Package Name | Github Repository | |:--------:|:-------------------:|--------------------------------------------| | JS | kubo-rpc-client | https://github.com/ipfs/js-kubo-rpc-client | diff --git a/package-list.json b/package-list.json deleted file mode 100644 index 7dfc5648cf0..00000000000 --- a/package-list.json +++ /dev/null @@ -1,73 +0,0 @@ -{ - "columns": [ - "Name", - "CI/Travis", - "Coverage", - "Description" - ], - "rows": [ - "Libp2p", - ["libp2p/go-libp2p", "go-libp2p", "p2p networking library"], - ["libp2p/go-libp2p-pubsub", "go-libp2p-pubsub", "pubsub built on libp2p"], - ["libp2p/go-libp2p-kad-dht", "go-libp2p-kad-dht", "dht-backed router"], - ["libp2p/go-libp2p-pubsub-router", "go-libp2p-pubsub-router", "pubsub-backed router"], - - "Multiformats", - ["ipfs/go-cid", "go-cid", "CID implementation"], - ["multiformats/go-multiaddr", "go-multiaddr", "multiaddr implementation"], - ["multiformats/go-multihash", "go-multihash", "multihash implementation"], - ["multiformats/go-multibase", "go-multibase", "mulitbase implementation"], - - "Files", - ["ipfs/go-unixfs", "go-unixfs", "the core 'filesystem' logic"], - ["ipfs/go-mfs", "go-mfs", "a mutable filesystem editor for unixfs"], - ["ipfs/go-ipfs-posinfo", "go-ipfs-posinfo", "helper datatypes for the filestore"], - ["ipfs/go-ipfs-chunker", "go-ipfs-chunker", "file chunkers"], - - "Exchange", - ["ipfs/go-ipfs-exchange-interface", "go-ipfs-exchange-interface", "exchange service interface"], - ["ipfs/go-ipfs-exchange-offline", "go-ipfs-exchange-offline", "(dummy) offline implementation of the exchange service"], - ["ipfs/go-bitswap", "go-bitswap", "bitswap protocol implementation"], - ["ipfs/go-blockservice", "go-blockservice", "service that plugs a blockstore and an exchange together"], - - "Datastores", - ["ipfs/go-datastore", "go-datastore", "datastore interfaces, adapters, and basic implementations"], - ["ipfs/go-ipfs-ds-help", "go-ipfs-ds-help", "datastore utility functions"], - ["ipfs/go-ds-flatfs", "go-ds-flatfs", "a filesystem-based datastore"], - ["ipfs/go-ds-measure", "go-ds-measure", "a metric-collecting database adapter"], - ["ipfs/go-ds-leveldb", "go-ds-leveldb", "a leveldb based datastore"], - ["ipfs/go-ds-badger", "go-ds-badger", "a badgerdb based datastore"], - - "Namesys", - ["ipfs/go-ipns", "go-ipns", "IPNS datastructures and validation logic"], - - "Repo", - ["ipfs/go-fs-lock", "go-fs-lock", "lockfile management functions"], - ["ipfs/fs-repo-migrations", "fs-repo-migrations", "repo migrations"], - - "IPLD", - ["ipfs/go-block-format", "go-block-format", "block interfaces and implementations"], - ["ipfs/go-ipfs-blockstore", "go-ipfs-blockstore", "blockstore interfaces and implementations"], - ["ipfs/go-ipld-format", "go-ipld-format", "IPLD interfaces"], - ["ipfs/go-ipld-cbor", "go-ipld-cbor", "IPLD-CBOR implementation"], - ["ipfs/go-ipld-git", "go-ipld-git", "IPLD-Git implementation"], - ["ipfs/go-merkledag", "go-merkledag", "IPLD-Merkledag implementation (and then some)"], - - "Commands", - ["ipfs/go-ipfs-cmds", "go-ipfs-cmds", "CLI & HTTP commands library"], - ["ipfs/go-ipfs-files", "go-ipfs-files", "CLI & HTTP commands library"], - ["ipfs/go-ipfs-api", "go-ipfs-api", "an old, stable shell for the IPFS HTTP API"], - ["ipfs/go-ipfs-http-client", "go-ipfs-http-client", "a new, unstable shell for the IPFS HTTP API"], - ["ipfs/interface-go-ipfs-core", "interface-go-ipfs-core", "core go-ipfs API interface definitions"], - - "Metrics & Logging", - ["ipfs/go-metrics-interface", "go-metrics-interface", "metrics collection interfaces"], - ["ipfs/go-metrics-prometheus", "go-metrics-prometheus", "prometheus-backed metrics collector"], - ["ipfs/go-log", "go-log", "logging framework"], - - "Generics/Utils", - ["ipfs/go-ipfs-routing", "go-ipfs-routing", "routing (content, peer, value) helpers"], - ["ipfs/go-ipfs-util", "go-ipfs-util", "the kitchen sink"], - ["ipfs/go-ipfs-addr", "go-ipfs-addr", "utility functions for parsing IPFS multiaddrs"] - ] -}