mirror of
https://github.com/alchemy-fr/Phraseanet.git
synced 2025-10-07 10:04:27 +00:00
add minikube readme and doc repo
This commit is contained in:
@@ -11,6 +11,7 @@
|
||||
/.travis.yml
|
||||
/AUTHORS
|
||||
/CONTRIBUTORS
|
||||
/doc
|
||||
/Dockerfile
|
||||
/LICENSE
|
||||
/bin
|
||||
|
52
doc/infra/minikube.md
Normal file
52
doc/infra/minikube.md
Normal file
@@ -0,0 +1,52 @@
|
||||
# Deploy stack to minikube
|
||||
|
||||
## Setup
|
||||
|
||||
status : Alpha
|
||||
|
||||
|
||||
|
||||
```bash
|
||||
minikube start
|
||||
minikube addons enable ingress
|
||||
```
|
||||
|
||||
Get the minikube IP:
|
||||
|
||||
```bash
|
||||
minikube ip
|
||||
```
|
||||
|
||||
|
||||
Refer to [sample.yaml](../infra/helm/sample.yaml) to get all domains.
|
||||
Add these domains to your `/etc/hosts`:
|
||||
|
||||
```
|
||||
# Alchemy Minikube
|
||||
192.168.49.2 phraseanet-bo.alchemy.kube
|
||||
# ... add other domains
|
||||
```
|
||||
|
||||
For a quicker setup we will use the nginx configuration explained in [dev-with-nginx](./dev-with-nginx.md)
|
||||
|
||||
## Build local image in minikube
|
||||
|
||||
If you need to test your fresh image directly into minikube cluster, you need to build them
|
||||
with the Mminikube Docker daemon:
|
||||
|
||||
```bash
|
||||
eval $(minikube docker-env)
|
||||
docker-compose build
|
||||
```
|
||||
|
||||
Alternatively you can run a registry in minikube and push your images:
|
||||
https://minikube.sigs.k8s.io/docs/handbook/pushing/#4-pushing-to-an-in-cluster-using-registry-add
|
||||
|
||||
If your minikube server name is not "minikube" define it in MINIKUBE_NAME
|
||||
|
||||
|
||||
```bash
|
||||
infra/dev/deploy-minikube.sh install
|
||||
infra/dev/deploy-minikube.sh update
|
||||
infra/dev/deploy-minikube.sh uninstall
|
||||
```
|
51
infra/dev/deploy-minikube.sh
Executable file
51
infra/dev/deploy-minikube.sh
Executable file
@@ -0,0 +1,51 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -ex
|
||||
|
||||
|
||||
BASEDIR="$(dirname $0)"
|
||||
DIR="${BASEDIR}"
|
||||
|
||||
#MINIKUBE_NAME:${MINIKUBE_NAME:-"minikube"}
|
||||
|
||||
NS=${NS:-"phraseanet"}
|
||||
RELEASE_NAME="phraseanet"
|
||||
CHART_DIR="infra/helm/all"
|
||||
VALUE_SRC="infra/helm/myvalues.yaml"
|
||||
|
||||
#kubectl config use-context $MINIKUBE_NAME
|
||||
|
||||
case $1 in
|
||||
uninstall)
|
||||
helm uninstall ${RELEASE_NAME} || true;
|
||||
;;
|
||||
validate)
|
||||
helm install --dry-run --debug ${RELEASE_NAME} "${CHART_DIR}" \
|
||||
-f "${VALUE_SRC}" \
|
||||
--namespace $NS
|
||||
;;
|
||||
update)
|
||||
echo "Updating..."
|
||||
helm upgrade ${RELEASE_NAME} "${CHART_DIR}" \
|
||||
-f "${VALUE_SRC}" \
|
||||
--namespace $NS
|
||||
;;
|
||||
|
||||
*)
|
||||
if [ ! -d "${CHART_DIR}/charts" ]; then
|
||||
(cd "${CHART_DIR}" && helm dependency update)
|
||||
fi
|
||||
kubectl create ns $NS || true
|
||||
helm uninstall ${RELEASE_NAME} --namespace $NS || true;
|
||||
# kubectl -n $NS delete pvc elasticsearch-master-elasticsearch-master-0 || true
|
||||
while [ $(kubectl -n $NS get pvc | wc -l) -gt 0 ] || [ $(kubectl -n $NS get pods | wc -l) -gt 0 ]
|
||||
do
|
||||
echo "Waiting for resources to be deleted..."
|
||||
sleep 5
|
||||
done
|
||||
echo "Installing release ${RELEASE_NAME} in namespace $NS..."
|
||||
helm install ${RELEASE_NAME} "${CHART_DIR}" \
|
||||
-f "${VALUE_SRC}" \
|
||||
--namespace $NS
|
||||
;;
|
||||
esac
|
Reference in New Issue
Block a user