This service provides IPFS uploading functionality
git clone github.com/rarimo/ipfs-svc
cd ipfs-svc
go build main.go
export KV_VIPER_FILE=./config.yaml
./main run service
We do use openapi:json standard for API. We use swagger for documenting our API.
To open online documentation, go to swagger editor here is how you can start it
cd docs
npm install
npm start
To build documentation use npm run build
command,
that will create open-api documentation in web_deploy
folder.
To generate resources for Go models run ./generate.sh
script in root folder.
use ./generate.sh --help
to see all available options.
Note: if you are using Gitlab for building project docs/spec/paths
folder must not be
empty, otherwise only Build and Publish
job will be passed.
Make sure that docker installed.
use docker run
with -p 8080:80
to expose port 80 to 8080
docker build -t github.com/rarimo/ipfs-svc .
docker run -e KV_VIPER_FILE=/config.yaml github.com/rarimo/ipfs-svc
- Set up environment value with config file path
KV_VIPER_FILE=./config.yaml
- Provide valid config file
- Launch the service with
run service
command
- Install IPFS:
# MacOS
brew install ipfs
# Linux
wget https://dist.ipfs.tech/kubo/v0.22.0/kubo_v0.22.0_linux-amd64.tar.gz
tar -xvzf kubo_v0.22.0_linux-amd64.tar.gz
cd kubo
sudo bash install.sh
- Initialize and start IPFS:
ipfs init
ipfs daemon
- Upload endpoint:
curl -X POST \
http://localhost:8000/integrations/ipfs-svc/v1/public/upload \
-H 'Content-Type: application/vnd.api+json' \
-d '{
"data": {
"type": "upload_json",
"attributes": {
"metadata": {
"name": "Test",
"description": "Test IPFS upload"
}
}
}
}'
- Verify uploaded content:
ipfs cat <received_hash>
Responsible // The primary contact for this project is //