Skip to content

SK-98 / Simkube AMI docs#218

Open
ogorman89 wants to merge 9 commits intomainfrom
ian/ami-docs
Open

SK-98 / Simkube AMI docs#218
ogorman89 wants to merge 9 commits intomainfrom
ian/ami-docs

Conversation

@ogorman89
Copy link
Contributor

Related Links

Description and Rationale

Drafts of a few docs for AMIs, I called this section Infrastructure but would love a suggestion:

  • overview.md - a basic rundown of offerings
  • amis.md - a little more detail on the AMIs, I expect this page to grow more over time?
  • usage.md - high level how to find/use the AMIs
  • github-runners.md - high level using the SimKube Action Runner AMI
  • two quick start guides:
    • run-sim.md - basic how to run a sim on EC2
    • ci-sim.md - basic how to setup ci runners using GitHub actions and simkube-ci-action

How

  • mainly keyboard, some hair tearing

Test Steps

  • none

Other Notes

  • I could use some help calibrating this, it feels... verbose but also I expect most people will just go to the quickstart stuff?

  • [ x ] I certify that this PR does not contain any code that has been generated with GitHub Copilot or any other AI-based code generation tool, in accordance with this project's policies.

@ogorman89 ogorman89 requested a review from drmorr0 February 5, 2026 18:05
@ogorman89 ogorman89 self-assigned this Feb 5, 2026
@codecov
Copy link

codecov bot commented Feb 5, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 74.41%. Comparing base (12955f5) to head (0c7d69d).
⚠️ Report is 6 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #218      +/-   ##
==========================================
- Coverage   75.76%   74.41%   -1.36%     
==========================================
  Files          58       63       +5     
  Lines        3326     3709     +383     
  Branches      167      181      +14     
==========================================
+ Hits         2520     2760     +240     
- Misses        701      844     +143     
  Partials      105      105              

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Copy link
Contributor

@drmorr0 drmorr0 left a comment

Choose a reason for hiding this comment

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

You can test how this will actually appear on the web by changing the branch name in the www repo to point to your branch:

https://github.com/acrlabs/www/blob/main/simkube.yml#L70

Then on your laptop you can run just run simkube and see the whole website at localhost:8001 (sadly the live updates thing doesn't work for the cross-repo docs, though, so when you make changes you have to push them to your branch, kill the mkdocs process, and restart it).

docs/mkdocs.yml Outdated
- Overview: docs/infra/overview.md
- Amazon Machine Images (AMI's): docs/infra/amis.md
- Using SimKube AMIs: docs/infra/usage.md
- Custom GithHub Action Runners: docs/infra/github-runners.md
Copy link
Contributor

Choose a reason for hiding this comment

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

These headings are probably going to be too long for the sidebar if I had to guess

docs/mkdocs.yml Outdated
- sk-ctrl: docs/components/sk-ctrl.md
- sk-driver: docs/components/sk-driver.md
- sk-tracer: docs/components/sk-tracer.md
- Infrastructure:
Copy link
Contributor

Choose a reason for hiding this comment

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

I don't like the name "Infrastructure" here -- something like "Prebuilt Simulation Environments" is closer to what I want, but that might be too long for the sidebar.

@ogorman89
Copy link
Contributor Author

You can test how this will actually appear on the web by changing the branch name in the www repo to point to your branch:

https://github.com/acrlabs/www/blob/main/simkube.yml#L70

Then on your laptop you can run just run simkube and see the whole website at localhost:8001 (sadly the live updates thing doesn't work for the cross-repo docs, though, so when you make changes you have to push them to your branch, kill the mkdocs process, and restart it).

Did that and caught a few more errors!

@ogorman89
Copy link
Contributor Author

The updated sidebar:

Screenshot 2026-02-11 at 10 22 09 AM

@ogorman89 ogorman89 requested a review from drmorr0 February 11, 2026 18:27
@drmorr0
Copy link
Contributor

drmorr0 commented Feb 13, 2026

The updated sidebar:

[image]

Oh! I've got it. Instead of "Prebuilt Simulation Environments", call it "SimKube in the Cloud"

|:-----------------------------------------------|:-----------:|:-------------------------:|
| Ubuntu 24.04 LTS Operating System | ✅ | ✅ |
| A running Kubernetes cluster & management tools| ✅ | ✅ |
| All SimKube components* | ✅ | ✅ |
Copy link
Contributor

Choose a reason for hiding this comment

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

I think maybe remove the asterisk here?

```

You will need to generate an pair of access tokens for in AWS for the IAM user you are using to access AWS resources. Hang onto those you will need them when you configure the secrets.
You will need to generate a `key pair` in AWS for the IAM user you are using to access AWS resources. Hang onto those; you will need them when you configure the secrets.
Copy link
Contributor

Choose a reason for hiding this comment

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

I don't think "key pair" should be in backticks.

## 5. Evaluating your results
Prometheus and Grafana are installed natively. Users can view simulation results by connecting to the Grafana pod on your EC2 instance.

See [Evaluate your results](./evaluate.md).
Copy link
Contributor

Choose a reason for hiding this comment

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

See "Evaluate your results" for more details.

```

## 1. Open the Grafana UI
<http://localhost:3000/>
Copy link
Contributor

Choose a reason for hiding this comment

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

In order to actually make this work (since your EC2 instance is headless) you need to tunnel traffic from your localhost to the EC2 instance, using something like

ssh -L <LOCAL_PORT>:<REMOTE_HOST>:<REMOTE_PORT> <ec2-instance-ip>

And then you can connect to https://localhost:<LOCAL_PORT> to view the grafana dashboard.


## Assumptions
- you have collected a trace from the cluster you want to simulate, if you still need to do this see [the sk-tracer docs](../components/sk-tracer.md).
- you have collected a trace from the cluster you want to simulate, if you still need to do this see [the sk-tracer docs](https://github.com/acrlabs/simkube/blob/main/docs/intro/running.md).
Copy link
Contributor

Choose a reason for hiding this comment

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

I don't think we want the github.com link here, this should just be ../intro/running.md?


> [!NOTE]
> `simkube-ci-action` runners are epehmeral-only and all data from the simulation is lost.
> In the future we expect to expose functionality that will allow data to be sent to external prometheus endpoints.
Copy link
Contributor

Choose a reason for hiding this comment

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

s/expect to/will/

## Assumptions
- you have collected a trace from the cluster you want to simulate, if you still need to do this see [the sk-tracer docs](https://github.com/acrlabs/simkube/blob/main/docs/intro/running.md).

[TODO] MOVE TO usage and link to that. Add full IAM policy JSON to examples/aws/
Copy link
Contributor

Choose a reason for hiding this comment

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

TODO

> For simplicity and ease of use, we recommend using AWS S3 to store your trace files.
> If your trace files are in S3, you can skip this step; SimKube will need additional IAM permissions to access your S3 bucket.

Copy your trace to the instance, the default SimKube trace location is /data/trace:
Copy link
Contributor

Choose a reason for hiding this comment

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

Should be /var/kind/cluster/trace, also enclose the path in backticks

Copy your trace to the instance, the default SimKube trace location is /data/trace:

```sh
scp your_trace_file ubuntu@<instance-ip>:/var/kind/<cluster-name>/trace
Copy link
Contributor

Choose a reason for hiding this comment

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

The AMI uses the default cluster name, right? It's just cluster? So we should probably specify the default/absolute path here.

@@ -0,0 +1,39 @@
{
Copy link
Contributor

Choose a reason for hiding this comment

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

Are you planning to link to this from somewhere?

The other option that might be better is to actually just embed this as a page in the "Reference" section. You can see other examples of embedding files, for example, here

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