Skip to content
This repository has been archived by the owner on Oct 25, 2023. It is now read-only.

add migration guide for users #216

Merged
merged 5 commits into from
Aug 23, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 31 additions & 0 deletions MIGRATION.md
Original file line number Diff line number Diff line change
@@ -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.
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down
Loading