Skip to content
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

tee-worker initial implementation #1

Merged
merged 3 commits into from
Oct 28, 2024
Merged

tee-worker initial implementation #1

merged 3 commits into from
Oct 28, 2024

Conversation

mudler
Copy link
Contributor

@mudler mudler commented Oct 28, 2024

This puts the ground of the main tee-worker component.

It is composed of a simple http server which acts as a job server, a
client to interact with it, and the scaffolding required to run tests
and build signed binaries in container images.

Also adds CI jobs to generate container images and release these in hub.docker.com.

It does not implement scrapers used in the oracle.

This pull request introduces significant changes to the project, including new workflows for CI/CD, Dockerfile updates, and the addition of a job server and API. Below are the most important changes grouped by their themes.

CI/CD and Docker Improvements:

  • .github/workflows/images.yml: Added a new GitHub Actions workflow to build and push Docker images on pushes to master, main, and tags.
  • .github/workflows/tests.yml: Added a new GitHub Actions workflow to run Go tests and upload coverage reports to Codecov.
  • Dockerfile: Introduced a multi-stage Dockerfile to build and bundle the Go binary, sign it, and set up the final image with the necessary environment.
  • .dockerignore: Updated to ignore sensitive files and unnecessary directories.

API and Job Server:

Code and Tests:

  • cmd/tee-worker/main.go: Added the main entry point to start the API server.
  • internal/api/api_suite_test.go, internal/api/api_test.go: Added integration tests for the API server. [1] [2]
  • internal/jobs/webscraper.go, internal/jobs/webscraper_test.go: Introduced a basic web scraper job type and corresponding tests. [1] [2]

Configuration and Dependencies:

  • go.mod: Added module definition and dependencies for the project, including Echo for the web framework and UUID for job IDs.

These changes collectively enhance the project's CI/CD pipeline, introduce a robust job server and API, and add necessary configurations and dependencies.

This puts the ground of the main tee-worker component.

It is composed of a simple http server which acts as a job server, a
client to interact with it, and the scaffolding required to run tests
and build signed binaries.

Signed-off-by: mudler <[email protected]>
@mudler mudler merged commit 5dc9a18 into main Oct 28, 2024
3 of 4 checks passed
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