diff --git a/MIGRATION.md b/MIGRATION.md new file mode 100644 index 00000000..c7b4f4b0 --- /dev/null +++ b/MIGRATION.md @@ -0,0 +1,31 @@ +# Transitioning from Deprecated Function Buildpacks + +The Function Buildpacks currently hosted in this repository are no longer supported and are being archived. To ensure the continued functionality of your applications, follow the migration strategies outlined below. + +## Migration from Function Buildpacks + +This repository is just one of the list of trusted builders by the Knative Function CLI. You can find more function buildpacks on https://github.com/boson-project/buildpacks/tree/main/buildpacks. + +## Function to Languague Buildpack + +If you are aiming to remove your reliance on the function invoker and migrate towards a more sustainable solution, the migration process will differ based on the programming language you are using. + +### Python +For Python-based applications, transitioning can be achieved by adopting Flask, a popular web framework. The following steps are recommended: + +1. **Develop Web App:** Create your web application using the Flask framework. +2. **Choose Production-ready Server:** Opt for a production-ready web server such as Waitress, Hypercorn, or Uvicorn to serve your Flask application efficiently. +3. **Cloudevents Integration:** Refer to the official [Cloudevents](https://cloudevents.io/) documentation for guidance on integrating Cloudevents into your Python application. + +### Java +For Java-based applications, particularly those utilizing Spring Boot, the migration process involves incorporating [Spring Cloud Function](https://spring.io/projects/spring-cloud-function/) into your project. Follow these steps: + +1. **Integrate Spring Cloud Function:** Add the Spring Cloud Function library to your project's Gradle or Maven configuration. +2. **Implement Business Logic:** Utilize Spring documentation to seamlessly integrate your existing business logic with Spring Cloud Function. + +After transitioning your codebase to align with the recommended language-based solutions, you can benefit from more versatile buildpacks: + +- **Python Buildpack:** If you migrated to Python with Flask, consider using the [Python Buildpack](https://github.com/paketo-buildpacks/python) from Paketo. +- **Java/Spring Boot Buildpack:** If you migrated to Java with Spring Boot, leverage the [Java/Spring Boot Buildpack](https://github.com/paketo-buildpacks/spring-boot) from Paketo. + +I hope this guide had helped you understand the different paths for migration your function project outside the set of deprecated functions this repository offers. diff --git a/README.md b/README.md index 8a9aa9bb..92729197 100644 --- a/README.md +++ b/README.md @@ -3,6 +3,8 @@ > ⚠️ Following builder release `0.4.3`, this project is deprecated and will no longer be officially maintained by VMware. Users should not use this project, builder, buildpacks, invokers, or application accelerator counterparts anymore. +> If you are looking to migrate your functions project outside the set of buildpack we offer in this repository please follow the [Migration Guide](./MIGRATION.md) + ⚡ Build and deploy your HTTP + CloudEvents functions fast -- a FaaS experience leveraging buildpacks. Function Buildpacks for Knative (aka "Functions") brings functions as a programming model, to allow you to quickly build and deploy independent units of logic. Easily handle tasks such as asynchronous event reactions, cloud provider automations, and more. Soon, [func](https://github.com/knative-sandbox/kn-plugin-func) support will allow users to deploy Functions via CLI in a matter of seconds.