move to project lifecycle structure
This commit is contained in:
72
README.md
72
README.md
@@ -6,7 +6,11 @@ A project to store homelab stuff.
|
||||
|
||||
- [Homelab](#homelab)
|
||||
- [Table of Contents](#table-of-contents)
|
||||
- [Apps](#apps)
|
||||
- [Project Lifecycle](#project-lifecycle)
|
||||
- [Supported Projects](#supported-projects)
|
||||
- [Graduation Requirements](#graduation-requirements)
|
||||
- [Retirement Requirements](#retirement-requirements)
|
||||
- [Apps (TODO: Move these into their respective folders)](#apps-todo-move-these-into-their-respective-folders)
|
||||
- [Gitea](#gitea)
|
||||
- [Staging](#staging)
|
||||
- [Install](#install)
|
||||
@@ -20,7 +24,71 @@ A project to store homelab stuff.
|
||||
- [Wordpress](#wordpress)
|
||||
- [Grafana](#grafana)
|
||||
|
||||
## Apps
|
||||
## Project Lifecycle
|
||||
|
||||
Projects will fall into one of the three following categories:
|
||||
|
||||
1. Incubating
|
||||
2. Graduated
|
||||
3. Retired
|
||||
|
||||
Incubating projects are experimental or prototypal. They're being actively developed and aren't
|
||||
ready for production deployment. These projects may appear and disappear without warning and are not
|
||||
stable. There is no minimum requirement for a project to be in incubation.
|
||||
|
||||
Graduated projects are in-use, stable, and production ready. They met the [graduation
|
||||
requirements](#graduation-requirements) and are actively maintained.
|
||||
|
||||
Retired projects are no longer in use or recommended. They are kept for reference. Retired projects
|
||||
must meet the [retirement requirements](#retirement-requirements)
|
||||
|
||||
## Supported Projects
|
||||
|
||||
All projects will fall into one of the following categories:
|
||||
|
||||
- hardware
|
||||
- infrastructure
|
||||
- cloud
|
||||
- systemd
|
||||
- podman
|
||||
- docker
|
||||
- kubernetes
|
||||
|
||||
Hardware will contain projects that relate to specific machines or equipment. 3D printers, Raspberry
|
||||
Pis, and other IOT devices qualify as specialized hardware that needs documentation and configuration.
|
||||
|
||||
Infrastructure will contain projects that set up the environments for the remaining listed project
|
||||
types. For example, infrastructure will contain "how to set up a linux box with docker" or "how to
|
||||
set up a k3s cluster for kubernetes".
|
||||
|
||||
Cloud projects are for specific cloud providers.
|
||||
|
||||
Systemd projects are designed to be installed with ansible and run via systemd on a linux VM or
|
||||
other linux hardware.
|
||||
|
||||
Podman projects are either designed to be run as quadlets or as podman containers outright.
|
||||
|
||||
Docker projects are either docker-compose or some form of docker run command.
|
||||
|
||||
Kubernetes projects are helm, kustomize, kubectl, or some other kubernetes compliant deployment.
|
||||
|
||||
## Graduation Requirements
|
||||
|
||||
- [ ] Installation is documented
|
||||
- [ ] Installation configuration examples are provided
|
||||
- [ ] Hardening guidelines are documented
|
||||
- [ ] Upgrade procedures are documented
|
||||
- [ ] Maintenance procedures are documented
|
||||
- [ ] Uninstall procedures are documented
|
||||
- [ ] Backup and restore procedures are documented and tested
|
||||
|
||||
## Retirement Requirements
|
||||
|
||||
- [ ] A reason for retirement is documented
|
||||
- [ ] If applicable, a replacement has been identified and documented
|
||||
- [ ] If applicable, backup data locations are documented
|
||||
|
||||
## Apps (TODO: Move these into their respective folders)
|
||||
|
||||
### Gitea
|
||||
|
||||
|
||||
Reference in New Issue
Block a user