Git Product home page Git Product logo

stack's Introduction

Presslabs Stack

Open-Source WordPress Infrastructure on Kubernetes

For a more thorough documentation check the hosted docs.

Components

Project status

The project is actively maintained and developed and has reached stable beta state. Check the complete list of releases here. The Presslabs Stack currently runs on Google Cloud Kubernetes Engine and we also have a documented viable deployment flow for Minikube/Docker on Mac/Docker on Windows.

Installation

Tiller needs to be initialized in your Kubernetes cluster, eg run helm init

Add the Presslabs helm charts repo:

helm repo add presslabs https://presslabs.github.io/charts
helm repo update

Requirements

cert-manager

Cert Manager is a requirement for Stack because it depends on certificates in order to setup it's the environment. The official installation documentation can be found here.

kubectl create namespace cert-manager
helm repo add jetstack https://charts.jetstack.io
helm repo update

# Helm v3+
helm install \
  cert-manager jetstack/cert-manager \
  --namespace presslabs-system \
  --version v0.15.2 \
  --set installCRDs=true

# Helm v2
helm install \
  --name cert-manager \
  --namespace presslabs-system \
  --version v0.15.2 \
  jetstack/cert-manager \
  --set installCRDs=true

Install CRDs

We collect all necessary CRDs in one place so you can install them.

If you are installing Stack in a different namespace than presslabs-system then you have to download those manifests and change the namespace from this location with the new target namespace.

kustomize build github.com/presslabs/stack/deploy/manifests | kubectl apply -f-

Or, you can use old manifests file deploy/manifests/00-crds.yaml, which, BTW, is deprecated and we recommend to use the first method:

kubectl apply -f https://raw.githubusercontent.com/presslabs/stack/master/deploy/manifests/00-crds.yaml

The Stack also depends on the Kubernetes Application CRD. The following command will install the application CRD. You may also want (this is optional) to install the Application Controller, see the install guide.

kubectl apply -f https://raw.githubusercontent.com/kubernetes-sigs/application/v0.8.3/config/crd/bases/app.k8s.io_applications.yaml

Install Stack

The rest of the Stack can be installed using helm (version 2 or 3). There are many possible platforms where it can be installed. We provide presets for production and development environments.

GKE

For GKE is required to have at least three nodes for running components and also have some room for deploying a site. For testing out and playground g1-small should suffice.

helm upgrade -i stack presslabs/stack --namespace presslabs-system -f https://raw.githubusercontent.com/presslabs/stack/master/presets/gke.yaml

Minikube/Docker for Mac

Ensure a larger Minikube with eg, minikube start --cpus 4 --memory 8192 to provide a working local environment.

helm upgrade -i stack presslabs/stack --namespace presslabs-system -f https://raw.githubusercontent.com/presslabs/stack/master/presets/minikube.yaml

Usage

Deploying a site

helm upgrade -i mysite presslabs/wordpress-site --set 'site.domains[0]=www.example.com'

Contributing

Issues are being tracked here.
We will also gladly accept pull requests.

You can find more detailed information about the contributing process on the docs page.

stack's People

Contributors

calind avatar amecea avatar vtemian avatar rstefan1 avatar desero avatar danielaimbrescu avatar bogdanpetrea avatar vasiioandre avatar ekandreas 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.