61 Commits
1.0.3 ... main

Author SHA1 Message Date
3wc
dd42a259e5 Revert "Cache bust"
[ci skip]

This reverts commit b9f0362b30.
2024-11-06 21:53:39 -05:00
3wc
b9f0362b30 Cache bust
All checks were successful
continuous-integration/drone/push Build is passing
2024-11-06 21:49:21 -05:00
3wc
9a8e3e6005 Merge remote-tracking branch 'upstream/main'
All checks were successful
continuous-integration/drone/push Build is passing
2024-11-06 20:16:23 -05:00
e2db62e0c0 update WIKI_VERSIONS.txt for 1.0.29 2024-11-06 16:05:27 -07:00
3wc
e90192b93f Revert "Reapply "Slightly less cursed way of installing forked w-s-p""
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone Build is passing
This reverts commit 8b8f129f07.
2024-10-22 14:12:57 -04:00
3wc
2504384fc4 Revert "Another attempt at more resilient building"
This reverts commit 8fd9adf232.
2024-10-22 14:12:52 -04:00
3wc
8fd9adf232 Another attempt at more resilient building
All checks were successful
continuous-integration/drone/push Build is passing
2024-10-22 14:02:55 -04:00
3wc
8b8f129f07 Reapply "Slightly less cursed way of installing forked w-s-p"
This reverts commit fdb5ebb73d.
2024-10-22 13:40:46 -04:00
3wc
fdb5ebb73d Revert "Slightly less cursed way of installing forked w-s-p"
All checks were successful
continuous-integration/drone/push Build is passing
This reverts commit 5b74152137.
2024-10-22 12:56:08 -04:00
3wc
219e5b2601 Revert "Run npm install and grunt"
This reverts commit 333989c606.
2024-10-22 12:55:36 -04:00
3wc
333989c606 Run npm install and grunt
All checks were successful
continuous-integration/drone/push Build is passing
2024-10-22 12:51:31 -04:00
3wc
5b74152137 Slightly less cursed way of installing forked w-s-p
All checks were successful
continuous-integration/drone/push Build is passing
2024-10-22 12:33:55 -04:00
d4aa21b680 change dockerfile to wiki-cafe version of passportjs repo
All checks were successful
continuous-integration/drone/tag Build is passing
continuous-integration/drone/push Build is passing
2024-09-20 22:09:23 -04:00
4c286521eb update to latest wiki version
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/tag Build is passing
2024-09-18 16:39:53 +00:00
429f5d20c7 upgrade to wiki 0.37.0 2024-08-25 12:14:31 -06:00
1aa19414ef update frame and graphviz plugins 2024-08-04 15:37:33 -06:00
9e349de285 update wiki version
All checks were successful
continuous-integration/drone/push Build is passing
2024-07-19 14:22:34 +00:00
6512a9d91a upgrade to wiki 0.36.1 2024-05-12 15:29:27 -06:00
e946812697 upgrade to wiki 0.36.0 2024-05-12 08:32:37 -06:00
a5080d3534 upgrade to wiki 0.35.1 2024-03-09 09:07:50 -07:00
3270aac81d upgrade to wiki 0.35.0 2024-02-29 21:02:34 -07:00
9bbac5f07e update WIKI_VERSIONS.txt for 1.0.22 2024-02-17 10:15:09 -07:00
3wc
6d356d4af6 auto_tag: true
[ci skip]
2023-12-05 14:43:19 -03:00
6d88837af8 use $IMAGE in the runbook for updating WIKI_VERSIONS.txt 2023-11-22 09:09:39 -07:00
2fb80756bb publish WIKI_VERSIONS.txt
I do this trick to double-check my work anyway. Might as well include
it where others can see or independently verify.
2023-11-22 09:03:59 -07:00
d4d79e3379 upgrade to wiki 0.32.1 2023-11-22 08:51:33 -07:00
3wc
8bbf4369cd Reinstate unwelcome manual Grunt step
All checks were successful
continuous-integration/drone/push Build is passing
2023-11-17 21:42:30 +00:00
3wc
7dddc84ff0 Drop forked node-oauth, upgrade to wiki 0.31
All checks were successful
continuous-integration/drone Build is passing
2023-11-17 21:29:06 +00:00
70b28d08b0 add detail to README to explain benefits of --no-cache 2023-10-08 13:24:55 -06:00
487cfde0e3 upgrade to wiki 0.31.0 2023-08-22 06:53:52 -06:00
a427cb02a5 added notes to publish 1.0.17 2023-06-21 08:05:53 -06:00
2583e49cc5 1.0.16 upgrade to wiki 0.29.0 2023-05-02 08:44:21 -06:00
3wc
cbc0d0a5d7 Install forked version of node-oauth to fix OAuth2
All checks were successful
continuous-integration/drone/push Build is passing
2022-12-07 19:15:14 -08:00
3wc
20329546d2 Switch to git.coopcloud.tech URL 2022-12-07 16:59:14 -08:00
3wc
d7892255ee Restore previous YOLOing-patched-wiki-security-passportjs
All checks were successful
continuous-integration/drone/push Build is passing
2022-11-22 19:29:54 -08:00
3wc
f2053f9314 Fix repo setting to fix Docker build?
All checks were successful
continuous-integration/drone/push Build is passing
2022-11-22 13:26:32 -08:00
3wc
00be948c9b Try flipping settings order to fix registry
Some checks failed
continuous-integration/drone/push Build is failing
2022-11-22 13:25:02 -08:00
3wc
0f45783feb Set custom registry for docker build
Some checks failed
continuous-integration/drone/push Build is failing
2022-11-22 13:18:55 -08:00
3wc
8645ae54f8 Automatically build images using Drone
Some checks failed
continuous-integration/drone Build is failing
2022-11-22 12:42:56 -08:00
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
2705d760bf rename default branch to main 2021-01-10 16:11:53 -07:00
ad1c5af0d8 change domain names in kubernetes example to use localhost
Now that both chrome and firefox understand *.localhost domains we can
remove our suggestion of using localtest.me subdomains.

Also update the brew install instructions now that brew cask install
is deprecated in favor of brew install --cask

My favorite improvement is finding a way to use yaml block labels and
references to reduce the duplication in the ingress config.

I suppose the last important thing to mention about this changes is
that k3d seems to have switched from traefik to nginx for its ingress
loadbalancer. We no longer need the traefik annotation.
2021-01-10 16:05:24 -07:00
b2b868f0be upgrade to wiki@0.22 2021-01-10 15:59:46 -07:00
aa23f2f9b3 version 1.0.6 2020-08-29 12:44:03 -06:00
517e7b3e6a Upgrade to wiki 0.21.2 2020-08-29 12:42:28 -06:00
d5b43b160a add NPM_CONFIG_PREFIX environment variable
Should remove one step from the instructions for developing plugins.
It's a step I consistently miss in my haste to get on with the hacking
and don't notice myself skip.
2020-08-29 12:37:30 -06:00
f94133b505 bump to wiki-client@0.20.1 and wiki-server@0.17.5 2020-04-19 17:35:00 -06:00
7 changed files with 159 additions and 114 deletions

14
.drone.yml Normal file
View File

@ -0,0 +1,14 @@
---
kind: pipeline
name: publish docker image
steps:
- name: build and publish
image: plugins/docker
settings:
username: 3wordchant
password:
from_secret: git_coopcloud_tech_token_3wc
repo: git.coopcloud.tech/wiki-cafe/wiki-farm
auto_tag: true
tags: latest
registry: git.coopcloud.tech

View File

@ -4,14 +4,32 @@ RUN apk add --update --no-cache \
dumb-init \
git \
jq
WORKDIR "/home/node"
ARG WIKI_PACKAGE=wiki@0.21.0
RUN su node -c "npm install -g --prefix . $WIKI_PACKAGE" \
&& su node -c "cd /home/node/lib/node_modules/wiki && npm install --save wiki-server@0.17.3 wiki-client@0.20.0"
RUN su node -c "mkdir -p .wiki"
VOLUME "/home/node/.wiki"
EXPOSE 3000
ARG WIKI_PACKAGE=wiki@0.37.0
USER node
RUN npm install -g --prefix . $WIKI_PACKAGE
RUN cd lib/node_modules/wiki/node_modules && \
rm -r wiki-security-passportjs && \
git clone https://git.coopcloud.tech/wiki-cafe/wiki-security-passportjs.git
RUN cd lib/node_modules/wiki/node_modules/wiki-security-passportjs && \
npm install && \
node_modules/grunt/bin/grunt
RUN mkdir -p .wiki
VOLUME "/home/node/.wiki"
EXPOSE 3000
ENV PATH="${PATH}:/home/node/bin"
ENV NPM_CONFIG_PREFIX="${HOME}"
ENTRYPOINT ["dumb-init"]
CMD ["wiki", "--farm", "--security_type=friends"]
CMD ["wiki", "--farm"]

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,44 +17,64 @@ 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
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'
TAG=1.0.14-prefer-title
IMAGE=dobbs/farm:$TAG
docker build --tag $IMAGE .
```
The repos in Dockerhub and GitHub are configured to automatically build new tags.
You might also want to remember the most recent tag:
# Publish experimental plugins
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 tag --list | tail -1
```
Update WIKI_VERSIONS.txt
``` bash
docker run --rm $IMAGE wiki --version > WIKI_VERSIONS.txt
```
# Publish container images
End-to-end recipe to publish a new version. May require judgment in
the steps before git push and docker push.
``` bash
# Emit current version to standard error and next version to standard out.
# use that to assign the next TAG
TAG="$(git tag --list | tail -1 | perl -lne 'print STDERR $_;s/(\d+)$/$1+1/e;print $_;')"
IMAGE=dobbs/farm:$TAG
docker build --no-cache --tag $IMAGE .
docker build --tag dobbs/farm:latest .
docker run --rm $IMAGE wiki --version > WIKI_VERSIONS.txt
git add .
git commit -m "update WIKI_VERSIONS.txt for $TAG"
git tag -am "" "$TAG"
git push --atomic origin main "$TAG"
docker push $IMAGE
docker push dobbs/farm:latest
```
Sometimes we publish a docker image with no changes to the wiki source
code. This allows us to pick up non-breaking changes to some of the
plugins. Using `--no-cache` ensures docker re-runs this line from the
`Dockerfile` in particular: `npm install -g --prefix . $WIKI_PACKAGE`.
# Experiment with K8S
With the local kubernetes example (see [examples/k8s/README.md](./examples/k8s/README.md)):
``` bash
k3d image import $IMAGE --cluster wiki
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

46
WIKI_VERSIONS.txt Normal file
View File

@ -0,0 +1,46 @@
wiki: 0.37.0
wiki-server: 0.25.2
wiki-client: 0.30.1
wiki-security-friends: 0.2.5
wiki-security-passportjs: 0.10.0
wiki-plugin-activity: 0.6.1
wiki-plugin-assets: 0.5.1
wiki-plugin-audio: 0.2.0
wiki-plugin-bars: 0.5.0
wiki-plugin-calculator: 0.5.0
wiki-plugin-calendar: 0.3.0
wiki-plugin-changes: 0.4.0
wiki-plugin-chart: 0.4.0
wiki-plugin-code: 0.4.0
wiki-plugin-data: 0.3.0
wiki-plugin-factory: 0.3.0
wiki-plugin-favicon: 0.3.0
wiki-plugin-flagmatic: 0.2.0
wiki-plugin-force: 0.5.0
wiki-plugin-frame: 0.10.3
wiki-plugin-future: 0.4.0
wiki-plugin-graphviz: 0.11.3
wiki-plugin-grep: 1.1.0
wiki-plugin-html: 0.5.1
wiki-plugin-image: 0.5.0
wiki-plugin-line: 0.5.0
wiki-plugin-map: 0.8.0
wiki-plugin-markdown: 0.4.2
wiki-plugin-math: 0.1.0
wiki-plugin-metabolism: 0.3.0
wiki-plugin-method: 0.3.0
wiki-plugin-pagefold: 0.3.0
wiki-plugin-paragraph: 0.3.0
wiki-plugin-plugmatic: 1.3.1
wiki-plugin-pushpin: 0.5.0
wiki-plugin-radar: 0.5.0
wiki-plugin-recycler: 0.3.0
wiki-plugin-reduce: 0.3.0
wiki-plugin-reference: 0.3.0
wiki-plugin-report: 0.3.0
wiki-plugin-rollup: 0.3.0
wiki-plugin-roster: 0.3.0
wiki-plugin-scatter: 0.5.0
wiki-plugin-search: 0.2.0
wiki-plugin-transport: 0.2.0
wiki-plugin-video: 0.3.1

View File

@ -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

View File

@ -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