• This repository has been archived on 25/Jan/2022
  • Stars
    star
    747
  • Rank 60,741 (Top 2 %)
  • Language
    Go
  • License
    Apache License 2.0
  • Created about 10 years ago
  • Updated over 8 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Lattice

Cloud Foundry Lattice

Lattice was a Cloud Foundry project focused on delivering the Diego application scheduler into the hands of users as quickly as possible before Diego was fully integrated to Cloud Foundry. Lattice served that purpose well, but now Diego is available as the application scheduler for Cloud Foundry, and Cloud Foundry is the best way to use Diego. Therefore, Lattice is no longer actively maintained.

Lattice is an open source project for running containerized workloads on a cluster. Lattice bundles up http load-balancing, a cluster scheduler, log aggregation/streaming and health management into an easy-to-deploy and easy-to-use package.

[ Website | Latest Release | Nightly Builds ]

Deploy Lattice with Vagrant

A colocated deployment of Lattice can be launched locally with Vagrant. You will need:

NOTE: Ubuntu 14.04 LTS does not install a compatible version of Vagrant by default. You can upgrade the version that you get out of the box by downloading the .deb file from Vagrant.

Spin up a virtual environment

Unzip the Lattice bundle, and switch to the vagrant directory

unzip lattice-bundle-VERSION.zip
cd lattice-bundle-VERSION/vagrant
vagrant up --provider virtualbox

This spins up a virtual environment that is accessible at local.lattice.cf

Install ltc (the Lattice CLI)

If you're running Linux: curl -O http://receptor.local.lattice.cf/v1/sync/linux/ltc

If you're running OS X: curl -O http://receptor.local.lattice.cf/v1/sync/osx/ltc

Finally: chmod +x ltc

Use the Lattice CLI to target Lattice
./ltc target local.lattice.cf

Deploy Lattice with Terraform

A scalable cluster deployment of Lattice can be launched on Amazon Web Services with Terraform. You will need:

Configure your virtual environment

Unzip the Lattice bundle, and switch to the terraform/aws directory

unzip lattice-bundle-VERSION.zip
cd lattice-bundle-VERSION/terraform/aws

Update the terraform.tfvars file with your AWS credentials and desired cluster configuration.

Deploy the cluster to AWS
terraform apply

Terraform will generate a terraform.tfstate file. This file describes the cluster that was built - keep it around in order to modify/tear down the cluster.

Install ltc (the Lattice CLI)

After a successful deployment Terraform will print the Lattice target and Lattice user information. Refer to the target = <lattice target> output line to find the address of your cluster.

If you're running Linux: curl -O http://receptor.<lattice target>/v1/sync/linux/ltc

If you're running OS X: curl -O http://receptor.<lattice target>/v1/sync/osx/ltc

Finally: chmod +x ltc

Use the Lattice CLI to target Lattice
./ltc target <lattice target>

Development

NOTE: These instructions are for people contributing code to Lattice. If you only want to deploy Lattice, see above. These instructions cover Vagrant/Virtualbox development. A similar process can be followed for Vagrant/VMWare, Vagrant/AWS, and Terraform/AWS development. More documentation is forthcoming.

To develop Lattice you will need to have the following tools installed:

  • Packer
  • Vagrant
  • Virtualbox
  • Direnv (optional)

Clone the Lattice source

git clone --recursive https://github.com/cloudfoundry-incubator/lattice-release.git

Build Lattice

Setup your shell for building Lattice:

cd lattice-release
direnv allow # or: source .envrc

Building a Lattice Box

If you change any Diego components, you'll need to build a local Vagrant box with your changes. If you don't plan to change any Diego components, you can update the box_version property in vagrant/Vagrantfile to point to a pre-built Lattice box on Atlas and skip this step.

bundle
cd vagrant
./build -only=virtualbox-iso
vagrant box add --force lattice-virtualbox-v0.box --name lattice/colocated

Building a release of Lattice

# in lattice-release/vagrant
../release/build lattice.tgz

Deploy Lattice

Once you have a Lattice tarball, use vagrant to deploy Lattice:

# in lattice-release/vagrant
vagrant up --provider=virtualbox

Install ltc

Compiling ltc is as simple as using go install:

go install github.com/cloudfoundry-incubator/ltc

Test the running Lattice Cluster

ltc target local.lattice.cf
ltc test -v

Contributing

If you are interested in contributing to Lattice, please refer to CONTRIBUTING.

Copyright

See LICENSE for details. Copyright (c) 2015 Pivotal Software, Inc.

More Repositories

1

vcap

Cloud Foundry - the open platform as a service project
Ruby
1,324
star
2

cf-release

Deprecated: Cloud Foundry Release
Shell
576
star
3

vmc

The command line client for Cloud Foundry - the open platform as a service project
Ruby
377
star
4

bosh-lite

A lite development env for BOSH
Shell
319
star
5

warden

Cloud Foundry - the open platform as a service project
Ruby
281
star
6

vcap-services

Cloud Foundry - the open platform as a service project
Ruby
276
star
7

cfdev

A fast and easy local Cloud Foundry experience on native hypervisors, powered by LinuxKit with VPNKit
Go
227
star
8

oss-docs

Documentation for the Cloud Foundry Platform as a Service
Shell
139
star
9

cf-abacus

CF usage metering and aggregation
JavaScript
98
star
10

vblob

JavaScript
64
star
11

bosh-notes

Collection of proposals for BOSH
Ruby
51
star
12

cf-docs

A well lit place for docs
CSS
46
star
13

garden-linux

Garden with a linux backend
Go
44
star
14

eclipse-integration-cloudfoundry

Cloud Foundry Integration for Eclipse
Java
41
star
15

hm9000

Go
40
star
16

jibber_jabber

Cross Platform locale detection for Golang
Go
39
star
17

dea_ng

Droplet Execution Agent for Cloud Foundry v2
Ruby
34
star
18

login-server

Cloud Foundry Login Server
Java
32
star
19

health_manager

Cloud Foundry - the open platform as a service project
Ruby
32
star
20

bosh-init

bosh-init is a tool used to create and update the Director VM
Go
31
star
21

istio-release

DEPRECATED: Istio + Cloud Foundry
Shell
29
star
22

vcap-test-assets

Cloud Foundry - the open platform as a service project
Ruby
24
star
23

garden-windows

Garden with a windows backend
C#
24
star
24

router

Cloud Foundry - the open platform as a service project
Ruby
23
star
25

bosh-workspace

Gem for managing your bosh workspace
Ruby
22
star
26

cf-openstack-validator

This repository is UNMAINTAINED.
Ruby
21
star
27

cf-networking-examples

Go
21
star
28

cf-swagger

Collection of Swagger descriptions and applications for CloudFoundry BOSH
Go
21
star
29

cf-mysql-broker

CSS
20
star
30

gonit

gonit
Go
19
star
31

cf

The Cloud Foundry command-line interface
Ruby
19
star
32

cf-dotnet-sdk

Cloud Foundry .NET SDK
C#
18
star
33

cloud_controller

Ruby
18
star
34

bosh-ext-cli

CLI that includes additional set of commands for interacting with BOSH and release authoring
Go
18
star
35

micro

Micro Cloud Foundry
Ruby
17
star
36

cf-docs-cn

Chinese translation of V1 docs
CSS
17
star
37

caldecott

Ruby
16
star
38

gonats

A Go NATS Client
Go
16
star
39

Diego-Enabler

A CF CLI plugin to help you migrate apps from the DEA to Diego runtime
Go
15
star
40

vcap-yeti

Cloud Foundry - the open platform as a service project
Ruby
15
star
41

dea

Ruby
14
star
42

mega-ci

Scripts, templates, and configuration for the CF Infrastructure team's CI pipelines
Shell
13
star
43

networking-release

CF-BOSH Release containing several jobs to configure VM networking
Shell
13
star
44

vcap-node

Cloud Foundry - the open platform as a service project
JavaScript
13
star
45

vcap-tools

Java
12
star
46

multi-buildpack

Cloud Foundry buildpack for running multiple buildpacks
Go
12
star
47

cf-app-sd-release

Service Discovery for CloudFoundry
Go
12
star
48

cf-docs-deprecated

JavaScript
12
star
49

mssql-server-broker

Cloud Foundry service broker for Microsoft SQL Server
Java
12
star
50

vcap-staging

Cloud Foundry - the open platform as a service project
Ruby
12
star
51

cfoundry

Cloud Foundry REST API gem
Ruby
12
star
52

acm

Ruby
11
star
53

bosh-openstack-environment-templates

This repository is UNMAINTAINED, please consider https://github.com/cloudfoundry/bosh-bootloader to deploy BOSH on OpenStack
HCL
11
star
54

IronFrame

Windows Container library
C#
11
star
55

wats

Windows Acceptance Tests
Go
10
star
56

cf-logmon

Kotlin
10
star
57

cf-vs-extension

Cloud Foundry Visual Studio Extension
C#
10
star
58

firehose-plugin

Cloud Foundry CLI plugin to connect to the firehose
Go
10
star
59

consul-release

This is a BOSH release for consul.
Go
10
star
60

brooklyn-plugin

A CLI Plugin for Cloud Foundry for use with Brooklyn Service Broker
Go
10
star
61

cephfs-bosh-release

Shell
10
star
62

scalable-syslog

Go
10
star
63

common

Ruby
10
star
64

vcap-services-base

Ruby
9
star
65

cf-windows-prison

A library that aims to faciliate a multi-tenant secure environment on Microsoft Windows Server.
C#
9
star
66

cf-riak-cs-release

A BOSH release for riak and riak-cs
Shell
9
star
67

stac2

Load test system for cloudfoundry
JavaScript
9
star
68

apache-brooklyn-service-broker

A Cloud Foundry Service Broker for Apache Brooklyn
Java
9
star
69

vcap-ruby

Ruby
9
star
70

cf-deployment-transition

This repository is deprecated - no longer accepting PR's or Issues
Shell
9
star
71

datadog-firehose-nozzle

OBSOLETE CF component to forward metrics from the Loggregator Firehose to DataDog
Go
9
star
72

receptor

restful api facade for diego
Go
8
star
73

cf-mssql-broker

A Go broker for MSSQL Service
Go
8
star
74

cf-networking-notes

HTML
8
star
75

oss-release

Shell
8
star
76

tools-cf-plugin

Ruby
8
star
77

cloudfoundry.org

CSS
8
star
78

windows_app_lifecycle

C#
8
star
79

storeadapter

Golang interface for ETCd/zookeeper style datastores
Go
8
star
80

gonatsd

Go
7
star
81

cf_canaries

A gem for installing canary apps in a CloudFoundry installation
Ruby
7
star
82

cloudfoundry-buildpack-clr

Cloud Foundry buildpack for CLR frameworks like ASP.NET and .NET standalone apps
Ruby
6
star
83

stager

Cloud Foundry - the open platform as a service project
Ruby
6
star
84

bosh-photon-cpi-release

Go
6
star
85

loggregator-k8s-deployment

A deployment of loggregator on kubernetes
Shell
6
star
86

vmc-lib

Cloud Foundry - the open platform as a service project
Ruby
6
star
87

stager-client

Cloud Foundry - the open platform as a service project
Ruby
6
star
88

nyet

not yeti
Ruby
5
star
89

bosh-packer-templates

Shell
5
star
90

collector

(DEPRECATED) Cloud Foundry Metric Collector
Ruby
5
star
91

errors

Shared error codes and messages for Cloud Foundry
5
star
92

oss-tools

Ruby
5
star
93

vcap-concurrency

Ruby
5
star
94

gamble

A go wrapper around libyaml
C
5
star
95

go_cfmessagebus

Wrapper to Message Bus for CF, currently NATS.
Go
5
star
96

diego-cli-plugin

Go
5
star
97

api-deprecated

Experimental CF API server written in GO
C
5
star
98

dea-hm-workspace

This is a go workspace for the health manager and its dependencies
Shell
5
star
99

cf-abacus-broker

A broker for the CF-Abacus project with associated UI and other artifacts
JavaScript
5
star
100

cf-mongodb-example-app

MongoDB Example Application
Ruby
5
star