-
Notifications
You must be signed in to change notification settings - Fork 0
release: ship governed read federation and operability #142
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
27 commits
Select commit
Hold shift + click to select a range
a4ec7db
feat(pep): add structured policy audit logging
85a4958
Merge pull request #116 from ArdurAI/gnanirahulnutakki/feat/p1-policy…
gnanirahulnutakki f8e288e
docs(release): prevent durable branch deletion
f421ad8
Merge pull request #118 from ArdurAI/gnanirahulnutakki/chore/release-…
gnanirahulnutakki 44ae088
feat(e10): add bounded self-observability metrics
cdb8460
Merge pull request #120 from ArdurAI/gnanirahulnutakki/feat/p1-observ…
gnanirahulnutakki 8b56a04
fix(security): pin secure Go toolchain
4dc1066
chore(deps): bump actions/checkout in the actions group
dependabot[bot] df8bd0b
Merge pull request #122 from ArdurAI/dependabot/github_actions/dev/ac…
gnanirahulnutakki def40dc
Merge pull request #121 from ArdurAI/gnanirahulnutakki/chore/sith-sec…
gnanirahulnutakki fef959f
feat(e2): add direct ClusterProxy snapshot transport
fc8ca6e
Merge pull request #124 from ArdurAI/gnanirahulnutakki/feat/e2-direct…
gnanirahulnutakki 75499b1
feat(hub): compose direct OCM runtime
831d068
Merge pull request #126 from ArdurAI/gnanirahulnutakki/feat/e2-hub-di…
gnanirahulnutakki 096dca9
feat(e2): add immutable image digest search
ce01a4f
Merge pull request #128 from ArdurAI/gnanirahulnutakki/feat/e2-image-…
gnanirahulnutakki d29c8da
feat(e9): add isolated hub migration command
a9922a4
Merge pull request #130 from ArdurAI/gnanirahulnutakki/feat/e9-hub-mi…
gnanirahulnutakki 9e75a13
feat(e9): add immutable OCI image contract
401431b
Merge pull request #132 from ArdurAI/gnanirahulnutakki/feat/e9-oci-image
gnanirahulnutakki 658336f
feat(e9): add fail-closed Helm hub chart
741a5e5
Merge pull request #134 from ArdurAI/gnanirahulnutakki/feat/e9-helm-c…
gnanirahulnutakki 92bedb3
feat(e9): add fail-closed hub resource profiles
710a428
Merge pull request #136 from ArdurAI/gnanirahulnutakki/feat/e9-chart-…
gnanirahulnutakki 1ecfb56
feat(e10): add sanitized local trace context (#138)
gnanirahulnutakki c9e3737
feat(e10): add sanitized auth refusal logs
ba102f4
Merge pull request #141 from ArdurAI/gnanirahulnutakki/feat/e10-auth-…
gnanirahulnutakki File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,13 @@ | ||
| # SPDX-License-Identifier: Apache-2.0 | ||
|
|
||
| # The manifest-list digest is intentionally pinned so every supported Linux architecture resolves | ||
| # to the reviewed distroless static runtime, never a floating tag. | ||
| FROM gcr.io/distroless/static-debian12@sha256:b7bb25d9f7c31d2bdd1982feb4dafcaf137703c7075dbe2febb41c24212b946f | ||
|
|
||
| ARG TARGETARCH | ||
|
|
||
| # The build context contains only a static Linux binary assembled by the test or release tooling. | ||
| COPY --chown=65532:65532 --chmod=0555 bin/linux/${TARGETARCH}/sith /usr/local/bin/sith | ||
|
|
||
| USER 65532:65532 | ||
| ENTRYPOINT ["/usr/local/bin/sith"] |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,6 @@ | ||
| apiVersion: v2 | ||
| name: sith-hub | ||
| description: Fail-closed deployment contract for the Sith governed fleet hub | ||
| type: application | ||
| version: 0.2.0 | ||
| appVersion: "unpublished" |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,32 @@ | ||
| # Sith hub Helm chart | ||
|
|
||
| This chart is a fail-closed deployment contract for a released Sith hub image. The repository does not currently publish that image, so the chart has deliberately invalid default values and cannot be installed until an operator supplies an immutable `repository@sha256:<64 lowercase hex>` reference. Tags, including `latest`, are rejected by both the value schema and template logic. | ||
|
|
||
| This `F9.3a` slice provides only fixed resource envelopes. It does not claim the parent F9.3 end state of a minimal in-chart Postgres for light or an HA hub with external Postgres/cloud KMS for heavy: those need separate E3 custody and topology evidence before they can be rendered safely. | ||
|
|
||
| The chart creates no `Secret`, `data`, or `stringData` block. An E3-approved KMS/ExternalSecret materializer must create these existing Secret objects before an installation: | ||
|
|
||
| | Value | Required Secret keys | Consumer | | ||
| | --- | --- | --- | | ||
| | `runtime.existingSecret` | `database-url`, `session-public.pem`, `server-tls.crt`, `server-tls.key`, `proxy-ca.crt`, `proxy-tls.crt`, `proxy-tls.key` | long-running `sith hub` Deployment | | ||
| | `migration.existingSecret` | `owner-database-url` | short-lived `sith hub migrate` hook Job | | ||
|
|
||
| `migration.applicationRole` is a non-secret PostgreSQL role name. The migration hook runs before install and upgrade, blocks the release if it fails, and receives no Kubernetes service-account token or runtime TLS material. The Deployment receives an in-cluster token only to read the fixed `sith-reader` managed-serviceaccount Secret; its ClusterRole permits exactly `get` on that one resource name and no list/watch or write verbs. | ||
|
|
||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win Avoid rendering the issue reference as a heading. This line starts with Proposed fix-#103/#104 route remains out of scope and blocked pending an official upstream release.
+issues `#103` and `#104` remain out of scope and blocked pending an official upstream release.🤖 Prompt for AI AgentsSource: Linters/SAST tools |
||
| The chart permits exactly two fixed profiles for both the hub and its migration hook: | ||
|
|
||
| | Profile | Requests | Limits | Intended envelope | | ||
| | --- | --- | --- | --- | | ||
| | `light` | 100m CPU, 128Mi memory | 500m CPU, 512Mi memory | development and lab scheduling envelope | | ||
| | `heavy` | 500m CPU, 512Mi memory | 2 CPU, 2Gi memory | larger production-like scheduling envelope | | ||
|
|
||
| The heavy profile reserves five times the requested CPU and four times the requested memory, so it carries a correspondingly higher node-pool cost. These are fixed scheduling bounds, not measured capacity claims; no arbitrary resource override or third profile is accepted. Both profiles use the same immutable image requirement, existing Secret references, migration isolation, RBAC, probes, and pod/container hardening. They do not change replica count, database custody, or KMS materialization, so `heavy` does not claim unproven high availability. | ||
|
|
||
| The chart pins workload hardening (UID/GID 65532, read-only root filesystem, RuntimeDefault seccomp, no privilege escalation, and all Linux capabilities dropped). It deliberately does not create a broad egress NetworkPolicy: the database and pinned OCM endpoints are deployment-specific, so operators must place the release in a namespace with an appropriate least-privilege egress policy. KMS provider resources, release-bound image publication, real install/upgrade proof, air-gap bundles, and addon packaging are later E9/E3 slices. | ||
|
|
||
| Validate supplied values before applying anything: | ||
|
|
||
| ```bash | ||
| helm lint charts/sith-hub -f operator-values.yaml | ||
| helm template sith-hub charts/sith-hub --namespace sith-system -f operator-values.yaml | ||
| ``` | ||
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
📐 Maintainability & Code Quality | 🟠 Major | ⚡ Quick win
Non-portable hardcoded default for
OCM_SCRATCH_ROOT./Volumes/EXTENDED/tmp/sith-m0is a macOS external-volume path specific to one developer's machine. As the checked-in default fore2e-ocm, this will fail to create/use scratch space on CI runners and any other contributor's machine unless explicitly overridden every time.💡 Suggested fix: use a portable default
📝 Committable suggestion
🤖 Prompt for AI Agents