Merge pull request #18 from michelleN/clear-charts

clean up charts and readme
This commit is contained in:
Michelle Noorali
2016-07-18 14:39:59 -06:00
committed by GitHub
121 changed files with 37 additions and 2842 deletions
+24 -2
View File
@@ -1,4 +1,26 @@
language: bash
language: go
go:
- 1.6
before_install:
- export GLIDE_VERSION="0.10.1"
- ls $GOPATH/src/
- wget "https://github.com/Masterminds/glide/releases/download/$GLIDE_VERSION/glide-$GLIDE_VERSION-linux-amd64.tar.gz"
- mkdir -p $HOME/bin
- tar -vxz -C $HOME/bin --strip=1 -f glide-$GLIDE_VERSION-linux-amd64.tar.gz
- export PATH="$HOME/bin:$PATH" GLIDE_HOME="$HOME/.glide"
install:
- cd $GOPATH/src/
- mkdir k8s.io && cd k8s.io
- git clone https://github.com/kubernetes/helm
- cd helm && make bootstrap build
- mv bin/helm $HOME/bin
script:
- make lint test
- cd $GOPATH/src/github.com/kubernetes/charts
- helm lint *.tgz
after_success:
# TODO: run sync-repo script with gs://kubernetes-charts on green master build
-7
View File
@@ -1,7 +0,0 @@
.PHONY: test
test:
@_test/test-charts $(TEST_CHARTS)
.PHONY: lint
lint:
@_test/lint-charts $(TEST_CHARTS)
+13 -17
View File
@@ -2,32 +2,28 @@
* Under ACTIVE development
Source of curated application definitions (a.k.a Charts) for Kubernetes Helm. For more information about installing and using Helm, see its
[README.md](https://github.com/kubernetes/helm/tree/master/README.md). To get a quick introduction to the developer's experience using Helm and Charts see this [developer workflow](https://github.com/kubernetes/helm/blob/master/docs/workflow/developer-workflows.md).
Use this repository to submit official charts for Kubernetes Helm. Charts are curated application definitions for Kubernetes Helm. For more information about installing and using Helm, see its
[README.md](https://github.com/kubernetes/helm/tree/master/README.md). To get a quick introduction to Charts see this [chart document](https://github.com/kubernetes/helm/blob/master/docs/charts.md).
## Source Repository
This Github repository contains the source of Helm Charts that will soon become available on `gs://kubernetes-charts`.
This Github repository contains the packaged source of Helm Charts that will become available on `gs://kubernetes-charts`.
Charts are already available for testing at `gs://kubernetes-charts-testing`. You can browse those Charts directly on the Google Cloud Storage [console](https://console.cloud.google.com/storage/browser/kubernetes-charts-testing).
Charts are packaged and uploaded to a repository according to a [workflow](https://github.com/kubernetes/helm/blob/master/docs/pushing_charts.md)
## Chart Format
The format of Charts is defined in this [document](https://github.com/kubernetes/helm/blob/master/docs/design/chart_format.md) in the Helm [repository](https://github.com/kubernetes/helm.git)
Take a look at the [alpine example chart](https://github.com/kubernetes/helm/tree/master/docs/examples/alpine) and the [nginx example chart](https://github.com/kubernetes/helm/tree/master/docs/examples/nginx) for reference when you're writing your first few charts..
Before contributing a Chart, become familiar with this format. Note that the project is still under active development and the format may still evolve a bit.
Before contributing a Chart, become familiar with the format. Note that the project is still under active development and the format may still evolve a bit.
The format is slightly different from the Deis's [Charts](https://github.com/helm/charts.git) where it originated.
## Contributing a chart
Your contributions are most welcome in the form or Pull Requests.
After you have created and tested a chart, please use `helm lint [CHART]` to lint the chart for additionalchecks. Then, use `helm package [CHART]` to package your chart into a chart archive. Create a pull request containing your packaged charts.
Note: We use the same [workflow](https://github.com/kubernetes/kubernetes/blob/master/docs/devel/development.md#git-setup),
[License](LICENSE) and [Contributor License Agreement](CONTRIBUTING.md) as the main Kubernetes repository.
## Status of the Project
This project is still under active development, so you might run into [issues](https://github.com/kubernetes/charts/issues). If you do, please don't be shy about letting us know, or better yet, contribute a fix or feature.
## Contributing
Your contributions are most welcome.
We use the same [workflow](https://github.com/kubernetes/kubernetes/blob/master/docs/devel/development.md#git-setup),
[License](LICENSE) and [Contributor License Agreement](CONTRIBUTING.md) as the main Kubernetes repository.
-30
View File
@@ -1,30 +0,0 @@
export TEST_ROOT_DIR="$(cd "$(dirname $(dirname $0))"; pwd)"
export HELM_ARTIFACT_REPO="${HELM_ARTIFACT_REPO:-helm-ci}"
CLUSTER_NAME="${CLUSTER_NAME:-helm-testing}"
GOOGLE_SDK_DIR="${HOME}/google-cloud-sdk"
export HELM_BIN="${TEST_ROOT_DIR}/helm.bin"
export TEST_DIR="${TEST_ROOT_DIR}/_test"
export SECRETS_DIR="${TEST_DIR}/secrets"
SKIP_DESTROY=${SKIP_DESTROY:-false}
export HEALTHCHECK_TIMEOUT_SEC=120
GCLOUD_CREDENTIALS_FILE="${GCLOUD_CREDENTIALS_FILE:-"${SECRETS_DIR}/gcloud-credentials.json"}"
GCLOUD_PROJECT_ID="${GCLOUD_PROJECT_ID:-${CLUSTER_NAME}}"
K8S_ZONE="${K8S_ZONE:-us-central1-b}"
K8S_CLUSTER_NAME="${K8S_CLUSTER_NAME:-${GCLOUD_PROJECT_ID}-$(openssl rand -hex 2)}"
# Text color variables
txtund=$(tput sgr 0 1) # Underline
txtbld=$(tput bold) # Bold
bldred=${txtbld}$(tput setaf 1) # red
bldblu=${txtbld}$(tput setaf 4) # blue
bldwht=${txtbld}$(tput setaf 7) # white
txtrst=$(tput sgr0) # Reset
pass="${bldblu}-->${txtrst}"
warn="${bldred}-->${txtrst}"
ques="${bldblu}???${txtrst}"
-50
View File
@@ -1,50 +0,0 @@
function gke::install {
if [ ! -d "${GOOGLE_SDK_DIR}" ]; then
export CLOUDSDK_CORE_DISABLE_PROMPTS=1
curl https://sdk.cloud.google.com | bash
fi
export PATH="${GOOGLE_SDK_DIR}/bin:$PATH"
gcloud -q components update kubectl
}
function gke::login {
if [ -f ${GCLOUD_CREDENTIALS_FILE} ]; then
gcloud -q auth activate-service-account --key-file "${GCLOUD_CREDENTIALS_FILE}"
else
log-warn "No credentials file located at ${GCLOUD_CREDENTIALS_FILE}"
log-warn "You can set this via GCLOUD_CREDENTIALS_FILE"
return 1
fi
}
function gke::config {
gcloud -q config set project "${GCLOUD_PROJECT_ID}"
gcloud -q config set compute/zone "${K8S_ZONE}"
}
function gke::create-cluster {
log-lifecycle "Creating cluster ${K8S_CLUSTER_NAME}"
gcloud -q container clusters create "${K8S_CLUSTER_NAME}"
gcloud -q config set container/cluster "${K8S_CLUSTER_NAME}"
gcloud -q container clusters get-credentials "${K8S_CLUSTER_NAME}"
}
function gke::destroy {
if [ "${SKIP_DESTROY}" == false ]; then
log-lifecycle "Destroying cluster ${K8S_CLUSTER_NAME}"
if command -v gcloud &>/dev/null; then
gcloud -q container clusters delete "${K8S_CLUSTER_NAME}" --no-wait
log-info "Cluster ${K8S_CLUSTER_NAME} scheduled for destruction. Muahaha."
log-info "Set SKIP_DESTROY=true if you don't want cluster destruction-on-exit behavior"
fi
else
log-warn "Skipping destruction of ${K8S_CLUSTER_NAME} (SKIP_DESTROY=${SKIP_DESTROY})"
fi
}
function gke::setup {
gke::install
gke::login
gke::config
}
-155
View File
@@ -1,155 +0,0 @@
function move-files {
helm doctor # need proper ~/.helm directory structure and config.yml
log-info "Staging chart directory"
rsync -av . ${HOME}/.helm/cache/charts/
}
function helm::setup {
# Uses HELM_ARTIFACT_REPO to determine which repository to grab helm from
log-lifecycle "Installing helm into $(pwd)/.bin"
mkdir -p .bin
(
cd .bin
curl -s https://get.helm.sh | bash
)
export PATH="$(pwd)/.bin:${PATH}"
move-files
}
function helm::get-changed-charts {
git diff --name-only HEAD origin/HEAD -- charts \
| cut -d/ -f 1-2 \
| sort \
| uniq
}
function ensure-dirs-exist {
local dirs="${@}"
local pruned
# ensure directories exist and just output directory name
for dir in ${dirs}; do
if [ -d ${dir} ]; then
pruned+="$(basename "${dir}")\n"
fi
done
echo -e "${pruned}"
}
function generate-test-plan {
ensure-dirs-exist "$(helm::get-changed-charts)"
}
function get-all-charts {
local chartlist="$(find . -name Chart.yaml)"
local cleanedlist
if [ -z "${TEST_CHARTS}" ]; then
local chart
for chart in ${chartlist}; do
cleanedlist+="$(basename $(dirname ${chart})) "
done
else
cleanedlist="${TEST_CHARTS}"
fi
echo "${cleanedlist}"
}
function helm::test-chart {
log-warn "Start: ${1}"
.bin/helm fetch "${1}"
.bin/helm install "${1}"
helm::healthcheck "${1}"
.bin/helm uninstall -y "${1}"
log-warn "Done: ${1}"
}
function helm::test {
local test_plan
if is-pull-request; then
test_plan="$(generate-test-plan)"
else
test_plan="$(get-all-charts)"
fi
log-lifecycle "Running test plan"
log-info "Charts to be tested:"
echo "${test_plan}"
local plan
for plan in ${test_plan}; do
helm::test-chart ${plan}
done
}
function is-pull-request {
if [ ! -z ${TRAVIS} ] && \
[ ${TRAVIS_PULL_REQUEST} != false ]; then
log-warn "This is a pull request."
return 0
else
return 1
fi
}
function helm::is-pod-running {
local name="${1}"
if kubectl get pods "${name}" &> /dev/null; then
log-info "Looking for pod named ${name}"
local jq_name_query=".status.phase"
kubectl get pods ${name} -o json | jq -r "${jq_name_query}" | grep -q "Running" && return 0
fi
log-info "Looking for label: app=${name}"
local jq_app_label_query=".items[] | select(.metadata.labels.app == \"${name}\") | .status.phase"
kubectl get pods -o json | jq -r "${jq_app_label_query}" | grep -q "Running" && return 0
log-info "Looking for label: provider=${name}"
local jq_provider_label_query=".items[] | select(.metadata.labels.provider == \"${name}\") | .status.phase"
kubectl get pods -o json | jq -r "${jq_provider_label_query}" | grep -q "Running" && return 0
log-info "Looking for label: name=${name}"
local jq_provider_label_query=".items[] | select(.metadata.labels.name == \"${name}\") | .status.phase"
kubectl get pods -o json | jq -r "${jq_provider_label_query}" | grep -q "Running" && return 0
}
function helm::healthcheck {
WAIT_TIME=1
log-lifecycle "Checking: ${1}"
until helm::is-pod-running "${1}"; do
sleep 1
(( WAIT_TIME += 1 ))
if [ ${WAIT_TIME} -gt ${HEALTHCHECK_TIMEOUT_SEC} ]; then
return 1
fi
done
log-lifecycle "Checked!: ${1}"
}
function helm::lint {
local chart
for chart in $(get-all-charts); do
.bin/helm fetch "${chart}"
.bin/helm lint "${chart}"
done
}
function log-lifecycle {
echo "${bldblu}==> ${@}...${txtrst}"
}
function log-info {
echo "${wht}--> ${@}${txtrst}"
}
function log-warn {
echo "${bldred}--> ${@}${txtrst}"
}
-16
View File
@@ -1,16 +0,0 @@
#!/usr/bin/env bash
set -eo pipefail
source _test/config.sh
cd "${TEST_ROOT_DIR}"
source _test/lib.sh
source _test/gke.sh
gke::install # "need" kubectl for helm
helm::setup
helm::lint
Binary file not shown.
-33
View File
@@ -1,33 +0,0 @@
#!/usr/bin/env bash
set -eo pipefail
source _test/config.sh
cd "${TEST_ROOT_DIR}"
source _test/lib.sh
source _test/gke.sh
if [ "${TRAVIS}" == true ]; then
if [ "${TRAVIS_PULL_REQUEST}" != false ]; then
log-lifecycle "This is a pull request build. Skipping chart tests."
exit 0
fi
# decrypt gcloud credentials if on Travis and building the master branch
openssl aes-256-cbc -K $encrypted_e967971bb2cd_key \
-iv $encrypted_e967971bb2cd_iv \
-in _test/secrets/gcloud-credentials.json.enc \
-out _test/secrets/gcloud-credentials.json -d
fi
trap gke::destroy EXIT ERR
gke::setup
helm::setup
gke::create-cluster
helm::test
-24
View File
@@ -1,24 +0,0 @@
name: alpine
description: Simple pod running Alpine Linux.
version: 0.1.0
keywords:
- package
- provides
- basic
- alpine
- linux
- image
- used
- basic
- debugging
- troubleshooting
- default
- starts
- sleeps
- long
- time
- eventually
- stops
sources:
- https://github.com/kubernetes/charts/tree/master/alpine
home: http://www.alpinelinux.org/
-8
View File
@@ -1,8 +0,0 @@
# Alpine
This Chart provides a Pod running Alpine Linux.
## Usage
This pod is for testing and debugging. The standard usage is to connect
using `kubectl exec` and then install the tools you want using `apk`.
-12
View File
@@ -1,12 +0,0 @@
apiVersion: v1
kind: Pod
metadata:
name: alpine
labels:
heritage: helm
spec:
restartPolicy: Never
containers:
- name: waiter
image: "alpine:3.2"
command: ["/bin/sleep","9000"]
-11
View File
@@ -1,11 +0,0 @@
name: cassandra
description: The Apache Cassandra Project.
version: 0.2.1
keywords:
- package
- deploys
- cassandra
- kubernetes
sources:
- https://github.com/kubernetes/charts/tree/master/cassandra
home: http://cassandra.apache.org/
-3
View File
@@ -1,3 +0,0 @@
# Cassandra
This Chart deploys Cassandra to kubernetes.
-26
View File
@@ -1,26 +0,0 @@
apiVersion: v1
kind: ReplicationController
metadata:
name: cassandra
labels:
provider: cassandra
heritage: helm
spec:
replicas: 1
selector:
provider: cassandra
template:
metadata:
name: cassandra
labels:
provider: cassandra
spec:
containers:
- name: cassandra
image: cassandra
ports:
- containerPort: 7000
- containerPort: 7001
- containerPort: 7199
- containerPort: 9042
- containerPort: 9160
-21
View File
@@ -1,21 +0,0 @@
apiVersion: v1
kind: Service
metadata:
name: cassandra
labels:
provider: cassandra
heritage: helm
spec:
ports:
- name: internode
port: 7000
- name: internodessl
port: 7001
- name: jmx
port: 7199
- name: client
port: 9042
- name: thrift
port: 9160
selector:
provider: cassandra
-14
View File
@@ -1,14 +0,0 @@
name: docker-registry
description: The Docker toolset to pack, ship, store, and deliver content.
version: 0.2.0
keywords:
- package
- provides
- docker
- registry
- used
- development
- purposes
sources:
- https://github.com/kubernetes/charts/tree/master/docker-registry
home: https://github.com/docker/distribution
-3
View File
@@ -1,3 +0,0 @@
# Docker Registry
The Docker toolset to pack, ship, store, and deliver content.
@@ -1,19 +0,0 @@
apiVersion: v1
kind: ReplicationController
metadata:
name: docker-registry
labels:
app: docker-registry
heritage: helm
spec:
replicas: 1
template:
metadata:
labels:
app: docker-registry
spec:
containers:
- name: docker-registry
image: registry:2.1.1
ports:
- containerPort: 5000
@@ -1,13 +0,0 @@
apiVersion: v1
kind: Service
metadata:
name: docker-registry
labels:
app: docker-registry
heritage: helm
spec:
ports:
- port: 80
targetPort: 5000
selector:
app: docker-registry
-13
View File
@@ -1,13 +0,0 @@
name: elasticsearch
description: Elasticsearch Restful Search Engine
version: 0.2.0
keywords:
- chart
- provides
- basic
- elasticsearch
- search
- service
sources:
- https://github.com/kubernetes/charts/tree/master/elasticsearch
home: https://github.com/elastic/elasticsearch
-3
View File
@@ -1,3 +0,0 @@
# Elasticsearch
This Chart provides a basic Elasticsearch search service.
@@ -1,24 +0,0 @@
apiVersion: v1
kind: ReplicationController
metadata:
name: elasticsearch
labels:
provider: elasticsearch
heritage: helm
spec:
replicas: 1
selector:
provider: elasticsearch
template:
metadata:
name: elasticsearch
labels:
provider: elasticsearch
spec:
containers:
- name: elasticsearch
image: elasticsearch:2.1.1
ports:
- containerPort: 9200
- containerPort: 9300
@@ -1,15 +0,0 @@
apiVersion: v1
kind: Service
metadata:
name: elasticsearch
labels:
provider: elasticsearch
heritage: helm
spec:
ports:
- name: client
port: 9200
- name: peer
port: 9300
selector:
provider: elasticsearch
-24
View File
@@ -1,24 +0,0 @@
name: example-nginx
description: An example nginx + git-sync application
version: 0.0.2
keywords:
- chart
- provides
- simple
- nginx
- website
- demonstrates
- pod
- two
- containers
- one
- container
- runs
- nginx
- constantly
- syncs
- git
- repository
sources:
- https://github.com/kubernetes/charts/tree/master/example-nginx
home: http://github.com/slack/kubernetes-nginx-example
-36
View File
@@ -1,36 +0,0 @@
# example-nginx
A small website delivered by two cooperating containers.
1. [git-sync](https://github.com/slack/git-sync) container which constantly polls a git repository
1. [nginx](https://hub.docker.com/_/nginx/) container which serves the website on port 80
By default, this Chart adds a ReplicationController and a Service. Service uses
NodePort, so installing this chart will not provision a LoadBalancer. Depending
on your Kubernetes cluster configuration you may need to add additional
configuration to access the example service.
## Chart Label Usage
* `app=example-nginx` is the only set of labels used by this Chart
## Configuration
Configure the git-sync container using the following environment variables:
* `GIT_SYNC_REPO`: https://github.com/slack/basic-site.git
* `GIT_SYNC_BRANCH`: master
* `GIT_SYNC_BRANCH`: master
* `GIT_SYNC_DEST`: /git
* `GIT_SYNC_DEST_MODE`: 0755
* `GIT_SYNC_WAIT`: 60
# Changelog
## [0.0.2] - 2015-10-29
- Add a Service definition.
## [0.0.1] - 2015-10-28
- Initial release.
@@ -1,44 +0,0 @@
apiVersion: v1
kind: ReplicationController
metadata:
name: example-nginx
labels:
heritage: helm
spec:
replicas: 1
selector:
app: example-nginx
template:
metadata:
labels:
app: example-nginx
spec:
containers:
- image: "quay.io/jhansen/git-sync:0.0.2"
name: git-sync
volumeMounts:
- mountPath: /git
name: git-volume
env:
- name: GIT_SYNC_REPO
value: https://github.com/slack/basic-site.git
- name: GIT_SYNC_BRANCH
value: master
- name: GIT_SYNC_BRANCH
value: master
- name: GIT_SYNC_DEST
value: /git
- name: GIT_SYNC_DEST_MODE
value: "0755"
- name: GIT_SYNC_WAIT
value: "60"
- image: nginx
name: nginx
ports:
- containerPort: 80
volumeMounts:
- mountPath: /usr/share/nginx/html
name: git-volume
volumes:
- name: git-volume
emptyDir: {}
@@ -1,15 +0,0 @@
apiVersion: v1
kind: Service
metadata:
name: example-nginx
labels:
app: example-nginx
heritage: helm
spec:
type: NodePort
ports:
- port: 80
protocol: TCP
name: http
selector:
app: example-nginx
-20
View File
@@ -1,20 +0,0 @@
name: example-todo
description: Example Todo application backed by Redis
version: 0.0.6
keywords:
- chart
- contains
- example
- todo
- application
- backed
- redis
- supports
- standalone
- clustered
- sentinel
- redis
- backends
sources:
- https://github.com/kubernetes/charts/tree/master/example-todo
home: http://github.com/deis/example-todo
@@ -1,20 +0,0 @@
apiVersion: v1
kind: ReplicationController
metadata:
name: example-todo
labels:
heritage: helm
spec:
replicas: 1
selector:
name: example-todo
template:
metadata:
labels:
name: example-todo
spec:
containers:
- name: example-todo
image: "deis/example-todo:v0.0.6"
ports:
- containerPort: 3000
@@ -1,13 +0,0 @@
apiVersion: v1
kind: Service
metadata:
name: todo-redis-cluster
labels:
heritage: helm
spec:
ports:
- port: 26379
name: redis-sentinel
protocol: TCP
selector:
provider: redis
@@ -1,13 +0,0 @@
apiVersion: v1
kind: Service
metadata:
name: todo-redis-standalone
labels:
heritage: helm
spec:
ports:
- port: 6379
name: redis
protocol: TCP
selector:
provider: redis
@@ -1,15 +0,0 @@
apiVersion: v1
kind: Service
metadata:
name: example-todo
labels:
heritage: helm
spec:
type: NodePort
ports:
- port: 3000
nodePort: 30000
name: http
protocol: TCP
selector:
name: example-todo
-13
View File
@@ -1,13 +0,0 @@
name: jenkins
description: The leading open-sources continuous integration server.
version: 0.2.0
keywords:
- jenkins
- leading
- open-sources
- continuous
- integration
- server
sources:
- https://github.com/kubernetes/charts/tree/master/jenkins
home: https://jenkins-ci.org/
-3
View File
@@ -1,3 +0,0 @@
# Jenkins
Jenkins CI is the leading open-source continuous integration server.
-19
View File
@@ -1,19 +0,0 @@
apiVersion: v1
kind: ReplicationController
metadata:
name: jenkins
labels:
app: jenkins
heritage: helm
spec:
replicas: 1
template:
metadata:
labels:
app: jenkins
spec:
containers:
- name: jenkins
image: jenkins:1.642.1
ports:
- containerPort: 8080
-13
View File
@@ -1,13 +0,0 @@
apiVersion: v1
kind: Service
metadata:
name: jenkins
labels:
app: jenkins
heritage: helm
spec:
ports:
- port: 80
targetPort: 8080
selector:
app: jenkins
-19
View File
@@ -1,19 +0,0 @@
name: memcached
description: A simple Memcached cluster
version: 0.1.0
keywords:
- memcached
- simple
- cache
- server
- chart
- provides
- multiple
- replication
- controllers
- grouped
- together
- cluster
sources:
- https://github.com/kubernetes/charts/tree/master/memcached
home: http://https://hub.docker.com/_/memcached/
-20
View File
@@ -1,20 +0,0 @@
# memcached
Memcached is a cache server. http://memcached.org/
This chart provides a replication controller that starts (by default) a
single Memcached server. Memcached's clustering model is very simple:
everything is done client-side.
## For Clustering
This project creates two memcached RCs, each with only one pod. To use
this cluster, an app should declare two services -- one for each RC.
Memcached clients should then be configured to use both services.
RCs are named `memcached-1` and `memcached-2`. Both are labeled with
`provider: memcached`. However, using that as your only label selector
will have undesirable consequences.
To add more memcached servers to the cluster, create additional RCs and
services.
-49
View File
@@ -1,49 +0,0 @@
apiVersion: v1
kind: ReplicationController
metadata:
name: memcached-1
labels:
heritage: helm
spec:
replicas: 1
selector:
name: memcached-1
mode: cluster
provider: memcached
template:
metadata:
labels:
name: memcached-1
mode: cluster
provider: memcached
spec:
containers:
- name: memcached
image: "memcached:1.4.24"
ports:
- containerPort: 11211
---
apiVersion: v1
kind: ReplicationController
metadata:
name: memcached-2
labels:
heritage: helm
spec:
replicas: 1
selector:
name: memcached-2
mode: cluster
provider: memcached
template:
metadata:
labels:
name: memcached-2
mode: cluster
provider: memcached
spec:
containers:
- name: memcached
image: "memcached:1.4.24"
ports:
- containerPort: 11211
-14
View File
@@ -1,14 +0,0 @@
name: mysql
description: Chart running MySQL.
version: 0.2.0
keywords:
- package
- provides
- basic
- mysql
- database
- development
- purposes
sources:
- https://github.com/kubernetes/charts/tree/master/mysql
home: https://www.mysql.com/
-3
View File
@@ -1,3 +0,0 @@
# MySQL
This package provides a basic MySQL database pod for development purposes.
-22
View File
@@ -1,22 +0,0 @@
apiVersion: v1
kind: ReplicationController
metadata:
name: mysql
labels:
provider: mysql
heritage: helm
spec:
replicas: 1
template:
metadata:
labels:
provider: mysql
spec:
containers:
- name: mysql
image: mysql
env:
- name: MYSQL_ROOT_PASSWORD
value: mypassword
ports:
- containerPort: 3306
-12
View File
@@ -1,12 +0,0 @@
apiVersion: v1
kind: Service
metadata:
name: mysql
labels:
provider: mysql
heritage: helm
spec:
ports:
- port: 3306
selector:
provider: mysql
-17
View File
@@ -1,17 +0,0 @@
name: nginx-alpine
description: Nginx http service
version: 0.1.0
keywords:
- chart
- contains
- basic
- nginx
- http
- service
- useful
- verifying
- proof
- concept
sources:
- https://github.com/kubernetes/charts/tree/master/nginx-alpine
home: https://www.nginx.com
-4
View File
@@ -1,4 +0,0 @@
# Nginx based on Alpine Linux
This Chart provides a basic runing Nginx http service useful in verifying proof of concept.
-20
View File
@@ -1,20 +0,0 @@
apiVersion: v1
kind: ReplicationController
metadata:
name: nginx-alpine
labels:
heritage: helm
spec:
replicas: 1
selector:
name: nginx-alpine
template:
metadata:
labels:
name: nginx-alpine
spec:
containers:
- name: nginx-alpine
image: rohan/nginx-alpine
ports:
- containerPort: 80
-14
View File
@@ -1,14 +0,0 @@
apiVersion: v1
kind: Service
metadata:
name: nginx-alpine
labels:
app: nginx-alpine
heritage: helm
spec:
ports:
- port: 80
protocol: TCP
name: http
selector:
name: nginx-alpine
-17
View File
@@ -1,17 +0,0 @@
name: nginx
description: Nginx http service
version: 0.2.0
keywords:
- chart
- contains
- basic
- nginx
- http
- service
- useful
- verifying
- proof
- concept
sources:
- https://github.com/kubernetes/charts/tree/master/nginx
home: https://www.nginx.com
-3
View File
@@ -1,3 +0,0 @@
# Nginx
This Chart provides a basic running Nginx http service useful in verifying proof of concept.
-20
View File
@@ -1,20 +0,0 @@
apiVersion: v1
kind: ReplicationController
metadata:
name: nginx
labels:
heritage: helm
spec:
replicas: 1
selector:
name: nginx
template:
metadata:
labels:
name: nginx
spec:
containers:
- name: nginx
image: nginx
ports:
- containerPort: 80
-14
View File
@@ -1,14 +0,0 @@
apiVersion: v1
kind: Service
metadata:
name: nginx
labels:
heritage: helm
app: nginx
spec:
ports:
- port: 80
protocol: TCP
name: http
selector:
name: nginx
-13
View File
@@ -1,13 +0,0 @@
name: owncloud
description: a self-hosted file sync and share server.
version: 0.2.0
keywords:
- owncloud
- self-hosted
- file
- sync
- share
- server
sources:
- https://github.com/kubernetes/charts/tree/master/owncloud
home: https://owncloud.org/
-3
View File
@@ -1,3 +0,0 @@
# Owncloud
OwnCloud is a self-hosted file sync and share server.
-19
View File
@@ -1,19 +0,0 @@
apiVersion: v1
kind: ReplicationController
metadata:
name: owncloud
labels:
app: owncloud
heritage: helm
spec:
replicas: 1
template:
metadata:
labels:
app: owncloud
spec:
containers:
- name: owncloud
image: owncloud:8.2.0
ports:
- containerPort: 80
-12
View File
@@ -1,12 +0,0 @@
apiVersion: v1
kind: Service
metadata:
name: owncloud
labels:
app: owncloud
heritage: helm
spec:
ports:
- port: 80
selector:
app: owncloud
-14
View File
@@ -1,14 +0,0 @@
name: postgresql
description: The world's most advanced open sources database.
version: 0.2.0
keywords:
- package
- provides
- basic
- postgresql
- database
- development
- purposes
sources:
- https://github.com/kubernetes/charts/tree/master/postgresql
home: http://www.postgresql.org/
-3
View File
@@ -1,3 +0,0 @@
# PostgreSQL
This package provides a basic PostgreSQL database for development purposes.
-22
View File
@@ -1,22 +0,0 @@
apiVersion: v1
kind: ReplicationController
metadata:
name: postgresql
labels:
provider: postgresql
heritage: helm
spec:
replicas: 1
template:
metadata:
labels:
provider: postgresql
spec:
containers:
- name: postgres
image: postgres
env:
- name: DB_PASS
value: mypassword
ports:
- containerPort: 5432
-12
View File
@@ -1,12 +0,0 @@
apiVersion: v1
kind: Service
metadata:
name: postgresql
labels:
app: postgresql
heritage: helm
spec:
ports:
- port: 5432
selector:
app: postgresql
-17
View File
@@ -1,17 +0,0 @@
name: proxy-2-service
description: Proxy a pod port or host port to a kubernetes Service
version: 0.1.0
keywords:
- handy
- demos
- laptop
- able
- access
- service
- via
- host
- ip
- port
sources:
- https://github.com/kubernetes/charts/tree/master/proxy-2-service
home: https://github.com/kubernetes/contrib/tree/master/for-demos/proxy-to-service
-42
View File
@@ -1,42 +0,0 @@
# proxy-2-service
Proxy a pod port or host port to a kubernetes Service
While Kubernetes provides the ability to map Services to ports on each node,
those ports are in a special range set aside for allocations. This means you
can not not simply choose to expose a Service on port 80 on your nodes. You
also can not choose to expose it on some nodes but not others. These things
will be fixed in the future, but until then, here is a stop-gap measure you can
use.
The container image `gcr.io/google_containers/proxy-to-service:v2` is a very
small container that will do port-forwarding for you. You can use it to
forward a pod port or a host port to a service. Pods can choose any port or
host port, and are not limited in the same way Services are.
For example, suppose you want to forward a node's port 80 (HTTP) to your
node's nginx service. The following pod would do the trick:
```
apiVersion: v1
kind: Pod
metadata:
name: http-proxy
spec:
containers:
- name: proxy-http
image: gcr.io/google_containers/proxy-to-service:v2
args: [ "tcp", "80", "nginx.default" ]
ports:
- name: http
protocol: TCP
containerPort: 80
hostPort: 80
```
This creates a pod with one container receives traffic on a port 80 (HTTP) and
forwards that traffic to the `nginx` service.
You also can add more ports adding another container there.
You can run this on as many or as few nodes as you want.
Note: Kubernetes DNS Add-on needs to be installed
@@ -1,16 +0,0 @@
apiVersion: v1
kind: Pod
metadata:
name: proxy-2-service
labels:
heritage: helm
spec:
containers:
- name: http-tcp
image: gcr.io/google_containers/proxy-to-service:v2
args: [ "tcp", "80", "nginx.default" ]
ports:
- name: http
protocol: TCP
containerPort: 80
hostPort: 80
-14
View File
@@ -1,14 +0,0 @@
name: rabbitmq
description: Chart running RabbitMQ.
version: 0.2.0
keywords:
- package
- provides
- rabbitmq
- message
- broker
- development
- purposes
sources:
- https://github.com/kubernetes/charts/tree/master/rabbitmq
home: https://www.rabbitmq.com/
-3
View File
@@ -1,3 +0,0 @@
# RabbitMQ
This Chart provides a basic RabbitMQ instance running in kubernetes.
-19
View File
@@ -1,19 +0,0 @@
apiVersion: v1
kind: ReplicationController
metadata:
name: rabbitmq
labels:
provider: rabbitmq
heritage: helm
spec:
replicas: 1
template:
metadata:
labels:
provider: rabbitmq
spec:
containers:
- name: rabbitmq
image: rabbitmq:3.6.0
ports:
- containerPort: 5672
-12
View File
@@ -1,12 +0,0 @@
apiVersion: v1
kind: Service
metadata:
name: rabbitmq
labels:
provider: rabbitmq
heritage: helm
spec:
ports:
- port: 5672
selector:
provider: rabbitmq
-24
View File
@@ -1,24 +0,0 @@
name: redis-cluster
description: Highly available Redis cluster with multiple sentinels and standbys.
version: 0.0.5
keywords:
- package
- provides
- highly
- available
- redis
- cluster
- multiple
- sentinels
- standbys
- note
- `redis-master`
- pod
- used
- bootstrapping
- deleted
- cluster
- running
sources:
- https://github.com/kubernetes/charts/tree/master/redis-cluster
home: http://github.com/deis/redis-cluster
-39
View File
@@ -1,39 +0,0 @@
apiVersion: v1
kind: Pod
metadata:
labels:
heritage: helm
name: redis
redis-sentinel: "true"
role: master
bootstrap: "true"
name: redis-master
spec:
containers:
- name: master
image: "deis/redis:v0.0.5"
env:
- name: MASTER
value: "true"
- name: DEBUG
value: "1"
ports:
- containerPort: 6379
resources:
limits:
cpu: "0.1"
volumeMounts:
- mountPath: /redis-master-data
name: data
- name: sentinel
image: "deis/redis:v0.0.5"
env:
- name: SENTINEL
value: "true"
- name: DEBUG
value: "1"
ports:
- containerPort: 26379
volumes:
- name: data
emptyDir: {}
-30
View File
@@ -1,30 +0,0 @@
apiVersion: v1
kind: ReplicationController
metadata:
name: redis
labels:
heritage: helm
spec:
replicas: 3
selector:
name: redis
template:
metadata:
labels:
app: redis-cluster
name: redis
spec:
containers:
- name: redis
image: "deis/redis:v0.0.5"
ports:
- containerPort: 6379
resources:
limits:
cpu: "0.1"
volumeMounts:
- mountPath: /redis-master-data
name: data
volumes:
- name: data
emptyDir: {}
@@ -1,26 +0,0 @@
apiVersion: v1
kind: ReplicationController
metadata:
name: redis-sentinel
labels:
heritage: helm
spec:
replicas: 3
selector:
redis-sentinel: "true"
template:
metadata:
labels:
name: redis-sentinel
redis-sentinel: "true"
role: sentinel
provider: redis
spec:
containers:
- name: sentinel
image: "deis/redis:v0.0.5"
env:
- name: SENTINEL
value: "true"
ports:
- containerPort: 26379
@@ -1,13 +0,0 @@
apiVersion: v1
kind: Service
metadata:
labels:
heritage: helm
name: sentinel
role: service
name: redis-sentinel
spec:
ports:
- port: 26379
selector:
redis-sentinel: "true"
-18
View File
@@ -1,18 +0,0 @@
name: redis-standalone
description: Standalone Redis Master
version: 0.0.1
keywords:
- package
- provides
- standalone
- redis
- master
- useful
- prototyping
- note
- include
- high
- availability
sources:
- https://github.com/kubernetes/charts/tree/master/redis-standalone
home: http://github.com/deis/helm
-3
View File
@@ -1,3 +0,0 @@
# Redis Standalone
This is a standalone Redis master with no high-availability, useful for rapid prototyping.
-34
View File
@@ -1,34 +0,0 @@
apiVersion: v1
kind: ReplicationController
metadata:
name: redis-standalone
labels:
heritage: helm
spec:
replicas: 1
selector:
name: redis-standalone
mode: standalone
provider: redis
template:
metadata:
labels:
name: redis-standalone
mode: standalone
provider: redis
app: redis-standalone
spec:
containers:
- name: redis-standalone
image: kubernetes/redis:v1
env:
- name: MASTER
value: "true"
ports:
- containerPort: 6379
volumeMounts:
- mountPath: /redis-master-data
name: data
volumes:
- name: data
emptyDir: {}
-12
View File
@@ -1,12 +0,0 @@
apiVersion: v1
kind: Service
metadata:
name: redis
labels:
provider: redis
heritage: helm
spec:
ports:
- port: 6379
selector:
provider: redis
-18
View File
@@ -1,18 +0,0 @@
name: redmine
description: A flexible project management web application.
version: 0.2.0
keywords:
- redmine
- flexible
- project
- management
- web
- application
- written
- using
- ruby
- rails
- framework
sources:
- https://github.com/kubernetes/charts/tree/master/redmine
home: http://www.redmine.org/
-3
View File
@@ -1,3 +0,0 @@
# Redmine
Redmine is a flexible project management web application written using Ruby on Rails framework.
-19
View File
@@ -1,19 +0,0 @@
apiVersion: v1
kind: ReplicationController
metadata:
name: redmine
labels:
app: redmine
heritage: helm
spec:
replicas: 1
template:
metadata:
labels:
app: redmine
spec:
containers:
- name: redmine
image: redmine:3.0.5
ports:
- containerPort: 3000
-13
View File
@@ -1,13 +0,0 @@
apiVersion: v1
kind: Service
metadata:
name: redmine
labels:
app: redmine
heritage: helm
spec:
ports:
- port: 80
targetPort: 3000
selector:
app: redmine
-7
View File
@@ -1,7 +0,0 @@
name: replicatedservice
description: Port of the replicatedservice template from kubernetes/charts
version: 3
expander:
name: Expandybird
entrypoint: templates/replicatedservice.py
schema: templates/replicatedservice.py.schema
@@ -1,195 +0,0 @@
"""Defines a ReplicatedService type by creating both a Service and an RC.
This module creates a typical abstraction for running a service in a
Kubernetes cluster, namely a replication controller and a service packaged
together into a single unit.
"""
import yaml
SERVICE_TYPE_COLLECTION = 'Service'
RC_TYPE_COLLECTION = 'ReplicationController'
def GenerateConfig(context):
"""Generates a Replication Controller and a matching Service.
Args:
context: Template context. See schema for context properties
Returns:
A Container Manifest as a YAML string.
"""
# YAML config that we're going to create for both RC & Service
config = {'resources': []}
name = context.env['name']
container_name = context.properties.get('container_name', name)
namespace = context.properties.get('namespace', 'default')
# Define things that the Service cares about
service_name = context.properties.get('service_name', name + '-service')
service_type = SERVICE_TYPE_COLLECTION
# Define things that the Replication Controller (rc) cares about
rc_name = context.properties.get('rc_name', name + '-rc')
rc_type = RC_TYPE_COLLECTION
service = {
'name': service_name,
'properties': {
'apiVersion': 'v1',
'kind': 'Service',
'metadata': {
'labels': GenerateLabels(context, service_name),
'name': service_name,
'namespace': namespace,
},
'spec': {
'ports': [GenerateServicePorts(context, container_name)],
'selector': GenerateLabels(context, name)
}
},
'type': service_type,
}
set_up_external_lb = context.properties.get('external_service', None)
if set_up_external_lb:
service['properties']['spec']['type'] = 'LoadBalancer'
cluster_ip = context.properties.get('cluster_ip', None)
if cluster_ip:
service['properties']['spec']['clusterIP'] = cluster_ip
rc = {
'name': rc_name,
'type': rc_type,
'properties': {
'apiVersion': 'v1',
'kind': 'ReplicationController',
'metadata': {
'labels': GenerateLabels(context, rc_name),
'name': rc_name,
'namespace': namespace,
},
'spec': {
'replicas': context.properties['replicas'],
'selector': GenerateLabels(context, name),
'template': {
'metadata': {
'labels': GenerateLabels(context, name),
},
'spec': {
'containers': [
{
'env': GenerateEnv(context),
'image': context.properties['image'],
'name': container_name,
'ports': [
{
'name': container_name,
'containerPort': context.properties['container_port'],
}
],
}
],
}
}
}
}
}
# Set up volume mounts
if context.properties.get('volumes', None):
rc['properties']['spec']['template']['spec']['containers'][0]['volumeMounts'] = []
rc['properties']['spec']['template']['spec']['volumes'] = []
for volume in context.properties['volumes']:
# mountPath should be unique
volume_name = volume['mount_path'].replace('/', '-').lstrip('-') + '-storage'
rc['properties']['spec']['template']['spec']['containers'][0]['volumeMounts'].append(
{
'name': volume_name,
'mountPath': volume['mount_path']
}
)
del volume['mount_path']
volume['name'] = volume_name
rc['properties']['spec']['template']['spec']['volumes'].append(volume)
if context.properties.get('privileged', False):
rc['properties']['spec']['template']['spec']['containers'][0]['securityContext'] = {
'privileged': True
}
config['resources'].append(rc)
config['resources'].append(service)
return yaml.dump(config)
# Generates labels either from the context.properties['labels'] or generates
# a default label 'name':name
def GenerateLabels(context, name):
"""Generates labels from context.properties['labels'] or creates default.
We make a deep copy of the context.properties['labels'] section to avoid
linking in the yaml document, which I believe reduces readability of the
expanded template. If no labels are given, generate a default 'name':name.
Args:
context: Template context, which can contain the following properties:
labels - Labels to generate
Returns:
A dict containing labels in a name:value format
"""
tmp_labels = context.properties.get('labels', None)
ret_labels = {'name': name}
if isinstance(tmp_labels, dict):
for key, value in tmp_labels.iteritems():
ret_labels[key] = value
return ret_labels
def GenerateServicePorts(context, name):
"""Generates a ports section for a service.
Args:
context: Template context, which can contain the following properties:
service_port - Port to use for the service
target_port - Target port for the service
protocol - Protocol to use.
Returns:
A dict containing a port definition
"""
container_port = context.properties['container_port']
target_port = context.properties.get('target_port', container_port)
service_port = context.properties.get('service_port', target_port)
protocol = context.properties.get('protocol')
ports = {}
if name:
ports['name'] = name
if service_port:
ports['port'] = service_port
if target_port:
ports['targetPort'] = target_port
if protocol:
ports['protocol'] = protocol
return ports
def GenerateEnv(context):
"""Generates environmental variables for a pod.
Args:
context: Template context, which can contain the following properties:
env - Environment variables to set.
Returns:
A list containing env variables in dict format {name: 'name', value: 'value'}
"""
env = []
tmp_env = context.properties.get('env', [])
for entry in tmp_env:
if isinstance(entry, dict):
env.append({'name': entry.get('name'), 'value': entry.get('value')})
return env
@@ -1,91 +0,0 @@
info:
title: Replicated Service
description: |
Defines a ReplicatedService type by creating both a Service and an RC.
This module creates a typical abstraction for running a service in a
Kubernetes cluster, namely a replication controller and a service packaged
together into a single unit.
required:
- image
properties:
container_name:
type: string
description: Name to use for container. If omitted, name is used.
service_name:
type: string
description: Name to use for service. If omitted, name-service is used.
namespace:
type: string
description: Namespace to create resources in. If omitted, 'default' is
used.
default: default
protocol:
type: string
description: Protocol to use for the service.
service_port:
type: int
description: Port to use for the service.
target_port:
type: int
description: Target port to use for the service.
container_port:
type: int
description: Port to use for the container.
replicas:
type: int
description: Number of replicas to create in RC.
image:
type: string
description: Docker image to use for replicas.
labels:
type: object
description: Labels to apply.
env:
type: array
description: Environment variables to apply.
properties:
name:
type: string
value:
type: string
external_service:
type: boolean
description: If set to true, enable external load balancer.
cluster_ip:
type: string
description: IP to use for the service
privileged:
type: boolean
description: If set to true, enable privileged container
volumes:
type: array
description: Volumes to mount.
items:
type: object
properties:
mounth_path:
type: string
description: Path to mount volume
# See https://cloud.google.com/container-engine/docs/spec-schema?hl=en for possible volumes. Since we only use gcePersistentDisk and NFS in our examples we have only added these ones.
oneOf:
gcePersistentDisk:
pdName:
type: string
description: Persistent's disk name
fsType:
type: string
description: Filesystem type of the persistent disk
nfs:
server:
type: string
description: The hostname or IP address of the NFS server
path:
type: string
description: The path that is exported by the NFS server
readOnly:
type: boolean
description: Forces the NFS export to be mounted with read-only permissions
-15
View File
@@ -1,15 +0,0 @@
name: riak
description: A distributed NoSQL database.
version: 0.2.0
keywords:
- chart
- provides
- standalone
- riak
- node
- kubernetes
- development
- purposes
sources:
- https://github.com/kubernetes/charts/tree/master/riak
home: http://github.com/deis/riak
-3
View File
@@ -1,3 +0,0 @@
# Riak
This Chart provides a standalone Riak node in kubernetes.
-23
View File
@@ -1,23 +0,0 @@
apiVersion: v1
kind: ReplicationController
metadata:
name: riak
labels:
provider: riak
heritage: helm
spec:
replicas: 1
template:
metadata:
labels:
provider: riak
spec:
containers:
- name: riak
image: deis/riak
env:
- name: RIAK_MASTER
value: "1"
ports:
- containerPort: 8087
- containerPort: 8098
-15
View File
@@ -1,15 +0,0 @@
apiVersion: v1
kind: Service
metadata:
name: riak
labels:
provider: riak
heritage: helm
spec:
ports:
- name: protobuf
port: 8087
- name: http
port: 8098
selector:
provider: riak
-24
View File
@@ -1,24 +0,0 @@
name: selenium-hub
description: Selenium is a suite of tools to automate web browsers across many platforms.
version: 2.47.1
keywords:
- selenium
- browser
- automation
- tool
- used
- primarily
- testing
- web
- applications
- chart
- deploys
- selenium
- grid
- setup
- chrome
- firefox
- workers
sources:
- https://github.com/kubernetes/charts/tree/master/selenium-hub
home: http://www.seleniumhq.org
-33
View File
@@ -1,33 +0,0 @@
# selenium
This Chart deploys a scalable [Selnium Grid](http://www.seleniumhq.org) to your Kubernetes cluster using the official Selenium [Docker images](https://github.com/SeleniumHQ/docker-selenium).
Once deployed, you can hit the UI as follows:
```console
export NODEPORT=`kubectl get svc --selector='app=selenium-hub' --output=template --template="{{ with index .items 0}}{{with index .spec.ports 0 }}{{.nodePort}}{{end}}{{end}}"`
export NODE=`kubectl get nodes --output=template --template="{{with index .items 0 }}{{.metadata.name}}{{end}}"`
curl http://$NODE:$NODEPORT
```
If your Kubernetes nodes are not reachable from your network:
```console
export PODNAME=`kubectl get pods --selector="app=selenium-hub" --output=template --template="{{with index .items 0}}{{.metadata.name}}{{end}}"`
kubectl port-forward --pod=$PODNAME 4444:4444
```
Then surf to <http://localhost:4444>.
If you need to run more tests concurrently, scale the amount of Firefox and Chrome workers:
```console
kubectl scale rc selenium-node-firefox --replicas=10
kubectl scale rc selenium-node-chrome --replicas=10
```
To debug a worker using VNC:
```console
kubectl port-forward --pod=POD_NAME 5900:5900
```
Then connect to localhost:5900 using your prefered VNC client, the default password is "secret".
Enjoy!
@@ -1,40 +0,0 @@
---
apiVersion: v1
kind: ReplicationController
metadata:
name: selenium-hub
labels:
app: selenium-hub
heritage: helm
spec:
replicas: 1
selector:
app: selenium-hub
heritage: helm
template:
metadata:
labels:
app: selenium-hub
heritage: helm
spec:
containers:
- name: selenium-hub
image: selenium/hub:2.47.1
ports:
- containerPort: 4444
resources:
limits:
memory: "1000Mi"
cpu: ".5"
livenessProbe:
httpGet:
path: /grid/console
port: 4444
initialDelaySeconds: 30
timeoutSeconds: 5
readinessProbe:
httpGet:
path: /grid/console
port: 4444
initialDelaySeconds: 30
timeoutSeconds: 5
@@ -1,16 +0,0 @@
apiVersion: v1
kind: Service
metadata:
name: selenium-hub
labels:
app: selenium-hub
heritage: helm
spec:
ports:
- port: 4444
name: port0
selector:
app: selenium-hub
heritage: helm
type: NodePort
sessionAffinity: None
@@ -1,33 +0,0 @@
---
apiVersion: v1
kind: ReplicationController
metadata:
name: selenium-node-chrome
labels:
app: selenium-node-chrome
heritage: helm
spec:
replicas: 2
selector:
app: selenium-node-chrome
heritage: helm
template:
metadata:
labels:
app: selenium-node-chrome
heritage: helm
spec:
containers:
- name: selenium-node-chrome
image: selenium/node-chrome-debug:2.47.1
ports:
- containerPort: 5900
env:
- name: HUB_PORT_4444_TCP_ADDR
value: "selenium-hub"
- name: HUB_PORT_4444_TCP_PORT
value: "4444"
resources:
limits:
memory: "1000Mi"
cpu: ".5"
@@ -1,33 +0,0 @@
---
apiVersion: v1
kind: ReplicationController
metadata:
name: selenium-node-firefox
labels:
app: selenium-node-firefox
heritage: helm
spec:
replicas: 2
selector:
app: selenium-node-firefox
heritage: helm
template:
metadata:
labels:
app: selenium-node-firefox
heritage: helm
spec:
containers:
- name: selenium-node-firefox
image: selenium/node-firefox-debug:2.47.1
ports:
- containerPort: 5900
env:
- name: HUB_PORT_4444_TCP_ADDR
value: "selenium-hub"
- name: HUB_PORT_4444_TCP_PORT
value: "4444"
resources:
limits:
memory: "1000Mi"
cpu: ".5"
-14
View File
@@ -1,14 +0,0 @@
name: spark
description: spark for kubernetes
version: 0.1.0
keywords:
- apache
- spark
- fast
- general-purpose
- cluster
- computing
- system
sources:
- https://github.com/kubernetes/charts/tree/master/spark
home: http://spark.apache.org/
-5
View File
@@ -1,5 +0,0 @@
# spark
Apache Spark is a fast and general-purpose cluster computing system.
Need for zeppelin service and controller: Apache Zeppelin is a new and incubating multi-purposed web-based notebook which brings data ingestion, data exploration, visualization, sharing and collaboration features to Spark. More information can be found at https://zeppelin.incubator.apache.org/
@@ -1,27 +0,0 @@
kind: ReplicationController
apiVersion: v1
metadata:
name: spark-master-controller
labels:
heritage: helm
provider: spark
spec:
replicas: 1
selector:
component: spark-master
template:
metadata:
labels:
component: spark-master
spec:
containers:
- name: spark-master
image: gcr.io/google_containers/spark:1.5.1_v3
command: ["/start-master"]
ports:
- containerPort: 7077
- containerPort: 8080
resources:
requests:
cpu: 100m
-14
View File
@@ -1,14 +0,0 @@
kind: Service
apiVersion: v1
metadata:
name: spark-master
labels:
heritage: helm
provider: spark
spec:
ports:
- port: 7077
targetPort: 7077
selector:
component: spark-master
-14
View File
@@ -1,14 +0,0 @@
kind: Service
apiVersion: v1
metadata:
name: spark-webui
labels:
heritage: helm
provider: spark
spec:
ports:
- port: 8080
targetPort: 8080
selector:
component: spark-master
@@ -1,26 +0,0 @@
kind: ReplicationController
apiVersion: v1
metadata:
name: spark-worker-controller
labels:
heritage: helm
provider: spark
spec:
replicas: 3
selector:
component: spark-worker
template:
metadata:
labels:
component: spark-worker
spec:
containers:
- name: spark-worker
image: gcr.io/google_containers/spark:1.5.1_v3
command: ["/start-worker"]
ports:
- containerPort: 8081
resources:
requests:
cpu: 100m
-25
View File
@@ -1,25 +0,0 @@
kind: ReplicationController
apiVersion: v1
metadata:
name: zeppelin-controller
labels:
heritage: helm
provider: spark
spec:
replicas: 1
selector:
component: zeppelin
template:
metadata:
labels:
component: zeppelin
spec:
containers:
- name: zeppelin
image: gcr.io/google_containers/zeppelin:v0.5.5_v2
ports:
- containerPort: 8080
resources:
requests:
cpu: 100m

Some files were not shown because too many files have changed in this diff Show More