diff --git a/.github/workflows/lighthouse.yml b/.github/workflows/lighthouse.yml index c77f25d..23aa145 100644 --- a/.github/workflows/lighthouse.yml +++ b/.github/workflows/lighthouse.yml @@ -57,6 +57,7 @@ jobs: urls: | http://127.0.0.1:8080/ http://127.0.0.1:8080/k8s-manifest-builder/ + http://127.0.0.1:8080/kubernetes-rbac-explorer/ http://127.0.0.1:8080/visual-subnet-calculator/ http://127.0.0.1:8080/yaml-formatter/ http://127.0.0.1:8080/terraform-modules/ diff --git a/README.md b/README.md index 513945d..cb0b8d5 100644 --- a/README.md +++ b/README.md @@ -32,6 +32,18 @@ The shorter `/json-formatter/` alias redirects to this tool. YAML parsing and serialization use the vendored `js-yaml` 4.1.0 browser bundle, distributed under the MIT license included with the tool. +## Kubernetes RBAC Explorer + +Open `/kubernetes-rbac-explorer/` to turn Kubernetes Roles and bindings into +an effective access map. The tool resolves subject-to-role grant paths, answers +permission questions, highlights review-worthy access, compares policy +snapshots, generates narrowly scoped RBAC drafts, and exports a Markdown review. + +The explorer accepts multi-document YAML, JSON arrays, and Kubernetes `List` +objects. Parsing and analysis stay in the browser. Secret objects are rejected, +and users should never provide a kubeconfig, token, or other credentials. YAML +input uses the existing vendored `js-yaml` 4.1.0 bundle. + ## Terraform Modules Open `/terraform-modules/` to explore public AWS Terraform modules @@ -77,6 +89,14 @@ its required 1200×630 PNG with: sh scripts/render-social-card.sh ``` +Other social cards can use the same renderer by supplying both paths, for example: + +```sh +sh scripts/render-social-card.sh \ + assets/social/kubernetes-rbac-explorer.svg \ + assets/social/kubernetes-rbac-explorer.png +``` + ## To preview locally ```sh @@ -84,6 +104,7 @@ python3 -m http.server 8080 ``` - `http://localhost:8080/k8s-manifest-builder/` +- `http://localhost:8080/kubernetes-rbac-explorer/` - `http://localhost:8080/visual-subnet-calculator/` - `http://localhost:8080/yaml-formatter/` - `http://localhost:8080/terraform-modules/` diff --git a/assets/social/kubernetes-rbac-explorer.png b/assets/social/kubernetes-rbac-explorer.png new file mode 100644 index 0000000..efe068e Binary files /dev/null and b/assets/social/kubernetes-rbac-explorer.png differ diff --git a/assets/social/kubernetes-rbac-explorer.svg b/assets/social/kubernetes-rbac-explorer.svg new file mode 100644 index 0000000..00b1a42 --- /dev/null +++ b/assets/social/kubernetes-rbac-explorer.svg @@ -0,0 +1,51 @@ + diff --git a/index.html b/index.html index 7f7975a..35c318a 100644 --- a/index.html +++ b/index.html @@ -279,8 +279,8 @@ } .tools { - display: grid; - grid-template-columns: repeat(2, minmax(0, 340px)); + display: flex; + flex-wrap: wrap; justify-content: center; gap: 28px; } @@ -288,8 +288,10 @@ .tool { position: relative; display: flex; + width: min(100%, 340px); aspect-ratio: 1; min-width: 0; + flex: 0 1 340px; flex-direction: column; padding: clamp(24px, 3vw, 30px); overflow: hidden; @@ -428,6 +430,7 @@ } .tools { + display: grid; grid-template-columns: minmax(0, 340px); gap: 22px; } @@ -438,6 +441,13 @@ flex-direction: column; } } + + @media (min-width: 561px) and (max-width: 920px) { + .tools { + display: grid; + grid-template-columns: repeat(2, minmax(0, 340px)); + } + }
@@ -484,8 +494,8 @@Purpose-built infrastructure utilities
- Generate Kubernetes manifests, visually plan IPv4 subnets, format YAML - or JSON, and discover reusable AWS Terraform modules. + Generate Kubernetes manifests, review RBAC access, visually plan IPv4 + subnets, format configuration, and discover reusable Terraform modules.
+ Map effective permissions, test access, and surface risky RBAC grants. +
+ + Available now