├── .github ├── release-please │ ├── config.json │ └── manifest.json └── workflows │ ├── container.yml │ ├── e2e.yml │ ├── lint.yml │ ├── release.yml │ └── update_fluence.yml ├── .gitignore ├── .vscode └── settings.json ├── CHANGELOG.md ├── CONTRIBUTING.md ├── Dockerfile ├── LICENSE ├── README.md ├── deploy ├── README.md └── docker-compose │ ├── README.md │ ├── configs │ ├── loki.yml │ ├── prometheus.yml │ └── promtail.yml │ ├── docker-compose.observability.yml │ ├── docker-compose.yml │ ├── grafana │ ├── dashboards │ │ ├── nox.json │ │ └── service-metrics.json │ └── provisioning │ │ ├── dashboards │ │ └── dashboards.yml │ │ └── datasources │ │ └── datasources.yml │ └── ipfs.sh ├── docker ├── download_bitcoin_cli.sh ├── download_ipfs_fs_repo_migrations.sh └── install_libssl.sh ├── docs ├── builtins.md └── flavours.md ├── fluence ├── Config.default.toml ├── download_fluence.sh └── fluence.json └── s6 ├── ipfs ├── defaults │ └── ipfs_preshared_swarm.key └── etc │ ├── cont-init.d │ └── 20-ipfs │ └── services.d │ └── ipfs │ ├── log │ └── run │ └── run ├── minimal ├── etc │ └── cont-init.d │ │ ├── 30-fluence │ │ └── 40-aqua-ipfs └── run_fluence └── rich └── etc └── cont-init.d └── 40-ceramic /.github/release-please/config.json: -------------------------------------------------------------------------------- 1 | { 2 | "bootstrap-sha": "2e9429016356cb6599aa13da13f3a1f37c92c59a", 3 | "release-type": "simple", 4 | "bump-minor-pre-major": true, 5 | "bump-patch-for-minor-pre-major": true, 6 | "packages": { 7 | ".": { 8 | "package-name": "distro", 9 | "component": "distro" 10 | } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /.github/release-please/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | ".": "0.4.2" 3 | } 4 | -------------------------------------------------------------------------------- /.github/workflows/container.yml: -------------------------------------------------------------------------------- 1 | name: Publish containers 2 | 3 | on: 4 | workflow_call: 5 | inputs: 6 | image: 7 | description: "image name" 8 | type: string 9 | default: "fluencelabs/nox" 10 | version: 11 | description: "version set as part of container tag" 12 | type: string 13 | flavour: 14 | description: "nox flavour" 15 | type: string 16 | default: "minimal" 17 | release: 18 | description: "if triggered by release workflow" 19 | type: boolean 20 | default: false 21 | outputs: 22 | nox-image: 23 | description: "nox snapshot image" 24 | value: ${{ jobs.build.outputs.image }} 25 | 26 | jobs: 27 | build: 28 | name: "Build and push ${{ inputs.flavour }}" 29 | runs-on: ubuntu-latest 30 | 31 | # for authentication to Vault with vault-action 32 | # https://github.com/hashicorp/vault-action#jwt-with-github-oidc-tokens 33 | permissions: 34 | contents: read 35 | id-token: write 36 | 37 | env: 38 | RELEASE_VERSION: ${{ inputs.version }} 39 | 40 | outputs: 41 | image: "${{ inputs.image }}@${{ steps.docker.outputs.digest }}" 42 | 43 | steps: 44 | - name: Set build date 45 | run: echo "BUILD_DATE=$(date '+%Y-%m-%dT%H:%M:%S%:z')" >> $GITHUB_ENV 46 | 47 | - name: Checkout repository 48 | uses: actions/checkout@v3 49 | 50 | - name: Import secrets 51 | if: inputs.release 52 | uses: hashicorp/vault-action@v2.4.3 53 | with: 54 | url: https://vault.fluence.dev 55 | path: jwt/github 56 | role: ci 57 | method: jwt 58 | jwtGithubAudience: "https://github.com/fluencelabs" 59 | jwtTtl: 300 60 | secrets: | 61 | kv/hub.docker.com/fluencebot username | DOCKER_USERNAME ; 62 | kv/hub.docker.com/fluencebot password | DOCKER_PASSWORD 63 | 64 | - name: Import secrets 65 | if: ${{ !inputs.release }} 66 | uses: hashicorp/vault-action@v2.4.3 67 | with: 68 | url: https://vault.fluence.dev 69 | path: jwt/github 70 | role: ci 71 | method: jwt 72 | jwtGithubAudience: "https://github.com/fluencelabs" 73 | jwtTtl: 300 74 | secrets: | 75 | kv/docker-registry/basicauth/ci username | DOCKER_USERNAME ; 76 | kv/docker-registry/basicauth/ci password | DOCKER_PASSWORD 77 | 78 | - name: Set up QEMU 79 | uses: docker/setup-qemu-action@v2 80 | 81 | - name: Set up Docker Buildx 82 | uses: docker/setup-buildx-action@v2 83 | 84 | - name: Login to DockerHub 85 | if: inputs.release 86 | uses: docker/login-action@v2 87 | with: 88 | username: ${{ env.DOCKER_USERNAME }} 89 | password: ${{ env.DOCKER_PASSWORD }} 90 | 91 | - name: Login to private DockerHub 92 | if: ${{ !inputs.release }} 93 | uses: docker/login-action@v2 94 | with: 95 | registry: "docker.fluence.dev" 96 | username: ${{ env.DOCKER_USERNAME }} 97 | password: ${{ env.DOCKER_PASSWORD }} 98 | 99 | - name: Build and push ${{ inputs.flavour }} 100 | id: docker 101 | uses: docker/build-push-action@v3 102 | with: 103 | context: . 104 | push: true 105 | target: ${{ inputs.flavour }} 106 | platforms: linux/amd64,linux/arm64 107 | tags: | 108 | ${{ inputs.image }}:unstable_${{ inputs.flavour }} 109 | ${{ inputs.image }}:${{ inputs.flavour }}_${{ env.RELEASE_VERSION }} 110 | labels: | 111 | org.opencontainers.image.version=${{ env.RELEASE_VERSION }} 112 | org.opencontainers.image.created=${{ env.BUILD_DATE }} 113 | org.opencontainers.image.revision=${{ github.sha }} 114 | cache-from: type=gha 115 | cache-to: type=gha,mode=max 116 | 117 | - name: Build and push ${{ inputs.flavour }} (legacy) 118 | if: inputs.release 119 | uses: docker/build-push-action@v3 120 | with: 121 | context: . 122 | push: true 123 | target: ${{ inputs.flavour }} 124 | platforms: linux/amd64,linux/arm64 125 | tags: | 126 | fluencelabs/rust-peer:unstable_${{ inputs.flavour }} 127 | fluencelabs/rust-peer:${{ inputs.flavour }}_${{ env.RELEASE_VERSION }} 128 | labels: | 129 | org.opencontainers.image.version=${{ env.RELEASE_VERSION }} 130 | org.opencontainers.image.created=${{ env.BUILD_DATE }} 131 | org.opencontainers.image.revision=${{ github.sha }} 132 | cache-from: type=gha 133 | cache-to: type=gha,mode=max 134 | 135 | - name: Build and push ${{ inputs.flavour }} 136 | if: ${{ inputs.flavour == 'ipfs' && inputs.release }} 137 | uses: docker/build-push-action@v3 138 | with: 139 | context: . 140 | push: true 141 | target: ${{ inputs.flavour }} 142 | platforms: linux/amd64,linux/arm64 143 | tags: | 144 | ${{ inputs.image }}:unstable 145 | ${{ inputs.image }}:${{ env.RELEASE_VERSION }} 146 | fluencelabs/rust-peer:unstable 147 | fluencelabs/rust-peer:${{ env.RELEASE_VERSION }} 148 | labels: | 149 | org.opencontainers.image.version=${{ env.RELEASE_VERSION }} 150 | org.opencontainers.image.created=${{ env.BUILD_DATE }} 151 | org.opencontainers.image.revision=${{ github.sha }} 152 | cache-from: type=gha 153 | cache-to: type=gha,mode=max 154 | 155 | - name: Docker Hub Description 156 | if: ${{ inputs.flavour == 'ipfs' && inputs.release }} 157 | uses: peter-evans/dockerhub-description@v3 158 | with: 159 | username: ${{ env.DOCKER_USERNAME }} 160 | password: ${{ env.DOCKER_PASSWORD }} 161 | repository: fluencelabs/nox 162 | 163 | - name: Print results to check summary 164 | if: always() 165 | run: | 166 | cat <<'SNAPSHOT' >> $GITHUB_STEP_SUMMARY 167 | ## nox ${{ inputs.flavour }} 168 | digest: `${{ steps.docker.outputs.digest }}` 169 | ``` 170 | ${{ inputs.image }}:${{ inputs.flavour }} 171 | ${{ inputs.image }}:${{ inputs.flavour }}_${{ env.RELEASE_VERSION }} 172 | ``` 173 | SNAPSHOT 174 | -------------------------------------------------------------------------------- /.github/workflows/e2e.yml: -------------------------------------------------------------------------------- 1 | name: "e2e" 2 | 3 | on: 4 | pull_request: 5 | paths-ignore: 6 | - "**.md" 7 | - ".github/**" 8 | - "!.github/release-please/manifest.json" 9 | - "!.github/workflows/e2e.yml" 10 | - "!.github/workflows/container.yml" 11 | types: 12 | - "labeled" 13 | - "synchronize" 14 | - "opened" 15 | - "reopened" 16 | push: 17 | branches: 18 | - "master" 19 | paths-ignore: 20 | - "**.md" 21 | - ".github/**" 22 | - "!.github/release-please/manifest.json" 23 | - "!.github/workflows/e2e.yml" 24 | - "!.github/workflows/container.yml" 25 | 26 | env: 27 | DOCKER_BUILDKIT: 1 28 | FORCE_COLOR: 1 29 | 30 | jobs: 31 | version: 32 | name: "Generate snapshot id" 33 | runs-on: ubuntu-latest 34 | if: > 35 | github.event_name == 'push' || 36 | ( 37 | contains(github.event.pull_request.labels.*.name, 'e2e') && 38 | !github.event.pull_request.head.repo.fork 39 | ) 40 | outputs: 41 | id: ${{ steps.version.outputs.id }} 42 | steps: 43 | - name: Generate snapshot version 44 | id: version 45 | uses: fluencelabs/github-actions/generate-snapshot-id@main 46 | 47 | flavours: 48 | name: "snapshot" 49 | needs: version 50 | strategy: 51 | matrix: 52 | flavour: 53 | - ipfs 54 | - rich 55 | 56 | permissions: 57 | contents: read 58 | id-token: write 59 | 60 | uses: ./.github/workflows/container.yml 61 | with: 62 | image: "docker.fluence.dev/nox-distro" 63 | flavour: ${{ matrix.flavour }} 64 | version: ${{ needs.version.outputs.id }} 65 | 66 | snapshot: 67 | needs: version 68 | 69 | permissions: 70 | contents: read 71 | id-token: write 72 | 73 | uses: ./.github/workflows/container.yml 74 | with: 75 | image: "docker.fluence.dev/nox-distro" 76 | flavour: minimal 77 | version: ${{ needs.version.outputs.id }} 78 | 79 | fluence-cli: 80 | needs: 81 | - snapshot 82 | uses: fluencelabs/fluence-cli/.github/workflows/tests.yml@main 83 | with: 84 | nox-image: "${{ needs.snapshot.outputs.nox-image }}" 85 | -------------------------------------------------------------------------------- /.github/workflows/lint.yml: -------------------------------------------------------------------------------- 1 | name: lint 2 | 3 | on: 4 | pull_request: 5 | types: 6 | - opened 7 | - edited 8 | - synchronize 9 | 10 | concurrency: 11 | group: "${{ github.workflow }}-${{ github.ref }}" 12 | cancel-in-progress: true 13 | 14 | jobs: 15 | pr: 16 | name: Validate PR title 17 | runs-on: ubuntu-latest 18 | steps: 19 | - uses: amannn/action-semantic-pull-request@v5 20 | env: 21 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 22 | 23 | reviewdog: 24 | runs-on: ubuntu-latest 25 | steps: 26 | - name: Checkout 27 | uses: actions/checkout@v3 28 | 29 | - name: Lint actions 30 | uses: reviewdog/action-actionlint@v1 31 | env: 32 | SHELLCHECK_OPTS: "-e SC2086 -e SC2207 -e SC2128" 33 | with: 34 | reporter: github-pr-check 35 | fail_on_error: true 36 | -------------------------------------------------------------------------------- /.github/workflows/release.yml: -------------------------------------------------------------------------------- 1 | name: "release-please" 2 | 3 | on: 4 | push: 5 | branches: 6 | - "main" 7 | 8 | env: 9 | DOCKER_BUILDKIT: 1 10 | FORCE_COLOR: 1 11 | 12 | jobs: 13 | release-please: 14 | runs-on: ubuntu-latest 15 | 16 | outputs: 17 | release-created: ${{ steps.release.outputs['release_created'] }} 18 | tag-name: ${{ steps.release.outputs['tag_name'] }} 19 | version: ${{ steps.release.outputs['version'] }} 20 | pr: ${{ steps.release.outputs['pr'] }} 21 | 22 | steps: 23 | - name: Run release-please 24 | id: release 25 | uses: google-github-actions/release-please-action@v3 26 | with: 27 | token: ${{ secrets.FLUENCEBOT_RELEASE_PLEASE_PAT }} 28 | command: manifest 29 | config-file: .github/release-please/config.json 30 | manifest-file: .github/release-please/manifest.json 31 | 32 | - name: Show output from release-please 33 | if: steps.release.outputs.releases_created 34 | env: 35 | RELEASE_PLEASE_OUTPUT: ${{ toJSON(steps.release.outputs) }} 36 | run: echo "${RELEASE_PLEASE_OUTPUT}" | jq 37 | 38 | publish: 39 | if: needs.release-please.outputs.release-created 40 | needs: release-please 41 | strategy: 42 | matrix: 43 | flavour: 44 | - minimal 45 | - ipfs 46 | - rich 47 | 48 | permissions: 49 | contents: read 50 | id-token: write 51 | 52 | uses: ./.github/workflows/container.yml 53 | with: 54 | version: ${{ needs.release-please.outputs.version }} 55 | flavour: ${{ matrix.flavour }} 56 | release: true 57 | 58 | update-release: 59 | name: "Update release" 60 | runs-on: ubuntu-latest 61 | 62 | needs: 63 | - release-please 64 | - publish 65 | 66 | env: 67 | RELEASE_VERSION: ${{ needs.release-please.outputs.version }} 68 | 69 | steps: 70 | - name: Release 71 | uses: softprops/action-gh-release@v1 72 | with: 73 | tag_name: ${{ needs.release-please.outputs.tag-name }} 74 | append_body: true 75 | body: | 76 | 77 | ## Docker tags 78 | 79 | ### ipfs 80 | Contains Fluence nox and builtin IPFS deaemon. 81 | 82 | fluencelabs/nox:unstable 83 | fluencelabs/nox:${{ env.RELEASE_VERSION }} 84 | fluencelabs/nox:unstable_ipfs 85 | fluencelabs/nox:ipfs_${{ env.RELEASE_VERSION }} 86 | 87 | ## minimal 88 | Contains Fluence nox only. 89 | 90 | fluencelabs/nox:unstable_minimal 91 | fluencelabs/nox:minimal_${{ env.RELEASE_VERSION }} 92 | 93 | ## rich 94 | Contains Fluence nox, IPFS, ceramic cli, bitcoin cli and geth cli. 95 | 96 | fluencelabs/nox:unstable_rich 97 | fluencelabs/nox:rich_${{ env.RELEASE_VERSION }} 98 | 99 | slack: 100 | if: always() 101 | name: "Notify" 102 | runs-on: ubuntu-latest 103 | 104 | needs: 105 | - release-please 106 | - publish 107 | - update-release 108 | 109 | permissions: 110 | contents: read 111 | id-token: write 112 | 113 | steps: 114 | - uses: lwhiteley/dependent-jobs-result-check@v1 115 | id: status 116 | with: 117 | statuses: failure 118 | dependencies: ${{ toJSON(needs) }} 119 | 120 | - name: Log output 121 | run: | 122 | echo "statuses:" "${{ steps.status.outputs.statuses }}" 123 | echo "jobs:" "${{ steps.status.outputs.jobs }}" 124 | echo "found any?:" "${{ steps.status.outputs.found }}" 125 | 126 | - name: Import secrets 127 | uses: hashicorp/vault-action@v2.4.3 128 | with: 129 | url: https://vault.fluence.dev 130 | path: jwt/github 131 | role: ci 132 | method: jwt 133 | jwtGithubAudience: "https://github.com/fluencelabs" 134 | jwtTtl: 300 135 | exportToken: false 136 | secrets: | 137 | kv/slack/release-please webhook | SLACK_WEBHOOK_URL 138 | 139 | - uses: ravsamhq/notify-slack-action@v2 140 | if: steps.status.outputs.found == 'true' 141 | with: 142 | status: "failure" 143 | notification_title: "*{workflow}* has {status_message}" 144 | message_format: "${{ steps.status.outputs.jobs }} {status_message} in <{repo_url}|{repo}>" 145 | footer: "<{run_url}>" 146 | -------------------------------------------------------------------------------- /.github/workflows/update_fluence.yml: -------------------------------------------------------------------------------- 1 | name: "Update nox version" 2 | 3 | on: 4 | workflow_call: 5 | inputs: 6 | content: 7 | description: 'Contents of fluence.json file' 8 | type: string 9 | required: true 10 | version: 11 | description: 'Version of nox' 12 | type: string 13 | required: true 14 | secrets: 15 | token: 16 | description: 'A token passed from the caller workflow' 17 | required: true 18 | 19 | jobs: 20 | update: 21 | name: "Update version" 22 | runs-on: ubuntu-latest 23 | 24 | steps: 25 | - uses: actions/checkout@v3 26 | with: 27 | token: ${{ secrets.token }} 28 | repository: fluencelabs/nox-distro 29 | 30 | - name: Update Fluence in fluence.json to ${{ inputs.version }} 31 | run: | 32 | cat << EOH | jq > fluence/fluence.json 33 | ${{ inputs.content }} 34 | EOH 35 | 36 | - name: Commit updated fluence.json 37 | uses: stefanzweifel/git-auto-commit-action@v4 38 | with: 39 | commit_message: 'fix(deps): Update Nox to ${{ inputs.version }}' 40 | commit_user_name: fluencebot 41 | commit_user_email: devops@fluence.one 42 | commit_author: fluencebot 43 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | lerna-debug.log* 8 | 9 | # Diagnostic reports (https://nodejs.org/api/report.html) 10 | report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json 11 | 12 | # Runtime data 13 | pids 14 | *.pid 15 | *.seed 16 | *.pid.lock 17 | 18 | # Directory for instrumented libs generated by jscoverage/JSCover 19 | lib-cov 20 | 21 | # Coverage directory used by tools like istanbul 22 | coverage 23 | *.lcov 24 | 25 | # nyc test coverage 26 | .nyc_output 27 | 28 | # Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) 29 | .grunt 30 | 31 | # Bower dependency directory (https://bower.io/) 32 | bower_components 33 | 34 | # node-waf configuration 35 | .lock-wscript 36 | 37 | # Compiled binary addons (https://nodejs.org/api/addons.html) 38 | build/Release 39 | 40 | # Dependency directories 41 | node_modules/ 42 | jspm_packages/ 43 | 44 | # TypeScript v1 declaration files 45 | typings/ 46 | 47 | # TypeScript cache 48 | *.tsbuildinfo 49 | 50 | # Optional npm cache directory 51 | .npm 52 | 53 | # Optional eslint cache 54 | .eslintcache 55 | 56 | # Microbundle cache 57 | .rpt2_cache/ 58 | .rts2_cache_cjs/ 59 | .rts2_cache_es/ 60 | .rts2_cache_umd/ 61 | 62 | # Optional REPL history 63 | .node_repl_history 64 | 65 | # Output of 'npm pack' 66 | *.tgz 67 | 68 | # Yarn Integrity file 69 | .yarn-integrity 70 | 71 | # dotenv environment variables file 72 | .env 73 | .env.test 74 | 75 | # parcel-bundler cache (https://parceljs.org/) 76 | .cache 77 | 78 | # Next.js build output 79 | .next 80 | 81 | # Nuxt.js build / generate output 82 | .nuxt 83 | dist 84 | 85 | # Gatsby files 86 | .cache/ 87 | # Comment in the public line in if your project uses Gatsby and *not* Next.js 88 | # https://nextjs.org/blog/next-9-1#public-directory-support 89 | # public 90 | 91 | # vuepress build output 92 | .vuepress/dist 93 | 94 | # Serverless directories 95 | .serverless/ 96 | 97 | # FuseBox cache 98 | .fusebox/ 99 | 100 | # DynamoDB Local files 101 | .dynamodb/ 102 | 103 | # TernJS port file 104 | .tern-port 105 | 106 | .DS_Store 107 | 108 | .pyc 109 | -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "[dockerfile]": { 3 | "editor.quickSuggestions": { 4 | "strings": true 5 | }, 6 | "editor.formatOnSave": false, 7 | "editor.formatOnPaste": false 8 | }, 9 | "shellformat.effectLanguages": [ 10 | "shellscript", 11 | // "dockerfile", 12 | "dotenv", 13 | "hosts", 14 | "jvmoptions", 15 | "ignore", 16 | "gitignore", 17 | "properties", 18 | "spring-boot-properties", 19 | "azcli" 20 | ] 21 | } -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Changelog 2 | 3 | ## [0.4.2](https://github.com/fluencelabs/nox-distro/compare/distro-v0.4.1...distro-v0.4.2) (2023-11-16) 4 | 5 | 6 | ### Features 7 | 8 | * bump nox 0.16.2 ([#193](https://github.com/fluencelabs/nox-distro/issues/193)) ([5797017](https://github.com/fluencelabs/nox-distro/commit/579701701c1a742f403fecdcbe563dfc2f306f78)) 9 | 10 | ## [0.4.1](https://github.com/fluencelabs/nox-distro/compare/distro-v0.4.0...distro-v0.4.1) (2023-11-15) 11 | 12 | 13 | ### Bug Fixes 14 | 15 | * Bump nox to 0.16.1 ([#191](https://github.com/fluencelabs/nox-distro/issues/191)) ([0769384](https://github.com/fluencelabs/nox-distro/commit/0769384e8591546260963554aee0bfdfdf649af4)) 16 | 17 | ## [0.4.0](https://github.com/fluencelabs/nox-distro/compare/distro-v0.3.3...distro-v0.4.0) (2023-10-30) 18 | 19 | 20 | ### ⚠ BREAKING CHANGES 21 | 22 | * Bump nox to 0.16.0 ([#189](https://github.com/fluencelabs/nox-distro/issues/189)) 23 | 24 | ### Features 25 | 26 | * Bump nox to 0.16.0 ([#189](https://github.com/fluencelabs/nox-distro/issues/189)) ([c2ccc19](https://github.com/fluencelabs/nox-distro/commit/c2ccc19bb8ba3a246bbb3cb64cc955631685f7d3)) 27 | 28 | ## [0.3.3](https://github.com/fluencelabs/nox-distro/compare/distro-v0.3.2...distro-v0.3.3) (2023-10-30) 29 | 30 | 31 | ### Bug Fixes 32 | 33 | * **deps:** Update Nox to 0.15.3 ([8171a6e](https://github.com/fluencelabs/nox-distro/commit/8171a6eea1cd2bd306f6799b835098ca77122eea)) 34 | 35 | ## [0.3.2](https://github.com/fluencelabs/nox-distro/compare/distro-v0.3.1...distro-v0.3.2) (2023-10-29) 36 | 37 | 38 | ### Bug Fixes 39 | 40 | * **deps:** Update Nox to 0.15.2 ([4981cfa](https://github.com/fluencelabs/nox-distro/commit/4981cfa34bfb1d8ffbf1b41bd4b99a4b9404e673)) 41 | 42 | ## [0.3.1](https://github.com/fluencelabs/nox-distro/compare/distro-v0.3.0...distro-v0.3.1) (2023-10-16) 43 | 44 | 45 | ### Bug Fixes 46 | 47 | * **deps:** Update Nox to 0.15.1 ([ad1d8d7](https://github.com/fluencelabs/nox-distro/commit/ad1d8d7ccd3c862c9ac11699d4d7bc7916c4cc44)) 48 | 49 | ## [0.3.0](https://github.com/fluencelabs/nox-distro/compare/distro-v0.2.9...distro-v0.3.0) (2023-10-12) 50 | 51 | 52 | ### ⚠ BREAKING CHANGES 53 | 54 | * Bump nox to 0.15.0 and revert release ([#180](https://github.com/fluencelabs/nox-distro/issues/180)) 55 | 56 | ### Features 57 | 58 | * Bump nox to 0.15.0 and revert release ([#180](https://github.com/fluencelabs/nox-distro/issues/180)) ([d136730](https://github.com/fluencelabs/nox-distro/commit/d13673010dcb42c2a6b1c8fe171eefaa9a18b0d7)) 59 | 60 | 61 | ### Bug Fixes 62 | 63 | * **deps:** Update Nox to 0.15.0 ([60ce64c](https://github.com/fluencelabs/nox-distro/commit/60ce64c13c23b10886f7c904c7dd9f1133750faf)) 64 | 65 | ## [0.2.9](https://github.com/fluencelabs/nox-distro/compare/distro-v0.2.8...distro-v0.2.9) (2023-09-22) 66 | 67 | 68 | ### Bug Fixes 69 | 70 | * **deps:** Update Nox to 0.14.9 ([58cae32](https://github.com/fluencelabs/nox-distro/commit/58cae323dc65c09d1356a55515ad5189894c8a69)) 71 | 72 | ## [0.2.8](https://github.com/fluencelabs/nox-distro/compare/distro-v0.2.7...distro-v0.2.8) (2023-09-22) 73 | 74 | 75 | ### Bug Fixes 76 | 77 | * **deps:** Update Nox to 0.14.8 ([f634909](https://github.com/fluencelabs/nox-distro/commit/f6349090ae4fa84d0546654e6531c67ed8e4db1c)) 78 | 79 | ## [0.2.7](https://github.com/fluencelabs/nox-distro/compare/distro-v0.2.6...distro-v0.2.7) (2023-09-21) 80 | 81 | 82 | ### Bug Fixes 83 | 84 | * **deps:** Update Nox to 0.14.7 ([1fc9b79](https://github.com/fluencelabs/nox-distro/commit/1fc9b791778d3b0b8de89e21ae78594edcae5eec)) 85 | 86 | ## [0.2.6](https://github.com/fluencelabs/nox-distro/compare/distro-v0.2.5...distro-v0.2.6) (2023-09-15) 87 | 88 | 89 | ### Bug Fixes 90 | 91 | * **deps:** Update Nox to 0.14.6 ([718d2cf](https://github.com/fluencelabs/nox-distro/commit/718d2cf251ad4e9b07f7380cf3e31c96b899fd37)) 92 | 93 | ## [0.2.5](https://github.com/fluencelabs/nox-distro/compare/distro-v0.2.4...distro-v0.2.5) (2023-09-07) 94 | 95 | 96 | ### Bug Fixes 97 | 98 | * **deps:** Update Nox to 0.14.5 ([98c37d0](https://github.com/fluencelabs/nox-distro/commit/98c37d0928a533b04233599ebb621913ad694148)) 99 | 100 | ## [0.2.4](https://github.com/fluencelabs/nox-distro/compare/distro-v0.2.3...distro-v0.2.4) (2023-09-07) 101 | 102 | 103 | ### Bug Fixes 104 | 105 | * **deps:** Update Nox to 0.14.4 ([a05fdf6](https://github.com/fluencelabs/nox-distro/commit/a05fdf68ebc1108222ad7ef2b389e80c161941b7)) 106 | 107 | ## [0.2.3](https://github.com/fluencelabs/nox-distro/compare/distro-v0.2.2...distro-v0.2.3) (2023-09-06) 108 | 109 | 110 | ### Bug Fixes 111 | 112 | * **deps:** Update Nox to 0.14.3 ([4ebf4ec](https://github.com/fluencelabs/nox-distro/commit/4ebf4ec74e0e868b10582f18a33ab50607da6344)) 113 | 114 | ## [0.2.2](https://github.com/fluencelabs/nox-distro/compare/distro-v0.2.1...distro-v0.2.2) (2023-09-05) 115 | 116 | 117 | ### Bug Fixes 118 | 119 | * **deps:** Update Nox to 0.14.0 ([3dce6cc](https://github.com/fluencelabs/nox-distro/commit/3dce6cc81bec6b05244226694f6768ee5ee3b8d3)) 120 | * **deps:** Update Nox to 0.14.1 ([87aec2a](https://github.com/fluencelabs/nox-distro/commit/87aec2a9510706b7fc534068eaaf4acc7bc48ebd)) 121 | * **deps:** Update Nox to 0.14.2 ([9766097](https://github.com/fluencelabs/nox-distro/commit/9766097c3aa394694049328ba22d5e2f004fc812)) 122 | 123 | ## [0.2.1](https://github.com/fluencelabs/nox-distro/compare/distro-v0.2.0...distro-v0.2.1) (2023-08-08) 124 | 125 | 126 | ### Bug Fixes 127 | 128 | * **deps:** Update Nox to 0.13.3 ([10d8d22](https://github.com/fluencelabs/nox-distro/commit/10d8d22d6499704f017ca117c67e4c8da7e7c7e9)) 129 | 130 | ## [0.2.0](https://github.com/fluencelabs/nox-distro/compare/distro-v0.1.25...distro-v0.2.0) (2023-07-20) 131 | 132 | 133 | ### ⚠ BREAKING CHANGES 134 | 135 | * **dockerfile:** do not download builtins ([#162](https://github.com/fluencelabs/nox-distro/issues/162)) 136 | 137 | ### Features 138 | 139 | * **dockerfile:** do not download builtins ([#162](https://github.com/fluencelabs/nox-distro/issues/162)) ([95b7a91](https://github.com/fluencelabs/nox-distro/commit/95b7a910e45cce617081dd46d3ad51db1ddf244a)) 140 | 141 | 142 | ### Bug Fixes 143 | 144 | * **deps:** Update aqua-ipfs to 0.5.17 ([de46fa5](https://github.com/fluencelabs/nox-distro/commit/de46fa5af511dc4d6fc7942b6b943fe2aaff39b7)) 145 | * **deps:** Update connector to 0.4.17 ([c97fcd6](https://github.com/fluencelabs/nox-distro/commit/c97fcd6306960ab13ba949ee0533a1d984e1604d)) 146 | * **deps:** Update Nox to 0.13.2 ([8831ca7](https://github.com/fluencelabs/nox-distro/commit/8831ca7d3bc57f19362b34aee7e9b8f90f1f8b18)) 147 | * **deps:** Update trust-graph to 0.4.6 ([6f042dc](https://github.com/fluencelabs/nox-distro/commit/6f042dcbf38a3c86878db633e5ac3b0d017eaacc)) 148 | * **deps:** Update trust-graph to 0.4.7 ([7884d4f](https://github.com/fluencelabs/nox-distro/commit/7884d4f25e153ce386dcec88953d1cc070154c5e)) 149 | * **release:** checkout fluencelabs/nox-distro in update_fluence ([#163](https://github.com/fluencelabs/nox-distro/issues/163)) ([31d1074](https://github.com/fluencelabs/nox-distro/commit/31d10743bd449443e06f76e29737eb447693fdf6)) 150 | 151 | ## [0.1.25](https://github.com/fluencelabs/nox-distro/compare/distro-v0.1.24...distro-v0.1.25) (2023-06-28) 152 | 153 | 154 | ### Bug Fixes 155 | 156 | * **deps:** Update connector to 0.4.16 ([edc3fe2](https://github.com/fluencelabs/nox-distro/commit/edc3fe28e6e6d13729fdb62b83bf8441c8079427)) 157 | * **deps:** Update nox version to 0.13.1 and fix update workflow ([#160](https://github.com/fluencelabs/nox-distro/issues/160)) ([1a3e149](https://github.com/fluencelabs/nox-distro/commit/1a3e1495cc62d0fd85d2de71d4ec6267681a2f08)) 158 | 159 | ## [0.1.24](https://github.com/fluencelabs/nox-distro/compare/distro-v0.1.23...distro-v0.1.24) (2023-06-22) 160 | 161 | 162 | ### Bug Fixes 163 | 164 | * Bump nox version to v0.13.0 ([#157](https://github.com/fluencelabs/nox-distro/issues/157)) ([2aa5019](https://github.com/fluencelabs/nox-distro/commit/2aa5019bb01c9ca6238b19717469c04cbf40df89)) 165 | * **deps:** Update aqua-ipfs to 0.5.14 ([eac20b6](https://github.com/fluencelabs/nox-distro/commit/eac20b6acc8f1caaba52a27a8555f590fbc41532)) 166 | * **deps:** Update connector to 0.4.15 ([52c4123](https://github.com/fluencelabs/nox-distro/commit/52c4123c3fabac49e5dd8feebdb8497fa89dc086)) 167 | * **deps:** Update registry to 0.8.7 ([3d29cb4](https://github.com/fluencelabs/nox-distro/commit/3d29cb4884eee4398a1a1a1ca3dea2d3ec984799)) 168 | 169 | ## [0.1.23](https://github.com/fluencelabs/nox-distro/compare/distro-v0.1.22...distro-v0.1.23) (2023-06-06) 170 | 171 | 172 | ### Bug Fixes 173 | 174 | * **deps:** Update connector to 0.4.14 ([9ef1c73](https://github.com/fluencelabs/nox-distro/commit/9ef1c733523c25c67b082169702c2f7c9fe73ce2)) 175 | * **download_fluence.sh:** cat $CONFIG on fail ([2fd6790](https://github.com/fluencelabs/nox-distro/commit/2fd6790f89074ea42b0e94e4e7367805315fe579)) 176 | 177 | ## [0.1.22](https://github.com/fluencelabs/rust-peer-distro/compare/distro-v0.1.21...distro-v0.1.22) (2023-06-02) 178 | 179 | 180 | ### Features 181 | 182 | * **decider:** set default connector api endpoint [NET-479] ([#144](https://github.com/fluencelabs/rust-peer-distro/issues/144)) ([4caac9f](https://github.com/fluencelabs/rust-peer-distro/commit/4caac9f45f9f753d6f1e9fb7a4c9471a90336488)) 183 | * **Dockerfile:** set default FLUENCE_ENV_CONNECTOR_FROM_BLOCK env ([#145](https://github.com/fluencelabs/rust-peer-distro/issues/145)) ([3cdbba8](https://github.com/fluencelabs/rust-peer-distro/commit/3cdbba83957a48b84b398eb6b6fb6b8b6148420f)) 184 | 185 | 186 | ### Bug Fixes 187 | 188 | * **deps:** Update connector to 0.4.11 ([75f5dc8](https://github.com/fluencelabs/rust-peer-distro/commit/75f5dc885b8f7b4c19aebfe4c69dc1cb4ad0bd5e)) 189 | * **deps:** Update connector to 0.4.12 ([1fcbc32](https://github.com/fluencelabs/rust-peer-distro/commit/1fcbc32a0b2f0d6932f274705c0b28300337a407)) 190 | * **deps:** Update connector to 0.4.13 ([ba4772f](https://github.com/fluencelabs/rust-peer-distro/commit/ba4772fef2301a2123e298d282999764c842eafd)) 191 | * **deps:** Update registry to 0.8.6 ([81b9001](https://github.com/fluencelabs/rust-peer-distro/commit/81b900140b8cbdca3bd7f3f76c9c86af0f2c69bc)) 192 | 193 | ## [0.1.21](https://github.com/fluencelabs/rust-peer-distro/compare/distro-v0.1.20...distro-v0.1.21) (2023-05-26) 194 | 195 | 196 | ### Bug Fixes 197 | 198 | * **deps:** Update connector to 0.4.10 ([b9572ce](https://github.com/fluencelabs/rust-peer-distro/commit/b9572ce56e0803df95e62eea344c7d74c249ef0b)) 199 | 200 | ## [0.1.20](https://github.com/fluencelabs/rust-peer-distro/compare/distro-v0.1.19...distro-v0.1.20) (2023-05-22) 201 | 202 | 203 | ### Bug Fixes 204 | 205 | * **deps:** Update Fluence to 0.12.1 ([0d7c399](https://github.com/fluencelabs/rust-peer-distro/commit/0d7c3992ff73498c192c606fb04a5b059f081f3d)) 206 | 207 | ## [0.1.19](https://github.com/fluencelabs/rust-peer-distro/compare/distro-v0.1.18...distro-v0.1.19) (2023-05-19) 208 | 209 | 210 | ### Bug Fixes 211 | 212 | * **deps:** Update Fluence to 0.12.0 ([b66aae0](https://github.com/fluencelabs/rust-peer-distro/commit/b66aae02073b317c36706093bd5851bd6dcc1549)) 213 | 214 | ## [0.1.18](https://github.com/fluencelabs/rust-peer-distro/compare/distro-v0.1.17...distro-v0.1.18) (2023-05-19) 215 | 216 | 217 | ### Bug Fixes 218 | 219 | * **deps:** Update aqua-ipfs to 0.5.13 ([4b4b1db](https://github.com/fluencelabs/rust-peer-distro/commit/4b4b1db73dcd0ed9c9ffcddd92dbb7f6cbeac7d9)) 220 | * **deps:** Update connector to 0.4.9 ([15f0854](https://github.com/fluencelabs/rust-peer-distro/commit/15f0854394959b89a0192559dedf84ec68100e1e)) 221 | * **deps:** Update registry to 0.8.5 ([dbbd6a6](https://github.com/fluencelabs/rust-peer-distro/commit/dbbd6a63beff869d15ae64f3aaa0803381b368f9)) 222 | * **deps:** Update trust-graph to 0.4.3 ([6554394](https://github.com/fluencelabs/rust-peer-distro/commit/6554394929e95238fd7f99a3d96ed445a575cc99)) 223 | * **deps:** Update trust-graph to 0.4.5 ([002af43](https://github.com/fluencelabs/rust-peer-distro/commit/002af433faec95ffa1428e47c9b15e5ae8d19a4f)) 224 | * Do not start IPFS daemon when IPFS_DAEMON is false ([#136](https://github.com/fluencelabs/rust-peer-distro/issues/136)) ([698d4e5](https://github.com/fluencelabs/rust-peer-distro/commit/698d4e50b8c4460b25e3e9a41adfab5b6c4ca4ed)) 225 | * Fix IPFS s6 run script ([#138](https://github.com/fluencelabs/rust-peer-distro/issues/138)) ([843a747](https://github.com/fluencelabs/rust-peer-distro/commit/843a74794160eec2a7f6f9b0907898aa254a6ebe)) 226 | 227 | ## [0.1.17](https://github.com/fluencelabs/rust-peer-distro/compare/distro-v0.1.16...distro-v0.1.17) (2023-05-06) 228 | 229 | 230 | ### Bug Fixes 231 | 232 | * **deps:** Update Fluence to 0.11.4 ([1838311](https://github.com/fluencelabs/rust-peer-distro/commit/18383112c71aa740c04316081dbfc4e169314dd0)) 233 | 234 | ## [0.1.16](https://github.com/fluencelabs/rust-peer-distro/compare/distro-v0.1.15...distro-v0.1.16) (2023-05-03) 235 | 236 | 237 | ### Bug Fixes 238 | 239 | * **config:** allow rich mounted binaries ([#132](https://github.com/fluencelabs/rust-peer-distro/issues/132)) ([fd17942](https://github.com/fluencelabs/rust-peer-distro/commit/fd17942f39fe3bba34466c3e0067eab5f71aa565)) 240 | * **deps:** Update aqua-ipfs to 0.5.12 ([a948add](https://github.com/fluencelabs/rust-peer-distro/commit/a948add57084d1aeb8254239b1cd89779c0303df)) 241 | * **deps:** Update Fluence to 0.11.3 ([583a5da](https://github.com/fluencelabs/rust-peer-distro/commit/583a5da26882fd18ab44de4f4ff7b4e2e478afe0)) 242 | 243 | ## [0.1.15](https://github.com/fluencelabs/rust-peer-distro/compare/distro-v0.1.14...distro-v0.1.15) (2023-04-27) 244 | 245 | 246 | ### Bug Fixes 247 | 248 | * **deps:** Update connector to 0.4.8 ([80b70e3](https://github.com/fluencelabs/rust-peer-distro/commit/80b70e3dda68b4eab2ef1605ac47cd13e93e9121)) 249 | * **deps:** Update Fluence to 0.11.2 ([ffcb0c5](https://github.com/fluencelabs/rust-peer-distro/commit/ffcb0c5675c080b7ebc5e3208b0009e66bf8c414)) 250 | 251 | ## [0.1.14](https://github.com/fluencelabs/rust-peer-distro/compare/distro-v0.1.13...distro-v0.1.14) (2023-04-27) 252 | 253 | 254 | ### Features 255 | 256 | * **dockerfile:** set default env variables for decider ([3b9c158](https://github.com/fluencelabs/rust-peer-distro/commit/3b9c15887c6006069ff87b4b19079e084de6fe4a)) 257 | * **dockerfile:** set default env variables for decider [NET-460] ([#128](https://github.com/fluencelabs/rust-peer-distro/issues/128)) ([3b9c158](https://github.com/fluencelabs/rust-peer-distro/commit/3b9c15887c6006069ff87b4b19079e084de6fe4a)) 258 | 259 | 260 | ### Bug Fixes 261 | 262 | * **deps:** Update aqua-ipfs to 0.5.11 ([a789f71](https://github.com/fluencelabs/rust-peer-distro/commit/a789f71753569bdb13524418acb8aacb078132b9)) 263 | 264 | ## [0.1.13](https://github.com/fluencelabs/rust-peer-distro/compare/distro-v0.1.12...distro-v0.1.13) (2023-04-20) 265 | 266 | 267 | ### Bug Fixes 268 | 269 | * **deps:** Bump trust-graph to 0.4.1 [#125](https://github.com/fluencelabs/rust-peer-distro/issues/125) ([51fd1b1](https://github.com/fluencelabs/rust-peer-distro/commit/51fd1b1e3340145294d9bf0d598d299483cc1617)) 270 | * **deps:** Update aqua-ipfs to 0.5.10 ([bc95dc8](https://github.com/fluencelabs/rust-peer-distro/commit/bc95dc820ea9dba95a354645636d3b9c63624ebc)) 271 | * **deps:** Update connector to 0.4.7 ([2d4ff11](https://github.com/fluencelabs/rust-peer-distro/commit/2d4ff11b66ed7374b98292a1138ac44dd9e192a7)) 272 | * **deps:** Update Fluence to 0.11.1 ([df3562f](https://github.com/fluencelabs/rust-peer-distro/commit/df3562fee37ed40b84b83597cd7ebdb8456672ed)) 273 | * **deps:** Update registry to 0.8.4 ([031cfae](https://github.com/fluencelabs/rust-peer-distro/commit/031cfaeecb438ae2caf920f31c4a020fbbfa5f43)) 274 | 275 | ## [0.1.12](https://github.com/fluencelabs/rust-peer-distro/compare/distro-v0.1.11...distro-v0.1.12) (2023-04-12) 276 | 277 | 278 | ### Bug Fixes 279 | 280 | * **deps:** Update connector to 0.4.6 ([387c066](https://github.com/fluencelabs/rust-peer-distro/commit/387c0661dac298c2b88843cfb94fbf79303c7f93)) 281 | 282 | ## [0.1.11](https://github.com/fluencelabs/rust-peer-distro/compare/distro-v0.1.10...distro-v0.1.11) (2023-04-12) 283 | 284 | 285 | ### Bug Fixes 286 | 287 | * **deps:** Update Fluence to 0.11.0 ([cd98e48](https://github.com/fluencelabs/rust-peer-distro/commit/cd98e48d32339b261ef0d706511bbb9cb6ff4ff7)) 288 | 289 | ## [0.1.10](https://github.com/fluencelabs/rust-peer-distro/compare/distro-v0.1.9...distro-v0.1.10) (2023-04-06) 290 | 291 | 292 | ### Bug Fixes 293 | 294 | * **deps:** Update Fluence to 0.10.0 ([97fabbc](https://github.com/fluencelabs/rust-peer-distro/commit/97fabbc4edb862caa743e3643fd4516b3150c3df)) 295 | 296 | ## [0.1.9](https://github.com/fluencelabs/rust-peer-distro/compare/distro-v0.1.8...distro-v0.1.9) (2023-04-06) 297 | 298 | 299 | ### Bug Fixes 300 | 301 | * **deps:** Update registry to 0.8.3 ([22f0dc8](https://github.com/fluencelabs/rust-peer-distro/commit/22f0dc8317fa9458d5cfbb77b818617fa4b68a6f)) 302 | 303 | ## [0.1.8](https://github.com/fluencelabs/rust-peer-distro/compare/distro-v0.1.7...distro-v0.1.8) (2023-03-27) 304 | 305 | 306 | ### Bug Fixes 307 | 308 | * **deps:** Update connector to 0.4.4 ([eb208b8](https://github.com/fluencelabs/rust-peer-distro/commit/eb208b8be1a162814ccc4baddba22150e7c80899)) 309 | 310 | ## [0.1.7](https://github.com/fluencelabs/rust-peer-distro/compare/distro-v0.1.6...distro-v0.1.7) (2023-03-21) 311 | 312 | 313 | ### Bug Fixes 314 | 315 | * **deps:** Update Fluence to 0.9.1 ([a4ba980](https://github.com/fluencelabs/rust-peer-distro/commit/a4ba980d796b1c0da15b310c5f57591d0fb709b6)) 316 | 317 | ## [0.1.6](https://github.com/fluencelabs/rust-peer-distro/compare/distro-v0.1.5...distro-v0.1.6) (2023-03-13) 318 | 319 | 320 | ### Bug Fixes 321 | 322 | * Do deploy connector always ([#114](https://github.com/fluencelabs/rust-peer-distro/issues/114)) ([fe52de8](https://github.com/fluencelabs/rust-peer-distro/commit/fe52de8b28c6d387fc899c8827c073a1cf69ab34)) 323 | 324 | ## [0.1.5](https://github.com/fluencelabs/rust-peer-distro/compare/distro-v0.1.4...distro-v0.1.5) (2023-03-08) 325 | 326 | 327 | ### Bug Fixes 328 | 329 | * **deps:** Update registry to 0.8.2 ([556d068](https://github.com/fluencelabs/rust-peer-distro/commit/556d0689063a5609a9e3113106f4ded9f4f41c9c)) 330 | * Do not deploy connector builtin by default ([de58659](https://github.com/fluencelabs/rust-peer-distro/commit/de58659b6e32377d6548559d28dce09cae3f4931)) 331 | 332 | ## [0.1.4](https://github.com/fluencelabs/rust-peer-distro/compare/distro-v0.1.3...distro-v0.1.4) (2023-02-28) 333 | 334 | 335 | ### Bug Fixes 336 | 337 | * **deps:** Update connector to 0.4.0 ([cc084fc](https://github.com/fluencelabs/rust-peer-distro/commit/cc084fc40d6d951f2cd6a5cc82b5ab4fb2e5bbaf)) 338 | * **deps:** Update connector to 0.4.1 ([de17d64](https://github.com/fluencelabs/rust-peer-distro/commit/de17d6455f4a3370002f7d39886f4264c9056bdd)) 339 | * **deps:** Update connector to 0.4.2 ([64f78a9](https://github.com/fluencelabs/rust-peer-distro/commit/64f78a9c0fca6c1bec615c7f9b7cc88ae5a966e2)) 340 | * **deps:** Update connector to 0.4.3 ([091fc11](https://github.com/fluencelabs/rust-peer-distro/commit/091fc11072c324b2ae526236b0cfda98be6a6d4a)) 341 | 342 | ## [0.1.3](https://github.com/fluencelabs/rust-peer-distro/compare/distro-v0.1.2...distro-v0.1.3) (2023-02-27) 343 | 344 | 345 | ### Bug Fixes 346 | 347 | * **deps:** Update Fluence to 0.8.2 ([91f6aa2](https://github.com/fluencelabs/rust-peer-distro/commit/91f6aa279313ff99689e0f3822bbbadb2abd7fe3)) 348 | * **deps:** Update Fluence to v0.8.1 ([9a7803e](https://github.com/fluencelabs/rust-peer-distro/commit/9a7803edce57e2d79fcb0ce22748c177c050c524)) 349 | * **deps:** Update registry to 0.8.1 ([40b1d04](https://github.com/fluencelabs/rust-peer-distro/commit/40b1d04a5deae5578b1c9a78f9f90a42d7b55876)) 350 | 351 | ## [0.1.2](https://github.com/fluencelabs/rust-peer-distro/compare/distro-v0.1.1...distro-v0.1.2) (2023-02-24) 352 | 353 | 354 | ### Bug Fixes 355 | 356 | * **connector:** update connector to 0.3.0 ([2a9d909](https://github.com/fluencelabs/rust-peer-distro/commit/2a9d90966cef9134dabacfa81edc8a96771485c3)) 357 | 358 | ## [0.1.1](https://github.com/fluencelabs/rust-peer-distro/compare/distro-v0.1.0...distro-v0.1.1) (2023-02-24) 359 | 360 | 361 | ### Bug Fixes 362 | 363 | * **deps:** Update Fluence to v0.8.0 ([5e9dc3c](https://github.com/fluencelabs/rust-peer-distro/commit/5e9dc3c203e0f9fa34d540b3e91371bafc980ac6)) 364 | * **deps:** Update registry to 0.8.0 ([2b666ed](https://github.com/fluencelabs/rust-peer-distro/commit/2b666ed6519bf83a8c01a269a2eebee10c800601)) 365 | * update connector to 0.2.0 ([#101](https://github.com/fluencelabs/rust-peer-distro/issues/101)) ([b2af8fb](https://github.com/fluencelabs/rust-peer-distro/commit/b2af8fbdc4e14891be0b487df27620f36c89701c)) 366 | 367 | ## [0.1.0](https://github.com/fluencelabs/rust-peer-distro/compare/distro-v0.0.77...distro-v0.1.0) (2023-02-22) 368 | 369 | 370 | ### ⚠ BREAKING CHANGES 371 | 372 | * **builtins:** Add decider spell to services.json ([#98](https://github.com/fluencelabs/rust-peer-distro/issues/98)) 373 | 374 | ### Features 375 | 376 | * **builtins:** Add decider spell to services.json ([#98](https://github.com/fluencelabs/rust-peer-distro/issues/98)) ([48417ca](https://github.com/fluencelabs/rust-peer-distro/commit/48417caed2d4442a60a0aa96e35a21fffb41a82b)) 377 | 378 | 379 | ### Bug Fixes 380 | 381 | * **deps:** Update registry to 0.7.1 ([a58b8ef](https://github.com/fluencelabs/rust-peer-distro/commit/a58b8efff12a7f543e99863e7be0e7fdd7dd56e6)) 382 | * return fluence/Config.default.toml ([#99](https://github.com/fluencelabs/rust-peer-distro/issues/99)) ([4ee13e6](https://github.com/fluencelabs/rust-peer-distro/commit/4ee13e669b374b9f2b95d5a0de5b2fc10f4df70f)) 383 | 384 | ## [0.0.77](https://github.com/fluencelabs/rust-peer-distro/compare/distro-v0.0.76...distro-v0.0.77) (2023-02-09) 385 | 386 | 387 | ### Bug Fixes 388 | 389 | * **deps:** Update aqua-ipfs to 0.5.9 ([258de04](https://github.com/fluencelabs/rust-peer-distro/commit/258de0402a2f8cbfff409dc770c583f805f05eb0)) 390 | * **deps:** Update Fluence to v0.7.4 ([ac20d52](https://github.com/fluencelabs/rust-peer-distro/commit/ac20d5221018af1b789691598731caf96875630a)) 391 | 392 | ## [0.0.76](https://github.com/fluencelabs/rust-peer-distro/compare/distro-v0.0.75...distro-v0.0.76) (2023-01-26) 393 | 394 | 395 | ### Bug Fixes 396 | 397 | * **deps:** Update trust-graph to v3.1.2 ([6adcde1](https://github.com/fluencelabs/rust-peer-distro/commit/6adcde1119bdfc1a21fa84bbd60e8688cd85e0a4)) 398 | 399 | ## [0.0.75](https://github.com/fluencelabs/rust-peer-distro/compare/distro-v0.0.74...distro-v0.0.75) (2023-01-26) 400 | 401 | 402 | ### Bug Fixes 403 | 404 | * **deps:** Update trust-graph to v3.1.0 ([8605f7a](https://github.com/fluencelabs/rust-peer-distro/commit/8605f7ab64e65f7718179460c3cd211d0d6e532d)) 405 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | ## Contribute Code 2 | 3 | You are welcome to contribute to Fluence! 4 | 5 | Things you need to know: 6 | 7 | 1. You need to **agree to the [Contributor License Agreement](https://gist.github.com/fluencelabs-org/3f4cbb3cc14c1c0fb9ad99d8f7316ed7) (CLA)**. This is a common practice in all major Open Source projects. At the current moment, we are unable to accept contributions made on behalf of a company. Only individual contributions will be accepted. 8 | 9 | 2. **Not all proposed contributions can be accepted**. Some features may, e.g., just fit a third-party add-on better. The contribution must fit the overall direction of Fluence and really improve it. The more effort you invest, the better you should clarify in advance whether the contribution fits: the best way would be to just open an issue to discuss the contribution you plan to make. 10 | 11 | ### Contributor License Agreement 12 | 13 | When you contribute, you have to be aware that your contribution is covered by **[Apache License 2.0](./LICENSE)**, but might relicensed under few other software licenses mentioned in the **Contributor License Agreement**. In particular, you need to agree to the Contributor License Agreement. If you agree to its content, you simply have to click on the link posted by the CLA assistant as a comment to the pull request. Click it to check the CLA, then accept it on the following screen if you agree to it. The CLA assistant will save this decision for upcoming contributions and will notify you if there is any change to the CLA in the meantime. 14 | -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- 1 | ARG IPFS_VERSION=0.13.1 2 | ARG CERAMIC_VERSION=2.3.x 3 | ARG GLAZED_VERSION=0.2.x 4 | ARG GETH_VERSION=1.10 5 | ARG BITCOIN_CLI_VERSION=23.0 6 | 7 | # prepare stage images 8 | # ---------------------------------------------------------------------------- 9 | FROM --platform=$TARGETPLATFORM ethereum/client-go:release-${GETH_VERSION} as prepare-geth 10 | FROM --platform=$TARGETPLATFORM ipfs/go-ipfs:v${IPFS_VERSION} as prepare-ipfs 11 | 12 | FROM --platform=$TARGETPLATFORM alpine as prepare-bitcoin 13 | ARG TARGETPLATFORM 14 | ARG BUILDPLATFORM 15 | ARG BITCOIN_CLI_VERSION 16 | 17 | # Download checksums 18 | ADD https://bitcoincore.org/bin/bitcoin-core-${BITCOIN_CLI_VERSION}/SHA256SUMS ./ 19 | 20 | # Download bitcoin archive 21 | COPY docker/download_bitcoin_cli.sh /docker/download_bitcoin_cli.sh 22 | RUN /docker/download_bitcoin_cli.sh 23 | 24 | # minimal 25 | # ---------------------------------------------------------------------------- 26 | FROM --platform=$TARGETPLATFORM ghcr.io/linuxserver/baseimage-ubuntu:jammy as minimal 27 | ARG TARGETPLATFORM 28 | ARG BUILDPLATFORM 29 | 30 | # https://github.com/opencontainers/image-spec/blob/main/annotations.md#pre-defined-annotation-keys 31 | LABEL org.opencontainers.image.base.name="ghcr.io/linuxserver/baseimage-ubuntu:jammy" 32 | LABEL org.opencontainers.image.url="https://github.com/fluencelabs/nox-distro" 33 | LABEL org.opencontainers.image.vendor="fluencelabs" 34 | LABEL maintainer="fluencelabs" 35 | LABEL org.opencontainers.image.authors="fluencelabs" 36 | LABEL org.opencontainers.image.title="Fluence nox distro" 37 | LABEL org.opencontainers.image.description="Minimal image containing only nox itself" 38 | 39 | ENV RUST_LOG="info,aquamarine=warn,tokio_threadpool=info,tokio_reactor=info,mio=info,tokio_io=info,soketto=info,yamux=info,multistream_select=info,libp2p_secio=info,libp2p_websocket::framed=info,libp2p_ping=info,libp2p_core::upgrade::apply=info,libp2p_kad::kbucket=info,cranelift_codegen=info,wasmer_wasi=info,cranelift_codegen=info,wasmer_wasi=info" 40 | ENV RUST_BACKTRACE="1" 41 | ## set /run_fluence as the CMD binary 42 | ENV S6_CMD_ARG0="/run_fluence" 43 | 44 | RUN \ 45 | apt-get update && \ 46 | apt-get install -y --no-install-recommends \ 47 | jq \ 48 | less \ 49 | logrotate \ 50 | curl wget && \ 51 | apt-get clean && \ 52 | rm -rf \ 53 | /tmp/* \ 54 | /var/lib/apt/lists/* \ 55 | /var/tmp/* 56 | 57 | # install missing libssl 58 | COPY docker/install_libssl.sh /docker/install_libssl.sh 59 | RUN /docker/install_libssl.sh 60 | 61 | # aqua-ipfs builtin default env variables 62 | # instruct aqua-ipfs (client) to work with an IPFS node hosted on ipfs.fluence.dev 63 | ENV FLUENCE_ENV_AQUA_IPFS_EXTERNAL_API_MULTIADDR=/dns4/ipfs.fluence.dev/tcp/5001 64 | ENV FLUENCE_ENV_AQUA_IPFS_LOCAL_API_MULTIADDR=/dns4/ipfs.fluence.dev/tcp/5001 65 | 66 | # connector[decider] builtin default env variables 67 | # 'true' means to join all deals 68 | # 'false' means to join no deals and disable connector completely 69 | ENV FLUENCE_ENV_CONNECTOR_JOIN_ALL_DEALS=true 70 | # instruct decider which api endpoint to poll 71 | ENV FLUENCE_ENV_CONNECTOR_API_ENDPOINT=https://testnet.aurora.dev 72 | # deal contract address 73 | ENV FLUENCE_ENV_CONNECTOR_CONTRACT_ADDRESS=0xb497e025D3095A197E30Ca84DEc36a637E649868 74 | # find deals from this block 75 | ENV FLUENCE_ENV_CONNECTOR_FROM_BLOCK=0x75f3fbc 76 | 77 | # download nox binary, builtins 78 | COPY fluence/ /fluence/ 79 | RUN /fluence/download_fluence.sh /fluence/fluence.json 80 | 81 | # copy default fluence config 82 | COPY fluence/Config.default.toml /.fluence/v1/Config.toml 83 | ENV FLUENCE_CONFIG=/.fluence/v1/Config.toml 84 | 85 | # copy IPFS binary 86 | COPY --from=prepare-ipfs /usr/local/bin/ipfs /usr/bin/ipfs 87 | 88 | # copy s6 configs 89 | COPY s6/minimal/ / 90 | 91 | # ipfs 92 | # ---------------------------------------------------------------------------- 93 | FROM minimal as ipfs 94 | ARG TARGETPLATFORM 95 | ARG BUILDPLATFORM 96 | 97 | LABEL org.opencontainers.image.description="nox bundled with IPFS daemon" 98 | LABEL dev.fluence.bundles.ipfs="${IPFS_VERSION}" 99 | 100 | ENV IPFS_PATH=/config/ipfs 101 | ENV IPFS_LOG_DIR=/log/ipfs 102 | ENV IPFS_LOGGING_FMT=nocolor 103 | ENV IPFS_MIGRATE_FS=false 104 | ENV IPFS_ADDRESSES_SWARM=/ip4/0.0.0.0/tcp/4001,/ip4/0.0.0.0/tcp/4001/ws 105 | ENV IPFS_ADDRESSES_API=/ip4/0.0.0.0/tcp/5001 106 | ENV IPFS_ADDRESSES_GATEWAY=/ip4/0.0.0.0/tcp/8080 107 | ENV IPFS_ADDRESSES_ANNOUNCE=/ip4/127.0.0.1/tcp/4001,/ip4/127.0.0.1/tcp/4001/ws 108 | 109 | # aqua-ipfs builtin default env variables 110 | # instruct aqua-ipfs (client) to work with an IPFS node hosted on 127.0.0.1 (inside this docker container) 111 | ENV FLUENCE_ENV_AQUA_IPFS_EXTERNAL_API_MULTIADDR=/ip4/127.0.0.1/tcp/5001 112 | ENV FLUENCE_ENV_AQUA_IPFS_LOCAL_API_MULTIADDR=/ip4/127.0.0.1/tcp/5001 113 | 114 | # download ipfs fs-repo-migrations tool 115 | COPY docker/download_ipfs_fs_repo_migrations.sh /docker/download_ipfs_fs_repo_migrations.sh 116 | RUN /docker/download_ipfs_fs_repo_migrations.sh 117 | 118 | # copy s6 configs 119 | COPY s6/ipfs/ / 120 | 121 | # expose IPFS node port 122 | EXPOSE 5001 123 | 124 | # rich 125 | # ---------------------------------------------------------------------------- 126 | FROM ipfs as rich 127 | ARG CERAMIC_VERSION 128 | ARG GLAZED_VERSION 129 | ARG GETH_VERSION 130 | ARG BITCOIN_CLI_VERSION 131 | ARG TARGETPLATFORM 132 | ARG BUILDPLATFORM 133 | 134 | LABEL org.opencontainers.image.description="nox bundled with IPFS, Ceramic CLI and other tools" 135 | LABEL dev.fluence.image.bundles.ceramic="${CERAMIC_VERSION}" 136 | LABEL dev.fluence.image.bundles.glazed="${GLAZED_VERSION}" 137 | LABEL dev.fluence.image.bundles.bitcoin_cli="${BITCOIN_CLI_VERSION}" 138 | LABEL dev.fluence.image.bundles.geth="${GETH_VERSION}" 139 | 140 | # add nodejs 16.x repo 141 | RUN curl -fsSL https://deb.nodesource.com/gpgkey/nodesource.gpg.key | gpg --dearmor > /usr/share/keyrings/nodesource.gpg \ 142 | && echo "deb [signed-by=/usr/share/keyrings/nodesource.gpg] https://deb.nodesource.com/node_16.x focal main" > /etc/apt/sources.list.d/nodesource.list 143 | 144 | RUN \ 145 | apt-get update && \ 146 | apt-get install -y --no-install-recommends \ 147 | musl \ 148 | nodejs && \ 149 | apt-get clean && \ 150 | rm -rf \ 151 | /tmp/* \ 152 | /var/lib/apt/lists/* \ 153 | /var/tmp/* 154 | 155 | # install ceramic and glaze 156 | ENV SHELL=bash 157 | ENV PNPM_HOME="/pnpm" 158 | ENV PATH="$PNPM_HOME:$PATH" 159 | RUN curl -fsSL https://get.pnpm.io/install.sh | sh - 160 | RUN --mount=type=cache,id=pnpm,target=/pnpm/store \ 161 | pnpm install --prod -g \ 162 | @ceramicnetwork/cli@$CERAMIC_VERSION \ 163 | @glazed/cli@$GLAZED_VERSION 164 | 165 | # copy geth 166 | COPY --from=prepare-geth /usr/local/bin/geth /usr/bin/geth 167 | 168 | # copy bitcoin-cli 169 | COPY --from=prepare-bitcoin /bitcoin-${BITCOIN_CLI_VERSION}/bin/bitcoin-cli /usr/bin/bitcoin-cli 170 | 171 | # copy s6 configs 172 | COPY s6/rich/ / 173 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Apache License 2 | Version 2.0, January 2004 3 | http://www.apache.org/licenses/ 4 | 5 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 6 | 7 | 1. Definitions. 8 | 9 | "License" shall mean the terms and conditions for use, reproduction, 10 | and distribution as defined by Sections 1 through 9 of this document. 11 | 12 | "Licensor" shall mean the copyright owner or entity authorized by 13 | the copyright owner that is granting the License. 14 | 15 | "Legal Entity" shall mean the union of the acting entity and all 16 | other entities that control, are controlled by, or are under common 17 | control with that entity. For the purposes of this definition, 18 | "control" means (i) the power, direct or indirect, to cause the 19 | direction or management of such entity, whether by contract or 20 | otherwise, or (ii) ownership of fifty percent (50%) or more of the 21 | outstanding shares, or (iii) beneficial ownership of such entity. 22 | 23 | "You" (or "Your") shall mean an individual or Legal Entity 24 | exercising permissions granted by this License. 25 | 26 | "Source" form shall mean the preferred form for making modifications, 27 | including but not limited to software source code, documentation 28 | source, and configuration files. 29 | 30 | "Object" form shall mean any form resulting from mechanical 31 | transformation or translation of a Source form, including but 32 | not limited to compiled object code, generated documentation, 33 | and conversions to other media types. 34 | 35 | "Work" shall mean the work of authorship, whether in Source or 36 | Object form, made available under the License, as indicated by a 37 | copyright notice that is included in or attached to the work 38 | (an example is provided in the Appendix below). 39 | 40 | "Derivative Works" shall mean any work, whether in Source or Object 41 | form, that is based on (or derived from) the Work and for which the 42 | editorial revisions, annotations, elaborations, or other modifications 43 | represent, as a whole, an original work of authorship. For the purposes 44 | of this License, Derivative Works shall not include works that remain 45 | separable from, or merely link (or bind by name) to the interfaces of, 46 | the Work and Derivative Works thereof. 47 | 48 | "Contribution" shall mean any work of authorship, including 49 | the original version of the Work and any modifications or additions 50 | to that Work or Derivative Works thereof, that is intentionally 51 | submitted to Licensor for inclusion in the Work by the copyright owner 52 | or by an individual or Legal Entity authorized to submit on behalf of 53 | the copyright owner. For the purposes of this definition, "submitted" 54 | means any form of electronic, verbal, or written communication sent 55 | to the Licensor or its representatives, including but not limited to 56 | communication on electronic mailing lists, source code control systems, 57 | and issue tracking systems that are managed by, or on behalf of, the 58 | Licensor for the purpose of discussing and improving the Work, but 59 | excluding communication that is conspicuously marked or otherwise 60 | designated in writing by the copyright owner as "Not a Contribution." 61 | 62 | "Contributor" shall mean Licensor and any individual or Legal Entity 63 | on behalf of whom a Contribution has been received by Licensor and 64 | subsequently incorporated within the Work. 65 | 66 | 2. Grant of Copyright License. Subject to the terms and conditions of 67 | this License, each Contributor hereby grants to You a perpetual, 68 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 69 | copyright license to reproduce, prepare Derivative Works of, 70 | publicly display, publicly perform, sublicense, and distribute the 71 | Work and such Derivative Works in Source or Object form. 72 | 73 | 3. Grant of Patent License. Subject to the terms and conditions of 74 | this License, each Contributor hereby grants to You a perpetual, 75 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 76 | (except as stated in this section) patent license to make, have made, 77 | use, offer to sell, sell, import, and otherwise transfer the Work, 78 | where such license applies only to those patent claims licensable 79 | by such Contributor that are necessarily infringed by their 80 | Contribution(s) alone or by combination of their Contribution(s) 81 | with the Work to which such Contribution(s) was submitted. If You 82 | institute patent litigation against any entity (including a 83 | cross-claim or counterclaim in a lawsuit) alleging that the Work 84 | or a Contribution incorporated within the Work constitutes direct 85 | or contributory patent infringement, then any patent licenses 86 | granted to You under this License for that Work shall terminate 87 | as of the date such litigation is filed. 88 | 89 | 4. Redistribution. You may reproduce and distribute copies of the 90 | Work or Derivative Works thereof in any medium, with or without 91 | modifications, and in Source or Object form, provided that You 92 | meet the following conditions: 93 | 94 | (a) You must give any other recipients of the Work or 95 | Derivative Works a copy of this License; and 96 | 97 | (b) You must cause any modified files to carry prominent notices 98 | stating that You changed the files; and 99 | 100 | (c) You must retain, in the Source form of any Derivative Works 101 | that You distribute, all copyright, patent, trademark, and 102 | attribution notices from the Source form of the Work, 103 | excluding those notices that do not pertain to any part of 104 | the Derivative Works; and 105 | 106 | (d) If the Work includes a "NOTICE" text file as part of its 107 | distribution, then any Derivative Works that You distribute must 108 | include a readable copy of the attribution notices contained 109 | within such NOTICE file, excluding those notices that do not 110 | pertain to any part of the Derivative Works, in at least one 111 | of the following places: within a NOTICE text file distributed 112 | as part of the Derivative Works; within the Source form or 113 | documentation, if provided along with the Derivative Works; or, 114 | within a display generated by the Derivative Works, if and 115 | wherever such third-party notices normally appear. The contents 116 | of the NOTICE file are for informational purposes only and 117 | do not modify the License. You may add Your own attribution 118 | notices within Derivative Works that You distribute, alongside 119 | or as an addendum to the NOTICE text from the Work, provided 120 | that such additional attribution notices cannot be construed 121 | as modifying the License. 122 | 123 | You may add Your own copyright statement to Your modifications and 124 | may provide additional or different license terms and conditions 125 | for use, reproduction, or distribution of Your modifications, or 126 | for any such Derivative Works as a whole, provided Your use, 127 | reproduction, and distribution of the Work otherwise complies with 128 | the conditions stated in this License. 129 | 130 | 5. Submission of Contributions. Unless You explicitly state otherwise, 131 | any Contribution intentionally submitted for inclusion in the Work 132 | by You to the Licensor shall be under the terms and conditions of 133 | this License, without any additional terms or conditions. 134 | Notwithstanding the above, nothing herein shall supersede or modify 135 | the terms of any separate license agreement you may have executed 136 | with Licensor regarding such Contributions. 137 | 138 | 6. Trademarks. This License does not grant permission to use the trade 139 | names, trademarks, service marks, or product names of the Licensor, 140 | except as required for reasonable and customary use in describing the 141 | origin of the Work and reproducing the content of the NOTICE file. 142 | 143 | 7. Disclaimer of Warranty. Unless required by applicable law or 144 | agreed to in writing, Licensor provides the Work (and each 145 | Contributor provides its Contributions) on an "AS IS" BASIS, 146 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or 147 | implied, including, without limitation, any warranties or conditions 148 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A 149 | PARTICULAR PURPOSE. You are solely responsible for determining the 150 | appropriateness of using or redistributing the Work and assume any 151 | risks associated with Your exercise of permissions under this License. 152 | 153 | 8. Limitation of Liability. In no event and under no legal theory, 154 | whether in tort (including negligence), contract, or otherwise, 155 | unless required by applicable law (such as deliberate and grossly 156 | negligent acts) or agreed to in writing, shall any Contributor be 157 | liable to You for damages, including any direct, indirect, special, 158 | incidental, or consequential damages of any character arising as a 159 | result of this License or out of the use or inability to use the 160 | Work (including but not limited to damages for loss of goodwill, 161 | work stoppage, computer failure or malfunction, or any and all 162 | other commercial damages or losses), even if such Contributor 163 | has been advised of the possibility of such damages. 164 | 165 | 9. Accepting Warranty or Additional Liability. While redistributing 166 | the Work or Derivative Works thereof, You may choose to offer, 167 | and charge a fee for, acceptance of support, warranty, indemnity, 168 | or other liability obligations and/or rights consistent with this 169 | License. However, in accepting such obligations, You may act only 170 | on Your own behalf and on Your sole responsibility, not on behalf 171 | of any other Contributor, and only if You agree to indemnify, 172 | defend, and hold each Contributor harmless for any liability 173 | incurred by, or claims asserted against, such Contributor by reason 174 | of your accepting any such warranty or additional liability. 175 | 176 | END OF TERMS AND CONDITIONS 177 | 178 | APPENDIX: How to apply the Apache License to your work. 179 | 180 | To apply the Apache License to your work, attach the following 181 | boilerplate notice, with the fields enclosed by brackets "[]" 182 | replaced with your own identifying information. (Don't include 183 | the brackets!) The text should be enclosed in the appropriate 184 | comment syntax for the file format. We also recommend that a 185 | file or class name and description of purpose be included on the 186 | same "printed page" as the copyright notice for easier 187 | identification within third-party archives. 188 | 189 | Copyright [yyyy] [name of copyright owner] 190 | 191 | Licensed under the Apache License, Version 2.0 (the "License"); 192 | you may not use this file except in compliance with the License. 193 | You may obtain a copy of the License at 194 | 195 | http://www.apache.org/licenses/LICENSE-2.0 196 | 197 | Unless required by applicable law or agreed to in writing, software 198 | distributed under the License is distributed on an "AS IS" BASIS, 199 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 200 | See the License for the specific language governing permissions and 201 | limitations under the License. 202 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Nox Distro 2 | 3 | The distributive and packaging of the [nox](https://github.com/fluencelabs/nox). 4 | 5 | ## Installation and usage 6 | 7 | ```bash 8 | docker run -d --name nox -e RUST_LOG="info" -p 7777:7777 -p 9999:9999 fluencelabs/nox:latest --local 9 | ``` 10 | 11 | To get a list of commands that can be passed to nox run: 12 | 13 | ```bash 14 | docker run --rm --name nox fluencelabs/nox:latest --help 15 | ``` 16 | 17 | See deployment instructions and tips at 18 | [deploy](https://github.com/fluencelabs/nox-distro/tree/master/deploy). 19 | 20 | ## Documentation 21 | 22 | - Rust peer distro 23 | [image flavours](https://github.com/fluencelabs/nox-distro/tree/master/docs/flavours.md) 24 | - [Builtin services](https://github.com/fluencelabs/nox-distro/tree/master/docs/builtins.md) 25 | 26 | Comprehensive documentation on everything related to Fluence can be found 27 | [here](https://fluence.dev/). Check also our 28 | [YouTube channel](https://www.youtube.com/@fluencelabs). 29 | 30 | ## Support 31 | 32 | Please, file an [issue](https://github.com/fluencelabs/nox-distro/issues) if you 33 | find a bug. You can also contact us at 34 | [Discord](https://discord.com/invite/5qSnPZKh7u) or 35 | [Telegram](https://t.me/fluence_project). We will do our best to resolve the 36 | issue ASAP. 37 | 38 | ## Contributing 39 | 40 | Any interested person is welcome to contribute to the project. Please, make sure 41 | you read and follow some basic 42 | [rules](https://github.com/fluencelabs/nox-distro/tree/master/CONTRIBUTING.md). 43 | The Contributor License Agreement can be found 44 | [here](https://github.com/fluencelabs/nox-distro/tree/master/FluenceCLA). 45 | 46 | ## License 47 | 48 | All software code is copyright (c) Fluence Labs, Inc. under the 49 | [Apache-2.0](https://github.com/fluencelabs/nox-distro/tree/master/LICENSE) 50 | license. 51 | -------------------------------------------------------------------------------- /deploy/README.md: -------------------------------------------------------------------------------- 1 | # Running nox 2 | 3 | Currently there is only one way to try out the Rust peer. It is by running it 4 | with [docker-compose](docker-compose/). An example configuration for popular 5 | orchestration platforms like [HasiCorp Nomad](https://www.nomadproject.io/) and 6 | K8S are coming soon! Meanwhile, you can adapt 7 | [this docker-compose file](docker-compose/docker-compose.yml) for the platform 8 | of your choice. 9 | 10 | ## Configuring nox distro image 11 | 12 | Checkout [this doc](../docs/flavours.md) to learn more about nox image flavours 13 | and environment variables used to configure the images. 14 | -------------------------------------------------------------------------------- /deploy/docker-compose/README.md: -------------------------------------------------------------------------------- 1 | # Run nox with docker-compose 2 | 3 | This guide explains how to use docker-compose to start a local network of three 4 | [nox](https://github.com/fluencelabs/nox) nodes. 5 | 6 | ## Introduction 7 | 8 | The nox network is a set of peer nodes that can communicate with each 9 | other to share data and execute code plus local IPFS node used by 10 | [aqua-ipfs builtin](../../docs/builtins.md##aqua-ipfs). By running a local 11 | nox network, you can test your applications in a controlled environment 12 | without relying on external networks. 13 | 14 | ## Prerequisites 15 | 16 | Before you can run the nox network, you need to have Docker and 17 | docker-compose installed on your system. You can follow the official 18 | instructions for installing Docker and installing docker-compose on your 19 | operating system: 20 | 21 | - [docker](https://docs.docker.com/engine/install/) 22 | - [docker-compose](https://docs.docker.com/compose/install/linux/#install-using-the-repository) 23 | 24 | ## Starting local nox network 25 | 26 | 1. `git clone` this repository locally and run `cd deploy/docker-compose`. 27 | 28 | 2. Pull the latest container images by running the following command: 29 | ```bash 30 | docker-compose pull 31 | ``` 32 | 33 | 3. Start the nox network by running the following command: 34 | ```bash 35 | docker-compose up -d 36 | ``` 37 | 38 | This will start three nox nodes, each listening on a different port. 39 | 40 | ## Accessing local nox network 41 | 42 | To interact with the nox network, you can use the 43 | [fluence-cli](https://github.com/fluencelabs/fluence-cli) tool. 44 | 45 | 1. Run `fluence init` and chose `minimal` project template. 46 | 2. Change `hosts` key in `fluence.yaml` to: 47 | ```yml 48 | hosts: 49 | defaultWorker: 50 | peerIds: 51 | - 12D3KooWBM3SdXWqGaawQDGQ6JprtwswEg3FWGvGhmgmMez1vRbR 52 | ``` 53 | 54 | 3. Change `relays` key in `fluence.yaml` to: 55 | ```yml 56 | relays: 57 | - /ip4/127.0.0.1/tcp/9991/ws/p2p/12D3KooWBM3SdXWqGaawQDGQ6JprtwswEg3FWGvGhmgmMez1vRbR 58 | - /ip4/127.0.0.1/tcp/9992/ws/p2p/12D3KooWQdpukY3p2DhDfUfDgphAqsGu5ZUrmQ4mcHSGrRag6gQK 59 | - /ip4/127.0.0.1/tcp/9993/ws/p2p/12D3KooWRT8V5awYdEZm6aAV9HWweCEbhWd7df4wehqHZXAB7yMZ 60 | ``` 61 | 62 | 4. Run 63 | ```bash 64 | fluence run -f 'helloWorld("Fluence")' 65 | fluence run -f 'getInfo()' 66 | ``` 67 | 68 | ## Using local nox network in your project 69 | 70 | You must make changes to `fluence.yaml` to use a local nox network: 71 | 72 | - changing `hosts` key in `fluence.yaml` to: 73 | ```yml 74 | hosts: 75 | defaultWorker: 76 | peerIds: 77 | - 12D3KooWBM3SdXWqGaawQDGQ6JprtwswEg3FWGvGhmgmMez1vRbR 78 | ``` 79 | - changing `relays` key in `fluence.yaml` to: 80 | ```yml 81 | relays: 82 | - /ip4/127.0.0.1/tcp/9991/ws/p2p/12D3KooWBM3SdXWqGaawQDGQ6JprtwswEg3FWGvGhmgmMez1vRbR 83 | - /ip4/127.0.0.1/tcp/9992/ws/p2p/12D3KooWQdpukY3p2DhDfUfDgphAqsGu5ZUrmQ4mcHSGrRag6gQK 84 | - /ip4/127.0.0.1/tcp/9993/ws/p2p/12D3KooWRT8V5awYdEZm6aAV9HWweCEbhWd7df4wehqHZXAB7yMZ 85 | ``` 86 | 87 | You can try following the example 88 | [workflow](https://github.com/fluencelabs/fluence-cli/blob/main/docs/EXAMPLE.md) 89 | provided by Fluence Labs making these changes. 90 | 91 | Here is a table with multiaddress for each node: 92 | 93 | | container | multiaddress | 94 | | --------- | ----------------------------------------------------------------------------------- | 95 | | peer-1 | /ip4/127.0.0.1/tcp/9991/ws/p2p/12D3KooWBM3SdXWqGaawQDGQ6JprtwswEg3FWGvGhmgmMez1vRbR | 96 | | peer-2 | /ip4/127.0.0.1/tcp/9992/ws/p2p/12D3KooWQdpukY3p2DhDfUfDgphAqsGu5ZUrmQ4mcHSGrRag6gQK | 97 | | peer-3 | /ip4/127.0.0.1/tcp/9993/ws/p2p/12D3KooWRT8V5awYdEZm6aAV9HWweCEbhWd7df4wehqHZXAB7yMZ | 98 | 99 | ## Running with observability stack 100 | 101 | Stack consists of: 102 | 103 | - [Prometheus](https://prometheus.io/) - TSDB that collects and stores metrics 104 | - [Loki](https://grafana.com/logs/) - lightweight centralized logging solution 105 | - [Promtail](https://grafana.com/docs/loki/latest/clients/promtail/) - log 106 | collection agent 107 | - [Grafana](https://grafana.com/grafana/) - data visualization tool 108 | 109 | To set it up run: 110 | 111 | ```bash 112 | docker-compose -f docker-compose.yml -f docker-compose.observability.yml up -d 113 | ``` 114 | 115 | Grafana will have automatically preprovisioned dashboards: 116 | 117 | - nox stats - overview of nox network 118 | - Service metrics - detailed stats on deployed services 119 | 120 | You can find Grafana at http://localhost:3000. To access nox logs use 121 | `Explore` tab and chose `Loki` datasource. 122 | -------------------------------------------------------------------------------- /deploy/docker-compose/configs/loki.yml: -------------------------------------------------------------------------------- 1 | auth_enabled: false 2 | 3 | server: 4 | http_listen_port: 3100 5 | 6 | ingester: 7 | lifecycler: 8 | address: 127.0.0.1 9 | ring: 10 | kvstore: 11 | store: inmemory 12 | replication_factor: 1 13 | final_sleep: 0s 14 | chunk_idle_period: 5m 15 | chunk_retain_period: 30s 16 | wal: 17 | dir: /data/wal 18 | 19 | 20 | schema_config: 21 | configs: 22 | - from: 2023-01-01 23 | store: boltdb 24 | object_store: filesystem 25 | schema: v12 26 | index: 27 | prefix: index_ 28 | period: 168h 29 | 30 | storage_config: 31 | boltdb: 32 | directory: /data/index 33 | 34 | filesystem: 35 | directory: /data/chunks 36 | 37 | limits_config: 38 | enforce_metric_name: false 39 | reject_old_samples: true 40 | reject_old_samples_max_age: 168h 41 | -------------------------------------------------------------------------------- /deploy/docker-compose/configs/prometheus.yml: -------------------------------------------------------------------------------- 1 | global: 2 | scrape_interval: "15s" 3 | 4 | scrape_configs: 5 | - job_name: "nox" 6 | scrape_interval: "15s" 7 | static_configs: 8 | - targets: 9 | - "peer-1:18080" 10 | labels: 11 | instance: "peer-1" 12 | env: "demo" 13 | - targets: 14 | - "peer-2:18080" 15 | labels: 16 | instance: "peer-2" 17 | env: "demo" 18 | - targets: 19 | - "peer-3:18080" 20 | labels: 21 | instance: "peer-3" 22 | env: "demo" 23 | -------------------------------------------------------------------------------- /deploy/docker-compose/configs/promtail.yml: -------------------------------------------------------------------------------- 1 | positions: 2 | filename: "/data/positions.yml" 3 | 4 | clients: 5 | - url: "http://loki:3100/loki/api/v1/push" 6 | 7 | scrape_configs: 8 | - job_name: "nox" 9 | docker_sd_configs: 10 | - host: unix:///var/run/docker.sock 11 | filters: 12 | - name: label 13 | values: ["scrape=true"] 14 | pipeline_stages: 15 | - multiline: 16 | firstline: '^(?P