15 Commits

Author SHA1 Message Date
6eea65be60 lower the k8s experiment instructions on the pages
The change in README aims to make the tagging, building, publishing
instructions together as an offer for docker savvy folks to take
control of their own docker images and publishing flows.

Also expecting a bump in versions to bring in a patch update to
wiki-client
2022-10-05 11:52:13 -06:00
6eb8631f9e add add'l docker build instructions 2022-09-24 11:33:15 -06:00
502d6ccec7 add add'l docker build instructions 2022-09-24 11:22:42 -06:00
cb3aa63370 upgrade to wiki 0.28.0 2022-09-24 11:13:27 -06:00
e59495665c upgrade to wiki 0.27.0 2021-11-23 20:55:33 -07:00
fb79fe0dc8 upgrade to wiki 0.25.0 2021-10-09 17:54:38 -06:00
bd2619a14b upgrade to wiki 0.24.0 2021-04-24 10:10:40 -06:00
54f1c382f5 recent browsers do the right thing with *.localhost
with this update we can remove the last mention of localtest.me
2021-02-28 13:46:36 -07:00
218128db23 Improve development docs
We've learned how to use kubectl patch for local testing

We've also abandoned the automation between github and dockerhub
because we publish updates with sufficient irregularity that it is
better if we take the steps more manually and verify each as we go.
2021-02-28 13:40:10 -07:00
6f9ed1279c upgrade to wiki 0.23.0 + wiki-client 0.23.0 with feeling
previous attempt didn't actually install the new wiki-client
fixed the previous single & between cd and npm install --save
2021-02-28 13:30:18 -07:00
2ff3dcad1e correct wiki-client version number 2021-02-28 09:57:40 -07:00
eab72db590 Move release notes for 1.0.0 into its own file 2021-02-28 09:31:17 -07:00
04c3ba7fe1 upgrade wiki-client to v0.23.0 2021-02-28 09:19:18 -07:00
8d7d0e5119 upgrade to wiki@0.23 2021-02-28 09:10:10 -07:00
1cf4d8e6ae moved example k8s deployment .yaml to deploy.wiki.do 2021-01-18 00:10:15 -07:00
5 changed files with 43 additions and 99 deletions

View File

@ -5,7 +5,7 @@ RUN apk add --update --no-cache \
git \
jq
WORKDIR "/home/node"
ARG WIKI_PACKAGE=wiki@0.22
ARG WIKI_PACKAGE=wiki@0.28.0
RUN su node -c "npm install -g --prefix . $WIKI_PACKAGE"
RUN su node -c "mkdir -p .wiki"
VOLUME "/home/node/.wiki"

View File

@ -7,7 +7,7 @@ Start Playing Federated Wiki: http://start.fed.wiki
docker run -p 3000:3000 -it --rm \
dobbs/farm
Visit http://localhost:3000 and http://anything.localtest.me:3000
Visit http://localhost:3000 and http://anything.localhost:3000
### Run a local wiki that will survive a reboot
@ -17,22 +17,6 @@ Visit http://localhost:3000 and http://anything.localtest.me:3000
Your wiki pages and configuration will be saved in the ~/.wiki folder.
# Release Notes for 1.0.0
This is a significant **breaking** change from pre-1.0 releases. Especially:
* changed the user from `app` (`uid=1001(app) gid=1001(app) groups=1001(app)`)
to `node` (`uid=1000(node) gid=1000(node) groups=1000(node),1000(node)`)
* no longer installing `bash`, `configure-wiki`, nor `set-owner-name`
* no longer creating `/home/app/.wiki/wiki.json`
Those changes in particular will impose some work on authors upgrading
from previous versions.
The last non-breaking revision is 0.52.0 https://github.com/dobbs/farm/tree/0.52.0#readme
# Development
This image's tag does not match the version of the included wiki
@ -42,27 +26,36 @@ devops pipeline.
Testing new images locally:
``` bash
IMAGE=dobbs/farm:1.0.7-pre-22
TAG=1.0.14-prefer-title
IMAGE=dobbs/farm:$TAG
docker build --tag $IMAGE .
```
# Publish containers
GitHub
``` bash
git tag -am "" "$TAG"
git push --atomic origin main "$TAG"
```
Docker Hub
``` bash
docker build --tag $IMAGE . # if you haven't already
docker build --tag dobbs/farm:latest . # if you haven't already
docker push $IMAGE
docker push dobbs/farm:latest
```
# Experiment with K8S
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.
# Publish experimental plugins
Invoke Dockerhub and GitHub integration.
``` bash
git tag -am "" '1.0.2-pre-0217'
git push --atomic origin main '1.0.2-pre-0217'
kubectl patch deployment.apps/wiki-deployment \
--type='json' \
-p='[{"op": "replace", "path": "/spec/template/spec/containers/0/image", "value":"'$IMAGE'"}]'
```

15
RELEASE-NOTES-1.0.0.md Normal file
View File

@ -0,0 +1,15 @@
# Release Notes for 1.0.0
This is a significant **breaking** change from pre-1.0 releases. Especially:
* changed the user from `app` (`uid=1001(app) gid=1001(app) groups=1001(app)`)
to `node` (`uid=1000(node) gid=1000(node) groups=1000(node),1000(node)`)
* no longer installing `bash`, `configure-wiki`, nor `set-owner-name`
* no longer creating `/home/app/.wiki/wiki.json`
Those changes in particular will impose some work on authors upgrading
from previous versions.
The last non-breaking revision is 0.52.0 https://github.com/dobbs/farm/tree/0.52.0#readme

View File

@ -49,7 +49,7 @@ 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

View File

@ -1,64 +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.6
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: wiki
spec:
rules:
- host: "*.localhost"
http: &wiki
paths:
- path: /
backend:
serviceName: wiki-service
servicePort: http
# - host: "*.example.com"
# http: *wiki