Compare commits

..

142 Commits

Author SHA1 Message Date
c9cde863fd Tweaked decision making blog post 2021-02-08 17:53:58 +00:00
838ec1c79c Additional corrections
Some checks failed
continuous-integration/drone/pr Build is failing
2021-01-25 18:56:44 +00:00
610ef2a861 Couple of small corrections
Some checks failed
continuous-integration/drone/pr Build is failing
2021-01-25 18:46:30 +00:00
e1a641a7bf Reverted Gemfile hack which I accidentally included in my commits. Doh.
Some checks failed
continuous-integration/drone/pr Build is failing
2021-01-25 18:42:05 +00:00
c66df7c0fd First draft of blog post 2021-01-25 18:40:21 +00:00
9846416b36 Added rough draft 2021-01-25 18:20:44 +00:00
2be7acd2c2 Added inital decisions 2021-01-21 15:50:15 +00:00
d1674c5402 Updated gpdr.md
All checks were successful
continuous-integration/drone/push Build is passing
2021-01-21 14:03:51 +00:00
3ceb87faca Updated terms page
All checks were successful
continuous-integration/drone/push Build is passing
2021-01-21 13:37:57 +00:00
3b25b71b18 Updated privacy page 2021-01-21 13:28:23 +00:00
d5ebafae77 Fixed typos in privacy.md 2021-01-21 13:21:44 +00:00
84e371154f Merge pull request 'Update dependency docker-compose to v1.28.0' (#44) from renovate/docker-compose-1.x into master
All checks were successful
continuous-integration/drone/push Build is passing
Reviewed-on: #44
2021-01-21 11:54:06 +01:00
2faa90b0fa Update dependency docker-compose to v1.28.0
Some checks failed
renovate/artifacts Artifact file update failure
continuous-integration/drone/pr Build is failing
2021-01-21 08:00:37 +00:00
792674d6b5 Try @file once more
All checks were successful
continuous-integration/drone/push Build is passing
2020-10-27 13:24:15 +01:00
007646b26e Try without @file
All checks were successful
continuous-integration/drone/push Build is passing
2020-10-27 13:14:18 +01:00
227e84ff63 Try to be explicit for the options
All checks were successful
continuous-integration/drone/push Build is passing
2020-10-27 13:07:24 +01:00
81d8caf946 Shuffle this security label once more
All checks were successful
continuous-integration/drone/push Build is passing
2020-10-27 12:56:05 +01:00
d5dc6d540d Use correct label
All checks were successful
continuous-integration/drone/push Build is passing
2020-10-27 12:51:12 +01:00
acafb427a5 Run lock on gemfile
All checks were successful
continuous-integration/drone/push Build is passing
2020-10-27 12:44:33 +01:00
b3956b91f2 Upgrade ruby
All checks were successful
continuous-integration/drone/push Build is passing
2020-10-27 12:41:39 +01:00
49350a1cbc Add security middleware
Some checks failed
continuous-integration/drone/push Build is failing
2020-10-27 12:38:07 +01:00
56bafa3e84 Merge pull request 'Update ruby Docker tag to v2.7.2' (#42) from renovate/docker-ruby-2.x into master
Some checks failed
continuous-integration/drone/push Build is failing
Reviewed-on: #42
2020-10-05 10:42:52 +02:00
961cf1a54d Update ruby Docker tag to v2.7.2
Some checks failed
continuous-integration/drone/pr Build is failing
2020-10-05 07:00:21 +00:00
a3489c9aa4 Merge pull request 'fix Matomo typo' (#41) from aadil/autonomic.zone:fix-typo into master
All checks were successful
continuous-integration/drone/push Build is passing
Reviewed-on: #41
2020-09-27 08:08:08 +02:00
2d24baa5ce fix Matomo typo
Some checks failed
continuous-integration/drone/pr Build is failing
2020-09-27 08:05:35 +02:00
05c26544ff Use new deploy key name
All checks were successful
continuous-integration/drone/push Build is passing
2020-09-25 14:20:18 +02:00
56eaeadfcb Use latest tags
All checks were successful
continuous-integration/drone/push Build is passing
2020-09-25 13:16:12 +02:00
fd09a12a24 Merge pull request 'Update dependency docker-compose to v1.27.4' (#40) from renovate/docker-compose-1.x into master
All checks were successful
continuous-integration/drone/push Build is passing
Reviewed-on: #40
2020-09-25 09:37:30 +02:00
864cffb9b5 Update dependency docker-compose to v1.27.4
Some checks failed
continuous-integration/drone/pr Build is failing
2020-09-25 07:00:37 +00:00
076234aef4 Update deployment
All checks were successful
continuous-integration/drone/push Build is passing
2020-09-23 09:56:14 +02:00
0d4ee2b0a1 Merge pull request 'Update dependency docker-compose to v1.27.3' (#39) from renovate/docker-compose-1.x into master
All checks were successful
continuous-integration/drone/push Build is passing
Reviewed-on: #39
2020-09-21 10:29:04 +02:00
c6f5ccf4aa Update dependency docker-compose to v1.27.3
Some checks failed
continuous-integration/drone/pr Build is failing
2020-09-21 07:00:52 +00:00
c1267c5366 Merge pull request 'Update dependency docker-compose to v1.27.2' (#38) from renovate/docker-compose-1.x into master
All checks were successful
continuous-integration/drone/push Build is passing
Reviewed-on: #38
2020-09-13 10:58:04 +02:00
cabc8efdb7 Update dependency docker-compose to v1.27.2
Some checks failed
renovate/artifacts Artifact file update failure
continuous-integration/drone/pr Build is failing
2020-09-13 08:57:30 +00:00
737b7e1edf Merge pull request 'Configure Renovate' (#37) from renovate/configure into master
All checks were successful
continuous-integration/drone/push Build is passing
Reviewed-on: #37
2020-09-13 10:56:43 +02:00
91eca81fc6 Add renovate.json
Some checks failed
continuous-integration/drone/pr Build is failing
2020-09-13 08:56:18 +00:00
911ac06b14 Fixed links in privacy and terms pages
All checks were successful
continuous-integration/drone/push Build is passing
2020-08-15 11:26:46 +01:00
420b4da5dd Fixing page layouts in privacy, terms, gdpr pages
All checks were successful
continuous-integration/drone/push Build is passing
2020-08-15 11:18:09 +01:00
210afaf16a Merge pull request 'Add basic policies to the website' (#34) from policies into master
All checks were successful
continuous-integration/drone/push Build is passing
Reviewed-on: #34
2020-08-28 19:28:02 +02:00
c17eda92b5 Added more spacing
Some checks failed
continuous-integration/drone/pr Build is failing
2020-08-06 17:21:01 +01:00
0b5e27e0c1 Added footer links
Some checks failed
continuous-integration/drone/pr Build is failing
2020-08-06 17:08:52 +01:00
2ae36bade9 Drop PR builds
All checks were successful
continuous-integration/drone/push Build is passing
Closes #36 (comment).
2020-08-04 14:47:28 +02:00
77d85db350 Add terms of service
Some checks failed
continuous-integration/drone/pr Build is failing
2020-07-02 13:29:14 +01:00
43a19d64c8 Added GDPR privacy notice 2020-07-02 13:29:00 +01:00
7a53515307 Added terms of service 2020-07-02 13:11:56 +01:00
c700c414ff Added website privacy policy 2020-07-02 13:11:05 +01:00
b3bed6d48e Ignore the nojekyll file too
All checks were successful
continuous-integration/drone/push Build is passing
Follows https://github.com/keybase/keybase-issues/issues/366#issuecomment-39060720.
2020-06-28 21:31:59 +02:00
3ae5a6e803 Added .nojekyll file
All checks were successful
continuous-integration/drone/push Build is passing
2020-06-28 00:20:26 +01:00
74949d9595 Added pip3 instead of pip to CONTRIBUTING.md
All checks were successful
continuous-integration/drone/push Build is passing
2020-06-28 00:05:11 +01:00
a5fe6f88a5 Added folder directory for well-known in _config.yml
All checks were successful
continuous-integration/drone/push Build is passing
2020-06-27 23:57:18 +01:00
8037032778 Formatting improvement
All checks were successful
continuous-integration/drone/push Build is passing
2020-06-27 23:41:03 +01:00
bc2e8759b2 Include .well-known
All checks were successful
continuous-integration/drone/push Build is passing
2020-06-27 23:32:22 +01:00
a5f62f6bdc Deleted typo directory
All checks were successful
continuous-integration/drone/push Build is passing
2020-06-27 23:19:43 +01:00
c20ca831c6 Fix spicy well-known directory typo
All checks were successful
continuous-integration/drone/push Build is passing
2020-06-27 23:02:47 +01:00
b1217dcbcd Added Matrix well-know file
All checks were successful
continuous-integration/drone/push Build is passing
2020-06-27 22:54:23 +01:00
e9d0088195 Migrating to swarm setup
All checks were successful
continuous-integration/drone/push Build is passing
2020-06-24 15:20:24 +02:00
6c169e26d0 Drop the bumping, just deploy same tag
All checks were successful
continuous-integration/drone/push Build is passing
2020-06-12 16:07:37 +02:00
b6ad82d86f Use valid name
All checks were successful
continuous-integration/drone/push Build is passing
2020-05-16 17:44:21 +02:00
f19aa81657 Fix path
Some checks failed
continuous-integration/drone/push Build is failing
2020-05-16 17:42:38 +02:00
3fded72105 Slim down compose configs
Some checks failed
continuous-integration/drone/push Build is failing
2020-05-16 17:41:19 +02:00
a5740aea02 Fix stack name 2020-05-16 17:39:58 +02:00
2a72bac756 Revert "Reset to dokku deploy for now"
This reverts commit 9f42ecaa77.

Actually, while moving to the swarm setup, we can't go back so easily.
Sooooo, reverting this and waiting for the migration to go ahead.
2020-05-16 17:39:03 +02:00
78ea06871a Rename to follow ecosystem
Some checks failed
continuous-integration/drone/push Build is failing
2020-05-16 17:32:55 +02:00
9f42ecaa77 Reset to dokku deploy for now 2020-05-16 16:57:49 +02:00
9a8bcdc66c Merge pull request 'Configure Renovate' (#30) from renovate/configure into master
All checks were successful
continuous-integration/drone/push Build is passing
2020-05-07 12:04:44 +02:00
27a36aeaaa Exclude PRs for now
All checks were successful
continuous-integration/drone/push Build is passing
2020-05-07 12:03:00 +02:00
0f2a7a6df1 Add renovate.json
Some checks failed
continuous-integration/drone/pr Build is failing
2020-05-07 10:02:12 +00:00
558b71934d Add notes on bump
All checks were successful
continuous-integration/drone/push Build is passing
2020-05-02 18:35:50 +02:00
15c9d4a153 Build the tag
All checks were successful
continuous-integration/drone/push Build is passing
2020-05-02 18:31:46 +02:00
fd54672540 Fix version
[ci skip]
2020-05-02 18:30:00 +02:00
3667ee109c Resolving dev/prod final issues
All checks were successful
continuous-integration/drone/push Build is passing
2020-05-01 13:47:02 +02:00
ff4617f318 Centralise the docker image 2020-05-01 13:41:07 +02:00
333f000fcf Build and deploy image
All checks were successful
continuous-integration/drone/push Build is passing
2020-05-01 13:39:33 +02:00
b529e2f2e8 Point to deploy docs
All checks were successful
continuous-integration/drone/push Build is passing
2020-05-01 13:31:52 +02:00
e9a1b2e369 Fix stack name 2020-05-01 13:31:28 +02:00
351251f54f Unleash the CI 2020-05-01 13:31:06 +02:00
16339ecc2e Zomg get it finally working for production 2020-05-01 13:30:54 +02:00
d6a8259e08 Use only the single URL 2020-05-01 12:52:13 +02:00
803bf41e61 Disable CI for now 2020-05-01 12:51:35 +02:00
fa6a2e120e Absolutely blowing things up on the way to docker-compose setup 2020-05-01 12:47:10 +02:00
20ed2d29b1 Fix typo 2020-05-01 12:41:54 +02:00
188b461c58 Trying to get the volume work in prod 2020-05-01 12:41:54 +02:00
b87d648a7d Use local mount and drop commands onto new lines 2020-05-01 12:41:54 +02:00
b72febc4c8 Just try watch too 2020-05-01 12:41:54 +02:00
076a6954f4 Build and trace 2020-05-01 12:41:54 +02:00
a85b656af8 Use port only 2020-05-01 12:41:54 +02:00
cc3066bb1d Fix the labels 2020-05-01 12:41:54 +02:00
886fb51ed6 Use the exposed port 2020-05-01 12:41:54 +02:00
5b7ee79c5d Move to a docker-compose setup 2020-05-01 12:41:54 +02:00
34aca195ce Merge pull request 'Added rss feed icon to footer' (#29) from rss-icon into master
All checks were successful
continuous-integration/drone/push Build is passing
One issue that I have caused, is there is a lot of inline styling going on with the footer icons. I'll need to clean that up later on but it isn't the end of the world for now. The next time we touch it though, might be worth just adding some css to handle the issues.
2020-04-30 19:47:46 +02:00
87b6978506 Added rss feed icon to footer 2020-04-30 01:39:01 +01:00
5a6986db29 Fix URL
All checks were successful
continuous-integration/drone/push Build is passing
2020-04-25 14:03:23 +02:00
6f9bf2d4db Grammar, typos and a link to git.autonomic.zone
All checks were successful
continuous-integration/drone/push Build is passing
2020-04-25 13:59:44 +02:00
a303c4eaec Merge pull request 'Add datpy post' (#27) from add-datpy-post into master
All checks were successful
continuous-integration/drone/push Build is passing
Looks great to me!
2020-04-25 13:51:01 +02:00
1eb1a0ef8c Add datpy post 2020-04-23 16:53:19 +02:00
68a8df1fb1 Build first before serving
[ci skip]
2020-04-23 13:48:24 +02:00
c7579b87b5 Remove unused variables
All checks were successful
continuous-integration/drone/push Build is passing
2020-04-23 13:37:54 +02:00
9b7b8e289d Run make build only once 2020-04-23 13:37:36 +02:00
06e53cd9bc Merge pull request 'Revert "Add freenode URL"' (#26) from revert-freenode-addition into master
All checks were successful
continuous-integration/drone/push Build is passing
2020-04-23 12:31:53 +02:00
a60aef66b0 Revert "Add freenode URL"
This reverts commit 3cbc9adc49.

See #23 (comment).
2020-04-23 12:30:12 +02:00
5ff502bc72 Merge pull request 'Add freenode URL' (#23) from add-free-node-logo into master
All checks were successful
continuous-integration/drone/push Build is passing
2020-04-23 12:10:29 +02:00
3cbc9adc49 Add freenode URL
Closes #21.
2020-04-23 10:00:43 +02:00
55c8859f07 Merge pull request 'Add make stop and allow --incremental' (#20) from stop-and-incremental into master
All checks were successful
continuous-integration/drone/push Build is passing
2020-04-18 19:47:14 +02:00
9f1dd6284b Add make stop and allow --incremental
[ci skip]
2020-04-18 19:45:22 +02:00
8463aa2342 Merge pull request 'Added RSS feed for blog section' (#19) from rss-feed into master
All checks were successful
continuous-integration/drone/push Build is passing
2020-04-18 17:30:07 +02:00
6211ec5cb4 Added plugin to generate RSS feed at /feed.xml 2020-04-18 17:29:12 +02:00
a006517b8e Disable force pushing
We assume we have our builds setup right now.

[ci skip]
2020-04-18 17:28:38 +02:00
1c980536a2 Merge pull request 'Added Gitea logo to footer' (#18) from gitea-logo into master
All checks were successful
continuous-integration/drone/push Build is passing
2020-04-18 17:27:52 +02:00
e0007eca54 Added gitea logo to the footer and added titles to all logos
The svg is a lil bit of a hack. The svg is the proper svg logo, edited
manually. The middle transparency is actually just the background of the
current footer.

THIS NEEDS TO BE CHANGED IF THE COLOUR SCHEME CHANGES
2020-04-18 17:26:47 +02:00
27c81db722 Exclude PRs once more
All checks were successful
continuous-integration/drone/push Build is passing
2020-04-18 17:26:32 +02:00
e5faea080e Remove indentation and top-level this stanza
[ci skip]
2020-04-18 17:25:26 +02:00
8094625dbc Try include/exclude events
[ci skip]
2020-04-18 17:20:48 +02:00
8868ae08bf Try master / push combinator once again :sigh:
[ci skip]
2020-04-18 17:18:59 +02:00
7e854e1616 Try refs trigger
[ci skip]
2020-04-18 17:16:16 +02:00
99bf5a891f Match master with push for triggers
All checks were successful
continuous-integration/drone/push Build is passing
2020-04-18 17:05:14 +02:00
7a5c2d613b Turn on force pushing
All checks were successful
continuous-integration/drone/push Build is passing
2020-04-18 16:56:16 +02:00
3645e21236 Remove new line and run formatter
Some checks failed
continuous-integration/drone/push Build is failing
2020-04-18 16:52:07 +02:00
6623973388 Added exclusion of pull requests to drone builds
Some checks failed
continuous-integration/drone/push Build is failing
2020-04-18 15:37:16 +01:00
80af40e8ff Add a friendlier intro
All checks were successful
continuous-integration/drone/push Build is passing
2020-04-14 15:20:31 +02:00
8ec940fac5 Move to clearer config
Some checks failed
continuous-integration/drone/push Build is failing
2020-04-14 12:44:58 +02:00
789cc39c10 Inline this link
Some checks failed
continuous-integration/drone/push Build is failing
2020-04-14 11:14:18 +02:00
2df37af10d Remove old format cruft
All checks were successful
continuous-integration/drone/push Build is passing
2020-04-13 20:00:49 +02:00
6ebcab155e Move to v2 format
Some checks failed
continuous-integration/drone/push Build is failing
2020-04-13 19:40:29 +02:00
9105acf97c Point to git.coop URL
[ci skip]
2020-04-09 08:36:21 +02:00
af8ca3ca38 Merge pull request 'text-tweaks' (#14) from text-tweaks into master
All checks were successful
continuous-integration/drone/push Build is passing
2020-04-08 19:12:25 +02:00
49f3d4ed71 Merge pull request 'pgp-key-update' (#15) from pgp-key-update into master
All checks were successful
continuous-integration/drone/push Build is passing
2020-04-08 19:11:56 +02:00
850da933e8 Merge pull request 'covid-blog-post' (#13) from covid-blog-post into master
All checks were successful
continuous-integration/drone/push Build is passing
2020-04-08 19:08:59 +02:00
da3a3a989c Use triggers syntax
All checks were successful
continuous-integration/drone/push Build is passing
2020-04-08 18:40:20 +02:00
dcb3ada610 Don't fuck with DNS for now
All checks were successful
continuous-integration/drone/push Build is passing
2020-04-08 18:36:17 +02:00
489315eb60 Only build things on master 2020-04-08 18:36:07 +02:00
704a678de5 Added reference to infrastructure
Some checks failed
continuous-integration/drone/push Build is failing
continuous-integration/drone/pr Build is failing
2020-04-08 17:28:33 +01:00
5a8abd8d2b Upgrade role requirements 2020-04-08 18:27:31 +02:00
9b906cff1a Re-enable DNS entry tasks 2020-04-08 18:27:24 +02:00
0afce645e0 Remove notification
Some checks failed
continuous-integration/drone/push Build is failing
2020-04-08 18:18:12 +02:00
abe8840d2a Removed bold from coop name line.
Some checks failed
continuous-integration/drone/push Build is failing
2020-04-08 16:47:54 +01:00
1c1e51f5d6 Added bold emphasis. Reorganised PGP key section. 2020-04-08 16:44:57 +01:00
7bd00564f4 Added FCA coop details 2020-04-08 16:32:44 +01:00
39d17a1e0b Added email to services section 2020-04-08 15:14:03 +01:00
deeecb22b9 Tweaker footer 2020-04-08 15:13:44 +01:00
177cc16dde Removed CC logo and repeated title 2020-04-08 15:04:23 +01:00
4b31a9364d Fix site URL
All checks were successful
continuous-integration/drone/push Build is passing
2020-04-06 16:41:20 +02:00
20c1d5bf0b Disable DNS tasks for now
All checks were successful
continuous-integration/drone/push Build is passing
2020-04-06 16:38:56 +02:00
38 changed files with 453 additions and 326 deletions

View File

@ -1,37 +1,27 @@
---
kind: pipeline
name: default
name: deploy to swarm.autonomic.zone
steps:
- name: Build autonomic.zone docker image
image: docker:stable
volumes:
- name: docker_sock
path: /var/run/docker.sock
commands:
- docker build --no-cache -t autonomic/autonomic.zone:drone .
- name: Deploy Autonomic.zone with Dokku
image: appleboy/drone-git-push:0.2.0-linux-amd64
- name: bundle static
image: plugins/docker
settings:
remote: ssh://dokku@dokku.autonomic.zone:222/autonomic.zone
ssh_key:
from_secret: drone_deploy_key
when:
branch: master
username:
from_secret: docker_reg_username
password:
from_secret: docker_reg_passwd
repo: decentral1se/autonomic.zone
tags: latest
- name: Send notification to chat.internal.autonomic.zone
image: rmilewski/drone-rocket:latest
when:
status: [success, failure]
- name: deployment
image: decentral1se/stack-ssh-deploy:latest
settings:
webhook:
from_secret: rocket_chat_webhook
channel: drone-notify
username: drone-notifications-bot
message:
- value: "${DRONE_COMMIT_AUTHOR} deployed site.autonomic.zone (see [commit](${DRONE_COMMIT_LINK})) :partying_face:"
when:
DRONE_BUILD_STATUS: success
- value: "[commit](${DRONE_COMMIT_LINK}) failed to deploy site.autonomic.zone (see [logs](https://drone.autonomic.zone/autonomic-cooperative/autonomic.zone/${DRONE_BUILD_NUMBER})) :confounded:"
stack: jekyll
compose: docker-compose.prod.yml
deploy_key:
from_secret: drone_ssh_swarm.autonomic.zone
trigger:
branch:
- master
event:
exclude:
- pull_request

5
CHECKS
View File

@ -1,5 +0,0 @@
WAIT=3
TIMEOUT=3
ATTEMPTS=3
/

View File

@ -4,31 +4,40 @@
For those unfamiliar with how Jekyll works, check out [jekyll.rb] for all the
details, or read up on the basics of [front matter], [writing posts] and
[creating pages].
[creating pages]. Alternatively, just dive in and start editing! After all, the
majority of this site is configuration is just flat text, so it's easy to work
with.
[jekyll.rb]: https://jekyllrb.com/
[front matter]: https://jekyllrb.com/docs/frontmatter/
[writing posts]: https://jekyllrb.com/docs/posts/
[creating pages]: https://jekyllrb.com/docs/pages/
## Deploy It
## Development
1. Push your changes to master and Dokku will try to automatically release
1. See the [Drone dashboard to see the build](https://drone.autonomic.zone/autonomic-cooperative/autonomic.zone/)
The prerequisites are [Docker](https://www.docker.com/) and [Docker-compose](https://docs.docker.com/compose/).
## Hack On It
If you're on Debian, installing is easy.
The only prerequisite is [Docker](https://www.docker.com/). If you're on Debian, installing is easy.
Install Docker.
```bash
$ curl -fsSL https://get.docker.com -o get-docker.sh # have a look if you want
$ sh get-docker.sh
$ CHANNEL=stable sh get-docker.sh
```
Fire up the container with the following.
Install Docker-compose.
```bash
$ make dockerserver
$ cd autonomic.zone
$ python3 -m venv .venv
$ pip3 install -r requirements.txt
```
Then fire up the container with the following.
```bash
$ docker-compose up
```
Then visit the locally running website.
@ -37,9 +46,8 @@ Then visit the locally running website.
Then you can edit the files as normal and reload the page.
## Notes
To stop the container when you're done, you can run:
1. For configuration, please note, we now use a `dev` environment config file:
`_config_dev.yml`. Hence if you edit one `_config*` file and you also want
that change to be reflected in the other environment ("dev", "prod") then
edit the other file as well!
```bash
$ docker-compose stop
```

View File

@ -1,15 +1,17 @@
FROM decentral1se/jekyll:4
FROM ruby:2.7.2-alpine
EXPOSE 4000
WORKDIR /usr/src/app
RUN apk --no-cache add \
bash \
curl \
g++ \
git \
make
RUN gem install bundler -v 2.1.4
RUN gem install jekyll -v 4.0.0
COPY . ${WORKDIR}
COPY sbin/* /sbin/
RUN bundle config --global frozen 1
RUN bundle install
ENTRYPOINT ["/sbin/entrypoint.sh"]

View File

@ -1,3 +1,7 @@
source "https://rubygems.org"
ruby '2.6.5'
ruby "2.7.2"
gemspec
gem "jekyll-feed"

View File

@ -34,11 +34,14 @@ GEM
rouge (~> 3.0)
safe_yaml (~> 1.0)
terminal-table (~> 1.8)
jekyll-feed (0.13.0)
jekyll (>= 3.7, < 5.0)
jekyll-sass-converter (2.1.0)
sassc (> 2.0.1, < 3.0)
jekyll-watch (2.2.1)
listen (~> 3.0)
kramdown (2.1.0)
kramdown (2.2.1)
rexml
kramdown-parser-gfm (1.1.0)
kramdown (~> 2.0)
liquid (4.0.3)
@ -48,13 +51,14 @@ GEM
mercenary (0.3.6)
pathutil (0.16.2)
forwardable-extended (~> 2.6)
public_suffix (4.0.3)
rb-fsevent (0.10.3)
public_suffix (4.0.4)
rb-fsevent (0.10.4)
rb-inotify (0.10.1)
ffi (~> 1.0)
rouge (3.17.0)
rexml (3.2.3)
rouge (3.18.0)
safe_yaml (1.0.5)
sassc (2.2.1)
sassc (2.3.0)
ffi (~> 1.9)
terminal-table (1.8.0)
unicode-display_width (~> 1.1, >= 1.1.1)
@ -67,9 +71,10 @@ DEPENDENCIES
autonomic!
bundler (>= 2.1.4)
jekyll (>= 4)
jekyll-feed
RUBY VERSION
ruby 2.6.5p114
ruby 2.7.2p137
BUNDLED WITH
2.1.4

View File

@ -1,21 +0,0 @@
DEV_DIST_DIR:=dist
devserver:
@echo "Serving development site from $(DEV_DIST_DIR)"
@jekyll serve --watch --incremental --destination $(DEV_DIST_DIR)
.PHONY: devserver
dockerbuild:
@docker build -t autonomic/autonomic.zone:testing .
.PHONY: dockerbuild
dockerserver: dockerbuild
@docker run \
-e JEKYLL_PORT=4000 \
-e JEKYLL_HOST=0.0.0.0 \
-e JEKYLL_CONFIG=_config_dev.yml \
-v $$(pwd):/usr/src/app \
-p 4000:4000 \
-d \
autonomic/autonomic.zone:testing
.PHONY: dockerserver

View File

@ -2,20 +2,13 @@
[![Build Status](https://drone.autonomic.zone/api/badges/autonomic-cooperative/autonomic.zone/status.svg)](https://drone.autonomic.zone/autonomic-cooperative/autonomic.zone)
> https://site.autonomic.zone
> https://autonomic.zone
A [Jekyll] based site for the Autonomic Cooperative. The site is based on the [spectral-jekyll-theme] template.
[jekyll]: https://jekyllrb.com/
[spectral-jekyll-theme]: https://github.com/andrewbanchich/spectral-jekyll-theme
# Deploy
1. Push your changes to master and Dokku will try to automatically release
1. See the [Drone dashboard to see the build](https://drone.autonomic.zone/autonomic-cooperative/autonomic.zone/)
# Contribute
Please see [CONTRIBUTING.md] for the juicy details.
[contributing.md]: ./CONTRIBUTING.md
Please see [CONTRIBUTING.md](./CONTRIBUTING.md) for the juicy details.

View File

@ -3,16 +3,16 @@ title: Autonomic Co-operative
email: helo@autonomic.zone
description: Sustainability, Transparency, Privacy
baseurl: ""
url: ""
url: "https://autonomic.zone"
source: src
destination: dist
sass:
sass_dir: ./assets/styles
featured-image-source:
500px_url:
github_url:
include: ["src/.well-known", "src/.nojekyll"]
mastodon_url: https://sunbeam.city/@autonomic
twitter_url: https://twitter.com/autonomiccoop
gitea_url: https://git.autonomic.zone/autonomic-cooperative/
markdown: kramdown
permalink: pretty
collections:
@ -25,3 +25,5 @@ exclude:
- vendor
- Gemfile
- Gemfile.lock
plugins:
- jekyll-feed

View File

@ -1,27 +0,0 @@
---
title: Autonomic Co-operative
email: helo@autonomic.zone
description: Sustainability, Transparency, Privacy
baseurl: ""
url: "https://site.autonomic.zone"
source: src
destination: dist
sass:
sass_dir: ./assets/styles
featured-image-source:
500px_url:
github_url:
mastodon_url: https://sunbeam.city/@autonomic
twitter_url: https://twitter.com/autonomiccoop
markdown: kramdown
permalink: pretty
collections:
posts:
output: true
permalink: /blog/:title/
clients:
output: false
exclude:
- vendor
- Gemfile
- Gemfile.lock

View File

@ -1,5 +0,0 @@
#!/bin/bash
set -eu -o pipefail
echo $(pass show hosts/autonomic-dokku/vault/password)

View File

@ -1,47 +0,0 @@
---
- hosts: all
gather_facts: false
tasks:
- name: Load variables
include_vars:
dir: "{{ dokku_lib_root }}/data/ansible/autonomic.zone/vars/"
extensions:
- yml
- name: Set HTTP 80 port proxy
dokku_ports:
app: autonomic.zone
mappings:
- "http:80:{{ http_port }}"
state: present
- name: Setup LE certificates
shell: dokku letsencrypt autonomic.zone
args:
creates: /home/dokku/autonomic.zone/letsencrypt/certs
- name: Setup LE certificates renew cron job
shell: dokku letsencrypt:cron-job --add
args:
creates: /home/dokku/autonomic.zone/letsencrypt/cron-job
- name: Specify docker volume mounts
dokku_storage:
app: autonomic.zone
mounts:
- /home/dokku/autonomic.zone/letsencrypt/certs/current/key.pem:/etc/x509/https/tls.key
- /home/dokku/autonomic.zone/letsencrypt/certs/current/cert.pem:/etc/x509/https/tls.crt
- name: Set HTTP 443 port
dokku_ports:
app: autonomic.zone
mappings:
- "https:443:{{ http_port }}"
state: present
- name: Remove automatically configured ports
dokku_ports:
app: autonomic.zone
mappings:
- "http:4000:4000"
state: absent

View File

@ -1,54 +0,0 @@
---
- hosts: all
gather_facts: false
tasks:
- name: Load variables
include_vars:
dir: "{{ dokku_lib_root }}/data/ansible/autonomic.zone/vars/"
extensions:
- yml
- name: Prepare Python system dependencies
become: true
apt:
name: python3-pip
state: present
- name: Install dns-lexicon system wide
become: true
pip:
name: ["cryptography==2.8", "dns-lexicon==3.3.19"]
executable: /usr/bin/pip3
state: present
- name: "Create {{ domain }} DNS entry"
gandi_dns:
gandi_rest_token: "{{ gandi_rest_token }}"
domain: "{{ domain }}"
ipv4: "{{ dokku_domain_ipv4 }}"
state: present
- name: "Configure the {{ domain }} domain"
dokku_domains:
app: autonomic.zone
domains:
- "{{ domain }}"
state: present
- name: Ensure default app configured domains go away
dokku_domains:
app: autonomic.zone
domains:
- autonomic.zone.dokku.autonomic.zone
state: absent
- name: Configure the dokku app environment
dokku_config:
app: autonomic.zone
restart: false
config:
DOKKU_LETSENCRYPT_EMAIL: "{{ autonomic_admin_mail }}"
JEKYLL_HOST: "0.0.0.0"
JEKYLL_PORT: "{{ http_port }}"
JEKYLL_CONFIG: "{{ jekyll_config }}"
JEKYLL_ENV: "{{ jekyll_env }}"

View File

@ -1,6 +0,0 @@
---
- src: dokku_bot.ansible_dokku
version: v2020.3.15
- src: https://git.autonomic.zone/autonomic-cooperative/autonomic.gandi/archive/0.0.5.tar.gz
name: autonomic.gandi

View File

@ -1,8 +0,0 @@
---
ansible_python_interpreter: "/usr/bin/python3"
autonomic_admin_mail: "helo@autonomic.zone"
dokku_domain_ipv4: "94.130.105.60"
domain: "autonomic.zone"
http_port: "4000"
jekyll_config: "_config_prod.yml"
jekyll_env: "production"

View File

@ -1,8 +0,0 @@
---
ansible_become_pass: !vault |
$ANSIBLE_VAULT;1.1;AES256
34396236353735666531323238656533643465303131663464613162396333313836363630666266
6539323631656635333864316166633064633366323936610a656137616334313534333635313232
35323561303763366563316631313638363333393763323935343563303963616334336639386462
3837383830616637360a373539613630356564363662393836366462666430353439353637303035
63396633303166343433313439303539313637306637663137313533316531616434

View File

@ -1,8 +0,0 @@
---
gandi_rest_token: !vault |
$ANSIBLE_VAULT;1.1;AES256
65653461333739626564356366313338613561396163383161633561373736626138306633353261
3230376530616361343063346533633464643165643739310a303965353336353063353564643263
37396139643161346265616630633530353866356338386134383565363238393932666565663163
3831393731353735350a313235376463643439363833616263653637623363386532636132366662
65313835306637323066396232653166313262613333633061313266363338646334

View File

@ -1,5 +0,0 @@
{
"name": "autonomic.zone",
"description": "Autonomics website on the world wide web",
"repository": "https://git.autonomic.zone/autonomic-cooperative/autonomic.zone"
}

View File

@ -2,13 +2,13 @@
Gem::Specification.new do |spec|
spec.name = "autonomic"
spec.version = '0.0.0'
spec.date = '2017-09-24'
spec.version = "0.0.0"
spec.date = "2017-09-24"
spec.summary = ""
spec.description = ""
spec.authors = ['autonomic co-operative']
spec.email = 'autonomic.posteo.net'
spec.files = 'README.md'
spec.authors = ["autonomic co-operative"]
spec.email = "autonomic.posteo.net"
spec.files = "README.md"
spec.add_development_dependency "jekyll", ">= 4"
spec.add_development_dependency "bundler", ">= 2.1.4"

33
docker-compose.prod.yml Normal file
View File

@ -0,0 +1,33 @@
---
version: "3.8"
services:
jekyll:
image: decentral1se/autonomic.zone:latest
command: bundle exec jekyll serve --host 0.0.0.0 --trace
environment:
JEKYLL_ENV: production
networks:
- proxy
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:4000"]
interval: 15s
timeout: 10s
retries: 10
start_period: 20s
deploy:
update_config:
failure_action: rollback
order: start-first
labels:
- "traefik.enable=true"
- "traefik.http.services.jekyll.loadbalancer.server.port=4000"
- "traefik.http.routers.jekyll.rule=Host(`autonomic.zone`)"
- "traefik.http.routers.jekyll.entrypoints=web-secure"
- "traefik.http.routers.jekyll.tls.certresolver=production"
- "traefik.http.routers.jekyll.tls.options=default@file"
- "traefik.http.routers.jekyll.middlewares=security@file"
networks:
proxy:
external: true

11
docker-compose.yml Normal file
View File

@ -0,0 +1,11 @@
---
version: "3.7"
services:
jekyll:
image: "jekyll/jekyll:4"
command: jekyll serve --watch --force_polling --trace
volumes:
- ".:/srv/jekyll"
ports:
- "4000:4000"

6
renovate.json Normal file
View File

@ -0,0 +1,6 @@
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": [
"config:base"
]
}

View File

@ -1 +1 @@
ansible==2.9.6
docker-compose==1.28.0

View File

@ -1,15 +0,0 @@
#!/bin/bash
set -eu -o pipefail
# Usage
# ./encrypt.sh mysecretname mysecretvalue
declare name="$1"
declare secret="$2"
ansible-vault \
encrypt_string \
--vault-password-file ansible/.vault.sh \
--name "$name" \
"$secret"

View File

@ -1,24 +0,0 @@
#!/bin/bash
set -eu -o pipefail
# Fire up Jekyll with the right configuration
run_jekyll() {
set -eu
bundle exec jekyll serve \
--config "$JEKYLL_CONFIG" \
--host "$JEKYLL_HOST" \
--port "$JEKYLL_PORT" \
--trace \
--verbose
}
# Main entrypoint
main() {
set -eu
run_jekyll
}
main

0
src/.nojekyll Normal file
View File

View File

@ -0,0 +1,3 @@
{
"m.server": "matrix.autonomic.zone:443"
}

View File

@ -4,36 +4,44 @@
<div class="column">
<a class="named-anchor" name="contact"></a>
<h3>Get in Touch</h3>
Contact us to discuss your project's needs and arrange a consultation:
<a href="mailto:helo@autonomic.zone">helo@autonomic.zone</a></br></br>
<a href="{{ '/assets/pgp/autonomic-key.asc' | relative_url }}">PGP key:</a>
<code id="fingerprint">82FC 87C5 1A71 902F DC10 2CF5 4F90 D55B B24B 1147</code>
Contact us to discuss your project's needs and arrange a consultation:</br>
<b><a href="mailto:helo@autonomic.zone">helo@autonomic.zone</a></b></br></br>
<b><a href="{{ '/assets/pgp/autonomic-key.asc' | relative_url }}">Download PGP key</a></b></br>
<a href= "https://git.autonomic.zone/autonomic-cooperative/autonomic.zone/src/branch/master/src/assets/pgp"> Verify fingerprint:</a><code id="fingerprint">82FC 87C5 1A71 902F DC10 2CF5 4F90 D55B B24B 1147</code>
<ul class="icons" style="margin-bottom: 0; padding-top: 1em">
<li>
<a rel="noopener" href="{{ site.twitter_url }}" style="border-bottom: none">
<a title="RSS Feed" rel="me" href="{{ '/feed.xml' | absolute_url }}" style="border-bottom: none">
<!-- This SVG needs to be changed if you change the colour scheme as it is a massive hack. -->
<img alt="rss" style="height: 2rem;color: #fff" src="{{ '/assets/svg/rss-square-solid.svg' | absolute_url }}">
</a>
</li>
<li>
<a title="Twitter" rel="noopener" href="{{ site.twitter_url }}" style="border-bottom: none">
<img alt="twitter" style="height: 2rem;" src="{{ '/assets/svg/twitter-brands.svg' | absolute_url }}">
</a>
</li>
<li>
<a rel="me" href="{{ site.mastodon_url }}" style="border-bottom: none">
<a title="Mastodon" rel="me" href="{{ site.mastodon_url }}" style="border-bottom: none">
<img alt="mastodon" style="height: 2rem;" src="{{ '/assets/svg/mastodon-brands.svg' | absolute_url }}">
</a>
</li>
<li>
<a title="Gitea" rel="me" href="{{ site.gitea_url }}" style="border-bottom: none">
<!-- This SVG needs to be changed if you change the colour scheme as it is a massive hack. -->
<img alt="gitea" style="height: 2.3rem;" src="{{ '/assets/svg/Gitea_Logo.svg' | absolute_url }}">
</a>
</li>
</ul>
</div>
<div class="column">
<div class="copyright">
<object style="height: 1.2rem; vertical-align: text-bottom;" type="image/svg+xml" data="{{ '/assets/svg/creative-commons-brands.svg' | absolute_url }}">
Your browser does not support SVG
</object>&nbsp;
{{ site.title }}
</div>
<div class="cotech-box">
<a href="https://www.coops.tech/">
<img class="cotech-logo" src="{{ '/assets/images/CoTech-white-logo.png' | relative_url }}" alt="CoTech"/>
<span class="cotech-text">Member of the Cotech Network</span>
<b><span class="cotech-text">Member of the Cotech Network</span></b>
</a>
</div>
<div style="vertical-align: bottom;">
@ -43,8 +51,14 @@
Birmingham</br>
B30 2JH</br>
United Kingdom</br>
</address>
</address></br>
We are a Co-operative Society registered with the <a href="https://mutuals.fca.org.uk/Search/Society/30380">FCA</a>.
<b>Registration Number: 4597 </b>
</br></br>
</div>
<div style="vertical-align: bottom;">
<a href="{{ '/privacy' | relative_url }}">Privacy Policy</a> - <a href="{{ '/terms' | relative_url }}">Terms of Service</a> - <a href="{{ '/gdpr' | relative_url }}">GDPR</a>
</div>
</div>
</div>
</footer>

View File

@ -2,10 +2,11 @@
<section id="three" class="wrapper style6 special">
<div class="inner">
<header class="major">
<h2>Cooperative Cloud: For Organisations</h2>
<h2>Cooperative Cloud Infrastructure</h2>
<p>
This isn't an exhaustive list - if you don't see what you need, please contact us anyway.
This isn't an exhaustive list. If you don't see what you need, please contact us anyway for a consultation:
</p>
<h3><a href="mailto:helo@autonomic.zone">helo@autonomic.zone</a></h3>
</header>
<ul class="features">
<li class="features-item">
@ -13,7 +14,7 @@
<div>
<h3>Websites</h3>
<p>
We offer <a href="https://wordpress.com/">Wordpress</a> and static sites. Either managed or unmanaged with frictionless tools for editing and publishing that empower users. <a href="https://matomo.org/">Matamo</a> provides ethical analytics to measure impact.
We offer <a href="https://wordpress.com/">Wordpress</a> and static sites. Either managed or unmanaged with frictionless tools for editing and publishing that empower users. <a href="https://matomo.org/">Matomo</a> provides ethical analytics to measure impact.
</p>
</div>
</li>

View File

@ -0,0 +1,52 @@
---
layout: post
title: Hyperpy, the punk-to-punk protocol in Python
description: A new Python implementation of the Hypercore protocol is cooking at Autonomic
image: 2020-04-23-dat-protocol.png
category: technology, peer-to-peer, hypercore-protocol
date: 2020-04-23
---
# Hyperpy, the punk-to-punk protocol in Python
We're quite excited by the new wave of community-developed peer-to-peer
technology. [Scuttlebutt], [Cabal], [Mapeo] and [Beaker browser] are inspiring
examples of software which show that technology can be built to operate without
running on centralised commercially-owned infrastructure (e.g. WhatsApp).
One of the underlying innovations for these technologies is the [Hypercore
protocol], which is a way of describing how two computers can send information
to each other directly.
Today, the reference implementation of the Hypercore protocol is written in
Javascript. The Javascript ecosystem has proved to be remarkably flexible for
advancing this next generation of tools. Simple methods of publishing (npm
publish), well-established distribution channels (the browser) and a
[philosophy of modularity] have enabled so many to get started with building
peer-to-peer technology.
However, there is a great need for other languages and ecosystems to benefit
from the tools and concepts that are being developed based on the reference
implementation. People from all walks of life need a working implementation in
their preferred language of choice. In response to this, we are seeing projects
like [Datrs] and [Datcxx] emerge (please note, the Hypercore protocol was once
called the Dat protocol, see [this blog post] for more information).
Alongside these efforts, a member of Autonomic has begun to work on Hyperpy, a
Python-based implementation of the Hypercore protocol. The project proposes a
roadmap but offers no deadlines and receives no funding at current status.
However slowly, things are moving along. Further progress updates will be
posted on this blog as they come in. All development is taking place on
[git.autonomic.zone/hyperpy].
[scuttlebutt]: https://scuttlebutt.nz/
[cabal]: https://cabal.chat/
[mapeo]: https://www.digital-democracy.org/mapeo/
[beaker browser]: https://beakerbrowser.com/
[hypercore protocol]: https://hypercore-protocol.org/
[philosophy of modularity]: https://mafinto.sh/blog/pragmatic-modularity.html
[datrs]: https://github.com/datrs/
[datcxx]: https://datcxx.github.io/
[git.autonomic.zone/hyperpy]: https://git.autonomic.zone/hyperpy/
[this blog post]: https://blog.datproject.org/2020/05/15/dat-protocol-renamed-hypercore-protocol/

View File

@ -0,0 +1,72 @@
---
layout: post
title: How we make decisions
description: Our collective's horizontal decision making process
image: trees.jpg
category: decision making, democracy
date: 2021-01-21
---
# How we make decisions
In Autonomic, we make decisions collectively, while also attempting to empower autonomous action by individual workers.
We designed our decision making process using decision making tools we had experienced through participation in various horizontal organisations. We hope this tool is useful to others in the struggle for a better world.
Our decisions can be split intro three categories: **Small, Medium and Large**.
## 1) Small - Get on and do the thing
- No one cares.
- Made by an individual within the co-op.
- Could be in any area.
- Up to individual co-op members to decide if they should just make the decision, or share it with the rest of the co-op to seek consensus.
## 2) Medium - Consensus pending objections
- About admin and infrastructure.
- Don't have an effect on the direction or operation of the co-op.
- Give a deadline. Unless anyone objects or asks for more time then it passes.
- The deadline must reasonable (a week by default).
- If any member of the co-op thinks it's a Large decision, achieve Maximum Consensus™ (see below).
## 3) Large - Maximum Consensus™
- Important decisions affecting the operation, direction, working conditions and finances of the co-op.
- Consensus voting: addressing any concerns.
- Can be requested by any member of the co-op for any decision.
- Input from every co-op member.
- Whoever proposes Large decisions is responsible for chasing up members for votes.
- Votes can be in favour, against, abstain (stand aside) or block.
- One member, one vote.
## Process
For Medium and Large decisions:
1. Write up a proposal in a [HedgeDoc pad](https://hedgedoc.org/).
2. Link to the proposal on the proposals page on our wiki.
3. Announce the decision in the #announcements channel of our internal chat.
4. List the decision on the Decisions page on our wiki.
4. Announce the result in #announcements and record it on the Decisions
page of our wiki.
## Proposal format
(For Medium and Large decisions).
- What you want to change.
- Who it affects.
- Size (Medium / Large).
- Deadline.
- What chat channel you want discussion to happen in.
## Example proposal
> @all I'd like to propose (Medium|Large) decision XXX, to write our name as
"aUtOnOmIc cöööpERATIVE" in all our public communications.
>
> Deadline for votes is DEADLINE let me know if you need more time to vote than that.
>
> Please send absolutely any and all replies in #CHANNEL, not here 🙏
>
> 👍 this message for "enthusiastic consent", 🤷 for "stand aside" or 👎 if you need to indicate your extreme disagreement with this idea.
>
> 👇 VOTES HERE
## Further resources
Extra information about decision making processes in co-operatives can be found on the [Seeds for Change website](https://seedsforchange.org.uk/resources).

Binary file not shown.

After

Width:  |  Height:  |  Size: 75 KiB

BIN
src/assets/images/trees.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 668 KiB

View File

@ -0,0 +1,36 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" width="512" height="512" viewBox="0 0 135.46667 135.46667" version="1.1" id="svg8" sodipodi:docname="logo.svg" inkscape:version="0.92.1 r15371" inkscape:export-filename="" inkscape:export-xdpi="48.000004" inkscape:export-ydpi="48.000004">
<defs id="defs2"/>
<sodipodi:namedview id="base" pagecolor="#ffffff" bordercolor="#666666" borderopacity="1.0" inkscape:pageopacity="0" inkscape:pageshadow="2" inkscape:zoom="0.70710678" inkscape:cx="418.13805" inkscape:cy="177.57445" inkscape:document-units="mm" inkscape:current-layer="layer2" showgrid="false" units="px" width="256px" showguides="false" inkscape:window-width="1920" inkscape:window-height="1137" inkscape:window-x="1912" inkscape:window-y="-8" inkscape:window-maximized="1" inkscape:pagecheckerboard="false" inkscape:measure-start="283.373,243.952" inkscape:measure-end="290.267,236.527">
<sodipodi:guide position="0,0" orientation="0,512" id="guide3699" inkscape:locked="false"/>
<sodipodi:guide position="135.46667,0" orientation="-512,0" id="guide3701" inkscape:locked="false"/>
<sodipodi:guide position="135.46667,135.46667" orientation="0,-512" id="guide3703" inkscape:locked="false"/>
<sodipodi:guide position="0,135.46667" orientation="512,0" id="guide3705" inkscape:locked="false"/>
</sodipodi:namedview>
<metadata id="metadata5">
<rdf:RDF>
<cc:Work rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
<dc:title/>
</cc:Work>
</rdf:RDF>
</metadata>
<g inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1" transform="translate(0,-161.53334)" style="display:inline">
<path style="fill:#ffffff;fill-opacity:1;stroke:#428f29;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none" d="m 27.709937,195.15095 c -9.546573,-0.0272 -22.3392732,6.79805 -21.6317552,23.90397 1.105534,26.72889 25.4565952,29.20839 35.1916502,29.42301 1.068023,5.01357 12.521798,22.30563 21.001818,23.21667 h 37.15277 c 22.27763,-1.66785 38.9607,-75.75671 26.59321,-76.03825 -46.781583,2.47691 -49.995146,2.13838 -88.599758,0 -2.495053,-0.0266 -5.972321,-0.49474 -9.707935,-0.5054 z m 2.491319,9.45886 c 1.351378,13.69267 3.555849,21.70359 8.018216,33.94345 -11.382872,-1.50473 -21.069822,-5.22443 -22.851515,-19.10984 -0.950962,-7.4112 2.390428,-15.16769 14.833299,-14.83361 z" id="path3722" inkscape:connector-curvature="0" sodipodi:nodetypes="sscccccsccsc"/>
</g>
<g inkscape:groupmode="layer" id="layer2" inkscape:label="Layer 2" style="display:inline">
<rect style="display:inline;fill:#1d2442;fill-opacity:1;stroke:none;stroke-width:0.24757317;stroke-opacity:1" id="rect4599" width="34.762054" height="34.762054" x="87.508659" y="18.291576" transform="rotate(25.914715)" ry="5.4825778"/>
<path style="display:inline;fill:#1d2442;fill-opacity:1;stroke:none;stroke-width:0.26644793px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" d="m 79.804947,57.359056 3.241146,1.609954 V 35.255731 h -3.262698 z" id="path4525" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccc"/>
</g>
<g inkscape:groupmode="layer" id="layer3" inkscape:label="Layer 3" style="display:inline">
<g style="display:inline" id="g4539">
<circle transform="rotate(-19.796137)" r="3.4745038" cy="90.077766" cx="49.064713" id="path4606" style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.26458332;stroke-opacity:1"/>
<circle transform="rotate(-19.796137)" r="3.4745038" cy="102.1049" cx="36.810425" id="path4606-3" style="fill:#ffffff6;fill-opacity:1;stroke:none;stroke-width:0.26458332;stroke-opacity:1"/>
<circle transform="rotate(-19.796137)" r="3.4745038" cy="111.43928" cx="46.484283" id="path4606-1" style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.26458332;stroke-opacity:1"/>
<rect transform="rotate(26.024158)" y="18.061695" x="97.333458" height="27.261492" width="2.6726954" id="rect4629-8" style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.27444693;stroke-opacity:1"/>
<path sodipodi:nodetypes="cc" inkscape:connector-curvature="0" id="path4514" d="m 76.558096,68.116343 c 12.97589,6.395378 13.012989,4.101862 4.890858,20.907244" style="fill:none;stroke:#ffffff;stroke-width:2.68000007;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 4.8 KiB

View File

@ -0,0 +1 @@
<svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="rss-square" class="svg-inline--fa fa-rss-square fa-w-14" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="#ffffff" d="M400 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zM112 416c-26.51 0-48-21.49-48-48s21.49-48 48-48 48 21.49 48 48-21.49 48-48 48zm157.533 0h-34.335c-6.011 0-11.051-4.636-11.442-10.634-5.214-80.05-69.243-143.92-149.123-149.123-5.997-.39-10.633-5.431-10.633-11.441v-34.335c0-6.535 5.468-11.777 11.994-11.425 110.546 5.974 198.997 94.536 204.964 204.964.352 6.526-4.89 11.994-11.425 11.994zm103.027 0h-34.334c-6.161 0-11.175-4.882-11.427-11.038-5.598-136.535-115.204-246.161-251.76-251.76C68.882 152.949 64 147.935 64 141.774V107.44c0-6.454 5.338-11.664 11.787-11.432 167.83 6.025 302.21 141.191 308.205 308.205.232 6.449-4.978 11.787-11.432 11.787z"></path></svg>

After

Width:  |  Height:  |  Size: 943 B

47
src/gdpr.md Normal file
View File

@ -0,0 +1,47 @@
---
layout: page
title: Privacy Policy
description: Privacy policy for Autonomic Co-operative Limited
meta_description: This is the privacy policy for Autonomic Co-operative Limited.
---
# Autonomic Cooperative Limited Data Protection Act 2018 (GDPR) privacy Notice.
> [The Data Protection Act 2018](https://www.gov.uk/data-protection) is the UKs implementation of the General Data Protection Regulation (GDPR).
## Summary
Our purpose is to provide secure services for socially responsible and progressive groups and individuals. We seek to minimise data collection where possible and follow best security practices.
To get in touch with Autonomic Cooperative Limited about any GPDR related issues please email [helo@autonomic.zone](helo@autonomic.zone). Our Secretary will act as contact for these matters.
## Data Protection Officer
We do not have or believe we require a Data Protection Officer, as we do not process sensitive data, nor do our core activities require large scale systemic tracking of individuals. See the [Information Commissioners Office (ICO) guidance](https://ico.org.uk/for-organisations/guide-to-the-general-data-protection-regulation-gdpr/accountability-and-governance/data-protection-officers/) on this.
## Data Collection
If you use our services, we may act as data processor for you. We provide information about how our systems and procedures allow you to use our service securely in our information security policy.
We process data to provide Internet services. We collect names, addresses, email addresses, phone numbers of our customers so we can charge them for services and communicate with them information regarding the availability and status of their services. This processing is necessary for the performance of our contracts with them.
## Logging and tracking
Our services are configured to collect statistics including IP addresses via web server log files as is standard practice. The log files are kept for 28 days or less and are then deleted. We recommend you use [Tor Browser](https://www.torproject.org/) if you require greater anonymity.
Our servers may collect web usage statistics via our private [Matamo](https://matomo.org/) analytics servers. You may opt out of Matamo tracking, the best way to do this is to set the [Do Not Track header](https://en.wikipedia.org/wiki/Do_Not_Track) in your browser or use the browser extensions [ublock origin](https://github.com/gorhill/uBlock/) and/or [Privacy Badger](https://privacybadger.org/).
Occasionally our users may run alternative analytics software. This is outside of our control.
## Data Storage
This data is processed by our staff and only stored in the EU. We do not share data with 3rd parties unless this is required for the implementation of a specific service. For example, to a Domain Name Registrar to complete the whois information for a domain name. The requirement to share with 3rd parties will be clearly communicated to you, and only done with explicit consent.
We are required under UK tax law to keep your basic personal data (name, address, contact details) for a minimum of 6 years after which time it will be destroyed.
## Incorrect Information
If at any point you believe the information we process on you is incorrect you request to see this information and even have it corrected or deleted. If you wish to raise a complaint on how we have handled your personal data, you can contact our Secretary via email on [helo@autonomic.zone](mailto:helo@autonomic.zone) who will then investigate the matter.
See also our [Website Privacy Policy](/privacy) and [Terms of Service](/terms).
## Third Party Services
We use servers hosted by [Webarchitects](https://www.webarch.net/privacy-notice), [Hetzner](https://www.hetzner.com/rechtliches/datenschutz) and [Digital Ocean](https://www.digitalocean.com/legal/gdpr/) and [Gandi](https://contract.gandi.net/v5/contracts/36637/Privacy_Policy_SAS_1.1_en.pdf) for Domain names, DNS and Email, so their Data Processing Agreements may also apply.
## Contact us
If you are not satisfied with our response or believe we are processing your personal data in a way that is not in accordance with the law you can complain to the [Information Commissioners Office (ICO)](https://ico.org.uk/).

18
src/privacy.md Normal file
View File

@ -0,0 +1,18 @@
---
layout: page
title: Website Privacy Policy
description: Privacy policy for autonomic.zone
meta_description: This is the privacy policy for the website of Autonomic co-operative.
---
# Website Privacy Policy
## The Autonomic Co-operative Limited website privacy policy
Our Privacy Notice contains information regarding our [Data Protection Act 2018 (GDPR)](https://www.gov.uk/data-protection) compliance.
This site does not set cookies.
This site is configured to collect statistics including IP addresses via web server log files as is standard practice. The log files are kept for 28 days or less and are then deleted. We recommend you use [Tor Browser](https://www.torproject.org/) if you require greater anonymity. This site remains functional without [Javascript](https://en.wikipedia.org/wiki/JavaScript) enabled.
The source code for this website can be found [here](https://git.autonomic.zone/autonomic-cooperative/autonomic.zone).

62
src/terms.md Normal file
View File

@ -0,0 +1,62 @@
---
layout: page
title: Terms of Service
description: Terms of Service for autonomic.zone
meta_description: This is the Terms of Service for Autonomic Co-operative Limited.
---
# Terms of service
This document describes what activities are allowed, under what conditions we may terminate your account, and asserts our limited liability. It applies to all interactions with Autonomic Cooperative Limited. Your use of Autonomic Cooperative Limited's services constitutes your agreement to these Terms of Service.
## Summary
If you do anything truly evil, we will terminate your account. We are not liable for any damages related to the use of these services. You agree to hold patience in your heart for the hard work we do.
## Privacy policies
We ask that you review our [Privacy Policy](/gdpr), so that you are aware of how we collect and use your information.
## Ownership of and responsibility for content
All Content, whether publicly posted or privately transmitted, is the sole responsibility of the person who originated such Content. We may not monitor or control the Content posted via the Services and we cannot take responsibility for such Content.
Any use or reliance on any Content or materials posted via the Services or obtained by you through the Services is at your own risk. You are responsible for your use of the Services, for any Content you provide, and for any consequences thereof.
### Refraining from certain activities
You may not engage in the following activities through the services provided by Autonomic Cooperative Limited:
- Harassing or abusing others by engaging in threats, stalking or sending spam. This includes usernames, aliases or using any of our resources for this purpose.
- Misuse of services by distributing viruses or malware, engaging in a denial of service attack, or attempting to gain unauthorised access to any computer system, including this one.
- Contributing to the abuse of others by distributing material where the production process created violence or sexual assault against persons.
## Account Termination
Autonomic Cooperative Limited may terminate your service at any time for any reason.
## Limitation on Liability
You agree that Autonomic Cooperative Limited is not liable to you or to any other party for any direct, indirect, incidental, special, consequential or exemplary damages, including but not limited to, damages for loss of profits, goodwill, use, data, or other intangible losses, regardless of whether we were advised of the possibility of such damage.
In the case that applicable law may not allow the limitation or exclusion of liability or incidental or consequential damages, the above limitation or exclusion may not apply to you, although our liability will be limited to the fullest extent permitted by applicable law.
### Choice of Forum and Law
You agree that these Terms of Service and your use of Autonomic Cooperative Limited is governed by the law of United Kingdom.
### Policy regarding copyright infringement - DMCA
Autonomic Cooperative Limited complies with the Digital Millennium Copyright Acts notice and take-down procedures. DMCA complaints should be addressed to:
```
Autonomic Cooperative Limited
1539 Pershore Road
Birmingham
B30 2JH
United Kingdom
```
Or via email: [helo@autonomic.zone](mailto:helo@autonomic.zone)
Please note that it is Autonomic Cooperative Limiteds policy to take reasonable steps, within our power, to terminate the accounts of users who are repeat infringers in appropriate circumstances.
### No Warranty
You understand and agree that Autonomic Cooperative Limited provides online services “as is” and without any warranty, express, implied, or statutory.
We specifically disclaim any implied warranties of title, merchant-ability, fitness for a particularly purpose and non-infringement. We make no warranty as to the reliability, accessibility, or quality of our services. You agree that the use of our services is at your sole and exclusive risk.
### Changes to this policy
We reserve the right to change this policy. If we make major changes, we will notify our users in a clear and prominent manner.