Compare commits
8 Commits
Author | SHA1 | Date | |
---|---|---|---|
8d7d0e5119 | |||
1cf4d8e6ae | |||
2705d760bf | |||
ad1c5af0d8 | |||
b2b868f0be | |||
aa23f2f9b3 | |||
517e7b3e6a | |||
d5b43b160a |
@ -5,15 +5,13 @@ RUN apk add --update --no-cache \
|
||||
git \
|
||||
jq
|
||||
WORKDIR "/home/node"
|
||||
ARG WIKI_PACKAGE=wiki@0.21.0
|
||||
ARG WIKI_CLIENT=wiki-client@0.20.1
|
||||
ARG WIKI_SERVER=wiki-server@0.17.5
|
||||
RUN su node -c "npm install -g --prefix . $WIKI_PACKAGE" \
|
||||
&& su node -c "cd /home/node/lib/node_modules/wiki && npm install --save $WIKI_CLIENT $WIKI_SERVER"
|
||||
ARG WIKI_PACKAGE=wiki@0.23
|
||||
RUN su node -c "npm install -g --prefix . $WIKI_PACKAGE"
|
||||
RUN su node -c "mkdir -p .wiki"
|
||||
VOLUME "/home/node/.wiki"
|
||||
EXPOSE 3000
|
||||
USER node
|
||||
ENV PATH="${PATH}:/home/node/bin"
|
||||
ENV NPM_CONFIG_PREFIX="${HOME}"
|
||||
ENTRYPOINT ["dumb-init"]
|
||||
CMD ["wiki", "--farm", "--security_type=friends"]
|
||||
|
24
README.md
24
README.md
@ -37,16 +37,24 @@ The last non-breaking revision is 0.52.0 https://github.com/dobbs/farm/tree/0.52
|
||||
|
||||
This image's tag does not match the version of the included wiki
|
||||
software. Our version indicates the scale of changes in this tiny
|
||||
devops pipeline. For example, when we changed the `USER` directive and
|
||||
removed the wiki config generation scripts, we bumped the major
|
||||
version from 0.50.x to 1.0.x.
|
||||
devops pipeline.
|
||||
|
||||
Notes to self:
|
||||
Testing new images locally:
|
||||
|
||||
``` bash
|
||||
docker build --tag dobbs/farm:1.0.2 .
|
||||
git tag -am "" '1.0.2'
|
||||
git push origin '1.0.2'
|
||||
IMAGE=dobbs/farm:1.0.7-pre-22
|
||||
docker build --tag $IMAGE .
|
||||
```
|
||||
|
||||
With the local kubernetes example (see [examples/k8s/README.md](./examples/k8s/README.md)):
|
||||
|
||||
``` bash
|
||||
export IMAGE=dobbs/farm:1.0.7-pre-22
|
||||
docker build --tag $IMAGE .
|
||||
k3d image import $IMAGE --cluster wiki
|
||||
cd ./examples/k8s/
|
||||
perl -pi -e 's{^(\s+image:\s*).*$}{\1 $ENV["IMAGE"]}' wiki.yaml
|
||||
kubectl apply -f wiki.yaml
|
||||
```
|
||||
|
||||
The repos in Dockerhub and GitHub are configured to automatically build new tags.
|
||||
@ -56,5 +64,5 @@ The repos in Dockerhub and GitHub are configured to automatically build new tags
|
||||
Invoke Dockerhub and GitHub integration.
|
||||
``` bash
|
||||
git tag -am "" '1.0.2-pre-0217'
|
||||
git push --atomic origin master '1.0.2-pre-0217'
|
||||
git push --atomic origin main '1.0.2-pre-0217'
|
||||
```
|
||||
|
@ -5,7 +5,7 @@ using wiki to drive some learning about kubernetes.
|
||||
|
||||
# We're using MacOS, Docker Desktop, and k3d
|
||||
|
||||
brew cask install docker
|
||||
brew install --cask docker
|
||||
brew install k3d
|
||||
|
||||
mkdir -p ~/.wiki-k8s ~/workspace/fedwiki
|
||||
@ -26,13 +26,16 @@ using wiki to drive some learning about kubernetes.
|
||||
"secure_cookie": false,
|
||||
"security_type": "friends",
|
||||
"wikiDomains": {
|
||||
"simple.localtest.me": {
|
||||
"id": "/home/node/.wiki/config.owner.json"
|
||||
"localhost": {
|
||||
"id": "/home/node/.wiki/localhost.owner.json"
|
||||
},
|
||||
"example.com": {
|
||||
"id": "/home/node/.wiki/example.com.owner.json"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# example ~/.wiki-k8s/config.owner.json
|
||||
# example ~/.wiki-k8s/localhost.owner.json
|
||||
|
||||
`.friend.secret` must match the `.admin` field from `config.json`
|
||||
|
||||
@ -46,8 +49,8 @@ using wiki to drive some learning about kubernetes.
|
||||
|
||||
# Deploy Wiki
|
||||
|
||||
kubectl apply -f wiki.yaml
|
||||
kubectl apply -f http://deploy.wiki.do/assets/wiki/wiki.yaml
|
||||
|
||||
# Play with the wiki
|
||||
|
||||
open http://simple.localtest.me
|
||||
open http://wiki.localhost
|
||||
|
@ -1,71 +0,0 @@
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: wiki-deployment
|
||||
spec:
|
||||
replicas: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
app: wiki
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: wiki
|
||||
spec:
|
||||
securityContext:
|
||||
runAsUser: 1000
|
||||
runAsGroup: 1000
|
||||
fsGroup: 1000
|
||||
containers:
|
||||
- name: farm
|
||||
image: dobbs/farm:1.0.1
|
||||
command: ["wiki"]
|
||||
ports:
|
||||
- containerPort: 3000
|
||||
volumeMounts:
|
||||
- name: dot-wiki
|
||||
mountPath: /home/node/.wiki
|
||||
- name: fedwiki
|
||||
mountPath: /home/node/fedwiki
|
||||
volumes:
|
||||
- name: dot-wiki
|
||||
hostPath:
|
||||
path: /macos/.wiki-k8s
|
||||
- name: fedwiki
|
||||
hostPath:
|
||||
path: /macos/fedwiki
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: wiki-service
|
||||
spec:
|
||||
ports:
|
||||
- name: http
|
||||
targetPort: 3000
|
||||
port: 80
|
||||
selector:
|
||||
app: wiki
|
||||
---
|
||||
apiVersion: extensions/v1beta1
|
||||
kind: Ingress
|
||||
metadata:
|
||||
name: simple-wiki
|
||||
annotations:
|
||||
kubernetes.io/ingress.class: traefik
|
||||
spec:
|
||||
rules:
|
||||
- host: simple.localtest.me
|
||||
http:
|
||||
paths:
|
||||
- path: /
|
||||
backend:
|
||||
serviceName: wiki-service
|
||||
servicePort: http
|
||||
- host: "*.simple.localtest.me"
|
||||
http:
|
||||
paths:
|
||||
- path: /
|
||||
backend:
|
||||
serviceName: wiki-service
|
||||
servicePort: http
|
Reference in New Issue
Block a user