{"id":15965272,"url":"https://github.com/bwplotka/serenity-formula","last_synced_at":"2025-08-07T20:06:41.210Z","repository":{"id":79051092,"uuid":"42055975","full_name":"bwplotka/serenity-formula","owner":"bwplotka","description":"Salt formulas and scripts for deployment Mesos with Serenity (also under DCOS)","archived":false,"fork":false,"pushed_at":"2016-02-08T15:25:47.000Z","size":50,"stargazers_count":3,"open_issues_count":1,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-02-09T23:16:24.902Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"SaltStack","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/bwplotka.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}},"created_at":"2015-09-07T14:00:49.000Z","updated_at":"2017-05-27T21:30:05.000Z","dependencies_parsed_at":"2023-04-29T05:04:25.830Z","dependency_job_id":null,"html_url":"https://github.com/bwplotka/serenity-formula","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bwplotka%2Fserenity-formula","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bwplotka%2Fserenity-formula/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bwplotka%2Fserenity-formula/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bwplotka%2Fserenity-formula/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bwplotka","download_url":"https://codeload.github.com/bwplotka/serenity-formula/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247183947,"owners_count":20897680,"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-10-07T17:40:37.094Z","updated_at":"2025-04-04T13:26:26.031Z","avatar_url":"https://github.com/bwplotka.png","language":"SaltStack","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Serenity-formulas\nSalt formula and scripts for Mesos with Serenity deployment.\n \nFor the full Salt Formulas installation and usage see [instructions](http://docs.saltstack.com/topics/development/conventions/formulas.html).\n \nFor official Serenity page see [Project Serenity](https://github.com/mesosphere/serenity).\n\n## Requirements\n* Zookeeper is working on all Master nodes (in HA) on default 2181 port.\n* Salt installed and configured on nodes.\n* Proper DNS and hostname setup.\n* Master and Slaves nodes must be able to communicate freely with each other.\n* For marathon: java installed.\n\n## Status\n\nTested on CentOS 7, 36x Intel Xeon E5 v3 machines with NFS storage under DCOS.\n\n## Installation:\nOn salt master node:\n\n1. Install formulas from this repo to `/srv/formulas/`:\n\n        git clone https://github.com/Bplotka/serenity-formula.git\n        \n2. Add `/srv/formulas/serenity-formula` to `/etc/salt/master` conf under:\n \n        file_roots:\n          base:\n            - /srv/formulas/serenity-formula\n3. Restart `salt-master`.\n4. Copy `serenity.sls.example` to `/srv/pillar/serenity.sls` and edit file to configuration.\n(make sure that `dns` , `zookeeper_cluster_size` and `master_lb` are filled properly.\n5. Copy or append content from `top.sls.example` to `/srv/pillar/top.sls`\n6. Set roles for each node using salt:\n\n        $ salt 'masternode.example.com' grains.setval mesos-roles [master]\n        $ salt 'agentnode.example.com' grains.setval mesos-roles [slave]\n\n7. Set roles for each slave if needed:\n\n        $ salt 'agentnode.example.com' grains.setval mesos-default-role custom_role\n        \n8. Run formula to prepare configuration:\n\n        $ salt '*' state.sls serenity.setup\n \n9. [Optional] Configure your build system to put Mesos build in `/srv/formulas/serenity/build/mesos_latest/`\n10. Configure your build system to put [Serenity build](https://github.com/mesosphere/serenity#building-serenity-with-cmake) in `/srv/formulas/serenity/build/serenity_latest/`\n11. Make sure that `/srv/formulas/serenity/build/` has write rights for your build system.\n\n## Installation under DCOS:\nThese formulas are able to work also under the DCOS.\n\nOn salt master node:\nDo all steps from above section except 5. Theses formulas will use dcos-roles.\n\n## Usage:\n1. Each time you deploy and build new mesos \u0026 serenity source you can deploy it easily:\n\n        $ salt '*' state.sls serenity.deploy_all\n     \n2. Each time you deploy and build ONLY serenity source you can deploy it easily:\n\n        $ salt '*' state.sls serenity.deploy\n        \nOr just deploy on slaves:\n\n        $ salt -G 'mesos-roles:slave' state.sls serenity.deploy\n\nUnder the DCOS in case of need for reverting mesos to the DCOS version just run:\n        \n        $ salt '*' state.sls serenity.use_dcos\n\n## Marathon installation and usage via serenity-formula:\n\nSerenity formula is able to run configured marathon as well. As default it deploys proper marathon services to systemd in HA on the same nodes \nwhere _Mesos Masters_ are.\nIn case of willing to run custom marathon using this formula you need some additional steps to make it running: \n\n1. Make sure that you have java installed on your machine.\n2. Download marathon.jar (version you want to have in your cluster)\n3. Use `serenity.deploy_with_marathon` instead of `serenity.deploy_all`\n\n        $ salt -G 'mesos-roles:slave' state.sls serenity.deploy_with_marathon\n\n\n## Other information:\n\n* Make sure that every needed file from mesos build is present (for now, `.so` , `./sbin` and `./share` are downloaded)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbwplotka%2Fserenity-formula","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbwplotka%2Fserenity-formula","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbwplotka%2Fserenity-formula/lists"}