{"id":21971462,"url":"https://github.com/vanillastack/vanillastack","last_synced_at":"2025-07-22T17:33:11.237Z","repository":{"id":40771202,"uuid":"295644972","full_name":"vanillastack/vanillastack","owner":"vanillastack","description":"Public VanillaStack repository","archived":false,"fork":false,"pushed_at":"2023-08-22T18:18:09.000Z","size":34446,"stargazers_count":39,"open_issues_count":0,"forks_count":7,"subscribers_count":11,"default_branch":"master","last_synced_at":"2023-08-22T22:09:11.993Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Jinja","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/vanillastack.png","metadata":{"files":{"readme":"README.adoc","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.adoc","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-09-15T07:11:59.000Z","updated_at":"2023-06-12T10:35:18.000Z","dependencies_parsed_at":"2023-02-17T06:50:22.606Z","dependency_job_id":null,"html_url":"https://github.com/vanillastack/vanillastack","commit_stats":null,"previous_names":[],"tags_count":29,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vanillastack%2Fvanillastack","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vanillastack%2Fvanillastack/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vanillastack%2Fvanillastack/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vanillastack%2Fvanillastack/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vanillastack","download_url":"https://codeload.github.com/vanillastack/vanillastack/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":227149577,"owners_count":17738266,"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-29T14:50:28.568Z","updated_at":"2024-11-29T14:50:52.374Z","avatar_url":"https://github.com/vanillastack.png","language":"Jinja","funding_links":[],"categories":["Jinja"],"sub_categories":[],"readme":"= VanillaStack\n\nimage:https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg[link=\"https://github.com/semantic-release/semantic-release\",title=\"Semantic release\"]\nimage:https://open.rocket.chat/images/join-chat.svg[link=\"https://rocketchat.vanillastack.io\",title=\"VanillaStack Rocket.Chat instance\"]\n\nThere are multiple Vendor-Stacks out there, that promise to deliver an installation without hazzles, full integration and total flexibility - only to vendor lock you to the tools, frameworks and interfaces of a product.\n\nVanillaStack wants to be and is different: VanillaStack offers the integration of plain upstream projects. VanillaStack will use directly the core components of Kubernetes, Ceph, Rook, Harbor and many more.\n\nThis ensures, at any time, to work around or without VanillaStack, because, Vanilla doesn't want to own the stack. Vanilla wants to help but imposes no limits on your tooling.\n\n== The VanillaStack project\n\nVanillaStack understands Kubernetes as the operating system of your datacenter and helps you to setup a seamless installation of core cloud services.\nIt offers a cloudstack installation of the following OpenSource projects:\n\n* Kubernetes\n* Rook Ceph\n* Prometheus\n* Postgres Operator\n* ... and more\n\n\nThe VanillaStack project is licensed under link:LICENSE[Apache 2.0 License].\n\n== VanillaStack Project Scope \u0026 Core Design Goals\n\nKubernetes First::\nVanillaStack understands Kubernetes as its operating system.\nAll additional components are rolled out within containers.\nAlways and everwhere.\n\nIaaS. CaaS. PaaS. All included. All working::\nVanillaStack is based on the best Container-as-a-Service-platform: Kubernetes.\nAll from an easy to use installer, all working out-of-the-box.\n\nThe best management and operations tools::\nWith VanillaStack, the most commonly used management and operations tools, are just a click away.\nEnjoy operations.\n\nCommercial and Open-Source ecosystem::\nVanillaStack is not a Kubernetes distribution. VanillaStack is an open-source ecosystem.\nThe core of VanillaStack are a web-based installer and a web-based AppStore.\nOpen for everyone, be it open-source or commercial offering.\nBut always quality assured and curated.\n\nOnly Open-Source. Only Community-Projects::\nVanillaStack is made of open-source projects only.\nWe use the vanilla community projects.\nNo vendor lock, no proprietary code, no hidden magic.\nOnly open-source and only community.\n\n== Vanilla Community Values\n\nInclusive::\nOur ambitions are global. The Vanilla community is, too. The perspectives and skills necessary to achieve our goals are wide and varied; we believe in creating a community and a project that is inclusive, accessible, and welcoming to everyone.\nOpen::\nWe are dedicated to remaining open and transparent. We believe in keeping Vanilla Community code freely and fully available to be viewed, modified, and used without vendor lock-in or other in-built limitations.\nInspired::\nVanilla is all about the challenge. Our goals are not small: we want to build the best and simple to use Cloud stack, one that can work with any hardware and interoperate with all workloads. Vanilla is built on hard work, ingenuity, and an engineering mindset. We embrace hard problems and find inspired solutions.\nEvolving::\nVanilla is continuously growing and adapting. As a community project, there is no limit to its development. We continuously make room for improvement and welcome the opportunities offered by the ever-evolving nature of community projects.\n\n\nWe are excited about your interest in Vanilla and hope you will join us. We take our community very seriously, and we are committed to creating a community built on respectful interactions and inclusivity\n\n////\n== How to Get Started\n\n* The installer is only a side module that can run anywhere on your network (even locally on your desktop).\n* The installer must be able to login via SSH into the nodes that VanillaStack will be installed on.\n* The User for the login must be able to do sudo\n* The installer will create an unique SSH Keypair everytime it runs. This Key must be manually installed on your nodes by *YOU* footnote:[This ensures that none of *your* private keys get leaked while possibly transferring them. This way, a key ist created and destroyed after installation and you are free to remove the key anytime you wish from your nodes]\n\n* Variant a) Use a machine with an ready made installation ISO image:\n** Download the ISO and Boot it: `https://downloads.vanillastack.io/iso/live-image/vanillastack-installer-amd64.hybrid.iso`\n\n* Variant b) Use an already running Docker instance:\n** pull and run the Docker-Container if you have a local docker running already:\n\n$ docker run --name vanilla --rm harbor.vanillastack.io/vanillastack/installer\n\n** Point your browser to the installer at `http://localhost:8080`\n\n== Requirements\n\nVanillaStack Installer:\n\n* a working local Docker installation __or...__\n* __...or__ a empty machine (can be virtual) for running ISO image\n* SSH-access to the machines that vanillastack should be installed on\n*\n\n////\n\nVanillaStack requirements::\n\n* Internet network access\n  ** `https://harbor.vanillastack.io`\n* Debian 11 or RHEL 8 (tested with RHEL 8.6)\n\n== Installation Guide\n\nA detailed Installation Instruction can be found at link:https://docs.vanillastack.io[Vanillastack User Guide]\n\n== Update Vanillastack\n\nAn Update from Vanillastack Version 1.8.2 to 2.0.0 is not possible. The Vanillastack needs a new installation.\n\n== Ressources\n\n* Main Hub around the Project is the link:https://vanillastack.io/[Website]\n* Check out our link:https://www.youtube.com/playlist?list=PLJcz3tF8m0MS7DbVXzutPpJW-Vc_-9d_N[Youtube Channel]\n* Bugs, Suggestions, Feature Requests are reported in the related Repository.\n\n////\n* Discussions are happening on our link:https://discourse.vanillastack.io/[Discourse] Channels\n* live discussions are possible at: link:https://rocketchat.vanillastack.io[Rocket.Chat]\n////\n\n== Contribution\n\nPlease read and apply the following rules to contribute to this project:\n\n* One git repository for all automation code (THIS REPOSITORY ONLY!)\n* How to contribute to this repository?\n  ** Keep it modular - write Ansible roles! each feature should be one role\n  ** documentation for\n  ** Work with branches\n    *** master branch = production branch, used for all production setups\n    *** feature branch = personal branches to work on a new feature (based on master branch)\n  ** Make it understandable for other persons\n    *** Comment your code\n    *** Each role needs a description\n      *** What is the role doing?\n      *** What is required for usage?\n    ** Make usefull commits\n      *** Use semantic tags to control releases. for more informatins see linnk:https://github.com/semantic-release/semantic-release/blob/master/README.md#how-does-it-work\n      *** Use Tags: ADD / NEW / FIX / CHG in front of your commits\n      *** Use Comment tag for deeper information at bigger changes\n  ** No hardcoding\n    *** use variables\n    *** variables must be defined outsite of the role (vars, group_vars, host_vars, etc)\n  ** New features needs to merged into the master branch by using pull-requests\n    *** the code needs to be review and approved by 2 team members\n    *** the approvement needs to be documented!\n    *** all new features merges needs the documentation part in the merge request!\n  ** NEVER commit keys, credentials, usernames, passwords, etc to the git repository!!!\n    *** all keys and credentials must be stored in AWX\n  ** using shell scripts / bash commands is the last option\n    *** only if there is no Ansible module available\n    *** single commands can be used by command/shell module\n    *** multiline commands needs to be stored in an script\n    *** script/bash usage must be documented in detail (why you are using this?)\n    *** the Ansible role must be able to handle bash command errors\n* Bug handling\n  ** For each Bug open an Issue at the gitlab project page\n  ** Bugs will be tracked by the project board\n* Feature requests\n  ** Feature requests can be requestes by creating an Issue\n  ** Feature requests will be tracked by the project board\n* Playbooks don't execute any tasks, they are used to call roles.\n  ** Every Role is used for one part and should include multiple tasks\n  ** tasks should not be to complex, f.e. you do not provision a bastion host and install kubernetes on top in one task\n\n=== Cloning the Repository\n\nThis project uses git submodules to ensure you get everything needed, please use the following command(s):\n[source,console]\n----\n# For git \u003e= 2.13\ngit clone --recurse-submodules GIT_REPOSITORY_URL\n# For older git versions\ngit clone GIT_REPOSITORY_URL\ncd REPO_NAME\ngit submodule update --init --recursive\n----\n\n=== Workflow\n* Create a feature / personal branch based on the master branch\n* Change your stuff\n* Create a merge request to \"testing\" branch\n* Two Developers / Maintainers needs to review and ACK the changes by +1\n* One of the Maintainers merge the branch to \"testing\"\n* Pipeline is starting. If successful the testing branch will be merged to master automatically.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvanillastack%2Fvanillastack","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvanillastack%2Fvanillastack","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvanillastack%2Fvanillastack/lists"}