Coder Social home page Coder Social logo

eirini-forks / capi-k8s-release Goto Github PK

View Code? Open in Web Editor NEW

This project forked from cloudfoundry/capi-k8s-release

0.0 1.0 0.0 23.49 MB

The CF API parts of cloudfoundry/cf-for-k8s

License: Apache License 2.0

Shell 4.75% Dockerfile 0.94% Makefile 1.06% Go 93.24%

capi-k8s-release's Introduction

capi-k8s-release

This collection of yaml, ytt, and go code packages together the bits that make the CF API run in cf-for-k8s.

Deploying

  1. capi-k8s-release is best consumed as part of cf-for-k8s
  2. Clone the cf-for-k8s repository: git clone https://github.com/cloudfoundry/cf-for-k8s.git
  3. Follow the cf-for-k8s deploy documentation

Components & Collaborators

A Diagram of cf-for-k8s focused on the CF API click here to edit the diagram, save as capi-k8s-release.png to persist changes

In this repo:

From elsewhere:

  • cloud_controller_ng is a reference implementation of the the V3 CF API.
  • eirini is an adapter that lets Cloudfoundry Processes and Tasks run on Kubernetes
  • kpack is a collection of CRDs and Controllers for building container images from source using Cloud Native Buildpacks
  • route controller & istio are used by cf-for-k8s to manage Routes to apps and the service mesh between CF components
  • uaa is used to manage users and token verification
  • cf is the eponymous CLI for interacting with the CF API. We support versions v7 and higher.

Rolling out development changes to capi-k8s-release

  1. ./scripts/rollout.sh will take any local changes to capi-k8s-release, apply them to a local cf-for-k8s directory, and then deploy cf-for-k8s
  2. ./scripts/build-and-rollout.sh will take local changes to cloud_controller_ng and the components in capi-k8s-release/src, build them with kbld, pack, and paketo's ruby and go buildpacks, and then deploy the new images to cf-for-k8s.

Environment variables can be used with either script to override default local source directories and remote image repositories.

Configuring Honeycomb

For debugging, it may be useful to emit events to Honeycomb. This can be done by passing an additional data file with a library annotation to the ytt command that builds the cf-for-k8s manifest, or to one of our rollout.sh scripts.

#@library/ref "@capi-k8s-release"
#@data/values
---
honeycomb:
  dataset: my-capi-dataset
  write_key: MY_WRITE_KEY

Configuring pushes of buildpack apps

capi-k8s-release currently uploads app source code to a blobstore, but then hands that off to kpack to build app images that are then placed in a registry. In order for this to work, you must configure the following values:

kpack:
  registry:
    hostname: # the hostname of the registry, used for authentication
    repository: # the destination of the build app images within the registry
    username: # basic auth registry username
    password: # basic auth registry password

dockerhub example:

kpack:
  registry:
    hostname: https://index.docker.io/v1/
    repository: cloudfoundry/capi
    username: <username>
    password: <password>

gcr example:

kpack:
  registry:
    hostname: gcr.io
    repository: gcr.io/cloudfoundry/capi
    username: <username>
    password: <password>

capi-k8s-release's People

Contributors

acosta11 avatar birdrock avatar c0d1ngm0nk3y avatar christarazi avatar christopherclark avatar cwlbraa avatar davewalter avatar dtimm avatar emalm avatar evanfarrar avatar jenspinney avatar jrussett avatar jspawar avatar julian-hj avatar lucaschimweg avatar matt-royal avatar modulo11 avatar neil-hickey avatar njbennett avatar paulcwarren avatar paulczar avatar phil9909 avatar piyalibanerjee avatar reneighbor avatar selzoc avatar sethboyles avatar ssisil avatar tcdowney avatar zankich avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.