Skip to content

Commit

Permalink
second documentation round
Browse files Browse the repository at this point in the history
  • Loading branch information
maxwassiljew committed Oct 2, 2024
1 parent b5d6427 commit 05518c3
Show file tree
Hide file tree
Showing 35 changed files with 953 additions and 197 deletions.
102 changes: 82 additions & 20 deletions pages/docs/.vitepress/config.mts
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,12 @@ export default withMermaid(
title: "Rocket Cloud",
description: "Documentation",
themeConfig: {
search: {
provider: 'local'
},
editLink: {
pattern: 'https://github.com/tryrocket-cloud/home-ops/edit/main/pages/docs/:path'
},
// https://vitepress.dev/reference/default-theme-config
nav: [
{ text: 'Home', link: '/' },
Expand All @@ -16,52 +22,108 @@ export default withMermaid(

sidebar: [
{
text: 'How it works',
text: 'Overview',
items: [
{ text: 'Concepts', link: '/how-it-works' },
{ text: 'Introduction', link: '/overview/introduction' },
{ text: 'Architecture', link: '/overview/architecture' },
]
},
{
text: 'Getting started',
text: 'Hardware',
items: [
{ text: 'Servers and Equipment', link: '/hardware/servers-equipment' },
{ text: 'Rack Organization', link: '/hardware/rack-organization' },
{ text: 'IoT Devices', link: '/hardware/iot-devices' },
]
},
{
text: 'Development',
text: 'Network',
items: [
{ text: 'Principles & Guidelines', link: '/principles-and-guidelines' },
{ text: 'Network Design', link: '/network/introduction' },
{ text: 'Router and Firewall', link: '/network/introduction' },
{ text: 'DNS and DHCP', link: '/network/introduction' },
]
},
{
text: 'Applicaitons & Services',
text: 'Compute, Containerization, and Storage Infrastructure',
items: [
{ text: 'Docs (vitepress)', link: '/apps/docs' },
{ text: 'Homer', link: '/apps/homer' },
{ text: 'Status (upptime)', link: '/apps/status' },
{ text: 'Vault', link: '/apps/vault' },
{ text: 'Vaultwarden', link: '/apps/vaultwarden' },
{ text: 'Hypervisors', link: '/hypervisors' },
{ text: 'Containerization', link: '/containerization' },
{
text: 'Hyperconverged Infrastructure (HCI)', link: '/hci',
items: [
{ text: 'Network Attached Storage (NAS)', link: '/introduction' },
{ text: 'Storage Pools', link: '/introduction' },
{ text: 'Backups and Snapshots', link: '/introduction' },
]
},
]
},
{
text: 'Administarion',
text: 'Services and Applications',
items: [
{ text: 'Backup', link: 'backup-general' },
{ text: 'Applications', link: '/applications' },
{ text: 'Backup Solutions', link: '/introduction' },
]
},
{
text: '',
text: 'Security and Authentication',
items: [
{ text: 'Server rack', link: '/rack' },
{ text: 'Evolution of the homelab', link: '/evolution' },
{ text: 'Security Layers', link: '/security-layers' },
{ text: 'Network Security', link: '/introduction' },
{ text: 'User Management and Authentication', link: '/introduction' },
{ text: 'Certificate Management', link: '/introduction' },
]
},
{
text: 'Examples',
text: 'Infrastructure Automation and Orchestration', link: '/infrastructure-automation-orchestration'
},
{
text: 'Maintenance and Troubleshooting',
items: [
{ text: 'Markdown Examples', link: '/markdown-examples' },
{ text: 'Runtime API Examples', link: '/api-examples' }
{ text: 'Monitoring and Logging', link: '/introduction' },
{ text: 'Alerting', link: '/introduction' },
{ text: 'Regular Maintenance', link: '/introduction' },
{ text: 'Troubleshooting Common Issues', link: '/introduction' },
{ text: 'Disaster Recovery Plan', link: '/introduction' },
{ text: 'Dependency Management', link: '/dependancy-management' },

]
}
},
{
text: 'External Services', link: '/external-services'
},
{
text: 'References and Resources',
items: [
{ text: 'Archive', link: '/archive' },
]
},
{
text: 'Future Plans and Improvements',
items: [
{ text: 'Regular Maintenance', link: '/introduction' },
{ text: 'Troubleshooting Common Issues', link: '/introduction' },
{ text: 'Disaster Recovery Plan', link: '/introduction' },

]
},
{
text: 'Development',
items: [
{ text: 'Principles & Guidelines', link: '/principles-and-guidelines' },
]
},
{
text: 'Components',
items: [
{ text: 'Docs (vitepress)', link: '/apps/docs' },
{ text: 'Homer', link: '/apps/homer' },
{ text: 'Status (upptime)', link: '/apps/status' },
{ text: 'Vault', link: '/apps/vault' },
{ text: 'Vaultwarden', link: '/apps/vaultwarden' },
]
},
],

socialLinks: [
Expand Down
5 changes: 5 additions & 0 deletions pages/docs/ansible.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
outline: deep
---

# Ansible
129 changes: 129 additions & 0 deletions pages/docs/applications.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,129 @@
---
outline: deep
---

# Applications

## Docs

Docs ([Vitepress](https://vitepress.dev/)) hosted at [docs.tryrocket.cloud](https://docs.tryrocket.cloud) on Cloudflare Pages. This documentation site provides everything you need to know about using, deploying, and contributing to the application.

The source code can be found at `pages/docs/`

## Personal Dashboard

Personal Dashboard ([Homer](https://github.com/bastienwirtz/homer)) hosted at [tryrocket.cloud](https://tryrocket.cloud) and provides a customizable homepage for organizing and accessing frequently used services and websites.

[config.yml](../homer/public/assets/config.yml)

The source code can be found at `pages/homer/`

### Setup with Git Subtree

```sh
# home-op/
git remote add -f homer https://github.com/bastienwirtz/homer.git
git subtree add --prefix=pages/homer homer main --squash
```

### Update

```sh
git subtree pull --prefix=pages/homer homer main --squash
```

## Statuspage

[Statuspage](https://upptime.js.org/) is status page, hosted at [status.tryrocket.cloud](https://status.tryrocket.cloud) on GitHub Pages. Upptime is an open-source uptime monitor and status page powered by GitHub Actions, GitHub Pages, and GitHub Issues. It automates website monitoring and generates a status page directly from your [GitHub](https://github.com/tryrocket-cloud/upptime) repository.

## Vault <Badge type="danger" text="SL2" />

**HashiCorp Vault**, hosted at [vault.tryrocket.cloud](https://vault.tryrocket.cloud) and deployed on a Kubernetes Cluster. Vault is a tool for securely storing and accessing secrets, such as API keys, passwords, and certificates. The **Vault** data belongs to the [SL2](/security-layers#SL2).

### Deployment

The Vault deployment is managed using the official [Helm chart](https://helm.releases.hashicorp.com). Vault will be deployed and managed via an ArgoCD ApplicationSet.

- [Helm Chart](https://github.com/hashicorp/vault-helm)
- [Default values](https://github.com/hashicorp/vault-helm/blob/main/values.yaml)
- [Documentation](https://developer.hashicorp.com/vault/docs/platform/k8s/helm)

### Backup

#### Create

::: info
To export data in JSON format, [Medusa](https://github.com/jonasvinther/medusa) is utilized.
:::

| **Backup Type** | **Command** |
|-------------------------------------------------|-------------------------------------|
| [Export](/backup-general#export) | `j iac ansible vault-export-backup` |
| [Data](/backup-general#data) | `j iac ansible vault-data-backup` |
| [CSI Snapshots](/backup-general#csi-snapshots) | `j iac ansible vault-csi-snapshot` |
| [CSI Backups](/backup-general#csi-backups) | `j iac ansible vault-csi-backup` |

**Full Backup**

```sh
j iac ansible vault-backup
```

#### Restore

# Links

- [Official HashiCorp Vault Website](https://www.hashicorp.com/products/vault)
- [Vault GitHub Repository](https://github.com/hashicorp/vault)
- [Vault Documentation](https://www.vaultproject.io/docs)

## Vaultwarden <Badge type="danger" text="SL2" />

[Vaultwarden](https://github.com/dani-garcia/vaultwarden) is a lightweight alternative to [Bitwarden](https://bitwarden.com), hosted at [vaultwarden.tryrocket.cloud](https://vaultwarden.tryrocket.cloud) on a Kubernetes Cluster. The Vaultwarden data is [SL2](/security-layers#SL2).

### Deployment

### Backup

Vaultwarden is backed up on a **daily basis** at `30 0 * * *`.

::: info
To export data in JSON format, [Bitwarden CLI](https://github.com/bitwarden/clients) is utilized. See more in the Ansible [export-vaultwarden-vault.yaml](../../iac/ansible/export-vaultwarden-vault.yaml) playbook
:::

#### Backup Contents

- **Database**: The primary data store for Vaultwarden, including user credentials and secrets.
- **Configuration Files**: All configuration settings related to Vaultwarden deployment.
- **Attachments**: Any user-uploaded attachments stored within Vaultwarden.

#### Backup Location

The backups are securely stored in a location that ensures quick recovery in case of data loss or corruption. These backups are also periodically checked for integrity.

#### Restoring Backups

In case of a failure or accidental data loss, the backup can be restored manually or via the automated restore process, ensuring minimal downtime for users.

#### Export

```sh
j iac ansible vaultwarden-export
```

Type: `critical`

Backups:

- export
- data

### Links

- [GitHub](https://github.com/dani-garcia/vaultwarden)
- [Documentation](https://github.com/dani-garcia/vaultwarden/wiki)
- [Bitwarden CLI](https://github.com/bitwarden/cli)
- [DockerHub](https://hub.docker.com/r/vaultwarden/server)
- [r/Vaultwarden](https://www.reddit.com/r/Vaultwarden/)

## Nextcloud
7 changes: 0 additions & 7 deletions pages/docs/apps/docs.md

This file was deleted.

25 changes: 0 additions & 25 deletions pages/docs/apps/homer.md

This file was deleted.

7 changes: 0 additions & 7 deletions pages/docs/apps/status.md

This file was deleted.

14 changes: 0 additions & 14 deletions pages/docs/apps/vault.md

This file was deleted.

22 changes: 0 additions & 22 deletions pages/docs/apps/vaultwarden.md

This file was deleted.

7 changes: 7 additions & 0 deletions pages/docs/archive.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
outline: deep
---

# Archive

## Used Services / Applications / Libraries
Binary file added pages/docs/assets/TSwaf1t0.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added pages/docs/assets/dell-optiplex-3080.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added pages/docs/assets/dell-poweredge-r340.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added pages/docs/assets/mikrotik-csr326-24g-2s-rm.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added pages/docs/assets/pic1.webp
Binary file not shown.
Binary file added pages/docs/assets/pic2.webp
Binary file not shown.
Binary file added pages/docs/assets/pic3.webp
Binary file not shown.
Binary file added pages/docs/assets/renovate.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit 05518c3

Please sign in to comment.