• This repository has been archived on 22/Oct/2021
  • Stars
    star
    115
  • Rank 305,916 (Top 7 %)
  • Language
    Shell
  • License
    Apache License 2.0
  • Created about 5 years ago
  • Updated over 3 years ago

Reviews

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

Repository Details

Cloud Foundry on Kubernetes

KubeCF

Build step State
Linting lint
Building build
Smoke tests on Diego smoke-diego
Smoke tests on Eirini smoke-eirini
Acceptance Tests on Diego acceptance-diego
Acceptance Tests on Eirini acceptance-diego

Introduction

KubeCF is a distribution of Cloud Foundry Application Runtime (CFAR) for Kubernetes. It works with the cf-operator from Project Quarks to deploy and manage releases built from cf-deployment.

Documentation

The Community documentation website is available here.

Contributing to KubeCF development

See the Guide to Contribution.

System requirements

To work with kubecf, a variety of supporting tools are required. These are:

Tool Notes
k8s The platform to run KubeCF.
minikube Provider for local k8s clusters.
kind Provider for local k8s clusters.
kubectl Client to talk to k8s clusters.
Helm Handling helm charts.
cf-operator Processes BOSH deployments. Maps them to kube objects.
cf-deployment The CF release at the core of kubecf.

As most of the developers use the Make & Bash build system coming with the kubecf repository, they implicitly use the versions for the tools set down in scripts/tools/*. At the time of writing, these are:

At the time of this writing these were:

Tool Version Notes
Kubernetes 1.17.5
minikube 1.9.2
kind 0.6.0
kubectl 1.17.0
Helm 3.0.3
jq 1.6
python3 3.3
ruby 2.4
shellcheck 0.7.0
yamllint 1.23
CF Operator 6.1.17+0.gec409fd7
cf-deployment 13.17.0

Note however: As kubecf is updated these versions may change from commit to commit. The table above is therefore not authoritative.

Always check the contents of dependencies.yaml and scripts/tools/* for the authoritative answer.

Note further: Just because the build system provides targets to conveniently bring up a local k8s cluster using minikube or kind, this does not preclude the use of other k8s cluster providers, local or in the cloud.

Besides the required tools noted above, other tools used by developers are:

Tool Notes Location
k9s Curses-based UI over kubectl https://github.com/derailed/k9s
stern Multi-pod log tailing https://github.com/wercker/stern

Last, but not least, more documentation on how to work with kubecf is found in the Guide to Contribution.

Useful Information

What Where
Concourse Pipeline https://concourse.suse.dev/teams/main/pipelines/kubecf
S3 Bucket with helm charts* https://kubecf.s3.amazonaws.com/index.html
Cloud Foundry Operator https://github.com/cloudfoundry-incubator/cf-operator/
CF Operator Charts https://cf-operators.s3.amazonaws.com/helm-charts/index.html

* The bundle file includes the operator chart

More Repositories

1

kubo-deployment

Contains manifests used to deploy Cloud Foundry Container Runtime
Shell
275
star
2

cflocal

Stage and launch CF apps, push and pull droplets, and connect to real CF services -- in Docker
Go
178
star
3

kubo-release

Kubernetes BOSH release
Ruby
160
star
4

docker-boshrelease

Docker BOSH Release
Shell
137
star
5

admin-ui

Need new main contributor - An application for viewing Cloud Foundry metrics and operations data.
Ruby
71
star
6

fissile

Turn a BOSH release into container images / files
Go
67
star
7

spiff

declarative BOSH deployment manifest builder
Go
63
star
8

quarks-operator

BOSH releases deployed on Kubernetes
Go
49
star
9

bosh-alicloud-cpi-release

BOSH release for the BOSH Alibaba Cloud CPI.
Go
32
star
10

kubo-ci

Go
30
star
11

pat

Go
16
star
12

bits-service

Cloud Foundry Bits-Service repository
JavaScript
15
star
13

bosh-rackhd-cpi-release

BOSH RackHD CPI
Go
14
star
14

uaa-java-client

Java Client for Cloud Foundry UAA 2.x
Java
13
star
15

kubernetes-guidelines

Guidelines for developing applications running on top of Kubernetes
11
star
16

core-values-faq

11
star
17

NET-sample-app

A .NET sample app
ASP
10
star
18

uaago

UAA client for golang
Go
7
star
19

quarks-secret

Generate k8s secrets with an operator
Go
7
star
20

cf-plugin-backup

A Cloud Foundry Plugin that allows backup and restore of the CCDB using CF API
Go
7
star
21

asg-creator

Go
6
star
22

bits-service-release

BOSH release for Cloud Foundry Bits-Service
Ruby
5
star
23

bits-service-ci

Bits-Service CI Code
Shell
4
star
24

cf-extensions

CF-extensions hub project
Go
4
star
25

example-nozzle-release

BOSH release for the example-nozzle
Shell
4
star
26

quarks-job

Wrapper around k8s jobs that can store output and more
Go
4
star
27

uaa-go-client

UAA Client for Go!
Go
3
star
28

configgin

CLI app to generate configurations using BOSH ERB templates
Ruby
3
star
29

eirini-persi

Persi support for Eirini, using eirinix
Go
3
star
30

cf-prometheus-operator

Go
3
star
31

kubernetes-release

Shell
2
star
32

cfcr-home

Shell
2
star
33

backup-and-restore-ci

Platform Recovery CI
Shell
2
star
34

cfcr-etcd-release

Shell
2
star
35

eirini-loggregator-bridge

Component that streams logs from Eirini apps to the Cloud Foundry Loggregator
Go
2
star
36

go-stream-aggregator

Go
2
star
37

eirini-ssh

Support for "ssh to app" for Cloud Foundry Eirini
Go
2
star
38

bosh-oracle-cpi-release

Go
2
star
39

garden-windows-bosh-release

PowerShell
2
star
40

eirinix

Extensions Library for Cloud Foundry Eirini
Go
2
star
41

thoth

An App responsible for measuring and controlling time
Go
2
star
42

bosh-huaweicloud-cpi-release

Ruby
2
star
43

quarks-gora-release

HTML
1
star
44

cf-telegraf-operator

Go
1
star
45

quarks-gora

Go
1
star
46

quarks-helm

1
star
47

eirinix-sample

Sample extension for Eirini, created with the eirinix framework
Go
1
star
48

quarks-ci

Shell
1
star
49

example-nozzle

Example loggregator firehose nozzle
Go
1
star
50

log-cache-tools

Go
1
star
51

grpc-throughputlb

Go
1
star
52

eirinix-helm-release

Ruby
1
star
53

kubo-disaster-recovery-acceptance-tests

Go
1
star
54

buildpacks-site

JavaScript
1
star
55

eirini-staging

Go
1
star
56

quarks-docs

The shared documentation for Quarks
HTML
1
star
57

bits-service-client

Ruby client for the bits-service
Ruby
1
star
58

quarks-statefulset

Wrapper around k8s statefulset with various features
Go
1
star
59

quarks-container-run

Go
1
star
60

concourse-cve-scan

Shell
1
star
61

kubecf-tools

A set of tools for building, testing and releasing projects that are deployed on Kubernetes
Ruby
1
star
62

eirini-helm-release

1
star
63

push-apps

A jar to aide in CI or Bosh jobs that have to push many applications to CF
Kotlin
1
star
64

eirini-persi-broker

Service Broker for provisioning volumes for Eirini on Kubernetes
Go
1
star
65

quarks-utils

Shared utilities for Quarks-* operators
Go
1
star
66

eirini-logging

App logging extension
Go
1
star