2 Commits
Author SHA1 Message Date
Gitea Actions f33a956494 Release 0.1.5 [auto-version-bump] 2026-10-20 11:42:34 +02:00
Ein Anderssono c4403f297a Restrict worker egress and publish manifest
Build and publish rule engine / release (push) Successful in 2m48s
2026-10-20 11:42:13 +02:00
8 changed files with 16 additions and 13 deletions
+6 -3
View File
@@ -100,9 +100,12 @@ jobs:
install "$RUNNER_TEMP/oras/oras" "$RUNNER_TEMP/oras-bin" install "$RUNNER_TEMP/oras/oras" "$RUNNER_TEMP/oras-bin"
printf '%s' "$HARBOR_PASSWORD" | "$RUNNER_TEMP/oras-bin" login harbor.k3s.k0.nu --username "$HARBOR_USERNAME" --password-stdin printf '%s' "$HARBOR_PASSWORD" | "$RUNNER_TEMP/oras-bin" login harbor.k3s.k0.nu --username "$HARBOR_USERNAME" --password-stdin
unset HARBOR_PASSWORD unset HARBOR_PASSWORD
"$RUNNER_TEMP/oras-bin" push --artifact-type application/vnd.ai-spel.kubernetes-manifest.v1 \ (
"harbor.k3s.k0.nu/ai-spel/rule-engine-manifest:$version" \ cd "$package_dir"
"$package_dir/manifest.yaml:application/yaml" "$RUNNER_TEMP/oras-bin" push --artifact-type application/vnd.ai-spel.kubernetes-manifest.v1 \
"harbor.k3s.k0.nu/ai-spel/rule-engine-manifest:$version" \
"manifest.yaml:application/yaml"
)
echo "version=$version" >> "$GITHUB_OUTPUT" echo "version=$version" >> "$GITHUB_OUTPUT"
- name: Deploy rule engine through Argo CD - name: Deploy rule engine through Argo CD
Generated
+1 -1
View File
@@ -13,7 +13,7 @@ dependencies = [
[[package]] [[package]]
name = "ai-spel-rule-engine" name = "ai-spel-rule-engine"
version = "0.1.4" version = "0.1.5"
dependencies = [ dependencies = [
"async-nats", "async-nats",
"axum", "axum",
+1 -1
View File
@@ -3,7 +3,7 @@ members = ["crates/rule-engine"]
resolver = "2" resolver = "2"
[workspace.package] [workspace.package]
version = "0.1.4" version = "0.1.5"
edition = "2024" edition = "2024"
license = "MIT" license = "MIT"
+3 -1
View File
@@ -14,7 +14,9 @@ Responses echo the correlation ID and have status `evaluated` or `rejected`.
The NATS user may subscribe only to the evaluation subject and publish only to The NATS user may subscribe only to the evaluation subject and publish only to
reply inboxes. The service receives no credentials other than its own NATS reply inboxes. The service receives no credentials other than its own NATS
identity and has no configured database or AI-provider secrets. identity and has no configured database or AI-provider secrets. Its chart
limits pod egress to NATS and cluster DNS; Luau evaluation has no external
network path.
## Local commands ## Local commands
+1 -1
View File
@@ -1,6 +1,6 @@
{ {
"$schema": "https://json-schema.org/draft/2020-12/schema", "$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://gitea.k3s.k0.nu/ai-spel/ai-spel-rule-engine/raw/tag/v0.1.4/contracts/rule-evaluation-v1.schema.json", "$id": "https://gitea.k3s.k0.nu/ai-spel/ai-spel-rule-engine/raw/tag/v0.1.5/contracts/rule-evaluation-v1.schema.json",
"title": "AI Spel Luau rule evaluation contract v1", "title": "AI Spel Luau rule evaluation contract v1",
"type": "object", "type": "object",
"additionalProperties": false, "additionalProperties": false,
+1 -1
View File
@@ -8,7 +8,7 @@ spec:
source: source:
repoURL: harbor.k3s.k0.nu/ai-spel repoURL: harbor.k3s.k0.nu/ai-spel
chart: ai-spel-rule-engine chart: ai-spel-rule-engine
targetRevision: "0.1.4" targetRevision: "0.1.5"
helm: helm:
releaseName: ai-spel-rule-engine releaseName: ai-spel-rule-engine
destination: destination:
+2 -2
View File
@@ -2,5 +2,5 @@ apiVersion: v2
name: ai-spel-rule-engine name: ai-spel-rule-engine
description: Isolated, sandboxed Luau proposal evaluator description: Isolated, sandboxed Luau proposal evaluator
type: application type: application
version: 0.1.4 version: 0.1.5
appVersion: "0.1.4" appVersion: "0.1.5"
@@ -12,6 +12,7 @@ spec:
- to: - to:
- podSelector: - podSelector:
matchLabels: matchLabels:
app.kubernetes.io/name: ai-spel-nats
app.kubernetes.io/instance: ai-spel-nats app.kubernetes.io/instance: ai-spel-nats
ports: ports:
- protocol: TCP - protocol: TCP
@@ -20,9 +21,6 @@ spec:
- namespaceSelector: - namespaceSelector:
matchLabels: matchLabels:
kubernetes.io/metadata.name: kube-system kubernetes.io/metadata.name: kube-system
podSelector:
matchLabels:
k8s-app: kube-dns
ports: ports:
- protocol: UDP - protocol: UDP
port: 53 port: 53