All Projects → buddycloud → Buddycloud Vm

buddycloud / Buddycloud Vm

The complete Buddycloud stack in a VM

Labels

Projects that are alternatives of or similar to Buddycloud Vm

salt-lint
A command-line utility that checks for best practices in SaltStack.
Stars: ✭ 111 (+362.5%)
Mutual labels:  saltstack
Docker Android
Android in docker solution with noVNC supported and video recording
Stars: ✭ 4,042 (+16741.67%)
Mutual labels:  saltstack
Salt States
My Salt States
Stars: ✭ 5 (-79.17%)
Mutual labels:  saltstack
graphite-formula
docs.saltstack.com/en/latest/topics/development/conventions/formulas.html
Stars: ✭ 16 (-33.33%)
Mutual labels:  saltstack
Salt Scanner
Linux vulnerability scanner based on Salt Open and Vulners audit API, with Slack notifications and JIRA integration
Stars: ✭ 261 (+987.5%)
Mutual labels:  saltstack
Salt Kubebin
SaltStack使用二进制方式自动化部署Kubernetes(版本v1.10.3)
Stars: ✭ 316 (+1216.67%)
Mutual labels:  saltstack
ISalt
ISalt: Interactive Salt Programming
Stars: ✭ 61 (+154.17%)
Mutual labels:  saltstack
Alkali
A SaltStack starter kit of sorts including state and pillar trees that provide just the basics for provisioning Linux instances that may be built upon.
Stars: ✭ 22 (-8.33%)
Mutual labels:  saltstack
Soms
SaltStack自动化运维平台-SOMS
Stars: ✭ 274 (+1041.67%)
Mutual labels:  saltstack
Salty Whales
Extra ordinary Docker images for Salt. Whales love Salt.
Stars: ✭ 5 (-79.17%)
Mutual labels:  saltstack
saltstack-kubernetes
Deploy the lowest-cost production ready Kubernetes cluster using terraform and saltstack.
Stars: ✭ 47 (+95.83%)
Mutual labels:  saltstack
masterless-salt-base
Quickly bootstrap a generic(ish) Ubuntu server ready to host Docker containers
Stars: ✭ 26 (+8.33%)
Mutual labels:  saltstack
Saltadmin
基于SaltStack的自动化运维平台
Stars: ✭ 388 (+1516.67%)
Mutual labels:  saltstack
devops
开发运维管理系统
Stars: ✭ 49 (+104.17%)
Mutual labels:  saltstack
Introduction To Saltstack
Stars: ✭ 18 (-25%)
Mutual labels:  saltstack
sift-saltstack
Salt States for Configuring the SIFT Workstation
Stars: ✭ 82 (+241.67%)
Mutual labels:  saltstack
Hubble
Hubble is a modular, open-source security compliance framework. The project provides on-demand profile-based auditing, real-time security event notifications, alerting, and reporting. HubbleStack is a free and open source project made possible by Adobe. https://github.com/adobe
Stars: ✭ 313 (+1204.17%)
Mutual labels:  saltstack
Openstack Standalone Formula
Single Server OpenStack
Stars: ✭ 24 (+0%)
Mutual labels:  saltstack
Junos Automation With Saltstack
How to automate Junos with SaltStack (Event-Driven automation)
Stars: ✭ 19 (-20.83%)
Mutual labels:  saltstack
Awesome Saltstack
🧂 A collaborative curated list of awesome SaltStack resources, tutorials and other salted stuff.
Stars: ✭ 430 (+1691.67%)
Mutual labels:  saltstack

Buddycloud-VM

This Vagrant-based virtual machine can be run locally as a complete buddycloud stack including the following components:

  • xmpp server (Prosody and Tigase are included)
  • buddycloud-server-java
  • buddycloud-http-api
  • buddycloud-media-server
  • buddycloud-pusher
  • buddycloud-angular-app

Project Goals

Ship identical bits to dev and production: When development, staging and production environments use identical orchestration files you reduce the "but it worked in dev" scenarios.

Quick: The buddycloud-vm project is designed to a new developer a complete Buddycloud stack in about 10 mintues. Running locally.

How it works

  1. Vagrant to build a VM
  2. Install a definied list of components.
  3. Configure each package.

The VM is designed to expose buddycloud-services out to your workstation:

 +-------------------------------------------------+ 
 |                                                 |
 |   Local workstation                             | 
 |   -----------------                             | 
 |                                                 | 
 |   * port forwards 5222,5269,5432,8080           | 
 |   * http://localhost.buddycloud.org:8080        |
 |                                                 | 
 +-------------------------------------------------+ 
             |          |             |
       (port 2222) (port 5222)  (port 8080)
             |          |             |
 +-------------------------------------------------+
 |                                                 |
 |   buddycloud-VM                                 |
 |   -------------                                 |
 |   * hostname: localhost.buddycloud.org          |
 |   * runs complete buddycloud stack              |
 |   * TLS functions disabled                      |
 |   * federation disabled                         |
 |                                                 |
 +-------------------------------------------------+

Requirements

Setup

git clone https://github.com/buddycloud/buddycloud-vm.git
cd buddycloud-vm
vagrant up

Have patience! The build process will take anywhere from 5 to 10 minutes. You can watch progress with sudo tail -F /var/log/salt/minion inside the VM.

Access

Making Changes

Outside the VM Inside the VM
basic what to install saltstack/salt_local/salt /srv/salt_local/salt
basic configs saltstack/salt_local/pillar /srv/salt_local/pillar
somewhere for your own changes saltstack/my_saltstack_repo /srv/my_saltstack_repo
buddycloud stack as a fallback for all packages saltstack/buddycloud_saltstack_repo /srv/buddycloud_saltstack_repo

Activating the changes

salt "*" state.highstate -l all

about localhost.buddycloud.org

localhost.buddycloud.org is a special sub-domain hosted for this project. It answers all DNS queries with 127.0.0.1 which is great for testing code inside a VM.

for reference this is the current zone-file:

localhost.buddycloud.org.           A 127.0.0.1
$ORIGIN .localhost.buddycloud.org.
api                                 A 127.0.0.1
webclient                           A 127.0.0.1
friendfinder                        A 127.0.0.1
search                              A 127.0.0.1
topics                              A 127.0.0.1
pusher                              A 127.0.0.1
s2s                                 A 127.0.0.1
buddycloud                          A 127.0.0.1
media                               A 127.0.0.1
c2s                                 A 127.0.0.1
channels                            A 127.0.0.1
_xmpp-client._tcp                   SRV 5 0 5222 c2s.localhost.buddycloud.org.
_xmpp-server._tcp                   SRV 5 0 5269 s2s.localhost.buddycloud.org.
_xmpp-server._tcp                   SRV 5 0 5269 s2s.localhost.buddycloud.org.
_xmpp-server._tcp                   SRV 5 0 5269 s2s.localhost.buddycloud.org.
_xmpp-server._tcp                   SRV 5 0 5269 s2s.localhost.buddycloud.org.
_xmpp-server._tcp                   SRV 5 0 5269 s2s.localhost.buddycloud.org.
_xmpp-server._tcp                   SRV 5 0 5269 s2s.localhost.buddycloud.org.
_xmpp-server._tcp                   SRV 5 0 5269 s2s.localhost.buddycloud.org.
_bcloud-server._tcp                 TXT "v=1.0 server=channels.localhost.buddycloud.org"
_buddycloud-api._tcp                TXT "v=1.0 host=localhost.buddycloud.org protocol=https path=/api port=8080"

Shutting down the VM

  • Shut down Vagrant with: vagrant halt.
  • Running vagrant kill will remove all disks and configs.

Deploying to cloud-providers

Generally you will want to run your own copy of saltstack to orchestrate changes to your production environment. If you would rather copy VMs around, edit the Vagrantfile and install the provider plugin.

For example, Google Cloud (background reading) uses

vagrant plugin install vagrant-google
vagrant up --provider=google
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].