{"id":20263607,"url":"https://github.com/springerpe/vm-tuning-boshrelease","last_synced_at":"2025-10-29T22:02:31.350Z","repository":{"id":80987548,"uuid":"87021954","full_name":"SpringerPE/vm-tuning-boshrelease","owner":"SpringerPE","description":"Bosh release to tune up and customize a VM.","archived":false,"fork":false,"pushed_at":"2017-04-04T15:04:32.000Z","size":24,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-14T04:44:33.806Z","etag":null,"topics":["bosh-release","resolv","sysctl","tune","users"],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","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":"2017-04-02T23:06:50.000Z","updated_at":"2017-04-03T21:26:18.000Z","dependencies_parsed_at":"2023-06-04T07:13:19.953Z","dependency_job_id":null,"html_url":"https://github.com/SpringerPE/vm-tuning-boshrelease","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SpringerPE%2Fvm-tuning-boshrelease","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SpringerPE%2Fvm-tuning-boshrelease/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SpringerPE%2Fvm-tuning-boshrelease/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SpringerPE%2Fvm-tuning-boshrelease/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SpringerPE","download_url":"https://codeload.github.com/SpringerPE/vm-tuning-boshrelease/tar.gz/refs/heads/master","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":["bosh-release","resolv","sysctl","tune","users"],"created_at":"2024-11-14T11:35:42.058Z","updated_at":"2025-10-29T22:02:31.283Z","avatar_url":"https://github.com/SpringerPE.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# BOSH Release for VM fine tuning\n\nThe purpose of this release is provide a way to fine tune and customize a VM.\n\nCapabilities of the jobs:\n\n* `users` job manages the users on the server. It allows defining several public keys,\n  the password, uid, ssh and sudo access, shell, the profile and a way to disable a user.\n* `sysctl` manages the sys settings on the system, starting the job will apply the \n  new settings defined on the properties and stopping will restore the orginal settings\n  on the system.\n* `scheduler` defines udev rules to manage the IO scheduler, global default or per device\n* `resolvconf` job manages domain, search and options for the dns resolver. See \n  resolv.conf manual to define the options.\n* `login_banner` manages the content of the file /etc/issue.net. There are\n  some variables predefined you can use in the text.\n* `hosts` manages static dns entries defined in /etc/hosts\n\n## Usage\n\nExample manifest with job properties:\n```\n  jobs:\n  - name: sysctl\n    release: vm-tuning\n    properties:\n      sysctl:\n        config:\n        - name: enable-ipv6\n          index: 70\n          config: |\n            # undo BOSH's stemcell's IPv6 lockdowns\n            # 10-ipv6-privacy.conf\n            net.ipv6.conf.all.use_tempaddr = 0\n            net.ipv6.conf.default.use_tempaddr = 0\n            # 60-bosh-sysctl.conf\n            net.ipv6.conf.all.accept_ra=1\n            net.ipv6.conf.default.accept_ra=1\n            net.ipv6.conf.all.disable_ipv6=0\n            net.ipv6.conf.default.disable_ipv6=0\n            net.ipv6.conf.default.accept_redirects=1\n            net.ipv6.conf.all.accept_redirects=1\n            net.ipv6.route.flush=0\n  - name: hosts\n    release: vm-tuning\n    properties: {}\n      hosts:\n        \"192.168.1.10\": ['fqdn.domain.com', 'alias', 'name'] \n        \"fe00::0\": []\n  - name: resolvconf\n    release: vm-tuning\n    properties:\n      resolvconf:\n        search: local springer.com\n        options:\n        - \"timeout:3\"\n        - \"attempts:1\"\n  - name: scheduler\n    release: vm-tuning\n    properties:\n      scheduler:\n        default: noop\n        devices:\n        - name: sdb\n          scheduler: cfq\n  - name: users\n    release: vm-tuning\n    properties:\n      users:\n      - name: jriguera\n        uid: 1010\n        disable: false\n        sudo: true\n        ssh: true\n        public_key:\n         - ssh-rsa AAAA .... kna jriguera@thinkpad\n  - name: login_banner\n    release: vm-tuning\n    properties:\n      login_banner:\n        text: |\n          This server is managed by Bosh Director\n           ___ ___\n          | _ \\ __|   It's PE,\n          |  _/ _|      baby!\n          |_| |___|             platform-engineering@example.com\n          \n          # $JOB_FULL on $DEPLOYMENT_NAME\n```\n\n\n## Development\n\nSteps to build a new release:\n\n```\ngit clone https://github.com/SpringerPE/vm-tuning-boshrelease.git\ncd vm-tuning-boshrelease\nbosh target BOSH_HOST\nbosh create release --force \u0026\u0026 bosh upload release\n```\n\n### Final releases\n\nIn order to publish a final release, you can run `./bosh_final_release` for:\n\n* Upload all blobs to the public S3 bucket (and set them to public)\n* Create a final Bosh release (increasing the version number)\n* Upload and publish the new boshrelease tgz file in GitHub releases section, so\n  you can point it directly in the manifest file (sha1 checksum is also calculated)\n* Pushes and commits the changes to git\n\nAfter that, you can also, upload the new release to bosh director `bosh upload release`\n\n\n# Author\n\nBased on https://github.com/cloudfoundry/os-conf-release\n\nSpringer Nature Platform Engineering, Jose Riguera\n\nCopyright 2017 Springer Nature\n\n\n# License\n\nMIT License\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspringerpe%2Fvm-tuning-boshrelease","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fspringerpe%2Fvm-tuning-boshrelease","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspringerpe%2Fvm-tuning-boshrelease/lists"}