Skip to content

Commit c3020af

Browse files
committed
Docs: Migrate structure to diataxes framework in markdown documents
1 parent 199bfac commit c3020af

File tree

7 files changed

+172
-0
lines changed

7 files changed

+172
-0
lines changed

docs/contributing/.gitkeep

Whitespace-only changes.

docs/explanation/.gitkeep

Whitespace-only changes.

docs/how-to/cli.md

Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
# Command-Line Interface
2+
3+
This page documents all available command-line tools provided by
4+
python-gardenlinux-lib. Run `command --help` for detailed usage information.
5+
6+
## Features Commands
7+
8+
### gl-cname
9+
10+
Generate a canonical name (cname) from feature sets.
11+
12+
```bash
13+
gl-cname [options]
14+
```
15+
16+
### gl-features-parse
17+
18+
Parse and extract information from GardenLinux features.
19+
20+
```bash
21+
gl-features-parse [options]
22+
```
23+
24+
## Flavors Commands
25+
26+
### gl-flavors-parse
27+
28+
Parse flavors.yaml and generate combinations.
29+
30+
```bash
31+
gl-flavors-parse [options]
32+
```
33+
34+
## OCI Commands
35+
36+
### gl-oci
37+
38+
Push OCI artifacts to a registry and manage manifests.
39+
40+
```bash
41+
gl-oci [command] [options]
42+
```
43+
44+
Commands:
45+
46+
- `push` - Push OCI artifacts to a registry
47+
- `manifest` - Manage OCI manifests
48+
49+
## S3 Commands
50+
51+
### gl-s3
52+
53+
Upload and download artifacts from S3 buckets.
54+
55+
```bash
56+
gl-s3 [command] [options]
57+
```
58+
59+
Commands:
60+
61+
- `upload` - Upload artifacts to S3
62+
- `download` - Download artifacts from S3
63+
64+
## GitHub Commands
65+
66+
### gl-gh-release
67+
68+
Create and manage GitHub releases.
69+
70+
```bash
71+
gl-gh-release [command] [options]
72+
```
73+
74+
Commands:
75+
76+
- `create` - Create a new release
77+
- `update` - Update an existing release
78+
- `list` - List all releases

docs/how-to/release.md

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
# Release Documentation
2+
3+
_python-gardenlinux-lib_ strictly follows the syntax and intention of
4+
[Semantic Versioning](https://www.semver.org). Each release reflects the
5+
intention and expected impact therefore.
6+
7+
A new release is done by tagging a commit with a valid version. This will create
8+
a GitHub pre-release for proof-reading. Once done a new release can be published
9+
using GitHub CLI or UI.
10+
11+
Newly added docstrings should contain the first version supporting the new API /
12+
command line.
13+
14+
## Step by Step Guide
15+
16+
1. **Set version files:**
17+
18+
_python-gardenlinux-lib_ versioning needs to be set in:
19+
20+
- `pyproject.toml`
21+
- `.github/actions/setup/action.yml`
22+
23+
Additionally at the moment (removal pending):
24+
25+
- `.github/actions/features_parse/action.yml`
26+
- `.github/actions/flavors_parse/action.yml`
27+
28+
2. **Create git tag:**
29+
30+
```bash
31+
git tag <tag>
32+
```
33+
34+
3. **Review and publish:**
35+
36+
Review the generated pre-release changelog by visiting the GitHub project
37+
release page and publish it if applicable.
38+
39+
4. **Consume the library:**
40+
41+
Projects consuming the _python-gardenlinux-lib_ may use the following git URL
42+
for dependency definition:
43+
44+
```bash
45+
pip install git+https://github.com/gardenlinux/python-gardenlinux-lib.git@1.0.0
46+
```
47+
48+
Or in `requirements.txt`:
49+
```
50+
gardenlinux @ git+https://github.com/gardenlinux/python-gardenlinux-lib.git@1.0.0
51+
```

docs/overview/index.md

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
# Garden Linux Python Library Documentation
2+
3+
Welcome to the Garden Linux Python Library documentation. This library provides
4+
Python tools and utilities for working with Garden Linux features, flavors, OCI
5+
artifacts, S3 buckets, and GitHub releases.
6+
7+
![Garden Linux Logo](../_static/gardenlinux-logo.svg)
8+
9+
## Overview
10+
11+
The Garden Linux Python Library is a comprehensive toolkit for managing and
12+
interacting with Garden Linux components. It includes:
13+
14+
- **Feature Management**: Parse and work with Garden Linux features and generate
15+
canonical names
16+
- **Flavor Processing**: Parse flavors.yaml and generate combinations
17+
- **OCI Operations**: Push OCI artifacts to registries and manage manifests
18+
- **S3 Integration**: Upload and download artifacts from S3 buckets
19+
- **GitHub Integration**: Create and manage GitHub releases with release notes
20+
21+
## Quick Start
22+
23+
### Command-Line Interface
24+
25+
The library provides several command-line tools for common operations. See the
26+
[Command-Line Interface documentation](../reference/cli.md) for detailed
27+
information about all available commands.
28+
29+
### Release Management
30+
31+
For information about versioning and release procedures, see the
32+
[Release documentation](../how-to/release.md).
33+
34+
### API Reference
35+
36+
For detailed Python API documentation, including all modules, classes, and
37+
functions, see the
38+
[API Reference on ReadTheDocs](https://gardenlinux.github.io/python-gardenlinux-lib/api.html).
39+
40+
## Documentation Sections
41+
42+
- [Command-Line Interface](../reference/cli.md)
43+
- [Release documentation](../how-to/release.md)

docs/reference/.gitkeep

Whitespace-only changes.

docs/tutorials/.gitkeep

Whitespace-only changes.

0 commit comments

Comments
 (0)