diff --git a/site/docs/Livecycle_logo.png b/site/docs/Livecycle_logo.png new file mode 100644 index 00000000..0e8264d8 Binary files /dev/null and b/site/docs/Livecycle_logo.png differ diff --git a/site/docs/ci-integration/index.md b/site/docs/ci-integration/index.md index 73ac7e34..699a826f 100644 --- a/site/docs/ci-integration/index.md +++ b/site/docs/ci-integration/index.md @@ -3,11 +3,8 @@ title: Integrating Preevy with your CI parent: /ci-integration --- -## **Add 5555555 to your workflow** +## **Automatically create preview environments from your CI Workflow** -Livecycle is flexible by design, so there are several ways to add Livecycle to your workflow: +Preevy is designed to be easily run in CI workflows, such as [GH Actions](https://github.com/features/actions), [Circle CI](https://circleci.com/) and others. This automatically creates shareable preview environments for every upcoming pull request and code change. -- **Use our open source CLI to create self-hosted preview environments** - Our open source CLI “Preevy” provisions ephemeral preview environments on your cloud provider or Kubernetes cluster with a single command. -- **Add Livecycle to your CI and get deploy previews for every PR** - By adding Livecycle to your CI/CD pipeline, you can automatically provision shareable preview environments for every commit or pull request. -- **Instantly share local containers -** The Livecycle Docker Extension lets you share your local containerized app and get feedback while the code is still on your machine, without the hassle of CI builds or staging servers. -- **Start collaborative review cycles with the team** - Every shared Livecycle preview environment includes built-in feedback tools that collect technical and visual feedback from the team. This means faster, more collaborative review cycles for everyone invovled. +By sharing [profiles](https://preevy.dev/intro/under-the-hood#profile-configuration), Preevy is able to easily deploy to the same VM when new code is pushed to some branch. diff --git a/site/docs/cloud-providers/_category_.json b/site/docs/cloud-providers/_category_.json index 4dc01cfa..4f79b2c2 100644 --- a/site/docs/cloud-providers/_category_.json +++ b/site/docs/cloud-providers/_category_.json @@ -1,4 +1,4 @@ { - "label": "Supported cloud providers", + "label": "Supported Cloud Providers", "position": 3 } diff --git a/site/docs/cloud-providers/aws-lightsail.md b/site/docs/cloud-providers/aws-lightsail.md index abe9b5a5..4236b3d3 100644 --- a/site/docs/cloud-providers/aws-lightsail.md +++ b/site/docs/cloud-providers/aws-lightsail.md @@ -1,6 +1,6 @@ --- sidebar_position: 1 -title: AWS Lightsail Driver +title: Deploy to AWS Lightsail --- # AWS Lightsail Driver diff --git a/site/docs/cloud-providers/azure.md b/site/docs/cloud-providers/azure.md index 85d36566..e2e53ccc 100644 --- a/site/docs/cloud-providers/azure.md +++ b/site/docs/cloud-providers/azure.md @@ -1,6 +1,6 @@ --- sidebar_position: 3 -title: Microsoft Azure Driver +title: Deploy to Microsoft Azure --- # Microsoft Azure Driver diff --git a/site/docs/cloud-providers/gcp-gce.md b/site/docs/cloud-providers/gcp-gce.md index cf70e293..4a81d75e 100644 --- a/site/docs/cloud-providers/gcp-gce.md +++ b/site/docs/cloud-providers/gcp-gce.md @@ -1,6 +1,6 @@ --- sidebar_position: 2 -title: GCP Compute Engine Driver +title: Deploy to Google Cloud Platform --- # GCP Compute Engine Driver diff --git a/site/docs/cloud-providers/index.md b/site/docs/cloud-providers/index.md index d74eec96..c887e507 100644 --- a/site/docs/cloud-providers/index.md +++ b/site/docs/cloud-providers/index.md @@ -3,11 +3,11 @@ title: Supported Cloud Providers parent: /cloud-providers --- -## **recipies index55 to your workflow** +## **Self-hosted deploy previews in your cloud or Kubernetes cluster** -Livecycle is flexible by design, so there are several ways to add Livecycle to your workflow: -- **Use our open source CLI to create self-hosted preview environments** - Our open source CLI “Preevy” provisions ephemeral preview environments on your cloud provider or Kubernetes cluster with a single command. -- **Add Livecycle to your CI and get deploy previews for every PR** - By adding Livecycle to your CI/CD pipeline, you can automatically provision shareable preview environments for every commit or pull request. -- **Instantly share local containers -** The Livecycle Docker Extension lets you share your local containerized app and get feedback while the code is still on your machine, without the hassle of CI builds or staging servers. -- **Start collaborative review cycles with the team** - Every shared Livecycle preview environment includes built-in feedback tools that collect technical and visual feedback from the team. This means faster, more collaborative review cycles for everyone invovled. +Preevy allows you to easily provision preview environments for your Docker Compose applications to the cloud provider or Kubernetes cluster you're using: + - For AWS: use `aws configure`. See [AWS lightsail credentials configurations](/drivers/aws-lightsail#credentials-configuration). + - For GCP: use `gcloud auth application-default login`. See [GCP credentials configuration](/drivers/gcp-gce#credentials-configuration) + - For Azure: use `az login`. See [Azure credentials configuration](/drivers/azure#credentials-configuration) + - For Kubernetes: See [Kubernetes credentials configuration](/drivers/kube-pod#requirements) diff --git a/site/docs/cloud-providers/kube-pod.md b/site/docs/cloud-providers/kube-pod.md index 568dee26..89eff91d 100644 --- a/site/docs/cloud-providers/kube-pod.md +++ b/site/docs/cloud-providers/kube-pod.md @@ -1,6 +1,6 @@ --- sidebar_position: 4 -title: Kubernetes single Pod driver +title: Deploy to Kubernetes Single Pod --- # Kubernetes single Pod driver diff --git a/site/docs/dashboard/collaborative-reviews.md b/site/docs/dashboard/collaborative-reviews.md new file mode 100644 index 00000000..564cb14c --- /dev/null +++ b/site/docs/dashboard/collaborative-reviews.md @@ -0,0 +1,12 @@ +--- +sidebar_position: 2 +title: Collaborative reviews +--- + +## Collaborative reviews + +Livecycle makes it easy to not only create previews of your latest changes, but also to share them and collect feedback in context. + +Each of Livecycle's shared preview environments include built-in tools that enable technical teammates to review changes and access services from a browser, so they can see real-time logging, catch errors and execute commands in a terminal, and you can collaboratively fix issues mug earlier in the development lifecycle. + + \ No newline at end of file diff --git a/site/docs/dashboard/index.md b/site/docs/dashboard/index.md index fb7cfa15..d18d00f4 100644 --- a/site/docs/dashboard/index.md +++ b/site/docs/dashboard/index.md @@ -1,13 +1,10 @@ --- -title: The Livevcvle Dashboard +title: The Livecycle Dashboard parent: /dashboard --- -## **Add 5555555 to your workflow** +## **Share code changes. Collect feedback.** -Livecycle is flexible by design, so there are several ways to add Livecycle to your workflow: +Livecycle makes it easy to not only create previews of your latest changes, but also to share them and collect feedback in context. -- **Use our open source CLI to create self-hosted preview environments** - Our open source CLI “Preevy” provisions ephemeral preview environments on your cloud provider or Kubernetes cluster with a single command. -- **Add Livecycle to your CI and get deploy previews for every PR** - By adding Livecycle to your CI/CD pipeline, you can automatically provision shareable preview environments for every commit or pull request. -- **Instantly share local containers -** The Livecycle Docker Extension lets you share your local containerized app and get feedback while the code is still on your machine, without the hassle of CI builds or staging servers. -- **Start collaborative review cycles with the team** - Every shared Livecycle preview environment includes built-in feedback tools that collect technical and visual feedback from the team. This means faster, more collaborative review cycles for everyone invovled. +Using the Dashboard, you can invite teammates to ephemeral environments to review and provide feedback. Each team member can see the open projects assigned to them and review changes in their browser. diff --git a/site/docs/dashboard/remote-debug.md b/site/docs/dashboard/remote-debug.md deleted file mode 100644 index e9a0a24d..00000000 --- a/site/docs/dashboard/remote-debug.md +++ /dev/null @@ -1,92 +0,0 @@ ---- -sidebar_position: 3 -title: Remote Debugging ---- - -## Provisioning preview environments - -When provisioning a new environment using the [`up`](/cli-reference#preevy-up-service) command, Preevy does the following: - -- Load the configuration - - Read the specified Compose file(s) - - Read the tunneling key and default flags from the profile. - - Calculate the environment ID based on the current git branch (or uses the `--id` flag.) - - Connect to the Tunnel Server using the tunneling key to pre-generate the public URLs in env vars -- Make sure a machine is provisioned: - - Query the configured cloud provider for an existing machine - - If a machine doesn't exist yet, a new one is provisioned and a Docker server is set up in it -- Set up a SSH tunnel to the Docker server on the provisioned machine -- Build the Compose project - - Extract the build information from the specified Compose file(s) and combine it with the specified build options to generates an interim build Compose file. - - Run `docker buildx bake` with the generated build Compose file. - - The resulting images are either loaded to the provisioned machine or written to an image registry. -- Deploy the Compose services to the machine's Docker server using the `docker compose up` command - - Local volumes mounts are copied to the remote machine firsst - - The original Compose project with is augmented with a helper service, `preevy_proxy`, responsible for connecting to the [Tunnel Server](/tunnel-server). -- The `preevy_proxy` service creates a tunnel for each service. -- Fetch the urls from Tunnel Server and output them. - -## Profile configuration - -The Preevy profile provides a mechanism for storing and sharing configuration and state between different machines. This allows sharing of environments between different CI jobs, or different developers. -Using a shared profile ensures consistent configuration and stable URLs between different CI runs. - -Preevy includes built-in support for sharing profiles using [AWS S3](https://aws.amazon.com/s3/) and [Google Cloud Storage](https://cloud.google.com/storage/). You can also store the profile on the local filesystem and copy it manually. - -:::note -The profile does not contain any cloud provider credentials. - -When using S3, the Preevy CLI uses the local AWS credential chain (e.g, from environment variables, AWS profile, or EC2 role) - -Similarly, when using Google Cloud Storage, the Preevy CLI uses the locally stored Google Cloud credentials. - -For both providers, Preevy needs specific permissions to create the bucket (if it doesn't already exist) and read/write objects on the bucket. - -### Profile URLs - -Profile URLs specify the location of the shared profile on AWS S3 or Google Cloud Storage. A bucket name is always specified. The same bucket can be used to store multiple profiles by specifying a base path. - -Example AWS S3 URL: -``` -s3://preevy-config/profile1?region=us-east-1 -``` - -Refers to a profile stored on a S3 bucket named `preevy-config` in the region `us-east-1` under the base path `profile1`. - -Example Google Cloud Storage URL: - -``` -gs://preevy-config/profile1?project=my-project -``` - -Refers to a profile stored on a GCS bucket named `preevy-config` in the project `my-project` under the base path `profile1`. - -To import a shared profile, specify its URL to the `preevy init` command: - -``` -preevy init --from s3://preevy-config/profile1?region=us-east-1 -``` - -List profiles which were already imported using the command [`preevy profile ls`](/cli-reference#preevy-profile-ls). - -## Components - -#### [CLI](https://github.com/livecycle/preevy/tree/main/packages/cli) - -The CLI is a node.js program responsible for: - -- Provisioning and tearing down VMs. -- Exposing environments' state and URLs to the end user. -- Storing & accessing profile data. (settings, keys, etc...) -- Setting up a VM with Docker tooling. -- Syncing Compose source code and local volumes. -- Running the application and installing daemon for connecting to the tunneling service. - -For usage examples, you can go over the [CLI reference](/cli-reference) - -#### [Tunnel server](https://github.com/livecycle/preevy/tree/main/packages/tunnel-server) - -The tunnel server is a node.js based server responsible for exposing friendly HTTPS URLs for the Compose services. -A free public instance is hosted on `livecycle.run`, and it can be self-hosted as well. - -Read more about it: [Tunnel server](/tunnel-server) diff --git a/site/docs/dashboard/share-environments.md b/site/docs/dashboard/share-environments.md deleted file mode 100644 index 9d64144b..00000000 --- a/site/docs/dashboard/share-environments.md +++ /dev/null @@ -1,26 +0,0 @@ ---- -sidebar_position: 2 -title: Sharing environments ---- - -# Motivation - -Preevy was designed to help development teams improve their code-review workflows by providing a simple and cost-effective way to provision ephemeral environments for every branch. AKA: _**Preview Environments**_. -Preview environments can be used to test, validate and review changes made in a branch, before merging them. -They are a non-production version of the application, that can be accessed by anyone with a link that is usually attached to every pull/merge request. - -Our mission at [Livecycle](https://livecycle.io) is to make the development workflow more collaborative and free of back and forth communication. -We believe that **preview environments** serve an integral part for accomplishing our mission, and one of our earliest challenges as a startup was to make preview environments more accessible and affordable for all teams. - -As we grew Livecycle, we've seen teams implement preview environments for frontend applications by leveraging the power of [Vercel](https://vercel.com/docs/concepts/deployments/preview-deployments), [Netlify](https://docs.netlify.com/site-deploys/deploy-previews/) or even our [own solution](https://docs.livecycle.io/getting-started/livecycle-pipelines/). - -Yet, when it comes to deploying preview environments for a complex application with multiple services, many teams struggle to find the right solution and juggle between the different complexities and tradeoffs (fidelity, security, cost, scale, etc...). If they don't postpone the effort altogether, they often compromise on a complex, costly solution that isn't tailored to their needs. - -Many of the challenges in setting up complex preview environments are related to the inherent complexities and configuration fragmentation of production (or production-like) environments of enterprise applications. (e.g. Kubernetes configuration, [IaC](https://en.wikipedia.org/wiki/Infrastructure_as_code), scale, compliance/security, etc...). - -Preevy lowers the bar for deploying preview environments, aiming for any developer with a minimal knowledge of Docker and a cloud provider account. - -In the tradeoff between fidelity and simplicity, we chose simplicity. We believe that for preview environment to fulfill their potential impact on development flows, they should be cheap, hackable, and accessible to everyone. - -Originally, we planned Preevy as a side-project to let our customers provision preview environments on their infrastructure. -We decided to open-source it, since we are excited about the potential value it can bring to the community and the possibility of establishing an ecosystem of standards, practices and tools around preview environments. diff --git a/site/docs/faq.md b/site/docs/faq.md index 1255d51f..ce3f1f02 100644 --- a/site/docs/faq.md +++ b/site/docs/faq.md @@ -1,4 +1,50 @@ --- title: FAQ sidebar_position: 15 ---- \ No newline at end of file +--- + +## Common questions about using Preevy + +
+ What is the difference between the Livecycle Docker Extension and Ngrok? + + The Livecycle Docker Extension is integrated with Docker, and provides a smoother experience for Docker users. + Consistent URLs, private environments, organizations and Google/Github authentication are supported out of the box. + Livecycle dashboard provides debugging capabilities that includes log inspection, shell access, and container inspection. + Lastly, integration with the Preevy CLI allows you to create preview environments for Pull Requests - remote ephemeral environments that can be used when your development machine is offline. +
+ +
+ Which frameworks and languages does Livecycle support? + + Livecycle is language and framework agnostic. It works with anything that runs in a Docker container. +
+ +
+ What security features does the Livecycle Docker extension offer? + + The Livecycle Docker Extension uses a secure SSH tunnel to expose your local development environment using Livecycle's tunnel server, which is only accessible using HTTPS. + + You can enable private URLs to restrict access to your environment. +
+ +
+ How do I get started with the Livecycle Docker Extension? + + You can get started with the Livecycle Docker Extension by following the steps in the Getting Started section of this document. +
+ +
+ What makes the Livecycle Docker Extension different from other tools? + + Livecycle Docker extension is integrated with the Preevy CLI and the Livecycle managed service. + Using the Preevy CLI, you can provision remote ephemeral environments that can be used in addition to sharing local environments. + This functionality can also be used in your CI pipeline to provision preview environments for Pull Requests. + The Livecycle managed service adds additional layers of management, collaboration, review and debugging on top of shared environments. +
+ +
+ How do I get support for the Livecycle Docker Extension? + + Join the Livecycle Community on Slack to get support for the Livecycle Docker Extension. +
diff --git a/site/docs/intro/index.md b/site/docs/intro/index.md index adb70ef9..1ba2f6f9 100644 --- a/site/docs/intro/index.md +++ b/site/docs/intro/index.md @@ -3,11 +3,26 @@ title: About Preevy parent: /intro --- -## **Add 5555555 to your workflow** +## Preevy - Easily create and manage ephemeral environments -Livecycle is flexible by design, so there are several ways to add Livecycle to your workflow: +Preevy is an open source tool from Livecycle designed to easily provision, manage, and expose ephemeral environments for containerized applications in the cloud. -- **Use our open source CLI to create self-hosted preview environments** - Our open source CLI “Preevy” provisions ephemeral preview environments on your cloud provider or Kubernetes cluster with a single command. -- **Add Livecycle to your CI and get deploy previews for every PR** - By adding Livecycle to your CI/CD pipeline, you can automatically provision shareable preview environments for every commit or pull request. -- **Instantly share local containers -** The Livecycle Docker Extension lets you share your local containerized app and get feedback while the code is still on your machine, without the hassle of CI builds or staging servers. -- **Start collaborative review cycles with the team** - Every shared Livecycle preview environment includes built-in feedback tools that collect technical and visual feedback from the team. This means faster, more collaborative review cycles for everyone invovled. +These environments are inexpensive, easy to integrate, customizable, and accessible for both technical and non-technical users. + +It’s simple, flexible, and doesn’t require deep DevOps knowledge, making it ideal for adding preview environments to your “pull/merge request” flows. + +Preevy can deploy your app with public or protected access, on the public internet or inside your existing private network. + +### Benefits of working with Preevy + +Deploying a preview environment per Pull Request offers a range of benefits: + +- 🌍 **Universal Access:** Just by sharing a URL, you can allow anyone to try your product revision on any device. +- 📩 **Effortless Asynchronous Updates:** Keep non-technical stakeholders in the loop without coordinating synchronous meetings. +- 🎨 **Hassle-free Design Reviews:** Designers can verify implementation independently, minimizing interruptions. +- 🚀 **Parallel E2E Tests:** Use external test agents against preview environments expedite the testing process. +- 💡 **Streamlined Feedback Cycle:** Preview environments let your team engage with and feedback on new features early in the pipeline. +- 🧪 **Non-production Experimentation:** Develop and share unique versions of your product for presentations, examples, or tests. +- 🔐 **Secure Collaboration:** Generate private sandboxes to share with external stakeholders, ensuring secure collaborative efforts. + +Read more about the Preevy [origin story and motivation](/intro/motivation). diff --git a/site/docs/observability.md b/site/docs/observability.md deleted file mode 100644 index 08d22c8a..00000000 --- a/site/docs/observability.md +++ /dev/null @@ -1,26 +0,0 @@ ---- -title: Observability -sidebar_position: 13 ---- - -# Roadmap - -## More cloud drivers - -- [x] [AWS lightsail](drivers/aws-lightsail.md) -- [x] [GCP Compute Engine](drivers/gcp-gce.md) -- [x] [Azure](https://azure.microsoft.com/) -- [x] [Kubernetes](drivers/kube-pod.md) -- [ ] [fly.io](https://fly.io/) - -## Plugins - -A plugin system exists for Preevy providing a way to expand the preview environment with more functionality. -Examples: -* A plugin for providing a web-terminal for the inner containers -* A plugin for REST API calls (like [Hopscotch](https://hoppscotch.io/) or [Postman](https://www.postman.com/)) -* A plugin to integrate with [Livecycle](https://livecycle.io/) -* Etc. -## Security - -Add user/password protection for the exposed environments. Later, add [SSO](https://en.wikipedia.org/wiki/Single_sign-on) support. \ No newline at end of file diff --git a/site/docs/preevy-terminal.gif b/site/docs/preevy-terminal.gif new file mode 100644 index 00000000..f5ae38c0 Binary files /dev/null and b/site/docs/preevy-terminal.gif differ diff --git a/site/docs/security.md b/site/docs/security.md index 3ff2b7e8..59bde07b 100644 --- a/site/docs/security.md +++ b/site/docs/security.md @@ -2,25 +2,27 @@ title: Security sidebar_position: 12 --- +## Security -# Roadmap +In case you find a security issue or have something you would like to discuss, refer to our [security policy](https://github.com/livecycle/preevy/blob/main/security.md). -## More cloud drivers +### Private environments -- [x] [AWS lightsail](drivers/aws-lightsail.md) -- [x] [GCP Compute Engine](drivers/gcp-gce.md) -- [x] [Azure](https://azure.microsoft.com/) -- [x] [Kubernetes](drivers/kube-pod.md) -- [ ] [fly.io](https://fly.io/) +Preevy can add an authentication layer to your provisioned environments. When you configure your service as [private](https://preevy.dev/recipes/private-services/) the Tunnel Server restricts access based on a pre-shared secret or a Livecycle login (SSO via Google/Microsoft/GitHub). -## Plugins +### Notice on preview environments exposure -A plugin system exists for Preevy providing a way to expand the preview environment with more functionality. -Examples: -* A plugin for providing a web-terminal for the inner containers -* A plugin for REST API calls (like [Hopscotch](https://hoppscotch.io/) or [Postman](https://www.postman.com/)) -* A plugin to integrate with [Livecycle](https://livecycle.io/) -* Etc. -## Security +Services on provisioned environments are not exposed directly, but rather via a [tunnel](https://livecycle.io/blogs/preevy-proxy-service-2/) created by the tunneling server. + +Every Compose service is exposed individually with a generated URL in the following format: +`https://{service}-{[port]}-{env-id}-{client-id}.{tunnel-server-domain}`. If the service exposes a single port, the `port` part is omitted. See [here](https://livecycle.io/blogs/preevy-proxy-service-1/) for a more detailed explanation. + + +- `env-id` can be specified using the `--id` flag of the `preevy up` command, or automatically generated by git context. +- `client-id` is a random identifier based on the profile's public tunneling SSH key (generated in `preevy init`). +- `tunnel-service-domain` is where the tunnel service is hosted. It can be specified using the `--tunnel-url` flag of the `preevy up` command, and defaults to our free service at `*.livecycle.run`. + + +### Network isolation -Add user/password protection for the exposed environments. Later, add [SSO](https://en.wikipedia.org/wiki/Single_sign-on) support. \ No newline at end of file +The Tunnel Server can be deployed on a your private network (e.g, VPC), which access to your environments at the network level. diff --git a/site/docs/support.md b/site/docs/support.md index dbedf2d8..31299db8 100644 --- a/site/docs/support.md +++ b/site/docs/support.md @@ -1,4 +1,16 @@ --- title: Contact us sidebar_position: 16 ---- \ No newline at end of file +--- + +# Conact us + +## Any questions? Get in touch! + +- [Join the Livecycle Slack community](https://community.livecycle.io/) to ask questions speak to the team and other Livecycle users + +- [Follow us on X (Twitter)](https://twitter.com/get_livecycle) + +- [Follow us on LinkedIn](https://www.linkedin.com/company/livecycleio/) + +- [Check out our YouTube channel](https://www.youtube.com/@getlivecycle) \ No newline at end of file diff --git a/site/docs/telemetry.md b/site/docs/telemetry.md new file mode 100644 index 00000000..27277c2a --- /dev/null +++ b/site/docs/telemetry.md @@ -0,0 +1,16 @@ +--- +title: Telemetry +sidebar_position: 13 +--- + +# Telemetry + +The Preevy CLI collects telemetry data to help us understand product usage and direct future development. + +The data collected is anonymous and cannot be used to uniquely identify a user. Access to the data is limited to Livecycle's employees and not shared with 3rd parties. + +To see the collected data, set the environment variable `PREEVY_TELEMETRY_FILE` to a filename. + +We appreciate the usage data sent to us as - it's the most basic and raw type of feedback we get from our users. However, if you are concerned about sending out data, you may choose to disable telemetry. + +Telemetry collection can be disabled by setting the environment variable `PREEVY_DISABLE_TELEMETRY` to 1 or true. \ No newline at end of file diff --git a/site/docs/welcome-screen.png b/site/docs/welcome-screen.png new file mode 100644 index 00000000..bbf8d906 Binary files /dev/null and b/site/docs/welcome-screen.png differ diff --git a/site/docs/welcome.mdx b/site/docs/welcome.mdx index 38fcaa97..6377f0fa 100644 --- a/site/docs/welcome.mdx +++ b/site/docs/welcome.mdx @@ -7,6 +7,7 @@ hide_title: true --- import { Logo } from "@site/src/components/Logo"; +import LivecycleLogo from "./Livecycle_logo.png";

@@ -18,63 +19,28 @@ import { Logo } from "@site/src/components/Logo";

- Provision preview environments{" "} - for Docker Compose applications with minimal configuration + Easily Provision preview environments {" "} + for Docker Compose applications -## Livecycle and Preevy +Preevy is an open source tool from Livecycle designed to easily provision, manage, and expose ephemeral environments for containerized applications in the cloud. -Use Preevy to provision your [Docker Compose](https://docs.docker.com/compose/) application with minimal configurations.
-Simply run `preevy up`, and Preevy will return a public URL for every service in your configuration. +These environments are inexpensive, easy to integrate, customizable, and accessible for both technical and non-technical users. -You can read more about the Preevy [origin story and motivation](/intro/motivation). +It’s simple, flexible, and doesn’t require deep DevOps knowledge, making it ideal for adding preview environments to your “pull/merge request” flows. -## Prerequisites +Read more about the Preevy [origin story and motivation](/intro/motivation). -- Node.js installed. -- Docker and Docker Compose V2 installed. +![Livecycle Docker Extension](preevy-terminal.gif) + The Preevy CLI -## Getting Started +## About Livecycle -Preevy is designed to be easy to use, with an API smiliar to [Docker Compose](https://docs.docker.com/compose/). +[Livecycle](https://livecycle.io/) is the dev-friendly Internal Developer Platform that speeds up review cycles by making it easy to share previews and collect feedback in context. -1. Install Preevy CLI globally +Built on the “Preevy” open source engine, Livecycle provisions preview environments that contain built-in feedback tools so you can share changes and initiate collaborative reviews at any point in the SDLC. - ```bash npm2yarn - npm install -g preevy - ``` + - Or use `npx` to run the CLI without installing it: - - ```bash - npx preevy - ``` - -2. Choose the cloud provider or Kubernetes cluster you're going to use and configure credentials: - - For AWS: use `aws configure`. See [AWS lightsail credentials configurations](/drivers/aws-lightsail#credentials-configuration). - - For GCP: use `gcloud auth application-default login`. See [GCP credentials configuration](/drivers/gcp-gce#credentials-configuration) - - For Azure: use `az login`. See [Azure credentials configuration](/drivers/azure#credentials-configuration) - - For Kubernetes: See [Kubernetes credentials configuration](/drivers/kube-pod#requirements) - -3. Set up a profile - - ```bash - preevy init - ``` - -4. From the same directory where your `docker-compose.yml` or `compose.yml` file is located, run the command below, ensuring Docker is running: - - ```bash - preevy up - ``` - -**Note:** Preevy uses the git repo at the current directory to calculate a stable environment ID for your project. Make sure a git repo is initialized (with at least one commit), or add the `--id` flag to explicitly specify the environment ID. - - -:::info Cloud provider credentials -Managing and provisioning preview environments in Preevy, requires access and credentials to a cloud provider or Kubernetes cluster. Currently AWS, GCP, Azure and Kubernetes are supported, but more providers are [coming soon](/roadmap#more-cloud-drivers). -Once you install and initialize your cloud provider CLI, Preevy will recognize and employ your configuration settings. - - -For more info, see [AWS lightsail credentials configurations](/drivers/aws-lightsail#credentials-configuration), [GCP credentials configuration](/drivers/gcp-gce#credentials-configuration), [Azure credentials configuration](/drivers/azure#credentials-configuration) and [Kubernetes credentials configuration](/drivers/kube-pod#requirements). -::: +![Livecycle Welcome screen](welcome-screen.png) + Getting started with Livecycle \ No newline at end of file