Open nrshrivatsan opened 6 years ago
@nrshrivatsan Hi! I'm not the maintainer of this project but am also interested in adding one.
What would you expect in the README?
Probably an example command to bring up all the stack into your k8s cluster like this?
Suppose we had a convenient script init.sh
:
#!/usr/bin/env bash
set -e
secrets_tmpl=kubernetes/secrets.yml
git checkout -- $secrets_tmpl
for e in ELASTICSEARCH_{HOST,PORT} KIBANA_HOST ELASTIC_{USERNAME,PASSWORD} MYSQL_{ROOT_,}PASSWORD; do
v=${!e}
if [ -z $v ]; then
echo "$e must be set" 1>&2
exit 1
fi
cat $secrets_tmpl | (mv $secrets_tmpl{,.bak}; sed "s/$e: ...$/$e: $(echo $v | base64)/g;" > $secrets_tmpl)
done
git diff kubernetes/secrets.yml
kubectl create -f kubernetes/
Firstly you set required envvars:
export ELASTICSEARCH_HOST=FOO
export ELASTICSEARCH_PORT=BAR
export KIBANA_HOST=BAZ
export ELASTIC_USERNAME=foo
export ELASTIC_PASSWORD=bar
export MYSQL_ROOT_PASSWORD=baz
export MYSQL_PASSWORD=foo
And run the script:
$ ./init.sh
diff --git a/kubernetes/secrets.yml b/kubernetes/secrets.yml
index c578266..f039280 100644
--- a/kubernetes/secrets.yml
+++ b/kubernetes/secrets.yml
@@ -6,12 +6,12 @@ metadata:
namespace: kube-system
type: Opaque
data:
- ELASTICSEARCH_HOST: ...
- ELASTICSEARCH_PORT: ...
- KIBANA_HOST: ...
- ELASTIC_USERNAME: ...
- ELASTIC_PASSWORD: ...
- MYSQL_ROOT_PASSWORD: ...
+ ELASTICSEARCH_HOST: Rk9PCg==
+ ELASTICSEARCH_PORT: QkFSCg==
+ KIBANA_HOST: QkFaCg==
+ ELASTIC_USERNAME: aG9nZQo=
+ ELASTIC_PASSWORD: ZnVnYQo=
+ MYSQL_ROOT_PASSWORD: Zm9vCg==
---
apiVersion: v1
kind: Secret
@@ -19,5 +19,5 @@ metadata:
name: beats-demo
type: Opaque
data:
- MYSQL_ROOT_PASSWORD: ...
- MYSQL_PASSWORD: ...
+ MYSQL_ROOT_PASSWORD: Zm9vCg==
+ MYSQL_PASSWORD: YmFyCg==
configmap "apm-server-config" created
daemonset.extensions "apm-server" created
job.batch "apm-server-setup" created
clusterrolebinding.rbac.authorization.k8s.io "apm-server" created
clusterrole.rbac.authorization.k8s.io "apm-server" created
serviceaccount "apm-server" created
deployment.apps "beats-demo" created
job.batch "beats-demo-app-init" created
service "beats-demo" created
job.batch "filebeat-setup" created
deployment.extensions "kube-state-metrics" created
clusterrolebinding.rbac.authorization.k8s.io "kube-state-metrics" created
clusterrole.rbac.authorization.k8s.io "kube-state-metrics" created
serviceaccount "kube-state-metrics" created
service "kube-state-metrics" created
configmap "metricbeat-deployment-config" created
deployment.apps "metricbeat" created
job.batch "metricbeat-setup" created
service "mysql" created
persistentvolumeclaim "mysql-pv-claim" created
deployment.apps "mysql" created
configmap "packetbeat-config" created
daemonset.extensions "packetbeat" created
job.batch "packetbeat-setup" created
clusterrolebinding.rbac.authorization.k8s.io "packetbeat" created
clusterrole.rbac.authorization.k8s.io "packetbeat" created
serviceaccount "packetbeat" created
secret "elastic" created
secret "beats-demo" created
*snip*
Hello friend! Great work!
Could you please kindly add README.md for Kubernetes folder?