Skip to content

ENG-1989 Remove sconification API & deployment from iapp - #275

Open
Christophe-iExec wants to merge 24 commits into
mainfrom
claude/ENG-1989/remove-sconification-api-deployment
Open

ENG-1989 Remove sconification API & deployment from iapp#275
Christophe-iExec wants to merge 24 commits into
mainfrom
claude/ENG-1989/remove-sconification-api-deployment

Conversation

@Christophe-iExec

Copy link
Copy Markdown

Summary

Removes the sconification API and its deployment infrastructure from the iapp project, following the dropping of SGX support and the discovery that the Azure custom self-hosted runners used for deployment are being cleaned up (ENG-1974).

Changes

API source code — deleted

  • api/src/sconify/sconifyBuild.handler.ts — WebSocket SCONIFY_BUILD request handler
  • api/src/sconify/sconifyBuild.service.ts — sconification orchestration service
  • api/src/singleFunction/ — all 8 Docker operation helpers (checkPushToken, getSconifiedImageFingerprint, inspectImage, pruneBuilderCache, pullPublicImage, pullSconeImage, pushImage, removeContainer, removeImage, sconifyImage)
  • api/src/utils/websocket.ts — WebSocket server (exclusively used for sconification)
  • api/src/utils/ethereumAddressZodSchema.ts — wallet address validator (only used by sconify handler)
  • api/src/utils/parseImagePath.ts — image path parser (only used by sconify service)
  • api/src/utils/utils.tssleep helper (only used in websocket.ts)
  • api/src/constants/constants.ts — all content was sconification-related (SCONIFY_IMAGE_NAME, SCONIFY_IMAGE_VERSIONS, template configs, WS timing constants)

API source code — modified

  • api/src/index.ts — removed all sconify HTTP stubs (/sconify, /sconify/build), WebSocket setup and related imports; retains health and root endpoints
  • api/src/utils/errors.ts — removed zod-validation-error ValidationError handling (no longer triggered after removing zod-based request validation)

CI/CD workflows — deleted

  • .github/workflows/reusable-api-deploy.yml — SSH deployment workflow using Azure_runners (the specific file flagged in ENG-1974)
  • .github/workflows/api-deploy-rollback.yml — rollback deployment workflow

CI/CD workflows — modified

  • .github/workflows/api-deploy-release.yml — removed the deploy job that called reusable-api-deploy.yml; docker-publish job is retained

Deployment config — modified

  • api/docker-compose.yml — removed ENCLAVE_KEY_PATH environment variable and sig/enclave-key.pem volume mount (SGX signing key artefacts)

Dependencies — modified

  • api/package.json — removed ensure-signing-key npm script; removed dependencies: dockerode, ethers, jwt-decode, zod, zod-validation-error; removed devDependencies: @types/dockerode, @types/ws
  • api/package-lock.jsonneeds to be regenerated: run npm install inside api/ and commit the result before merging (the full lock file could not be pushed programmatically due to size constraints)

Testing

After applying this PR, verify:

cd api
npm install          # regenerates package-lock.json
npm run check-types  # should pass with no errors
npm run lint         # should pass with no errors
npm run check-format # should pass

Key: ENG-1989

Co-authored by Claude agent for Jira.

- Remove sconify/ and singleFunction/ source directories
- Remove WebSocket infrastructure (was exclusively used for sconification)
- Remove utils only used by sconification (ethereumAddressZodSchema, parseImagePath, utils/sleep, websocket)
- Remove constants.ts (all content was sconification-related)
- Simplify index.ts: remove sconify HTTP stubs, WebSocket setup, and related imports
- Simplify errors.ts: remove zod ValidationError handling (no longer used)
- Remove deployment workflows: reusable-api-deploy.yml, api-deploy-rollback.yml
- Remove deploy job from api-deploy-release.yml (kept docker-publish)
- Remove ENCLAVE_KEY_PATH and sig/enclave-key.pem from docker-compose.yml
- Remove ensure-signing-key npm script
- Remove unused dependencies: dockerode, ethers, jwt-decode, zod, zod-validation-error
- Remove unused devDependencies: @types/dockerode, @types/ws
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant