All Projects → cloudfoundry → Bpm Release

cloudfoundry / Bpm Release

Licence: apache-2.0
isolated bosh jobs

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to Bpm Release

Kitura On Kubernetes
Develop a Full-Stack Swift application with a native iOS app and Kitura on Kubernetes
Stars: ✭ 24 (-27.27%)
Mutual labels:  containers
Lxc Pkg Ubuntu
LXC Ubuntu packaging
Stars: ✭ 11 (-66.67%)
Mutual labels:  containers
Practical Clean Ddd
A simplified and effortless approach to get started with Domain-driven Design, Clean Architecture, CQRS, and Microservices patterns
Stars: ✭ 28 (-15.15%)
Mutual labels:  containers
Subuser
Run programs on linux with selectively restricted permissions.
Stars: ✭ 842 (+2451.52%)
Mutual labels:  containers
Linuxkit
A toolkit for building secure, portable and lean operating systems for containers
Stars: ✭ 7,166 (+21615.15%)
Mutual labels:  containers
Analyze Local Images
deprecated tool for interacting with Clair locally
Stars: ✭ 12 (-63.64%)
Mutual labels:  containers
Cdk Gitlab Runner
Create Gitlab Runner via AWS CDK.
Stars: ✭ 23 (-30.3%)
Mutual labels:  containers
Cheatsheet Docker A4
📖 Docker CheatSheets In A4
Stars: ✭ 32 (-3.03%)
Mutual labels:  containers
Sdn Handbook
SDN网络指南(SDN Handbook)
Stars: ✭ 856 (+2493.94%)
Mutual labels:  containers
Docker Compose Wait
A simple script to wait for other docker images to be started while using docker-compose
Stars: ✭ 945 (+2763.64%)
Mutual labels:  containers
Ansible Role Docker
Ansible Role - Docker
Stars: ✭ 845 (+2460.61%)
Mutual labels:  containers
Trivy
Scanner for vulnerabilities in container images, file systems, and Git repositories, as well as for configuration issues
Stars: ✭ 9,673 (+29212.12%)
Mutual labels:  containers
Felix
Project Calico's per-host agent Felix, responsible for programming routes and security policy.
Stars: ✭ 871 (+2539.39%)
Mutual labels:  containers
Containers From Scratch
Writing a container in a few lines of Go code, as seen at DockerCon 2017 and on O'Reilly Safari
Stars: ✭ 839 (+2442.42%)
Mutual labels:  containers
Iceci
IceCI is a continuous integration system designed for Kubernetes from the ground up.
Stars: ✭ 29 (-12.12%)
Mutual labels:  containers
Csp
The Cyber Security Platform MeliCERTes is part of the European Strategy for Cyber Security. MeliCERTes is a network for establishing confidence and trust among the national Computer Security Incident Response Teams (CSIRTs) of the Member States and for promoting swift and effective operational cooperation.
Stars: ✭ 23 (-30.3%)
Mutual labels:  containers
Brmgr
Manage bridge devices and provide DHCP and DNS services to connected interfaces.
Stars: ✭ 11 (-66.67%)
Mutual labels:  containers
Adhokku
A toy PaaS
Stars: ✭ 32 (-3.03%)
Mutual labels:  containers
Roboconf Platform
The core modules and the platform
Stars: ✭ 30 (-9.09%)
Mutual labels:  containers
Caprover
Scalable PaaS (automated Docker+nginx) - aka Heroku on Steroids
Stars: ✭ 7,964 (+24033.33%)
Mutual labels:  containers

bpm wings.pivotal.io

Isolated BOSH Jobs

About

bpm (BOSH process manager) is a layer between monit and your BOSH jobs which adds additional features while removing nearly all boilerplate startup scripts. It is backwards compatible with any BOSH version released in the past few years.

Well-defined Lifecycle

The current job lifecycle is very dependent on monit semantics. Job and process start order is not guaranteed and there are hidden timeouts you can hit which will put your system in an unexpected state.

bpm makes its expectations of your job very clear. It defines how long things should take, how bpm will communicate with your process, and how your job should behave under certain scenarios. Most jobs will already be compliant.

Isolation

Jobs using bpm are isolated from one another. All operating system resources (with the exception of networking) are namespaced such that a job cannot see or interact with other processes outside their containing job.

This provides a far smaller and easier to maintain interface between your jobs and the system but crucially provides a security barrier such that if one of the jobs on your machine is compromised then the incident is limited to just that job rather than all jobs on the same machine.

Resource Limits

bpm is also able to offer resource limiting due to the technologies chosen for the above features. This stops any one job from starving other collocated jobs of the operating system resources they need in order to work.

Documentation

Documentation can be found in the docs directory. As we're developing bpm this documentation may lead the implementation changes briefly, but it will eventually become the official source of bpm documentation.

Usage

bpm has now reached 1.0 and has a stable public API which should be usable for the majority of BOSH jobs. We do not plan on making any more backwards incompatible changes to the public API before 2.0.

You can start to read about the ethos and glossary, runtime environment which bpm provides to your job, the configuration format, and the undefined behavior of the system.

Development

Development is not currently supported on anything other than Linux, though running the docker based tests is possible on macOS.

Dependencies required for local testing:

  • Docker
  • Go

The following steps should allow you to run the tests in a local docker container:

  • Enable swap accounting by running the following commands as root:

    # sed -i 's/GRUB_CMDLINE_LINUX=""/GRUB_CMDLINE_LINUX="swapaccount=1"/' /etc/default/grub
    # update-grub
    # reboot
    
  • Clone this repository and submodules:

    $ cd ~/workspace
    $ git clone https://github.com/pivotal-cf/bpm-release.git
    $ cd ~/workspace/bpm-release
    
  • Run tests:

    $ cd ~/workspace/bpm-release
    $ ./scripts/test-with-docker
    
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].