diff --git a/docs/lakedrops.md b/docs/lakedrops.md new file mode 100644 index 0000000000000000000000000000000000000000..88e00b4a1b5fccc0146365739fc8e14b6b16d98b --- /dev/null +++ b/docs/lakedrops.md @@ -0,0 +1,143 @@ +--- +title: LakeDrops Handbook +--- +# LakeDrops Team Handbook + +All team members have usernames on our various platforms which are `[firstname][lastname]`, no spaces, no puctuation, +all lowercase. + +LakeDrops team members are aksed to use 2FA (second factor authentication) where ever possible. + +Also, LakeDrops team member should use a password manager (we recommend KeepassXC) and never re-use any password +anywhere. Instead, let the password manager create random password with high entropy and a length of 32 characters. + +## Emails + +Every team member has an email address `[firstname].[lastname]@lakedrops.com` and the email signature should contain this +content: + +```text +------------------------------------------------------------------------ +[Firstname] [Lastname] +Drupal-Expert +[firstname].[lastname]@lakedrops.com | www.lakedrops.com +------------------------------------------------------------------------ +[Optionally some social links] +------------------------------------------------------------------------ +LakeDrops GmbH & Co. KG +Am Breitenstein 27 | D-78244 Gottmadingen +Registergericht: Amtsgericht Freiburg i. Br. - HRA Nr. 705928 +------------------------------------------------------------------------ +Persönlich haftende Gesellschafterin: LakeDrops Verwaltungs GmbH +Registergericht: Amtsgericht Freiburg i. Br. – HRB Nr. 719703 +Geschäftsführer: Jürgen Haas, Daniel Speicher +------------------------------------------------------------------------ +``` + +### How to use email + +In general, we don't use emails a lot - or we don't use email at all. This is because with customers and business +partners, we want to keep the communication in the issue system (see [Gitlab](#gitlab) below). With the team, we always +communicate in NextCloud talk (see [NextCloud](#nextcloud) below). + +### How to setup your email client + +- IMAP-Server: `sslin.de` +- POP3-Server: `sslin.de` +- SMTP-Server: `sslout.de` +- Port for secure POP3: `995` +- Port for secure IMAP: `993` +- Port for secure SMTP: `465` +- [Webmail](https://appsuite.df.eu) +- [Change Email Settings](https://admin.df.eu/public/index.php?module=chmail) + +## LakeDrops Auth + +We do have a OpenID server for single-sign-on (SSO) at https://auth.lakedrops.com, however, this is currently only +used to login to our [website](#website) or to [NextCloud](#nextcloud). + +## Website + +Our websites is at https://www.lakedrops.com and every team member has their profile on there. All content is +originally written in English and translated into German and Spanish by DeepL automatically when saving or updating +content. Before translations get published, they get reviewed by native speakers in the team. + +The most important part of the website is the blog, and every team member is welcome to write blog posts mainly on +topics around Drupal, DevOps and all the other services that LakeDrops provides. + +## NextCloud + +Our central collaboration tool is available from https://cloud.lakedrops.com and we use that mainly for the following +areas: + +- File sharing: all files of LakeDrops are on there and they can be synchronized locally by using the NC client. +- Talk: this is where we chat and talk. + - There is the #JourFix channel, which we use for topics that are potentially for the whole team. + - There are other group channels, where different team members are included for several topics. + - There can always be private channels between individual team members. +- Contacts: this is our simple CRM with all contact and background information about people and companies + - LakeDrops: address book with partners and customer + - Accounts: address book with NC users and their details +- Calendar: team members should keep their LakeDrops related schedule in their personal calendar. There is also a shared calendar called `Vacation and Plan` with company related schedules. +- Deck: Kanban boards with task planning for everything that's not project related + +## GitLab + +Our self-hosted GitLab instance can be found at https://gitlab.lakedrops.com and is being used for all our projects. + +Note: SSO over LakeDrops auth doesn't work yet. + +Please upload your SSH key at https://gitlab.lakedrops.com/-/profile/keys, so that you can checkout and push commits. + +## Mattermost + +Our self-hosted Mattermost instance can be found at https://mattermost.lakedrops.com and is mainly being used for +monitoring: each project has its own channel and other systems like [GitLab](#gitlab), [Alerta](#alerta), +[Uptime Kuma](#uptime-kuma), [Healthchecks](#healthchecks) and others are sending status messages into these. So, +by keeping an eye on Mattermost, team members should be up-to-date with all activity and get notified about +comments, new issues, alerts and everything else. + +Team members should authenticate with their GitLab account here. + +## Monitoring + +### Alerta + +This can be found at https://alerta.lakedrops.com and team members should authenticate with their GitLab account here. + +### Uptime Kuma + +The status of all hosts and websites can be found ar https://uptime.lakedrops.com/status/lakedrops + +### Healthchecks + +This site is found at https://healthchecks.lakedrops.com and monitors all cronjobs on all hosts that LakeDrops manages. + +### Netdata + +All LakeDrops managed hosts come with a Netdata agent that reports to the dashboard at https://app.netdata.cloud where +all metrics about each host is visible. Alerts are being sent to [Alerta](#alerta). + +### OpenObserve + +The logs from all hosts are collected in OpenObserve at https://logs.lakedrops.com where forensic analysis can be done +when needed. + +## Time tracking + +All LakeDrops specific activity is being tracked by team members at https://time.lakedrops.com, both for customer +projects that are usually paid directly, but also for all internal and investment hours like these (they go all into +the "customer" LakeDrops: + +- Backoffice: for admin and bookkeeping, etc. +- Drupal Contribution (please also credit LakeDrops for all issues on drupal.org) +- General: meetings, etc. +- IT Operations: all about IT work including those where LakeDrops provides SaaS or hosting for clients +- LakeDrops Tools: development and maintenance of LakeDrops tools, and other open source contributions +- New Balls Please: client project which will turn into a SaaS business + +When adding records to the system (ideally by live recording), the fields customer, project and activity are mandatory. + +The description field should contain the issue reference (e.g. `docker/l3d#95` in case of GitLab or `drupal#3390327` +in case of Drupal, for others please be specific) and a short description of what has been done, or at least the title +of the issue. diff --git a/mkdocs.yml b/mkdocs.yml index 48c93bceee33c6edea8336106c3deafe0d30ce3e..e7805607ec62dff2ac60719f78a636949898dc68 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -81,6 +81,7 @@ nav: - Overview: overview.md - Tags: tags.md - Contribute: how-to-write-docs.md + - Team Handbook: lakedrops.md - Docker: - docker/index.md - Ansible: