https://github.com/vojtechmares/devopsglossary
DevOps Glossary project repository
https://github.com/vojtechmares/devopsglossary
Last synced: about 1 month ago
JSON representation
DevOps Glossary project repository
- Host: GitHub
- URL: https://github.com/vojtechmares/devopsglossary
- Owner: vojtechmares
- License: mit
- Created: 2025-04-25T13:44:11.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2026-03-20T21:09:00.000Z (3 months ago)
- Last Synced: 2026-03-21T11:45:22.319Z (3 months ago)
- Language: TypeScript
- Homepage: https://devopsglossary.com
- Size: 881 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# DevOps Glossary
The Urban Dictionary for DevOps — a curated glossary of 108+ DevOps terms, explained with clarity and a bit of personality.
**Live site:** [devopsglossary.com](https://devopsglossary.com)
## Tech Stack
- [Astro](https://astro.build) — static site generation with on-demand rendering
- [React](https://react.dev) — interactive UI components
- [TypeScript](https://www.typescriptlang.org) — type safety
- [Tailwind CSS v4](https://tailwindcss.com) — styling
- [Vitest](https://vitest.dev) — testing
- Custom Node.js server (`@astrojs/node` adapter)
## Prerequisites
- Node.js >= 22.12.0
- [pnpm](https://pnpm.io)
## Getting Started
```bash
pnpm install
pnpm dev # Start dev server
pnpm build # Production build
pnpm start # Run production server
pnpm new # Create a new glossary term
pnpm test # Run tests
pnpm test:watch # Run tests in watch mode
```
## Project Structure
```
src/
├── components/ # React and Astro components
├── content.config.ts # Content collection schema
├── data/terms/ # Glossary term files (.md)
├── layouts/ # Page layouts
├── pages/ # Astro routes
├── server.ts # Custom Node.js server
└── styles/ # Global styles
deploy/k8s/ # Helm chart for Kubernetes deployment
.github/workflows/ # CI/CD pipeline
```
## Adding a Glossary Term
The easiest way to add a term is with the interactive script:
```bash
pnpm new
```
It will prompt for all required fields, validate your input, and generate the file.
Alternatively, create a new `.md` file in `src/data/terms/` manually:
```markdown
---
title: My Term
slug: my-term
description: "A short description (max 160 characters)."
relatedTerms:
- some-other-term
tags:
- relevant-tag
category: tool
dateAdded: 2026-01-01
---
Your explanation here. Be clear, be useful, have fun with it.
```
### Frontmatter Fields
| Field | Required | Description |
|---|---|---|
| `title` | Yes | Display name |
| `slug` | Yes | URL path segment |
| `description` | Yes | Short description (max 160 chars, used for SEO) |
| `abbreviation` | No | Common abbreviation (e.g., "K8s") |
| `relatedTerms` | No | Array of slugs linking to other terms |
| `tags` | No | Array of tags for categorization |
| `category` | Yes | One of: `methodology`, `tool`, `platform`, `concept`, `operating-system`, `practice`, `observability` |
| `dateAdded` | No | Date the term was added |
## Deployment
### Docker
```bash
docker build -t devopsglossary .
docker run -p 8080:8080 devopsglossary
```
### Kubernetes
A Helm chart is provided in `deploy/k8s/`:
```bash
helm install devopsglossary deploy/k8s/ -f deploy/k8s/values.production.yaml
```
### CI/CD
GitHub Actions workflow in `.github/workflows/main.yml` handles build and deployment.
## License
[MIT](LICENSE)