Skip to content

Add examples, concepts, and getting started documentation - #24

Open
abdelrahman-attala wants to merge 2 commits into
mainfrom
docs-setup
Open

Add examples, concepts, and getting started documentation#24
abdelrahman-attala wants to merge 2 commits into
mainfrom
docs-setup

Conversation

@abdelrahman-attala

Copy link
Copy Markdown

review ba2a

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We need to mention here the installation method using helm repo and helm chart. this is like way around

Comment thread docs/examples/index.md
@@ -0,0 +1,15 @@
# Examples

This section provides simple examples of the three main Koptan resources:

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Explain the relations and dependency more between the three phases

Comment thread docs/concepts/voyage.md
Comment on lines +16 to +21
## Implementation Clues in the Repository

Relevant files include:

- `api/v1alpha/voyage_types.go`
- `internal/controller/voyage_controller.go`

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
## Implementation Clues in the Repository
Relevant files include:
- `api/v1alpha/voyage_types.go`
- `internal/controller/voyage_controller.go`

Comment thread docs/overview.md

Koptan currently introduces the following main custom resources:

- **GoApp**

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Put the app types under a category App

Comment thread docs/overview.md

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please add a chart or draw here. Showing this in visual way

Comment thread mkdocs.yml
Comment on lines +61 to +80
nav:
- Home: index.md
- Overview: overview.md

- Concepts:
- Overview: concepts/index.md
- Apps: concepts/apps.md
- Slipway: concepts/slipway.md
- Voyage: concepts/voyage.md

- Getting Started:
- Overview: getting-started/index.md
- Installation: getting-started/installation.md
- Quickstart: getting-started/quickstart.md

- Examples:
- Overview: examples/index.md
- App Example: examples/app.md
- Slipway Example: examples/slipway.md
- Voyage Example: examples/voyage.md

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this really needed?!

Suggested change
nav:
- Home: index.md
- Overview: overview.md
- Concepts:
- Overview: concepts/index.md
- Apps: concepts/apps.md
- Slipway: concepts/slipway.md
- Voyage: concepts/voyage.md
- Getting Started:
- Overview: getting-started/index.md
- Installation: getting-started/installation.md
- Quickstart: getting-started/quickstart.md
- Examples:
- Overview: examples/index.md
- App Example: examples/app.md
- Slipway Example: examples/slipway.md
- Voyage Example: examples/voyage.md

@mahmoudk1000
mahmoudk1000 requested a review from Copilot March 26, 2026 11:55
@mahmoudk1000 mahmoudk1000 linked an issue Mar 26, 2026 that may be closed by this pull request
@mahmoudk1000 mahmoudk1000 added this to the v0.1 Beta milestone Mar 26, 2026
@mahmoudk1000 mahmoudk1000 added the good first issue Good for newcomers label Mar 26, 2026

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds foundational MkDocs documentation for Koptan, including overview/concepts, a getting-started flow, and example manifests to help users understand and adopt the CRDs.

Changes:

  • Expanded mkdocs.yml with richer theme configuration and a structured nav for Overview/Concepts/Getting Started/Examples.
  • Added new docs pages under docs/concepts/, docs/getting-started/, docs/examples/, plus a top-level docs/overview.md.
  • Introduced example YAML manifests for App/Slipway/Voyage resources.

Reviewed changes

Copilot reviewed 13 out of 13 changed files in this pull request and generated 6 comments.

Show a summary per file
File Description
mkdocs.yml Adds site metadata, theme features, plugins, and navigation for new documentation sections.
docs/overview.md High-level overview of Koptan’s purpose and main CRDs.
docs/concepts/index.md Entry page for the Concepts section.
docs/concepts/apps.md Describes App resource types and where they live in the repo.
docs/concepts/slipway.md Describes Slipway’s role and points to relevant implementation files.
docs/concepts/voyage.md Describes Voyage’s role and points to relevant implementation files.
docs/getting-started/index.md Entry page for Getting Started.
docs/getting-started/installation.md Installation instructions for CRDs/operator (currently has a rendering issue).
docs/getting-started/quickstart.md Minimal “create an App” walkthrough (currently has correctness/rendering issues).
docs/examples/index.md Explains the typical workflow and links to examples.
docs/examples/app.md Example manifests for GoApp/JavaApp/DotnetApp.
docs/examples/slipway.md Slipway example manifests (currently missing required fields).
docs/examples/voyage.md Voyage example manifests (currently has major markdown structure issues).
Comments suppressed due to low confidence (1)

docs/getting-started/installation.md:21

  • The bash code fence is opened but never closed, which will break the rest of the page rendering. Add a closing triple-backtick after the kubectl apply command.
```bash
kubectl apply -k config/crd


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

A minimal example is shown below:

```yaml
apiVersion: koptan.felukka.sh/v1alpha1

Copilot AI Mar 26, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The Quickstart YAML uses apiVersion: koptan.felukka.sh/v1alpha1, but the CRDs in this repo are registered under koptan.felukka.org/v1alpha (see api/v1alpha/groupversion_info.go). Update the example to the correct group/version so it can be applied successfully.

Suggested change
apiVersion: koptan.felukka.sh/v1alpha1
apiVersion: koptan.felukka.org/v1alpha

Copilot uses AI. Check for mistakes.
metadata:
name: example-goapp
spec:
{}

Copilot AI Mar 26, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

GoAppSpec requires spec.source (with at least repo), but this example uses spec: {} which will fail validation/admission. Update the minimal example to include spec.source.repo (and optionally revision).

Suggested change
{}
source:
repo: https://github.com/my-org/my-go-app.git
revision: main

Copilot uses AI. Check for mistakes.
Comment on lines +18 to +20
```yaml
apiVersion: koptan.felukka.sh/v1alpha1
kind: GoApp

Copilot AI Mar 26, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The YAML code fence is opened but never closed, which will break page rendering in MkDocs. Add a closing triple-backtick after the example manifest.

Copilot uses AI. Check for mistakes.
Comment thread docs/examples/slipway.md
Comment on lines +11 to +20
```yaml
apiVersion: koptan.felukka.org/v1alpha
kind: Slipway
metadata:
name: feedme
spec:
appRef:
name: feedme
kind: GoApp
```

Copilot AI Mar 26, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

SlipwaySpec requires spec.image (registry/name, etc.), but these examples only include spec.appRef. As written they won't pass CRD validation. Include a minimal spec.image block in each Slipway example (or adjust the text to state the omitted fields are required).

Copilot uses AI. Check for mistakes.
Comment thread docs/examples/voyage.md
Comment on lines +2 to +7
---

# 📄 `docs/examples/voyage.md`

```md
# Voyage Example

Copilot AI Mar 26, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This page starts with a bare --- and then wraps all content inside a fenced ```md block plus a file-path heading. That structure is inconsistent with the other docs pages and also results in broken markdown (the md fence is never closed). Remove the wrapper/front-matter placeholder and make the page a normal markdown document starting with `# Voyage Example`.

Copilot uses AI. Check for mistakes.
Comment thread docs/examples/voyage.md
Comment on lines +68 to +69
```bash
kubectl apply -f voyage.yaml No newline at end of file

Copilot AI Mar 26, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The final bash snippet opens a fenced block but never closes it, so MkDocs will treat the rest of the file as code. Add a closing triple-backtick after the kubectl apply command.

Copilot uses AI. Check for mistakes.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 13 out of 14 changed files in this pull request and generated 2 comments.

Comments suppressed due to low confidence (2)

docs/getting-started/installation.md:21

  • The shell snippet code block is opened but not closed. Add the closing code fence so the page renders correctly.
```bash
kubectl apply -k config/crd

docs/getting-started/quickstart.md:25

  • The YAML code block is opened but never closed, which will cause the rest of the page (and potentially subsequent Markdown rendering) to be treated as code. Add the closing fence after the manifest.
```yaml
apiVersion: koptan.felukka.sh/v1alpha1
kind: GoApp
metadata:
  name: example-goapp
spec:
  {}


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread docs/examples/slipway.md
Comment on lines +12 to +20
apiVersion: koptan.felukka.org/v1alpha
kind: Slipway
metadata:
name: feedme
spec:
appRef:
name: feedme
kind: GoApp
```

Copilot AI Mar 29, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

SlipwaySpec requires spec.image (registry/name), but the examples omit it, so these manifests won’t validate/apply. Please include the required image fields in the Slipway examples.

Copilot uses AI. Check for mistakes.
Comment thread docs/examples/slipway.md
Comment on lines +50 to +51
```bash
kubectl apply -f slipway.yaml No newline at end of file

Copilot AI Mar 29, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The kubectl apply snippet code block is opened but not closed. Add the closing fence so the rest of the page renders normally.

Copilot uses AI. Check for mistakes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

good first issue Good for newcomers

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Create Initial Documentation for Koptan

3 participants