forked from clan/clan-core
docs: add use-cases for different kinds of users
This commit is contained in:
parent
6ed261da1e
commit
7f691a0cd0
43
docs/use-cases/01-self-host.md
Normal file
43
docs/use-cases/01-self-host.md
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
# Self Hosting
|
||||||
|
|
||||||
|
## General Description
|
||||||
|
|
||||||
|
Self-hosting refers to the practice of hosting and maintaining servers, networks, storage, services, and other types of infrastructure by oneself rather than relying on a third-party vendor. This could involve running a server from a home or business location, or leasing a dedicated server at a data center.
|
||||||
|
|
||||||
|
There are several reasons for choosing to self-host. These can include:
|
||||||
|
|
||||||
|
1. Cost savings: Over time, self-hosting can be more cost-effective, especially for businesses with large scale needs.
|
||||||
|
|
||||||
|
1. Control: Self-hosting provides a greater level of control over the infrastructure and services. It allows the owner to customize the system to their specific needs.
|
||||||
|
|
||||||
|
1. Privacy and security: Self-hosting can offer improved privacy and security because data remains under the control of the host rather than being stored on third-party servers.
|
||||||
|
|
||||||
|
1. Independent: Being independent of third-party services can ensure that one's websites, applications, or services remain up even if the third-party service goes down.
|
||||||
|
|
||||||
|
## Stories
|
||||||
|
|
||||||
|
### Story 1: Private mumble server hosted at home
|
||||||
|
|
||||||
|
Alice wants to self-host a mumble server for her family.
|
||||||
|
|
||||||
|
- She visits to the cLAN website, and follows the instructions on how to install cLAN-OS on her server.
|
||||||
|
- Alice logs into a terminal on her server via SSH (alternatively uses cLAN GUI app)
|
||||||
|
- Using the cLAN CLI or GUI tool, alice creates a new private network for her family (VPN)
|
||||||
|
- Alice now browses a list of curated cLAN modules and finds a module for mumble.
|
||||||
|
- She adds this module to her network using the cLAN tool.
|
||||||
|
- After that, she uses the clan tool to invite her family members to her network
|
||||||
|
- Other family members join the private network via the invitation.
|
||||||
|
- By accepting the invitation, other members automatically install all required software to interact with the network on their machine.
|
||||||
|
|
||||||
|
### Story 2: Adding a service to an existing network
|
||||||
|
|
||||||
|
Alice wants to add a photos app to her private network
|
||||||
|
|
||||||
|
- She uses the clan CLI or GUI tool to manage her existing private cLAN family network
|
||||||
|
- She discovers a module for photoprism, and adds it to her server using the tool
|
||||||
|
- Other members who are already part of her network, will receive a notification that an update is required to their environment
|
||||||
|
- After accepting, all new software and services to interact with the new photoprism service will be installed automatically.
|
||||||
|
|
||||||
|
## Challenges
|
||||||
|
|
||||||
|
...
|
37
docs/use-cases/02-join-network.md
Normal file
37
docs/use-cases/02-join-network.md
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
# Joining a cLAN network
|
||||||
|
|
||||||
|
## General Description
|
||||||
|
|
||||||
|
Joining a self-hosted infrastructure involves connecting to a network, server, or system that is privately owned and managed, instead of being hosted by a third-party service provider. This could be a business's internal server, a private cloud setup, or any other private IT infrastructure that is not publicly accessible or controlled by outside entities.
|
||||||
|
|
||||||
|
## Stories
|
||||||
|
|
||||||
|
### Story 1: Joining a private network
|
||||||
|
|
||||||
|
Alice' son Bob has never heard of cLAN, but receives an invitation URL from Alice who already set up private cLAN network for her family.
|
||||||
|
|
||||||
|
Bob opens the invitation link and lands on the cLAN website. He quickly learns about what cLAN is and can see that the invitation is for a private network of his family that hosts a number of services, like a private voice chat and a photo sharing platform.
|
||||||
|
|
||||||
|
Bob decides to join the network and follows the instructions to install the cLAN tool on his computer.
|
||||||
|
|
||||||
|
Feeding the invitation link to the cLAN tool, bob registers his machine with the network.
|
||||||
|
|
||||||
|
All programs required to interact with the network will be installed and configured automatically and securely.
|
||||||
|
|
||||||
|
Optionally, bob can customize the configuration of these programs through a simplified configuration interface.
|
||||||
|
|
||||||
|
### Story 2: Receiving breaking changes
|
||||||
|
|
||||||
|
The cLAN family network which Bob is part of received an update.
|
||||||
|
|
||||||
|
The existing photo sharing service has been removed and replaced with another alternative service. The new photo sharing service requires a different client app to view and upload photos.
|
||||||
|
|
||||||
|
Bob accepts the update. Now his environment will be updated. The old client software will be removed and the new one installed.
|
||||||
|
|
||||||
|
Because Bob has customized the previous photo viewing app, he is notified that this customization is no longer valid, as the software has been removed (deprecation message).l
|
||||||
|
|
||||||
|
Optionally, Bob can now customize the new photo viewing software through his cLAN configuration app or via a config file.
|
||||||
|
|
||||||
|
## Challenges
|
||||||
|
|
||||||
|
...
|
25
docs/use-cases/03-maintaining-clan-modules.md
Normal file
25
docs/use-cases/03-maintaining-clan-modules.md
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
# cLAN module maintaining
|
||||||
|
|
||||||
|
## General Description
|
||||||
|
|
||||||
|
cLAN modules are pieces of software that can be used by admins to build a private or public infrastructure.
|
||||||
|
|
||||||
|
cLAN modules should have the following properties:
|
||||||
|
|
||||||
|
1. Documented: It should be clear what the module does and how to use it.
|
||||||
|
1. Self contained: A module should be usable as is. If it requires any other software or settings, those should be delivered with the module itself.
|
||||||
|
1. Simple to deploy and use: Modules should have opinionated defaults that just work. Any customization should be optional
|
||||||
|
|
||||||
|
## Stories
|
||||||
|
|
||||||
|
### Story 1: Maintaining a shared folder module
|
||||||
|
|
||||||
|
Alice maintains a module for a shared folder service that she uses in her own infra, but also publishes for the community.
|
||||||
|
|
||||||
|
By following clan module standards (Backups, Interfaces, Output schema, etc), other community members have an easy time re-using the module within their own infra.
|
||||||
|
|
||||||
|
She benefits from publishing the module, because other community members start using it and help to maintain it.
|
||||||
|
|
||||||
|
## Challenges
|
||||||
|
|
||||||
|
...
|
17
docs/use-cases/_template.md
Normal file
17
docs/use-cases/_template.md
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
# (TITLE)
|
||||||
|
|
||||||
|
## General Description
|
||||||
|
|
||||||
|
## Stories
|
||||||
|
|
||||||
|
### Story 1: Some Description
|
||||||
|
|
||||||
|
Alice...
|
||||||
|
|
||||||
|
### Story 2: Some Description
|
||||||
|
|
||||||
|
Bob...
|
||||||
|
|
||||||
|
## Challenges
|
||||||
|
|
||||||
|
...
|
Loading…
Reference in New Issue
Block a user