Giter Site home page Giter Site logo

bluebosh / uaa-fissile-release Goto Github PK

View Code? Open in Web Editor NEW

This project forked from suse/uaa-fissile-release

0.0 5.0 0.0 15.58 MB

UAA release for fissile

License: Other

Shell 1.32% Makefile 0.01% HTML 7.66% Go 1.45% Ruby 0.40% Java 83.94% CSS 3.11% JavaScript 1.94% Python 0.04% PLSQL 0.12% SQLPL 0.01%

uaa-fissile-release's Introduction

UAA fissile release

This repository contains the files necessary to run a standalone UAA using fissile. It is roughly equivalent to doing the same with BOSH.

Prerequisites

A Kubernetes cluster

scf.git has sample instructions for setting one up locally via hyperkube; other methods of deploying Kubernetes should work as well.

docker

Docker is required for fissile to build images. You may also need access to a docker registry unless you're testing against a vagrant box or minikube. In the case of minikube, reusing the minikube docker daemon may be useful.

fissile

fissile is required to build the docker images and configuration.

direnv

direnv is recommended, but manually sourcing the .envrc should work just as well.

Ruby

Ruby 2.3 is needed to install some of the releases. Using rbenv with ruby-build should work, but if you have issues ruby-install is also an option.

BOSH cli

The Ruby version of the BOSH cli is required as of writing, as fissile is not yet compatible with the golang BOSH v2.

certstrap

Required to create certificates. Requires golang.

go get github.com/square/certstrap

stampy

Used to write timing information to a file. This information can be used to identify slow parts of the process when trying to make things faster.

Requires golang.

go get -d github.com/SUSE/stampy
cd $GOPATH/src/github.com/SUSE/stampy
make
cp build/linux-amd64/stampy $GOBIN/stampy

Building

  1. Get all submodules:
  git submodule update --init --recursive
  1. Load needed environment variables (optional, only if you don't use direnv):

      . .envrc
  2. Generate the SSL certificates required:

      make certs
  3. Create the releases:

      make releases
  4. Get the opensuse stemcell:

      docker pull $FISSILE_STEMCELL
  5. Create a directory to write the release tarball into:

      mkdir -p output/splatform
  6. Build fissile images:

    STEMCELL=splatform/fissile-stemcell-opensuse:42.2-0.g58a22c9-28.16
    fissile build packages --stemcell ${STEMCELL}
    fissile build images   --stemcell ${STEMCELL}

Or, more convenient

```sh
make images
```

Note, the specified stemcell is an example. Change it to suit. The alternative command uses the definition of FISSILE_STEMCELL in .envrc for this.

Running

The default configurations are designed for the scf vagrant box; see instructions there.

  1. If necessary, push the images to your Kubernetes nodes (or publish them in a way that they get fetch the images).
  2. Build Kubernetes configs. This will create the files in a directory named kube:
    fissile build kube -k kube/ --use-memory-limits=false \
        -D $(echo env/*.env | tr ' ' ',')
    
    If you are not building the images directly on the Kubernetes cluster (or if you have multiple nodes), you will also need to specify --docker-registry=docker.registry:123456 (and possibly --docker-organization) so that the images can be pulled.
  3. If you're not building directly on a single Kubernetes node that you will deploy to, you will need to publish to the specified docker registry:
    fissile show image | xargs -i@ docker tag @ "${FISSILE_DOCKER_REGISTRY}/@"
    fissile show image | xargs -i@ docker push "${FISSILE_DOCKER_REGISTRY}/@"
  4. Deploy to Kubernetes
    # The following is a sample for hyperkube/minikube/vagrant
    kubectl create -f kube-test/storage-class-host-path.yml
    
    kubectl create namespace uaa
    
    kubectl create -n uaa -f kube/bosh/

uaa-fissile-release's People

Contributors

andreas-kupries avatar mook-as avatar zhangtbj avatar aarondl avatar harts avatar jandubois avatar viovanov avatar

Watchers

James Cloos avatar Zida (Edward) avatar Matt Cui avatar Jian Qiu Wang avatar  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.