{"id":20504069,"url":"https://github.com/icinga/icinga-build-vagrant","last_synced_at":"2025-07-08T08:04:44.361Z","repository":{"id":145046551,"uuid":"80507902","full_name":"Icinga/icinga-build-vagrant","owner":"Icinga","description":"Vagrant test environment for the Icinga build system","archived":false,"fork":false,"pushed_at":"2018-05-25T11:42:49.000Z","size":126,"stargazers_count":2,"open_issues_count":5,"forks_count":2,"subscribers_count":12,"default_branch":"master","last_synced_at":"2025-03-05T20:52:16.461Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Icinga.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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-01-31T09:44:26.000Z","updated_at":"2018-10-21T03:02:58.000Z","dependencies_parsed_at":null,"dependency_job_id":"71df6305-b95f-4eb9-915e-ae3b2505952c","html_url":"https://github.com/Icinga/icinga-build-vagrant","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Icinga/icinga-build-vagrant","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Icinga%2Ficinga-build-vagrant","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Icinga%2Ficinga-build-vagrant/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Icinga%2Ficinga-build-vagrant/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Icinga%2Ficinga-build-vagrant/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Icinga","download_url":"https://codeload.github.com/Icinga/icinga-build-vagrant/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Icinga%2Ficinga-build-vagrant/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264229240,"owners_count":23576237,"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-15T19:36:10.456Z","updated_at":"2025-07-08T08:04:44.064Z","avatar_url":"https://github.com/Icinga.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"Icinga Buildsystem Vagrant\n==========================\n\nThis environment helps you to bring up a local test environment for the Icinga build system.\n\nIt is not intended for demo, but for developing the build system.\n\nBased on [lazyfrosch/vagrant-puppet-boilerplate](https://github.com/lazyfrosch/vagrant-puppet-boilerplate).\n\n## Prepare\n\nCheckout this repository\n\n    git clone https://github.com/Icinga/icinga-build-vagrant.git\n\n    # if you are a project member\n    git clone git@github.com:Icinga/icinga-build-vagrant.git\n\nInstall required ruby tools:\n\n    bundle install\n    bundle install --path vendor/bundle\n\nAnd checkout the Puppet modules: (via r10k)\n\n    rake deploy\n\n## Recommended plugin\n\nYou might need the Vagrant plugin `vagrant-vbguest` to install / update the Virtualbox tools on the VMs.\n\nThis will help you install tools before first provisioning, and updating them after a Kernel update.\n\n    vagrant plugin install vagrant-vbguest\n\n## Bring up machines\n\nYou can bring up the Vagrant boxes like this:\n\n    vagrant up jenkins\n\n    # or all\n    vagrant up\n\nApply changes in the Puppet or hiera data:\n\n    vagrant provision\n    vagrant provision \u003chost\u003e\n\n## Known Problems\n\n### Admin Password\n\nYou can find the initial admin password of Jenkins at\n\n    /var/lib/jenkins/secrets/initialAdminPassword\n\n### Creating Jobs\n\nBy default Jenkins enables integrated security for the server.\n\nSo Puppet will fail creating any resources inside Jenkins.\n\n* Login to Jenkins with the admin password (`/var/lib/jenkins/secrets/initialAdminPassword`)\n* Go to Users and change the admin user\n* Add the SSH key of Jenkins' Home to the user (`/var/lib/jenkins/.ssh/id_rsa.pub`)\n\nIf this is done you can configure the security to whatever you like.\nJust make sure admin is still allowed to manage things.\n\n### Publishing Packages\n\nAptly will fail to publish packages if there is no GPG key present. You need to generate one\nas user `root` and import the public key with `apt-key`.\n\n* `gpg2 --gen-key`\n* `gpg2 --export --armor \u003e aptly.key`\n* `apt-key add aptly.key`\n\n## Services\n\n| Service          | VM                               | Local                              |\n| -----------------|----------------------------------|------------------------------------|\n| Jenkins          | http://192.168.33.2:8080         | http://localhost:8080              |\n| Jenkins Agent    | 192.168.33.81 SSH Port 2222      |                                    |\n| Aptly API        | http://192.168.33.3:8080         | http://localhost:8090              |\n| Aptly API (auth) | http://192.168.33.3              |                                    |\n| Repositories     | http://192.168.33.3/aptly/public | http://localhost:9090/aptly/public |\n\n### Adding the slave\n\nIn order to connect Jenkins to the slave two things need to be configured:\nThe node and a set of credentials. They are currently not in puppet because\nwe do not have a template for credentials yet. You will need to create a new\nssh-credential with the username 'jenkins' and ~/.ssh as location for the key.\n\nWhen adding a node, set the following options:\n\n    Remote root directory: /home/jenkins\n    Launch method: Launch via ssh\n    Host: 192.168.33.81\n\tPort: 2222\n    Credentials: /the credentials you created/\n\n## License\n\n    Copyright (C) 2017 Icinga Development Team \u003cinfo@icinga.com\u003e\n                  2017 Markus Frosch \u003cmarkus.frosch@icinga.com\u003e\n\n    This program is free software; you can redistribute it and/or modify\n    it under the terms of the GNU General Public License as published by\n    the Free Software Foundation; either version 2 of the License, or\n    (at your option) any later version.\n\n    This program is distributed in the hope that it will be useful,\n    but WITHOUT ANY WARRANTY; without even the implied warranty of\n    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n    GNU General Public License for more details.\n\n    You should have received a copy of the GNU General Public License along\n    with this program; if not, write to the Free Software Foundation, Inc.,\n    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ficinga%2Ficinga-build-vagrant","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ficinga%2Ficinga-build-vagrant","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ficinga%2Ficinga-build-vagrant/lists"}