Skip to content

Marvin/readme - #208

Merged
klaudiatarabasz merged 2 commits into
mainfrom
marvin/Readme
Jul 17, 2026
Merged

Marvin/readme#208
klaudiatarabasz merged 2 commits into
mainfrom
marvin/Readme

Conversation

@DarkbreakerDE

@DarkbreakerDE DarkbreakerDE commented Jul 17, 2026

Copy link
Copy Markdown
Collaborator

Summary by CodeRabbit

  • Documentation
    • Added a streamlined Quick Start guide covering local, Kubernetes, and Azure deployments.
    • Added instructions for optional Ollama configuration and local gameplay.
    • Documented automated release workflows and production deployment prerequisites.
    • Added operations and monitoring guidance, including service health endpoints, Grafana access, and alert testing.
    • Refreshed links to further documentation.

@coderabbitai

coderabbitai Bot commented Jul 17, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

📝 Walkthrough

Walkthrough

README.md is substantially rewritten with Quick Start, local and hosted deployment instructions, a Sudoku AI usage guide, release and monitoring procedures, and refreshed documentation links.

Changes

README documentation refresh

Layer / File(s) Summary
Onboarding and local usage
README.md
Adds clone instructions, Kubernetes and Azure deployment details, Docker Compose setup for OpenAI or Ollama, and step-by-step Sudoku AI gameplay guidance.
Deployment and operations
README.md
Documents GitHub Actions release flows, Azure prerequisites, service health and API endpoints, Grafana access, and alert testing.
Further documentation links
README.md
Replaces prior documentation lists with links for configuration, deployment, health checks, APIs, and releases.

Estimated code review effort: 1 (Trivial) | ~5 minutes

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 inconclusive)

Check name Status Explanation Resolution
Title check ❓ Inconclusive The title is too vague and only names the branch, so it does not describe the README changes. Rename the PR to summarize the main change, e.g. 'Rewrite README with quick start, deployment, and monitoring docs.'
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch marvin/Readme

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@klaudiatarabasz klaudiatarabasz left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

looks nice

@klaudiatarabasz
klaudiatarabasz merged commit b944101 into main Jul 17, 2026
5 of 6 checks passed
@klaudiatarabasz
klaudiatarabasz deleted the marvin/Readme branch July 17, 2026 21:32

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Actionable comments posted: 5

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@README.md`:
- Line 18: Update the README Quick Start around the SSH git clone command to
include an equivalent HTTPS clone command, ensuring first-time contributors can
proceed without GitHub SSH key configuration.
- Around line 22-30: The deployment links in the README expose sign-in-capable
services over plain HTTP. Replace the Kubernetes and Azure URLs with HTTPS
endpoints, or clearly label both deployments as non-production and unsuitable
for real accounts if HTTPS is unavailable; preserve the Azure dynamic-IP
guidance.
- Around line 34-38: Update the development Compose service in
docker-compose.dev.yaml to pass OPENAI_API_KEY using the project’s supported
environment or secret-file mechanism, then revise the README OpenAI startup
instructions to document the required safe key setup before the command. Ensure
the advertised command starts the service with credentials available when
LLM_PROVIDER=openai.
- Line 101: Remove the hard-coded Grafana admin/admin credentials from the
README deployment instructions. Configure Grafana in docker-compose.yaml to read
the admin password from a secret-backed setting such as
GF_SECURITY_ADMIN_PASSWORD__FILE, and document that credentials are
deployment-specific rather than providing default login values.
- Around line 46-56: Update the README’s local Ollama usage section to add a
matching teardown command after the Ollama startup example, including the
local-llm profile and both compose files, so the profiled service is stopped
cleanly.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 212342e6-43a5-4787-841b-36b90d44d2c9

📥 Commits

Reviewing files that changed from the base of the PR and between a360fc8 and 247af9b.

⛔ Files ignored due to path filters (1)
  • doc/pictures/Sudoku AI.png is excluded by !**/*.png
📒 Files selected for processing (1)
  • README.md

Comment thread README.md
Clone the repository:

```bash
git clone git@github.com:AET-DevOps26/team-merge-build-repeat.git

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

Offer an HTTPS clone command too.

The SSH-only command requires a preconfigured GitHub SSH key, but the Quick Start does not mention that prerequisite. Provide an HTTPS alternative or document SSH setup so first-time contributors are not blocked. (docs.github.com)

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@README.md` at line 18, Update the README Quick Start around the SSH git clone
command to include an equivalent HTTPS clone command, ensuring first-time
contributors can proceed without GitHub SSH key configuration.

Comment thread README.md
Comment on lines +22 to +30
### Kubernetes Deployment

The Kubernetes deployment is available at [http://131.159.88.14/](http://131.159.88.14/).

### Azure Deployment

The Azure deployment is available at [http://51.12.95.237/](http://51.12.95.237/).

> The Azure public IP address is not persistent. After `terraform destroy` and a subsequent Terraform deployment, Azure may assign a different IP address. Update this URL accordingly.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🔒 Security & Privacy | 🟠 Major | ⚡ Quick win

Do not publish sign-in endpoints over plain HTTP.

These deployment links use http://, while the usage guide asks users to create accounts and sign in with email. HTTP traffic is unencrypted and can expose credentials and session data. Publish HTTPS endpoints, or clearly mark these deployments as non-production and unsuitable for real accounts. (developer.mozilla.org)

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@README.md` around lines 22 - 30, The deployment links in the README expose
sign-in-capable services over plain HTTP. Replace the Kubernetes and Azure URLs
with HTTPS endpoints, or clearly label both deployments as non-production and
unsuitable for real accounts if HTTPS is unavailable; preserve the Azure
dynamic-IP guidance.

Comment thread README.md
Comment on lines +34 to +38
Start the local stack with OpenAI as the LLM provider:

### Ansible Deployment
```bash
LLM_PROVIDER=openai docker compose -f docker-compose.yaml -f docker-compose.dev.yaml up --build
```

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

Document and wire the OpenAI API key before advertising this command.

The development Compose service passes LLM_PROVIDER and Ollama settings, but no OPENAI_API_KEY or secret-file setting. Selecting openai therefore starts the service without credentials, so AI requests will fail. Add the key handling to docker-compose.dev.yaml and document the safe setup here. (github.com)

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@README.md` around lines 34 - 38, Update the development Compose service in
docker-compose.dev.yaml to pass OPENAI_API_KEY using the project’s supported
environment or secret-file mechanism, then revise the README OpenAI startup
instructions to document the required safe key setup before the command. Ensure
the advertised command starts the service with credentials available when
LLM_PROVIDER=openai.

Comment thread README.md
Comment on lines +46 to +56
Stop the stack when finished:

```bash
docker compose -f docker-compose.yaml -f docker-compose.dev.yaml down
```

To use a local Ollama model instead, set `LLM_PROVIDER=ollama` and enable the `local-llm` profile:

```bash
LLM_PROVIDER=ollama docker compose --profile local-llm -f docker-compose.yaml -f docker-compose.dev.yaml up --build
```

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🩺 Stability & Availability | 🟡 Minor | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

printf '\n## README excerpt\n'
nl -ba README.md | sed -n '38,70p'

printf '\n## Compose files mentioning profiles/services\n'
rg -n --hidden --no-messages 'profile|profiles|local-llm|ollama' docker-compose*.yml docker-compose*.yaml README.md

printf '\n## Relevant compose file snippets\n'
for f in docker-compose.yaml docker-compose.dev.yaml; do
  if [ -f "$f" ]; then
    printf '\n### %s\n' "$f"
    nl -ba "$f" | sed -n '1,220p'
  fi
done

Repository: AET-DevOps26/team-merge-build-repeat

Length of output: 233


🏁 Script executed:

#!/bin/bash
set -euo pipefail

python3 - <<'PY'
import pathlib, re

for path in [pathlib.Path('README.md'), pathlib.Path('docker-compose.yaml'), pathlib.Path('docker-compose.dev.yaml')]:
    if path.exists():
        print(f"\n### {path}")
        text = path.read_text()
        for m in re.finditer(r'(?m)^(.*(?:profile|profiles|local-llm|ollama).*)$', text):
            line_no = text[:m.start()].count('\n') + 1
            print(f"{line_no}: {m.group(1)}")
PY

Repository: AET-DevOps26/team-merge-build-repeat

Length of output: 902


🌐 Web query:

docker compose down profiles inactive profile stops containers official docs

💡 Result:

In Docker Compose, running docker compose down by default only stops and removes services that are currently defined in your active configuration [1][2]. If you have services assigned to profiles that are not currently active (enabled), they are typically ignored by the down command, meaning their containers will remain running [3][4][2]. To ensure that all services—including those with inactive profiles—are stopped and removed during a down operation, you can use one of the following methods: 1. Enable all profiles: You can use the --profile "" flag to include all profiles in the command [5]. docker compose --profile "" down 2. Target the project name: If you run docker compose down without specifying a configuration file (or if you target the project name specifically), Compose will attempt to identify and remove all containers associated with that project, regardless of their profile status [2]. Please note that the behavior of down with profiles has been a subject of discussion regarding whether it should automatically include all services [6][2]. Because Compose parses the configuration file to determine which services to affect, it only sees the services that are active under the current profile configuration [2]. Explicitly enabling all profiles or managing the project state ensures consistent cleanup [2][5].

Citations:


Add a profiled teardown command. docker compose down won’t include the local-llm service unless that profile is active, so add a matching docker compose --profile local-llm down after the Ollama example to stop it cleanly.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@README.md` around lines 46 - 56, Update the README’s local Ollama usage
section to add a matching teardown command after the Ollama startup example,
including the local-llm profile and both compose files, so the profiled service
is stopped cleanly.

Comment thread README.md
| GenAI | `<base-url>/genai/actuator/health` | `<base-url>/genai/actuator/info` | `<base-url>/genai/docs` |
| Game Engine | `<base-url>/game-engine/actuator/health` | `<base-url>/game-engine/actuator/info` | `<base-url>/game-engine/docs` |

Grafana is available at `<base-url>/grafana`. The default credentials are `admin` / `admin`.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🔒 Security & Privacy | 🟠 Major | 🏗️ Heavy lift

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

printf 'Repo root: '; pwd
printf '\nFiles of interest:\n'
git ls-files | rg '(^|/)(README\.md|docker-compose\.ya?ml)$'

printf '\nREADME excerpts around Grafana mention:\n'
if [ -f README.md ]; then
  rg -n -C 2 'Grafana|admin/admin|admin / admin|GF_SECURITY_ADMIN_PASSWORD|base-url' README.md || true
fi

printf '\nCompose excerpts around Grafana env/config:\n'
for f in $(git ls-files | rg 'docker-compose\.ya?ml$'); do
  echo "--- $f ---"
  rg -n -C 3 'grafana|GF_SECURITY_ADMIN_PASSWORD|GF_SECURITY_ADMIN_PASSWORD__FILE|admin_password|GF_' "$f" || true
done

Repository: AET-DevOps26/team-merge-build-repeat

Length of output: 2276


Avoid documenting Grafana’s default admin credentials. README.md:101 exposes a deployable Grafana URL with the default admin/admin login, and docker-compose.yaml does not override the admin password. Use a secret-backed password such as GF_SECURITY_ADMIN_PASSWORD__FILE and document deployment-specific credentials instead.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@README.md` at line 101, Remove the hard-coded Grafana admin/admin credentials
from the README deployment instructions. Configure Grafana in
docker-compose.yaml to read the admin password from a secret-backed setting such
as GF_SECURITY_ADMIN_PASSWORD__FILE, and document that credentials are
deployment-specific rather than providing default login values.

@coderabbitai coderabbitai Bot mentioned this pull request Jul 18, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants