Commit Graph
100 Commits
Author SHA1 Message Date
Naeel d21e1ac9a5 feat: restore cron page, email in navbar, metrics pipeline v1.3.19 2026-05-01 19:53:40 +03:00
Naeel df8bf0d476 refactor: extract metrics-collector from fission-console, bump console to v1.3.12 2026-04-29 10:17:09 +03:00
Naeel abcd6bad36 feat(cron): Russian UI, table pagination 10 rows/page, bump to v1.3.11 2026-04-29 09:49:25 +03:00
Naeel 6816c038b4 feat(cron): clarify node metrics in UI description, bump to v1.3.10 2026-04-29 09:44:45 +03:00
Naeel 38f2641b31 docs(cron): document full auth chain fix and push URL bug 2026-04-29
CRON/CRON_TIMER_FIX_2026-04-29.md:
- moved from doc/cron/ to CRON/ (correct location)

CRON/FISSION_CRON_NOTES.md:
- added section on timer->router 401 and resolution via console-gateway
- documented push URL bug (missing :8090 -> timeout)
- documented full working chain with timestamps
- added reminder: console service port is 8090, not 80

doc/report-2026-04-29-cron-fix.md:
- new session report: symptoms, diagnosis, all 3 problems fixed,
  architecture diagram, affected components table, lessons learned
2026-04-29 09:35:42 +03:00
Naeel 59a5b77ca9 fix(cron): timer auth chain via console gateway, bump image to v1.3.9 - Added handleFissionFunctionGateway in handlers.go: accepts unauthenticated POST /fission-function/<ns>/<fn>/, fetches router JWT, proxies upstream - Registered public routes /fission-function and /fission-function/ in server.go - Bumped image tag v1.3.8 -> v1.3.9 in deploy/console.yaml - Live: patched timer Deployment --routerUrl to http://fission-console.fission.svc.cluster.local:8090 - Added doc/cron/CRON_TIMER_FIX_2026-04-29.md Root cause: timer reads --routerUrl CLI arg only (not FISSION_ROUTER_URL env), router.fission requires JWT that timer does not provide -> 401 on every tick. 2026-04-29 09:21:25 +03:00
Naeel 35fd9ec40e fix: document cron router auth chain 2026-04-29 08:39:19 +03:00
Naeel a534fddd2c Organize LLM assets and function lifecycle fixes 2026-04-28 13:04:08 +03:00
Naeel 82eba079f6 feat: add fission-aware ai prompts 2026-04-28 07:31:19 +03:00
Naeel 9168fc2d9e fix: Python template def main() without ctx arg 2026-04-27 18:08:00 +03:00
Naeel fcc3449469 doc: progress log 2026-04-27 — poolmgr reuse fix + console cleanup 2026-04-27 15:16:36 +03:00
Naeel 96a02b4d72 console: remove time-trigger counter card from dashboard 2026-04-27 15:15:03 +03:00
Naeel 862c7a771e console: deploy requested memory quota fix 2026-04-27 13:17:13 +03:00
Naeel 0a18711cdc console: raise default requested memory quota 2026-04-27 13:16:00 +03:00
Naeel 77339dc8e0 console: deploy quota headroom fix 2026-04-27 12:57:33 +03:00
Naeel 9b81068d36 console: raise default user quota headroom 2026-04-27 12:56:34 +03:00
Naeel 3c2bd7a12f console: deploy quota 8 fix 2026-04-27 12:43:50 +03:00
Naeel 1247de5414 console: raise default user cpu quota to 8 2026-04-27 12:42:41 +03:00
Naeel d295c8d507 console: deploy quota fix 2026-04-27 12:14:32 +03:00
Naeel c8630c3529 console: raise default user cpu quota 2026-04-27 12:13:21 +03:00
Naeel ae877c9768 console: deploy invoke timeout fix 2026-04-27 11:49:36 +03:00
Naeel d348199c92 console: fix invoke client timeout 2026-04-27 11:47:57 +03:00
Naeel a464651046 console: deploy help text update 2026-04-27 11:39:07 +03:00
Naeel c367f5bb87 console: format help example block 2026-04-27 11:38:16 +03:00
Naeel 326af72684 console: fix help wording and python example 2026-04-27 11:36:37 +03:00
Naeel 15779ffccc console: deploy user fn gateway 2026-04-27 11:25:39 +03:00
Naeel feb4ae735d console: add user token fn gateway 2026-04-27 11:24:36 +03:00
Naeel e5ce0794a4 console: deploy help update 2026-04-27 11:08:25 +03:00
Naeel f27ff1fbc2 console: remove namespace hint 2026-04-27 11:07:22 +03:00
Naeel 19998c5786 console: deploy root redirect update 2026-04-27 10:52:31 +03:00
Naeel 7ba3cfa3af console: redirect root to console 2026-04-27 10:51:41 +03:00
Naeel a11ac83baf console: deploy llm label update 2026-04-27 10:44:34 +03:00
Naeel 62d42fb663 console: label linter and llm actions 2026-04-27 10:43:44 +03:00
Naeel 7ca148b09f console: deploy timeout UI update 2026-04-27 10:38:53 +03:00
Naeel 01f546e0e8 console: use per-function invoke timeout 2026-04-27 10:33:40 +03:00
Naeel e600d6e1e8 fix: recreate namespace after manual deletion 2026-04-27 09:09:47 +03:00
Naeel 6e2d070b05 fix: restore jwt login and control-plane checks 2026-04-27 09:00:46 +03:00
Naeel 221a42dd17 docs: forbid rollbacks and require commits 2026-04-27 08:57:04 +03:00
Naeel 1d189f70a8 remove legacy console package and refresh syntax tests 2026-04-27 07:43:36 +03:00
Naeel 7cfe20bf76 snapshot before legacy cleanup 2026-04-27 07:36:06 +03:00
Naeel 9461026546 refactor: checkpoint layer2 api console changes 2026-04-26 16:41:20 +03:00
Naeel d866625634 doc: add layer2 api chat handoff 2026-04-26 16:39:52 +03:00
Naeel 76b9fee364 doc: add notes on debugging model tradeoffs 2026-04-26 09:11:19 +03:00
Naeel 6b06db66b9 doc: record layer1 multi-tenant pass analysis 2026-04-26 09:06:45 +03:00
Naeel 60646af0c8 refactor: split main.go into packages (internal/api, internal/fission, internal/runtime, cmd/server) 2026-04-25 23:53:20 +03:00
Naeel 1f4de2ec15 fix: v0.8.15 — auth testMode validates @ in token (block P fix) 2026-04-25 17:05:02 +03:00
Naeel 78553de39d fix: AE test fixed GO_NS+600s retry; tf: go-builder-fast:v1 in simple_function 2026-04-25 16:46:06 +03:00
Naeel 7fccd39a73 feat: v0.8.14 — init overlay, /ns/status endpoint, token hint 2026-04-25 16:40:27 +03:00
Naeel b46921708c feat: use naeel/go-builder-fast:v1 with prebuilt stdlib, deploy v0.8.13 2026-04-25 15:18:01 +03:00
Naeel 42b239bb51 feat: custom go-builder-fast with prebuilt stdlib for plugin mode 2026-04-25 15:14:37 +03:00
Naeel 3b9c6e2c5e fix: semaphore+singleflight for ensureUserNS, fix 504 on 10 parallel new users (v0.8.12) 2026-04-25 14:41:35 +03:00
Naeel ca43d0a7d7 fix(console): assistant greeting -> Чем могу помочь v0.8.4 2026-04-20 15:23:15 +03:00
Naeel fbf08402db feat(console): generate prompt input before generating code v0.8.3 2026-04-20 15:21:26 +03:00
Naeel 48f787403c feat(console): wider assistant, generate+explain buttons v0.8.2 2026-04-20 15:17:17 +03:00
Naeel d76aa53f73 fix(console): testMode auth — X-Auth-Token accepted as sub v0.8.1 2026-04-20 15:09:49 +03:00
Naeel 9997dce2bb feat(console): assistant answers any question v0.8.0 2026-04-20 15:01:37 +03:00
Naeel 80c05e57fd feat(console): add AI assistant panel /api/ai/ask v0.7.9 2026-04-20 14:45:00 +03:00
Naeel 411de75b27 feat(console): replace LLM with real linters (node/python/ruby/php/perl/go) v0.7.8 2026-04-20 14:35:58 +03:00
Naeel 6f0101f656 feat: LLM syntax check via /console/api/ai/check
- Server-side proxy to LLM API (FISSION_LLM_KEY, FISSION_LLM_URL env vars)
- Button in create-modal and edit-modal: check syntax before saving
- Result shown inline below code textarea (green=ok, red=errors)
2026-04-20 14:06:51 +03:00
Naeel ec23ddc0a6 feat: add fission_simple_function composite resource 2026-04-20 13:35:57 +03:00
Naeel 01df1498d6 feat: big-suite terraform example + provider nodejs zip fix
- examples/big-suite: E-Commerce 10 functions, 6 layers, real depends_on
- provider: nodejs packages now wrapped in ESM zip (buildJSDeployZip)
- provider: loadPackageLiteral reads raw file, nodejs zip via source_dir
- all 10 functions verified working: python/node/ruby/go runtimes
2026-04-20 11:38:45 +03:00
Naeel 4837d42ba1 test: add block AE — Go language invoke test 2026-04-20 04:54:56 +03:00
Naeel 9eeda9b175 doc: report 2026-04-20, v0.7.6 bugs and fixes 2026-04-20 04:46:01 +03:00
Naeel 6a3bf7c253 test: блоки U-Z — multi-user concurrency, isolation, cross-user attacks, full cycle (PASS=63/FAIL=0) 2026-04-19 19:49:27 +03:00
Naeel 85a5a9c2cc fix: v0.7.2 — name limit 57 chars (HTTPTrigger -route suffix = 63), tests A-T PASS=54/FAIL=0 2026-04-19 18:41:27 +03:00
Naeel 0545fb3aa3 test: add comprehensive test suite v2 (41 checks, blocks A-P) 2026-04-19 17:49:56 +03:00
Naeel 74815facce fix: route isolation, 404 on invoke/delete nonexistent (v0.6.8)
- Bug#1: namespace-prefix routes to avoid cross-user collision
  Route format: /{ns-last-12-chars}/{fn-name}
- Bug#2: INVOKE nonexistent function -> HTTP 404 (was 200)
- Bug#3: DELETE nonexistent function -> HTTP 404 (was 200)
2026-04-19 17:10:01 +03:00
Naeel 1c533fc577 fix: nodejs ESM wrapper via new Function, README for fission-console
- Replace two-file zip (_userfn.cjs + main.js) with single-file approach
- User code embedded via new Function(module, exports, code) for safe CJS isolation
- Auto-adds status:200 when function omits it
- Add fission-console technical README section (v0.6.7)
2026-04-19 16:52:22 +03:00
Naeel 551a5b2f8e fix: RBAC bind cluster-admin + list namespaces + TEST_MODE multi-tenant test 2026-04-19 15:41:11 +03:00
Naeel 9ebd36eed3 feat: lazy env creation + TTL functions + expiry reaper 2026-04-19 15:05:12 +03:00
Naeel 36772f8e70 docs: add detailed comments to addNSToFission and ensureUserNamespace RBAC block 2026-04-19 14:42:18 +03:00
Naeel 8a520cdcc2 feat: Fission SA RoleBindings in user namespace (cluster-admin) + v0.6.2 2026-04-19 14:40:03 +03:00
Naeel e541ba6996 feat: RBAC ClusterRole for console namespace management 2026-04-19 09:55:55 +03:00
Naeel 8aad0cec58 feat: namespace isolation per user JWT sub claim
- Auth middleware extracts user namespace from JWT sub (SHA256 → hex8)
- All K8s operations use per-user fission-{hex} namespace
- handleAuth calls ensureUserNamespace to create NS + shared envs
- handleAuth returns namespace in response
- buildLangEnvironment accepts ns string parameter
- Fallback to server default NS if JWT parse fails
2026-04-19 09:54:57 +03:00
Naeel 50ba09e1b6 Merge feat/console-auth: auth через deck API, login overlay, logout 2026-04-19 09:43:55 +03:00
Naeel 903610bf71 chore: copilot instructions update 2026-04-19 09:43:55 +03:00
Naeel 0a1708e682 doc: тест auth v0.5.0 (2026-04-19) 2026-04-19 08:50:34 +03:00
Naeel 579bf97e17 console v0.5.0: auth через deck API, login overlay, logout 2026-04-19 08:25:23 +03:00
Naeel c40fc47025 console v0.4.5: русификация UI, Go/TF предупреждения, handler.go в preferred 2026-04-15 19:47:41 +03:00
Naeel fd236d87ea feat: provider audit — builder support, function tuning, source archive
Аудит провайдера vs каноничный Fission. Добавлено:

Environment:
- builder_image, builder_command для Go и языков с build step

Package:
- deploy_type (literal/source) для переключения deployment/source archive
- loadPackageSourceArchive() — zip-упаковка source_dir
- Убран пустой source:{} из literal mode

Function:
- executor_type (poolmgr/newdeploy/container)
- function_timeout, idle_timeout
- min_scale, max_scale для ExecutionStrategy

Все 21 тест пройден. Обратная совместимость проверена.
Документация: doc/AUDIT_PROVIDER_VS_FISSION_2026-06-03.md
2026-04-15 17:46:47 +03:00
Naeel 6d66e5b566 feat: multi-language support — PHP, Ruby, Perl, Go (binary-env)
- PHP: ghcr.io/fission/php-env, entrypoint main.php::handler
- Ruby: ghcr.io/fission/ruby-env, entrypoint handler (single-word)
- Perl: ghcr.io/fission/perl-env (version=1), sub {} return value
- Go: ghcr.io/fission/binary-env with pre-compiled binary (shell script placeholder)

Provider changes:
- package_resource: added main.php, main.rb, main.pl to source_dir candidates
- function_resource: relaxed entrypoint validation to allow PHP (::), Ruby, Perl (single-word)
- function_resource_test: updated BadFormat test to reflect new valid formats
2026-04-15 17:01:40 +03:00
Naeel c78b539d24 doc: plan for multi-language support (Go, Java, PHP, Ruby, .NET, Perl) 2026-04-15 16:31:34 +03:00
Naeel cccc5ca024 revert: remove Go function (runtime compilation timeout) 2026-04-15 16:24:57 +03:00
Naeel 66404fde3a add: Go function example (tf-go-hello-fn) 2026-04-15 16:19:25 +03:00
Naeel 4964c8f357 console: fix favicon — full base64 data URI (v0.3.4) 2026-04-15 15:20:27 +03:00
Naeel 7e23a71574 console: embed favicon as data URI (v0.3.3) 2026-04-15 15:15:21 +03:00
Naeel ab2eff69a0 ui: use terra.k8c.ru favicon (same as qu.kube5s.ru/ui/) 2026-04-15 15:08:58 +03:00
Naeel a199745c77 fix: restore 15 functions and roll console favicon image 2026-04-15 15:05:27 +03:00
Naeel ba32389600 ui: use nubes favicon url 2026-04-15 14:51:10 +03:00
Naeel 8ac8428a76 docs: record strict cleanup to 6 verified functions 2026-04-15 14:43:58 +03:00
Naeel ba50d18f8f fix(console): sync function package resourceversion after code update 2026-04-15 11:14:42 +03:00
Naeel d9a6d2f29e fix(console): decode zip package literal before showing code in UI 2026-04-15 11:00:00 +03:00
Naeel 1b8bff8364 fix(provider): detect source code drift and validate package/function references 2026-04-15 10:51:40 +03:00
Naeel e2b6a4472e doc: add bugs #5, #6 (foreign key, entrypoint validation) 2026-04-15 10:43:05 +03:00
Naeel ac2d2a1288 doc: comprehensive bug report from adversarial testing 2026-04-15 10:40:32 +03:00
Naeel 72fbb6c516 fix: console /console/ path prefix strip + TLS cert-manager letsencrypt 2026-04-15 10:22:19 +03:00
Naeel cdc7f06765 feat: add 15 auto-test functions + destroy-test + versioning rules
Batch 1: ok, echo, error, cpu, slow
Batch 2: jsonout, recurse, bigdata, math, timestamp
Batch 3: multiline, encoding, nested, memory, chain
Tests: create, update (code_hash), idempotency, destroy, re-create
All 15 functions verified via curl with JWT auth
2026-04-15 08:19:52 +03:00
Naeel efa8721c36 docs: add step-by-step function deploy guide for any model 2026-04-15 08:07:23 +03:00
Naeel 19bcdc5fc7 docs: add repo rules, thinking log, and progress update for console 2026-04-15 07:57:43 +03:00
Naeel 8920ba10e6 fix: invoke auth via Fission router JWT login 2026-04-15 07:48:56 +03:00