diff --git a/docs/launchpad/docs-map.md b/docs/launchpad/docs-map.md index 4da6c49e..0926647a 100644 --- a/docs/launchpad/docs-map.md +++ b/docs/launchpad/docs-map.md @@ -4,7 +4,11 @@ sidebar_position: 1 # Launchpad Documentation -Launchpad is a comprehensive toolkit designed for running a Graph Protocol Indexer on Kubernetes, aimed at providing the fastest route to production deployments of multi-chain indexing software stacks with robust security and performance defaults. Suitable for environments ranging from a single node cluster to large scale multi-region clusters. Launchpad is also comprised of an opinionated set of tools that run on your local machine, that are layered to offer a declarative workflow for managing your deployment stack. Key components of Launchpad include the Launchpad Starter ([`graphops/launchpad-starter`](https://github.com/graphops/launchpad-starter)), which serves as the initial setup point for new deployments; Launchpad Charts ([`graphops/launchpad-charts`](https://github.com/graphops/launchpad-charts)), a collection of Helm Charts for blockchains and web3 applications; and Launchpad Namespaces ([`graphops/launchpad-namespaces`](https://github.com/graphops/launchpad-namespaces)), which are preconfigured Kubernetes Namespaces that utilize Helmfile for enhanced management. +Launchpad is a comprehensive toolkit designed for running a Graph Protocol Indexer on Kubernetes, aimed at providing the fastest route to production deployments of multi-chain indexing software stacks with robust security and performance defaults. + +Launchpad is suitable for environments ranging from a single node cluster to large scale multi-region clusters. Launchpad is also comprised of an opinionated set of tools that run on your local machine, that are layered to offer a declarative workflow for managing your deployment stack. + +Key components of Launchpad include the Launchpad Starter ([`graphops/launchpad-starter`](https://github.com/graphops/launchpad-starter)), which serves as the initial setup point for new deployments; Launchpad Charts ([`graphops/launchpad-charts`](https://github.com/graphops/launchpad-charts)), a collection of Helm Charts for blockchains and web3 applications; Launchpad Namespaces ([`graphops/launchpad-namespaces`](https://github.com/graphops/launchpad-namespaces)), which are preconfigured Kubernetes Namespaces that utilize Helmfile for enhanced management; and Launchpad Taskfiles ([`graphops/launchpad-taskfiles`](https://github.com/graphops/launchpad-taskfiles)), a collection of Tasks defined with Taskfile. Here's a guide to help you navigate this documentation based on the information you're seeking: diff --git a/docs/launchpad/intro.md b/docs/launchpad/intro.md index b6c05834..e10e0069 100644 --- a/docs/launchpad/intro.md +++ b/docs/launchpad/intro.md @@ -6,11 +6,12 @@ sidebar_position: 2 Launchpad is a toolkit for running a Graph Protocol Indexer on Kubernetes. It aims to provide the fastest path to production multi-chain indexing, with sane security and performance defaults. It should work well whether you have a single node cluster or twenty. It is comprised of an opinionated set of tools on your local machine, layered over one another to provide a declarative workflow to manage your deployments stack. -There are three major components to be aware of: +There are four major components to be aware of: 1. Launchpad Starter ([`graphops/launchpad-starter`](https://github.com/graphops/launchpad-starter)): A starting point for every new Launchpad deployment 2. Launchpad Charts ([`graphops/launchpad-charts`](https://github.com/graphops/launchpad-charts)): A collection of Helm Charts for blockchains and web3 apps 3. Launchpad Namespaces ([`graphops/launchpad-namespaces`](https://github.com/graphops/launchpad-namespaces)): A collection of preconfigured Kubernetes Namespaces using Helmfile +4. Launchpad Taskfiles ([`graphops/launchpad-taskfiles`](https://github.com/graphops/launchpad-taskfiles)): A collection of preconfigured Tasks using Taskfile ![Launchpad components](/img/launchpad-repos-slide.svg) diff --git a/docs/launchpad/quick-start.md b/docs/launchpad/quick-start.md index f0d138a6..1e535041 100644 --- a/docs/launchpad/quick-start.md +++ b/docs/launchpad/quick-start.md @@ -50,13 +50,11 @@ All work on your infrastructure will take place in this new repo. We recommend c Next, we should install all of the local tooling dependencies (like Helm or Kubectl) that we will need. -We can easily do that by running the launchpad:setup command. +We can easily do that by running the `launchpad:update-deps` command. ```shell # You may need to use sudo for this command -task launchpad:setup - -# For now, this will just run launchpad:deps, which will install all the local tooling dependencies +task launchpad:update-deps ``` ### Connect your Local environment to your Kubernetes cluster @@ -127,22 +125,6 @@ In the example above, values can be set to override the default configurations i ### Syncing your `helmfile.yaml` with the cluster -Next we need to install key non-Graph components of our stack, including monitoring and logging systems. - -Let's see what the `releases:apply-base` task is actually doing by running `task help -- releases:apply-base`: - -```shell -task: releases:apply-base - -Apply current helmfile state filtered by all base layer services - -commands: - -• task releases:apply -- launchpad.graphops.xyz/layer=base -``` - -As you can see, `releases:apply-base` just calls `releases:apply` filter for all namespaces with the label `launchpad.graphops.xyz/layer=base`. - You can list all the releases present in the helmfile.yaml, and their labels, by running `task releases:list`: ```shell NAME NAMESPACE ENABLED INSTALLED LABELS CHART VERSION @@ -164,7 +146,11 @@ In particular, the storage namespace may be a requirement even for other base na Next, let's go ahead and install all the remaining cluster services. You will be prompted to install each namespace, with a summary of changes to be made. ```shell -task releases:apply-base +task releases:apply -- monitoring +task releases:apply -- storage +task releases:apply -- sealed-secrets +task releases:apply -- postgres-operator +task releases:apply -- ingress ``` ### 🎉 Milestone: Kubernetes and core systems running! @@ -334,9 +320,9 @@ For full implementation details and other comprehensive notes about `launchpad-n ### Pulling in starter changes -From time to time, you may want to update your infra repo with the latest changes from our starter. +From time to time, you may want to update your infra repo with the latest changes from our starter. -Launchpad comes with a built in task to do this: +Launchpad comes with a built in task to do this, but it does require you to handle any rebase conflicts: ```shell task launchpad:pull-upstream-starter