Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: 🍰 New Digital Ocean Kubernetes Cluster #4050

Merged
merged 58 commits into from
Dec 22, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
58 commits
Select commit Hold shift + click to select a range
cc29322
Set ocelot-social as Kubernetes namespace
Tirokk Dec 2, 2020
941b021
Fix linting
Tirokk Dec 2, 2020
e73cd62
Change folder name deployment/human-connection to deployment/ocelot-s…
Tirokk Dec 3, 2020
f17d506
Merge branch 'master' of https://github.com/Ocelot-Social-Community/O…
Tirokk Dec 3, 2020
ee7000c
Replace https://github.com/Human-Connection/Human-Connection
Tirokk Dec 3, 2020
7e8ac9e
Replace https://app.zenhub.com/workspaces/XXX
Tirokk Dec 3, 2020
d92c5c5
Rename namespace: human-connection and name: human-connection
Tirokk Dec 3, 2020
ea27a1b
Rename several
Tirokk Dec 3, 2020
bc045b5
Update configmap.template.yaml
Tirokk Dec 7, 2020
ad656a1
Update configmap.template.yaml, secrets
Tirokk Dec 7, 2020
529ffe6
Fix link to ../templates/configmap.template.yaml
Tirokk Dec 7, 2020
6d017ff
Change ingress and update deployment/ocelot-social/maintenance/README.md
Tirokk Dec 7, 2020
a026167
Change ingress and update deployment/ocelot-social/maintenance/README.md
Tirokk Dec 7, 2020
2d45f26
Refactoring configmap.template.yaml, secrets.template.yaml
Tirokk Dec 7, 2020
4dc90b0
Refactor deployment/ocelot-social\README.md
Tirokk Dec 7, 2020
5c79763
Refactor deployment/ocelot-social\README.md
Tirokk Dec 7, 2020
5972bd0
Refactor deployment/volume/README.md
Tirokk Dec 7, 2020
7d21f1c
Refactor deployment/volumes/volume-snapshots/neo4j-data.yaml
Tirokk Dec 7, 2020
68fa07a
Refactor creation of volumes
Tirokk Dec 8, 2020
cbdbe27
Change namespace
Tirokk Dec 8, 2020
05bd980
Refactor deployment/README.md
Tirokk Dec 8, 2020
be0b7da
Refactor deployment/digital-ocean/README.md
Tirokk Dec 8, 2020
23e5f4d
Refactor deployment/digital-ocean/README.md
Tirokk Dec 8, 2020
a14506a
Replace developer@human-connection.org with devops@ocelot.social
Tirokk Dec 8, 2020
62646df
Replace URI
Tirokk Dec 8, 2020
fe6f052
Replace deployment labels and selectors
Tirokk Dec 8, 2020
d23797e
Replace deployment label names and selector names
Tirokk Dec 8, 2020
eb3eedb
Add to 'Apply The Configuration'
Tirokk Dec 8, 2020
7c0d55f
Refactor deployment
Tirokk Dec 8, 2020
332c3f9
Refactor deployment
Tirokk Dec 8, 2020
9f454fd
Add hints to configure the pod resources
Tirokk Dec 8, 2020
dd456f4
Fix edit-this-documentation.md
Tirokk Dec 8, 2020
eb7a3c4
Fix edit-this-documentation.md
Tirokk Dec 8, 2020
51a11cd
Fix edit-this-documentation.md
Tirokk Dec 8, 2020
424d2df
Refactor deployment/digital-ocean/https/README.md
Tirokk Dec 8, 2020
dd34753
Refactor deployment/digital-ocean/https/README.md
Tirokk Dec 8, 2020
3b87214
Refactor deployment/digital-ocean/https/templates/ingress.template.yaml
Tirokk Dec 9, 2020
0ffba54
Refactor deployment/digital-ocean/https/README.md
Tirokk Dec 10, 2020
1b01d35
Refactor ingress.yaml(s) and issuer.yaml(S)
Tirokk Dec 13, 2020
1f4e51d
Refactor ingress.yaml(s) and issuer.yaml(S)
Tirokk Dec 13, 2020
ea93fbb
Refactor ingress.yaml(s) and issuer.yaml(S)
Tirokk Dec 13, 2020
be62c7d
Rename back letsencrypt-XXX ClusterIssuer and files
Tirokk Dec 13, 2020
95079da
Setup a new ClusterIssuer
Tirokk Dec 14, 2020
21da841
Reset ingress.template.yaml
Tirokk Dec 14, 2020
7e73fd6
Implement installation alternative of a payed DO load balancer
Tirokk Dec 15, 2020
0645cbb
Implement installation alternative of a payed DO load balancer
Tirokk Dec 15, 2020
197f99b
Refactor maintenance mode
Tirokk Dec 15, 2020
7c97fa4
Clarified configmap.template.yaml
Tirokk Dec 15, 2020
bf0b62a
Correct ingress.tamplate.yaml
Tirokk Dec 16, 2020
4f8f2da
Refine HTTPS README.md for load balancer
Tirokk Dec 16, 2020
28c3d18
Refine HTTPS README.md for cert-manager
Tirokk Dec 16, 2020
80968e3
Clean up ingress and issuer
Tirokk Dec 16, 2020
75916f0
Fix as Ulf suggested
Tirokk Dec 17, 2020
8570db3
Clarify ingress
Tirokk Dec 17, 2020
c4022c6
Refine configmap
Tirokk Dec 17, 2020
6ddec41
Merge branch 'master' of https://github.com/Ocelot-Social-Community/O…
Tirokk Dec 17, 2020
cd61a32
Rename 'schoolsinmotion/.' Docker image names
Tirokk Dec 17, 2020
f25f410
Fix webapp Dockerfile
Tirokk Dec 21, 2020
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<!--
Please take a look at the issue templates at https://github.com/Human-Connection/Human-Connection/issues/new/choose
Please take a look at the issue templates at https://github.com/Ocelot-Social-Community/Ocelot-Social/issues/new/choose
before submitting a new issue. Following one of the issue templates will ensure maintainers can route your request efficiently.

Thanks!
Expand Down
2 changes: 1 addition & 1 deletion CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ This Code of Conduct applies both within project spaces and in public spaces whe

## Enforcement

Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at developer@human-connection.org. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately.
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at devops@ocelot.social. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately.

Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership.

Expand Down
9 changes: 6 additions & 3 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,15 +6,15 @@ Thank you so much for thinking of contributing to the Human Connection project!

Instructions for how to install all the necessary software and some code guidelines can be found in our [documentation](https://docs.human-connection.org/human-connection/).

To get you started we recommend that you join forces with a regular contributor. Please join [our discord instance](https://human-connection.org/discord) to chat with developers or just get in touch directly on an issue on either [Github](https://github.com/Human-Connection/Human-Connection/issues) or [Zenhub](https://app.zenhub.com/workspaces/human-connection-nitro-5c0154ecc699f60fc92cf11f/boards?repos=152252353):
To get you started we recommend that you join forces with a regular contributor. Please join [our discord instance](https://human-connection.org/discord) to chat with developers or just get in touch directly on an issue on either [Github](https://github.com/Ocelot-Social-Community/Ocelot-Social/issues) or [Zenhub](https://app.zenhub.com/workspaces/ocelotsocial-5fb21ff922cb410015dd6535/board?filterLogic=any&repos=301151089):

![](https://dl.dropbox.com/s/vbmcihkduy9dhko/Screenshot%202019-01-03%2015.50.11.png?dl=0)

We also have regular pair programming sessions that you are very welcome to join! We feel this is often the best way to get to know both the project and the team. Most developers are also available for spontaneous sessions if the times listed below don't work for you – just ping us on discord.

## Development Flow

We operate in two week sprints that are planned, estimated and prioritised on [Zenhub](https://app.zenhub.com/workspaces/human-connection-nitro-5c0154ecc699f60fc92cf11f). All issues are also linked to and synced with [Github](https://github.com/Human-Connection/Human-Connection/issues). Look for the `good first issue` label if you're not sure where to start!
We operate in two week sprints that are planned, estimated and prioritised on [Zenhub](https://app.zenhub.com/workspaces/ocelotsocial-5fb21ff922cb410015dd6535/board?filterLogic=any&repos=301151089). All issues are also linked to and synced with [Github](https://github.com/Ocelot-Social-Community/Ocelot-Social/issues). Look for the `good first issue` label if you're not sure where to start!

We try to discuss all questions directly related to a feature or bug in the respective issue, in order to preserve it for the future and for other developers. We use discord for real-time communication.

Expand Down Expand Up @@ -82,6 +82,7 @@ Sprint planning
* we select and prioritise the issues we will work on in the following two weeks

Sprint retrospective

* bi-weekly on Monday 13:00
* via this [zoom link](https://zoom.us/j/7743582385)
* all contributors welcome (most interesting for those who participated in the sprint)
Expand All @@ -90,6 +91,7 @@ Sprint retrospective
## Philosophy

We practise [collective code ownership](http://www.extremeprogramming.org/rules/collective.html) rather than strong code ownership, which means that:

* developers can make contributions to other people's PRs (after checking in with them)
* we avoid blocking because someone else isn't working, so we sometimes take over PRs from other developers
* everyone should always push their code to branches so others can see it
Expand All @@ -104,6 +106,7 @@ As a volunteeer you have no commitment except your own self development and your
## Open-Source Bounties

There are so many good reasons to contribute to Human Connection

* You learn state-of-the-art technologies
* You build your portfolio
* You contribute to a good cause
Expand All @@ -120,7 +123,7 @@ team, learning the workflow, and understanding this contribution guide. You can
filter issues by 'good first issue', to get an idea where to start. Please join
our our [community chat](https://human-connection.org/discord), too.

You can filter Github issues with label [bounty](https://github.com/Human-Connection/Human-Connection/issues?q=is%3Aopen+is%3Aissue+label%3Abounty). These issues should have a second label `€<amount>`
You can filter Github issues with label [bounty](https://github.com/Ocelot-Social-Community/Ocelot-Social/issues?q=is%3Aopen+is%3Aissue+label%3Abounty). These issues should have a second label `€<amount>`
which indicate their respective financial compensation in Euros.

You can bill us after your pull request got approved and merged into `master`.
Expand Down
8 changes: 4 additions & 4 deletions SUMMARY.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,10 +22,10 @@
* [Digital Ocean](deployment/digital-ocean/README.md)
* [Kubernetes Dashboard](deployment/digital-ocean/dashboard/README.md)
* [HTTPS](deployment/digital-ocean/https/README.md)
* [Human Connection](deployment/human-connection/README.md)
* [Error Reporting](deployment/human-connection/error-reporting/README.md)
* [Mailserver](deployment/human-connection/mailserver/README.md)
* [Maintenance](deployment/human-connection/maintenance/README.md)
* [ocelot.social](deployment/ocelot-social/README.md)
* [Error Reporting](deployment/ocelot-social/error-reporting/README.md)
* [Mailserver](deployment/ocelot-social/mailserver/README.md)
* [Maintenance](deployment/ocelot-social/maintenance/README.md)
* [Volumes](deployment/volumes/README.md)
* [Neo4J Offline-Backups](deployment/volumes/neo4j-offline-backup/README.md)
* [Neo4J Online-Backups](deployment/volumes/neo4j-online-backup/README.md)
Expand Down
16 changes: 8 additions & 8 deletions cypress/features.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ The following features will be implemented. This gets done in three steps:

### User Account

[Cucumber Features](https://github.com/Human-Connection/Human-Connection/tree/master/cypress/integration/user_account)
[Cucumber Features](https://github.com/Ocelot-Social-Community/Ocelot-Social/tree/master/cypress/integration/user_account)

* Sign-up
* Agree to Data Privacy Statement
Expand All @@ -34,7 +34,7 @@ The following features will be implemented. This gets done in three steps:

### User Profile

[Cucumber Features](https://github.com/Human-Connection/Human-Connection/tree/master/cypress/integration/user_profile)
[Cucumber Features](https://github.com/Ocelot-Social-Community/Ocelot-Social/tree/master/cypress/integration/user_profile)

* Upload and Change Avatar
* Upload and Change Profile Picture
Expand All @@ -59,7 +59,7 @@ The following features will be implemented. This gets done in three steps:

### Posts

[Cucumber Features](https://github.com/Human-Connection/Human-Connection/tree/master/cypress/integration/post)
[Cucumber Features](https://github.com/Ocelot-Social-Community/Ocelot-Social/tree/master/cypress/integration/post)

* Creating Posts
* Persistent Links
Expand All @@ -84,7 +84,7 @@ The following features will be implemented. This gets done in three steps:
* Upvote comments of others

### Notifications
[Cucumber features](https://github.com/Human-Connection/Human-Connection/tree/master/cypress/integration/notifications)
[Cucumber features](https://github.com/Ocelot-Social-Community/Ocelot-Social/tree/master/cypress/integration/notifications)

* User @-mentionings
* Notify authors for comments
Expand Down Expand Up @@ -116,7 +116,7 @@ The following features will be implemented. This gets done in three steps:

### Search

[Cucumber Features](https://github.com/Human-Connection/Human-Connection/tree/master/cypress/integration/search)
[Cucumber Features](https://github.com/Ocelot-Social-Community/Ocelot-Social/tree/master/cypress/integration/search)

* Search for Categories
* Search for Tags
Expand Down Expand Up @@ -237,7 +237,7 @@ Shows automatically related actions for existing post.

### Moderation

[Cucumber Features](https://github.com/Human-Connection/Human-Connection/tree/master/cypress/integration/moderation)
[Cucumber Features](https://github.com/Ocelot-Social-Community/Ocelot-Social/tree/master/cypress/integration/moderation)

* Report Button for users for doubtful Content
* Moderator Panel
Expand All @@ -249,7 +249,7 @@ Shows automatically related actions for existing post.

### Administration

[Cucumber Features](https://github.com/Human-Connection/Human-Connection/tree/master/cypress/integration/administration)
[Cucumber Features](https://github.com/Ocelot-Social-Community/Ocelot-Social/tree/master/cypress/integration/administration)

* Provide Admin-Interface to send Users Invite Code
* Static Pages for Data Privacy Statement ...
Expand All @@ -264,7 +264,7 @@ Shows automatically related actions for existing post.

### Internationalization

[Cucumber Features](https://github.com/Human-Connection/Human-Connection/tree/master/cypress/integration/internationalization)
[Cucumber Features](https://github.com/Ocelot-Social-Community/Ocelot-Social/tree/master/cypress/integration/internationalization)

* Frontend UI
* Backend Error Messages
Expand Down
12 changes: 6 additions & 6 deletions deployment/README.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
# Human-Connection Nitro \| Deployment Configuration
# ocelot.social \| Deployment Configuration

There are a couple different ways we have tested to deploy an instance of Human Connection, with [kubernetes](https://kubernetes.io/) and via [Helm](https://helm.sh/docs/). In order to manage your own
network, you have to [install kubectl](https://kubernetes.io/docs/tasks/tools/install-kubectl/), [install Helm](https://helm.sh/docs/intro/install/) (optional, but the preferred way),
and set up a kubernetes cluster. Since there are many different options to host your cluster, we won't go into specifics here.
There are a couple different ways we have tested to deploy an instance of ocelot.social, with [Kubernetes](https://kubernetes.io/) and via [Helm](https://helm.sh/docs/). In order to manage your own
network, you have to [install Kubectl](https://kubernetes.io/docs/tasks/tools/install-kubectl/), [install Helm](https://helm.sh/docs/intro/install/) (optional, but the preferred way),
and set up a Kubernetes cluster. Since there are many different options to host your cluster, we won't go into specifics here.

We have tested two different kubernetes providers: [Minikube](./minikube/README.md)
We have tested two different Kubernetes providers: [Minikube](./minikube/README.md)
and [Digital Ocean](./digital-ocean/README.md).

Check out the specific documentation for your provider. After that, choose whether you want to go with the recommended deploy option [Helm](./helm/README.md), or use kubernetes to apply the configuration for [Human Connection](./human-connection/README.md).
Check out the specific documentation for your provider. After that, choose whether you want to go with the recommended deploy option [Helm](./helm/README.md), or use Kubernetes to apply the configuration for [ocelot.social](./ocelot-social/README.md).
15 changes: 8 additions & 7 deletions deployment/digital-ocean/README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Digital Ocean

As a start, read the [introduction into kubernetes](https://www.digitalocean.com/community/tutorials/an-introduction-to-kubernetes) by the folks at Digital Ocean. The following section should enable you to deploy Human Connection to your kubernetes cluster.
As a start, read the [introduction into Kubernetes](https://www.digitalocean.com/community/tutorials/an-introduction-to-kubernetes) by the folks at Digital Ocean. The following section should enable you to deploy ocelot.social to your Kubernetes cluster.

## Connect to your local cluster

Expand All @@ -10,7 +10,8 @@ As a start, read the [introduction into kubernetes](https://www.digitalocean.com
4. Now check if you can connect to the cluster and if its your newly created one by running: `kubectl get nodes`

The output should look about like this:
```

```sh
$ kubectl get nodes
NAME STATUS ROLES AGE VERSION
nifty-driscoll-uu1w Ready <none> 69d v1.13.2
Expand All @@ -20,19 +21,19 @@ nifty-driscoll-uusn Ready <none> 69d v1.13.2

If you got the steps right above and see your nodes you can continue.

Digital Ocean kubernetes clusters don't have a graphical interface, so I suggest
to setup the [kubernetes dashboard](./dashboard/README.md) as a next step.
Digital Ocean Kubernetes clusters don't have a graphical interface, so I suggest
to setup the [Kubernetes dashboard](./dashboard/README.md) as a next step.
Configuring [HTTPS](./https/README.md) is bit tricky and therefore I suggest to
do this as a last step.

## Spaces

We are storing our images in the s3-compatible [DigitalOcean Spaces](https://www.digitalocean.com/docs/spaces/).

We still want to take backups of our images in case something happens to the images in the cloud. See these [instructions](https://www.digitalocean.com/docs/spaces/resources/s3cmd-usage/) about getting set up with `s3cmd` to take a copy of all images in a `Spaces` namespace, ie `human-connection-uploads`.
We still want to take backups of our images in case something happens to the images in the cloud. See these [instructions](https://www.digitalocean.com/docs/spaces/resources/s3cmd-usage/) about getting set up with `s3cmd` to take a copy of all images in a `Spaces` namespace, i.e. `ocelot-social-uploads`.

After configuring `s3cmd` with your credentials, etc. you should be able to make a backup with this command.

```sh
s3cmg get --recursive s3://human-connection-uploads --skip-existing
```
s3cmg get --recursive --skip-existing s3://ocelot-social-uploads
```
Loading