Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: acrlabs/simkube
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v1.1.1
Choose a base ref
...
head repository: acrlabs/simkube
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: master
Choose a head ref

Commits on Oct 24, 2024

  1. Copy the full SHA
    03693fb View commit details

Commits on Oct 25, 2024

  1. Copy the full SHA
    cd337e0 View commit details
  2. fix: kustomize CRD

    drmorr0 committed Oct 25, 2024
    Copy the full SHA
    7e5267b View commit details
  3. Copy the full SHA
    7669b40 View commit details
  4. Copy the full SHA
    e5731a5 View commit details
  5. Copy the full SHA
    eb19e83 View commit details
  6. ci: /bin/sh compatibility

    drmorr0 committed Oct 25, 2024
    Copy the full SHA
    edc72be View commit details

Commits on Oct 28, 2024

  1. Added logo and Mascot

    mmejia02 authored and drmorr0 committed Oct 28, 2024
    Copy the full SHA
    7695a09 View commit details

Commits on Oct 29, 2024

  1. Copy the full SHA
    9a9129e View commit details

Commits on Oct 30, 2024

  1. Copy the full SHA
    7af4327 View commit details
  2. Copy the full SHA
    c824f9c View commit details
  3. Copy the full SHA
    d583027 View commit details

Commits on Nov 5, 2024

  1. Copy the full SHA
    951eb7e View commit details

Commits on Nov 8, 2024

  1. Copy the full SHA
    32cd0c7 View commit details
  2. Copy the full SHA
    e054130 View commit details

Commits on Nov 10, 2024

  1. docs: remove old demo video

    drmorr0 committed Nov 10, 2024
    Copy the full SHA
    d8880cb View commit details

Commits on Nov 15, 2024

  1. Copy the full SHA
    b3cde6f View commit details
  2. Copy the full SHA
    7678afc View commit details
  3. Copy the full SHA
    80dbad6 View commit details

Commits on Nov 17, 2024

  1. chore: upgrade complete

    drmorr0 committed Nov 17, 2024
    Copy the full SHA
    c2f14c8 View commit details
  2. Copy the full SHA
    144c133 View commit details

Commits on Nov 19, 2024

  1. docs: add a changelog

    drmorr0 committed Nov 19, 2024
    Copy the full SHA
    6c45dc3 View commit details
  2. Copy the full SHA
    85f5f13 View commit details

Commits on Nov 20, 2024

  1. Copy the full SHA
    98e14f4 View commit details
  2. Copy the full SHA
    386744a View commit details
  3. release: version v2.0.0

    drmorr0 committed Nov 20, 2024
    Copy the full SHA
    21b5fe5 View commit details

Commits on Nov 22, 2024

  1. Copy the full SHA
    044a609 View commit details
  2. Copy the full SHA
    322cb22 View commit details

Commits on Nov 30, 2024

  1. Copy the full SHA
    7b7fb4a View commit details
  2. Copy the full SHA
    71a5eee View commit details

Commits on Dec 17, 2024

  1. Copy the full SHA
    aa21161 View commit details

Commits on Dec 19, 2024

  1. feat: annotations in skctl validate include possible patches instea…

    …d of just affected indices
    drmorr0 committed Dec 19, 2024
    Copy the full SHA
    e27ffc0 View commit details
  2. Copy the full SHA
    7a81987 View commit details
  3. chore: add .jj to .gitignore

    drmorr0 committed Dec 19, 2024
    Copy the full SHA
    6fbf91f View commit details

Commits on Dec 21, 2024

  1. Copy the full SHA
    e658de8 View commit details

Commits on Feb 7, 2025

  1. Copy the full SHA
    89358b7 View commit details
Showing with 44,268 additions and 2,381 deletions.
  1. +15 −0 .github/actions/setup-builder/action.yml
  2. +4 −0 .github/workflows/k8s_plan.yml
  3. +2 −2 .github/workflows/release.yml
  4. +22 −13 .github/workflows/verify.yml
  5. +1 −0 .gitignore
  6. +7 −1 .pre-commit-config.yaml
  7. +56 −0 CHANGELOG.md
  8. +1,130 −815 Cargo.lock
  9. +43 −37 Cargo.toml
  10. +18 −9 Makefile
  11. +6 −10 README.md
  12. +1 −1 build
  13. +65 −0 cliff.toml
  14. +0 −1 docs/adv/autoscaling.md
  15. +0 −1 docs/adv/config.md
  16. +0 −1 docs/adv/hooks.md
  17. +0 −1 docs/adv/metrics.md
  18. +0 −1 docs/adv/traces.md
  19. +0 −1 docs/components/sk-ctrl.md
  20. +0 −1 docs/components/sk-driver.md
  21. +0 −1 docs/components/sk-tracer.md
  22. +0 −1 docs/components/skctl.md
  23. +0 −1 docs/dev/api_changes.md
  24. +5 −1 docs/dev/contributing.md
  25. +0 −1 docs/dev/setup.md
  26. +0 −46 docs/faq.md
  27. +20 −0 docs/images/logo-white-regular.svg
  28. BIN docs/images/logo_with_name.png
  29. BIN docs/images/mascot-2024.png
  30. +52 −0 docs/images/mascot-2024.svg
  31. BIN docs/images/sk-overview.png
  32. +0 −1 docs/intro/concepts.md
  33. +0 −1 docs/intro/installation.md
  34. +0 −1 docs/intro/running.md
  35. +0 −2 docs/mkdocs.yml
  36. +2 −0 examples/tracer_config.yml
  37. +1 −0 k8s/kustomize/prod/kustomization.yml
  38. +18 −0 k8s/kustomize/prod/sk-tracer-rbac.yml
  39. +2 −4 k8s/kustomize/prod/sk-tracer.yml
  40. +4 −0 k8s/kustomize/sim/simkube.io_simulations.yml
  41. +1 −1 k8s/kustomize/sim/sk-ctrl.yml
  42. +4 −0 k8s/main.py
  43. +4 −0 k8s/raw/simkube.io_simulations.yml
  44. +18 −0 k8s/raw/sk-tracer-rbac.yml
  45. +6 −2 k8s/sk_tracer.py
  46. +11,240 −0 rust-coverage.lcov
  47. +0 −3 sk-api/schema/v1/simkube.yml
  48. +2 −12 sk-api/src/v1/export_filters.rs
  49. +1 −0 sk-api/src/v1/simulations.rs
  50. +4 −0 sk-cli/Cargo.toml
  51. +0 −1 sk-cli/src/crd.rs
  52. +1 −1 sk-cli/src/export.rs
  53. +7 −0 sk-cli/src/main.rs
  54. +9 −0 sk-cli/src/run.rs
  55. +20 −16 sk-cli/src/snapshot.rs
  56. +257 −0 sk-cli/src/validation/annotated_trace.rs
  57. +108 −0 sk-cli/src/validation/mod.rs
  58. +8 −0 sk-cli/src/validation/rules/README.md
  59. +5 −0 sk-cli/src/validation/rules/mod.rs
  60. +139 −0 sk-cli/src/validation/rules/service_account_missing.rs
  61. +69 −0 sk-cli/src/validation/rules/status_field_populated.rs
  62. +31 −0 sk-cli/src/validation/rules/tests/mod.rs
  63. +115 −0 sk-cli/src/validation/rules/tests/service_account_missing_test.rs
  64. +35 −0 sk-cli/src/validation/rules/tests/status_field_populated_test.rs
  65. +37 −0 sk-cli/src/validation/summary.rs
  66. +99 −0 sk-cli/src/validation/tests/annotated_trace_test.rs
  67. +90 −0 sk-cli/src/validation/tests/mod.rs
  68. +39 −0 sk-cli/src/validation/tests/validation_store_test.rs
  69. +117 −0 sk-cli/src/validation/validation_store.rs
  70. +112 −0 sk-cli/src/validation/validator.rs
  71. +85 −16 sk-cli/src/xray/app.rs
  72. +18 −11 sk-cli/src/xray/event.rs
  73. +10 −18 sk-cli/src/xray/mod.rs
  74. +78 −0 sk-cli/src/xray/tests/app_test.rs
  75. +1 −3 sk-cli/src/xray/tests/mod.rs
  76. +0 −82 sk-cli/src/xray/tests/view_test.rs
  77. +0 −49 sk-cli/src/xray/update.rs
  78. +0 −10 sk-cli/src/xray/util.rs
  79. +0 −158 sk-cli/src/xray/view.rs
  80. +134 −0 sk-cli/src/xray/view/helpers.rs
  81. +241 −0 sk-cli/src/xray/view/mod.rs
  82. +8 −0 sk-cli/src/xray/view/tests/mod.rs
  83. +5 −3 ....snap → view/tests/snapshots/skctl__xray__view__tests__view_test__itest_render_event_list@0.snap}
  84. +5 −3 ....snap → view/tests/snapshots/skctl__xray__view__tests__view_test__itest_render_event_list@3.snap}
  85. +6 −4 ...sts/snapshots/skctl__xray__view__tests__view_test__itest_render_event_list_event_selected@0.snap}
  86. +14 −8 ...sts/snapshots/skctl__xray__view__tests__view_test__itest_render_event_list_event_selected@2.snap}
  87. +9 −5 ...sts/snapshots/skctl__xray__view__tests__view_test__itest_render_event_list_event_selected@3.snap}
  88. +50 −0 .../view/tests/snapshots/skctl__xray__view__tests__view_test__itest_render_large_event_list@0.0.snap
  89. +50 −0 ...view/tests/snapshots/skctl__xray__view__tests__view_test__itest_render_large_event_list@10.0.snap
  90. +46 −0 ...iew/tests/snapshots/skctl__xray__view__tests__view_test__itest_render_large_event_list@80.80.snap
  91. +45 −0 ...iew/tests/snapshots/skctl__xray__view__tests__view_test__itest_render_large_event_list@88.80.snap
  92. +45 −0 ...iew/tests/snapshots/skctl__xray__view__tests__view_test__itest_render_large_event_list@88.88.snap
  93. +69 −0 ...pshots/skctl__xray__view__tests__view_test__itest_render_large_event_list_event_selected@1.0.snap
  94. +57 −0 ...pshots/skctl__xray__view__tests__view_test__itest_render_large_event_list_event_selected@3.0.snap
  95. +48 −0 ...hots/skctl__xray__view__tests__view_test__itest_render_large_event_list_event_selected@80.80.snap
  96. +55 −0 ...hots/skctl__xray__view__tests__view_test__itest_render_large_event_list_event_selected@88.80.snap
  97. +71 −0 ...hots/skctl__xray__view__tests__view_test__itest_render_large_event_list_event_selected@88.88.snap
  98. 0 sk-cli/src/xray/{ → view}/tests/testutils.rs
  99. +151 −0 sk-cli/src/xray/view/tests/view_test.rs
  100. +1 −1 sk-core/Cargo.toml
  101. +22 −2 sk-core/src/constants.rs
  102. +3 −2 sk-core/src/external_storage.rs
  103. +1 −1 sk-core/src/hooks.rs
  104. 0 sk-core/src/{jsonutils/hash.rs → jsonutils.rs}
  105. +0 −11 sk-core/src/jsonutils/mod.rs
  106. +0 −98 sk-core/src/jsonutils/patch_ext.rs
  107. +0 −5 sk-core/src/jsonutils/tests/mod.rs
  108. +0 −54 sk-core/src/jsonutils/tests/patch_ext_test.rs
  109. +2 −0 sk-core/src/k8s/container_state.rs
  110. +21 −11 sk-core/src/k8s/gvk.rs
  111. +1 −1 sk-core/src/k8s/lease.rs
  112. +1 −4 sk-core/src/k8s/owners.rs
  113. +2 −20 sk-core/src/k8s/pod_lifecycle.rs
  114. +0 −1 sk-core/src/k8s/sim.rs
  115. +0 −1 sk-core/src/k8s/tests/mod.rs
  116. +0 −1 sk-core/src/k8s/tests/owners_test.rs
  117. +0 −1 sk-core/src/k8s/tests/util_test.rs
  118. +1 −13 sk-core/src/k8s/testutils/fake.rs
  119. +2 −0 sk-core/src/k8s/testutils/mod.rs
  120. +28 −0 sk-core/src/k8s/testutils/objs.rs
  121. +1 −0 sk-core/src/k8s/testutils/sim.rs
  122. +8 −8 sk-core/src/k8s/util.rs
  123. +11 −1 sk-core/src/lib.rs
  124. +1 −1 sk-ctrl/src/cert_manager.rs
  125. +1 −1 sk-ctrl/src/context.rs
  126. +1 −2 sk-ctrl/src/controller.rs
  127. +1 −0 sk-ctrl/src/main.rs
  128. +1 −2 sk-ctrl/src/objects.rs
  129. +8 −9 sk-ctrl/src/tests/controller_test.rs
  130. +1 −1 sk-driver/Cargo.toml
  131. +4 −1 sk-driver/src/main.rs
  132. +27 −37 sk-driver/src/mutation.rs
  133. +13 −22 sk-driver/src/runner.rs
  134. +5 −15 sk-driver/src/tests/helpers.rs
  135. +1 −1 sk-driver/src/tests/mod.rs
  136. +5 −10 sk-driver/src/tests/mutation_test.rs
  137. +2 −0 sk-store/Cargo.toml
  138. +84 −0 sk-store/src/event_list.rs
  139. +1 −2 sk-store/src/{trace_filter.rs → filter.rs}
  140. +60 −0 sk-store/src/index.rs
  141. +61 −21 sk-store/src/lib.rs
  142. +46 −31 sk-store/src/pod_owners_map.rs
  143. +123 −93 sk-store/src/{trace_store.rs → store.rs}
  144. +35 −61 sk-store/src/tests/import_export_test.rs
  145. +30 −16 sk-store/src/tests/pod_owners_map_test.rs
  146. +133 −92 sk-store/src/tests/trace_store_test.rs
  147. +55 −119 sk-store/src/watchers/dyn_obj_watcher.rs
  148. +141 −6 sk-store/src/watchers/mod.rs
  149. +96 −148 sk-store/src/watchers/pod_watcher.rs
  150. +29 −1 sk-store/src/watchers/tests/mod.rs
  151. +62 −79 sk-store/src/watchers/tests/pod_watcher_test.rs
  152. +17 −6 sk-tracer/src/main.rs
  153. +27,756 −0 testdata/large_trace.json
  154. +10 −7 {sk-driver/src/tests/data → testdata}/trace.json
15 changes: 15 additions & 0 deletions .github/actions/setup-builder/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
---
name: Setup Rust Builder
runs:
using: composite
steps:
- name: Set up rust tools
uses: actions-rust-lang/setup-rust-toolchain@v1
with:
toolchain: 1.79.0
components: clippy
cache-directories: |
./.build
/tmp/cargo
- name: Run sccache
uses: mozilla-actions/sccache-action@v0.0.3
4 changes: 4 additions & 0 deletions .github/workflows/k8s_plan.yml
Original file line number Diff line number Diff line change
@@ -6,6 +6,10 @@ on: # yamllint disable-line rule:truthy
paths:
- 'k8s/**'

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
plan:
runs-on: ubuntu-latest
4 changes: 2 additions & 2 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -20,8 +20,8 @@ jobs:
submodules: recursive
- name: Fetch tags
run: git fetch --tags
- name: Run sccache
uses: mozilla-actions/sccache-action@v0.0.3
- name: Setup Builder
uses: ./.github/actions/setup-builder
- name: Build
run: EXTRA_BUILD_ARTIFACTS= make build
- name: Login to Quay.io
35 changes: 22 additions & 13 deletions .github/workflows/verify.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,15 @@
---
name: code verification
on: [push] # yamllint disable-line rule:truthy
on: # yamllint disable-line rule:truthy
push:
branches:
- "master"
pull_request: {}

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

env:
CARGO_INCREMENTAL: 0
SCCACHE_GHA_ENABLED: "true"
@@ -18,8 +27,8 @@ jobs:
uses: actions/checkout@v4
with:
submodules: recursive
- name: Run sccache
uses: mozilla-actions/sccache-action@v0.0.3
- name: Setup Builder
uses: ./.github/actions/setup-builder
- name: Build skctl
run: make skctl
- name: Check version
@@ -29,11 +38,11 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Check out repo and build scripts
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
submodules: recursive
- name: Run sccache
uses: mozilla-actions/sccache-action@v0.0.3
- name: Setup Builder
uses: ./.github/actions/setup-builder
- name: Build
run: make build
- name: Regenerate CRDs
@@ -47,11 +56,11 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Check out repo and build scripts
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
submodules: recursive
- name: Run sccache
uses: mozilla-actions/sccache-action@v0.0.3
- name: Setup Builder
uses: ./.github/actions/setup-builder
- name: rustfmt nightly
run: |
rustup toolchain install nightly-x86_64-unknown-linux-gnu
@@ -72,11 +81,11 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Check out repo and build scripts
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
submodules: recursive
- name: Run sccache
uses: mozilla-actions/sccache-action@v0.0.3
- name: Setup Builder
uses: ./.github/actions/setup-builder
- name: Install grcov
run: |
curl -LO https://github.com/mozilla/grcov/releases/download/v0.8.18/grcov-x86_64-unknown-linux-gnu.tar.bz2
@@ -98,7 +107,7 @@ jobs:
- test
steps:
- name: Check out repo and build scripts
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
submodules: recursive
- name: Download coverage
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
.build
.vendor
generated-api
.jj
8 changes: 7 additions & 1 deletion .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -46,4 +46,10 @@ repos:
language: system
entry: bash -c 'make kustomize && git diff --quiet'
pass_filenames: false
files: 'sk-api/.*|k8s/.*|Cargo.toml'
files: "sk-api/.*|k8s/.*|Cargo.toml"
- id: check-validation-readme
name: Check Validation README
language: system
entry: bash -c 'make validation_rules && git diff --quiet'
pass_filenames: false
files: "sk-cli/src/validation/.*"
56 changes: 56 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
# Changelog

All notable changes to this project will be documented in this file.

Breaking changes are annotated with the ⚠️ symbol.

## v2.0.0 - 2024-11-20

### 🚀 Features

- Variable simulation speed
- Code validation for 'status' field
- Show validation results in xray
- ⚠️ Update to versioned exported trace format

### 🐛 Bug Fixes

- Print object kind in tracer log
- ⚠️ Tracer no longer accidentally deletes objects on restart
- Pod lifecycle data stored using GVK+namespaced name
- Remove `exclude_daemonsets`
- Fix various panics and display bugs in `skctl xray`

### ☸️ Kubernetes

- Update tracer permissions to read-only
- Don't set node-selector for sk-tracer in kustomize files

## v1.1.1 - 2024-10-09

### 🐛 Bug Fixes

- Make `podSpecTemplatePath` optional to support, e.g., service accounts
- Update GVK parsing to not require leading slash
- Regression on deleting objects in the simulated environment
- Handle local paths without `file:///`

## v1.1.0 - 2024-10-01

### 🚀 Features

- `skctl xray` -- visualize trace files in your terminal

### ☸️ Kubernetes

- Split kustomize components into prod and sim clusters

## v1.0.1 - 2024-09-16

### 🐛 Bug Fixes

- Use forked `parse_datetime` crate to correctly handle local/UTC time zones

## v1.0.0 - 2024-09-05

<!-- generated by git-cliff -->
Loading