{"id":8072632,"url":"https://github.com/jetify-com/launchpad","last_synced_at":"2025-04-06T01:08:38.498Z","repository":{"id":62865884,"uuid":"557527005","full_name":"jetify-com/launchpad","owner":"jetify-com","description":"From Code to Kubernetes in One Step.","archived":false,"fork":false,"pushed_at":"2024-04-12T20:37:52.000Z","size":332,"stargazers_count":420,"open_issues_count":3,"forks_count":8,"subscribers_count":7,"default_branch":"main","last_synced_at":"2025-03-29T23:11:09.002Z","etag":null,"topics":["aws","cluster","containers","deployment","devops","docker","ecr","helm","helm-charts","k8s","k8s-cluster","k8s-deployment","kubectl","kubernetes","orchestration"],"latest_commit_sha":null,"homepage":"https://www.jetpack.io/launchpad","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jetify-com.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2022-10-25T21:06:51.000Z","updated_at":"2025-01-06T15:17:41.000Z","dependencies_parsed_at":"2023-10-11T01:16:44.478Z","dependency_job_id":"af2b3491-da9b-4b23-9e83-8480f47891e7","html_url":"https://github.com/jetify-com/launchpad","commit_stats":null,"previous_names":["jetify-com/launchpad","jetpack-io/launchpad"],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jetify-com%2Flaunchpad","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jetify-com%2Flaunchpad/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jetify-com%2Flaunchpad/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jetify-com%2Flaunchpad/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jetify-com","download_url":"https://codeload.github.com/jetify-com/launchpad/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247419860,"owners_count":20936012,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aws","cluster","containers","deployment","devops","docker","ecr","helm","helm-charts","k8s","k8s-cluster","k8s-deployment","kubectl","kubernetes","orchestration"],"created_at":"2024-04-16T23:07:49.425Z","updated_at":"2025-04-06T01:08:38.473Z","avatar_url":"https://github.com/jetify-com.png","language":"Go","readme":"# Launchpad\n\n### From Code to Kubernetes in One Step\n\n[![Join Discord](https://img.shields.io/discord/903306922852245526?color=7389D8\u0026label=discord\u0026logo=discord\u0026logoColor=ffffff)](https://discord.gg/jetify) ![License: Apache 2.0](https://img.shields.io/github/license/jetpack-io/devbox) [![version](https://img.shields.io/github/v/release/jetpack-io/launchpad?color=green\u0026label=version\u0026sort=semver)](https://github.com/jetify-com/launchpad/releases) [![tests](https://github.com/jetify-com/launchpad/actions/workflows/release.yaml/badge.svg)](https://github.com/jetify-com/launchpad/actions/workflows/release.yaml?branch=main)\n\n## What is it?\n\n[Launchpad](https://www.jetify.com/launchpad) is a command-line tool that lets you easily create applications on Kubernetes.\n\nIn practice, Launchpad works similar to Heroku or Vercel, except everything is on Kubernetes.\n\n## Demo\n\nThe example below initializes a web project with `launchpad init`, and deploys to a local Kubernetes cluster with `launchpad up`:\n\n![screen cast](https://www.jetify.com/assets/image/launchpad-docker-desktop-k.svg)\n\n## Installing Launchpad\n\nIn addition to installing Launchpad itself, you will need to install `docker` since Launchpad depends on it:\n\n1. Install [Docker Desktop](https://www.docker.com/get-started/).\n\n2. Install Launchpad:\n\n   ```sh\n   curl -fsSL https://get.jetify.com/launchpad | bash\n   ```\n\n## Benefits\n\n### A Zero Ops workflow\n\nLaunchpad builds any image, publishes it to your Docker Registry, and deploys it to Kubernetes in one step. No need to manually build and push your image, setup your kube-context, or write long pages of Kubernetes YAML.\n\n### A Heroku-like experience on your own Kubernetes cluster\n\nEver wonder how you'd graduate from Heroku or a single EC2 machine to Kubernetes without going through a painful setup again? Faint not! With Launchpad, no manual migrations are required. In fact, developers can deploy and run their applications without needing to learn Kubernetes.\n\n### Secret management built-in\n\nSecrets are tied to your launchpad projects, so they can be shared and updated securely by your team.\n\n## Quickstart: deploy to your Docker Desktop Kubernetes cluster\n\nIn this quickstart, we’ll deploy a cron job to your local Docker Desktop Kubernetes cluster.\n\n1. Open a terminal in a new empty folder called `launchpad/`.\n\n2. Enable [Kubernetes on Docker Desktop](https://docs.docker.com/desktop/kubernetes/)\n\n3. Initialize Launchpad in `launchpad/`:\n\n   ```bash\n   \u003e launchpad init\n   ```\n\n   You will see the following questions:\n\n   ```\n   ? What is the name of this project? // Press \u003cEnter\u003e to use the default name\n   ? What type of service you would like to add to this project? // Choose `Cron Job`\n   ? To which cluster do you want to deploy this project? // Choose `docker-desktop`\n   ```\n\n   This creates a `launchpad.yaml` file in the current directory. You should commit it to source control.\n\n4. Your `launchpad.yaml` file should now look like this:\n\n   ```yaml\n      configVersion: 0.1.2\n      projectId: ...\n      name: app\n      cluster: docker-desktop\n      services:\n        app-cron:\n          type: cron\n          image: busybox:latest\n          command: [/bin/sh, -c, date; echo Hello from Launchpad]\n          schedule: '* * * * *'\n   ```\n\n5. Start a new deployment to Kubernetes:\n\n   ```bash\n   launchpad up\n   ```\n\n6. Wait for a minute, and see the cron job in action:\n\n   ```bash\n   \u003e kubectl get pods\n   \u003e kubectl logs \u003cpod_name\u003e\n   ```\n\n7. Clean up:\n\n   ```bash\n   launchpad down\n   ```\n\n## Additional commands\n\n`launchpad help` - see all commands\n\n`launchpad auth` - create a user, login, or logout (login required)\n\n`launchpad env` - manage environment variables and secrets (login required)\n\n`launchpad cluster` - create a cluster, list your clusters (login required)\n\n\n## Join our Developer Community\n\n- Chat with us by joining the [Jetify's Discord Server](https://discord.gg/jetify) – we have a #launchpad channel dedicated to this project.\n- File bug reports and feature requests using [Github Issues](https://github.com/jetify-com/launchpad/issues)\n- Follow us on [Jetpack's Twitter](https://twitter.com/jetify_com) for product updates\n\n## Contributing\n\nLaunchpad is an open-core project so contributions are always welcome. Please read [our contributing guide](CONTRIBUTING.md) before submitting pull requests.\n","funding_links":[],"categories":["Go","aws"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjetify-com%2Flaunchpad","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjetify-com%2Flaunchpad","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjetify-com%2Flaunchpad/lists"}