-
Notifications
You must be signed in to change notification settings - Fork 2
Open
Description
We want to have this Javascript SDK as a high quality TypeScript library that is a first citizen in the Kubewarden ecosystem. @esosaoh will be mainly working on this task.
For that, we need to do the following:
- Have a Continuous integration GitHub job that runs on each PR and gates PRs to this repo Add Continous Integration to the project #121
- Implement the host capabilities. The host capabilities such provide caching as needed, and logging.
These are, as listed in our reference docs:- Sigstore capabilities,
v2/verify
(we can skipv1/verify
). This includes the following inputs:-
SigstorePubKeyVerify
-
SigstoreKeylessVerify
-
SigstoreKeylessPrefixVerify
-
SigstoreGithubActionsVerify
-
SigstoreCertificateVerify
Implement Sigstore host capabilities #201
-
- OCI capabilities. This includes:
-
v1/manifest_digest
Feature request: Implementv1/manifest_digest
OCI host capability #91 -
v1/oci_manifest
Implementv1/oci_manifest
OCI host capability #123 -
v1/oci_manifest_config
Implementv1/oci_manifest_config
OCI host capability #124
-
- Network capabilities (
v1/dns_lookup_host
). Was done as initial POC. - Cryptographic capabilities:
-
v1/is_certificate_trusted
Implement Crypto Host Capability #189
-
- Kubernetes capabilities. This includes:
-
list_resources_all
-
list_resources_by_namespace
-
get_resource
Feature request: Implementkubernetes/get_resource
capability #135 -
can_i
(added in the near future, see here) Host capability to check service account permissions #116
-
- Sigstore capabilities,
- Refactor code as needed to:
- Have a Typescript library and javy plugin that can be imported and used when creating a policy written in Typescript/Javascript. Export the host capabilities.
- Move demo policy to its own repo. Remove demo policy from the SDK directory #122
- Implement caching for the needed capabilities Add caching to get_resource host capability #120
- (optional) Document the library functions with JSDoc and publish them somewhere (e.g: with gh-pages). Generate and publish JSDoc in gh-pages #165
- Document library usage with a tutorial docs: Add tutorial for policy-sdk-js #190
- Have a Continuous Delivery GitHub job that runs on each git tag pushed to the repo, and makes a GH release Add Continous Delivery, do first alpha release #148
- Blog post on kubewarden.io/blog !
- Announce post (in Slack, Mastodon, Bluesky).
- Create a policy template to consume lib from npm: Create policy-template-js policy repo to test the consumption of the library from npmjs #153
- If needed, create a policy demo
- (optional) Add reusable GH reusable workflows to publish js policies into github.com/kubewarden/github-actions
For each host capability, we should provide e2e tests, unit tests, cache if needed (see other SDKs), logging, JSDocs.
Metadata
Metadata
Assignees
Type
Projects
Status
Todo