{"id":20263601,"url":"https://github.com/springerpe/nfsclient-boshrelease","last_synced_at":"2026-05-10T01:18:27.829Z","repository":{"id":80987331,"uuid":"423912199","full_name":"SpringerPE/nfsclient-boshrelease","owner":"SpringerPE","description":"Simple NFS client boshrelease","archived":false,"fork":false,"pushed_at":"2021-12-21T12:15:03.000Z","size":40,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-14T04:44:35.303Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SpringerPE.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-11-02T16:08:06.000Z","updated_at":"2021-11-15T11:49:47.000Z","dependencies_parsed_at":null,"dependency_job_id":"d19fafee-088e-4144-ae98-84351b56bfc5","html_url":"https://github.com/SpringerPE/nfsclient-boshrelease","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SpringerPE%2Fnfsclient-boshrelease","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SpringerPE%2Fnfsclient-boshrelease/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SpringerPE%2Fnfsclient-boshrelease/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SpringerPE%2Fnfsclient-boshrelease/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SpringerPE","download_url":"https://codeload.github.com/SpringerPE/nfsclient-boshrelease/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241731744,"owners_count":20010781,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-14T11:35:41.770Z","updated_at":"2026-05-10T01:18:27.786Z","avatar_url":"https://github.com/SpringerPE.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# BOSH Release for nfsclient\n\nThis is a workaround to be able to use bionic nfs services. The idea is use official distribuiton packages instead\nof shipping Debian packages with the release (which breaks the philosophy of a linux distribution and also the philosophy of Bosh)\n\nFor now it is focused on Ubuntu stemcells.\n\n## Usage\n\nThe parameters are compatible with the `nfs_mounter` job of bosh `capi-release`.\nIt also creates the `shared` folder and the file `\u003cmountpoint\u003e/shared/.nfs_test` to check if it is\nwritable (the file is used in other releases -like CAPI- for checking everything is ok).\n\nGiven this manifest:\n\n```\n---\nname: nfs-test\n\nreleases:\n- name: nfsclient\n  version: latest\n\nstemcells:\n- alias: xenial\n  os: ubuntu-xenial\n  version: latest\n- alias: bionic\n  os: ubuntu-bionic\n  version: latest\n\ninstance_groups:\n- name: bionic\n  instances: 1\n  vm_type: small\n  stemcell: bionic\n  vm_extensions: []\n  azs:\n  - z1\n  - z2\n  - z3\n  networks:\n  - name: default\n  jobs:\n  - name: nfsclient\n    release: nfsclient\n    properties:\n      nfs_server:\n        address: \"10.10.0.1\"\n        share: \"/blobstore\"\n        share_path: '/var/vcap/data/nfs'\n        nfsv4: false\n        apt_packages:\n        - rpcbind: \"0.2.3-0.6\"\n        - keyutils: \"*\"\n        - nfs-common: \"1:1.3\"\n\n- name: xenial\n  instances: 1\n  vm_type: small\n  stemcell: xenial\n  vm_extensions: []\n  azs:\n  - z1\n  - z2\n  - z3\n  networks:\n  - name: default\n  jobs:\n  - name: nfsclient\n    release: nfsclient\n    properties:\n      nfs_server:\n        address: \"10.10.0.1\"\n        share: \"/blobstore\"\n        share_path: '/var/vcap/data/nfs'\n        nfsv4: false\n        \nupdate:\n  canaries: 1\n  max_in_flight: 1\n  serial: false\n  canary_watch_time: 1000-60000\n  update_watch_time: 1000-60000\n```\n\nTwo vms will be created. The first one is using a ubuntu-bionic stemcell and the versions of the packages are specificed.\nThe version of `rpcbind` matches a version so that one will be installed. In the case of `nfs-common` the version does not\nmatch a full version, but it matches with mayor versions (like `1:1.3.4-2.1ubuntu5.3` `1:1.3.4-2.1ubuntu5.5` and `1:1.3.4-2.1ubuntu5`)\nso the latest one (bigger) will be installed (`1:1.3.4-2.1ubuntu5.5`). Also both packages will will be marked for hold, so no\nupdates will be installed even if they are available.\n\nThe xenial one (second instance) will have the nfs packages installed with the latest available version in the distribution\n(after doing `apt-get update` -by default-).\n\n\n# Developing\n\nBlobs of this release are stored in this git repository in the folder `blobstore`. The idea was taken from here: https://starkandwayne.com/blog/bosh-releases-with-git-lfs/\n\nAfter this, files created by `bosh create-release --final` can be committed to the repo with git commit and it will be stored with git lfs. No need run `bosh sync-blobs`, instead just `git commit \u0026\u0026 git push`. All of these steps are automatically done by the script `create-final-public-release.sh`.\n\nWhen do a git commit, try to use good commit messages; the release changes on each release will be taken from the commit messages!  \n\n## Creating Dev releases (for testing)\n\nTo create a dev release -for testing purposes-, just run:\n\n```\n# Create a dev release\nbosh  create-release --force --tarball=/tmp/release.tgz\n# Upload release to bosh director\nbosh -e \u003cbosh-env\u003e upload-release /tmp/release.tgz\n```\n\nThen you can modify your manifest to include `latest` as a version (no `url` and `sha` fields are needed when the release is manually uploaded): \n\n```\nreleases:\n  [...]\n- name: nfsclient\n  version: latest\n```\n\nOnce you know that the dev version is working, you can generate and publish a final version of the release (see  below), and remember to change the deployment manifest to use a url of the new final manifest like this:\n\n```\nreleases:\n  [...]\n- name: nfsclient\n  url: https://github.com/SpringerPE/nfsclient-boshrelease/releases/download/v8/nfsclient-8.tgz\n  version: 8\n  sha1: 12c34892f5bc99491c310c8867b508f1bc12629c\n```\n\nor much better, use an operations file ;-)\n\n\n## Creating a new final release and publishing to GitHub releases:\n\nRun: `./create-final-public-release.sh [version-number]`\n\nKeep in mind you will need a Github token defined in a environment variable `GITHUB_TOKEN`. Please get your token here: https://help.github.com/articles/creating-an-access-token-for-command-line-use/\nand run `export GITHUB_TOKEN=\"xxxxxxxxxxxxxxxxx\"`, after that you can use the script.\n\n`version-number` is optional. If not provided it will create a new major version (as integer), otherwise you can specify versions like \"8.1\", \"8.1.2\". There is a regular expresion in the script to check if the format is correct. Bosh client does not allow you to create 2 releases with the same version number. If for some reason you need to recreate a release version, delete the file created in `releases/nfsclient-boshrelease` and update the index file in the same location, you also need to remove the release (and tags) in Github.\n\n\n# Usage in a deployment manifest\n\nThis is and add-on release, it will work only if it is deployed together with the \n*prometheus-boshrelease* on the nodes.\n\nConsidering v2 manifest style, add the new releases in the `releases` block:\n\n```\nreleases:\n  [...]\n- name: nfsclient\n  version: latest\n```\n\nthen in your `instance_groups`, add:\n \n```\ninstance_groups:\n  [...]\n  jobs:\n  [...]\n  - name: nfsclient\n    release: nfsclient\n```\n\n# Author\n\nSpringerNature Platform Engineering, José Riguera López (jose.riguera@springer.com)\n\nCopyright 2017 Springer Nature\n\n\n# License\n\nApache 2.0 License\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspringerpe%2Fnfsclient-boshrelease","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fspringerpe%2Fnfsclient-boshrelease","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspringerpe%2Fnfsclient-boshrelease/lists"}