Skip to content

Commit 1ece73b

Browse files
authored
feat: add launchpad-taskfiles (#98)
1 parent 683e608 commit 1ece73b

File tree

3 files changed

+16
-25
lines changed

3 files changed

+16
-25
lines changed

docs/launchpad/docs-map.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,11 @@ sidebar_position: 1
44

55
# Launchpad Documentation
66

7-
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.
7+
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.
8+
9+
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.
10+
11+
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.
812

913
Here's a guide to help you navigate this documentation based on the information you're seeking:
1014

docs/launchpad/intro.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,12 @@ sidebar_position: 2
66

77
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.
88

9-
There are three major components to be aware of:
9+
There are four major components to be aware of:
1010

1111
1. Launchpad Starter ([`graphops/launchpad-starter`](https://github.com/graphops/launchpad-starter)): A starting point for every new Launchpad deployment
1212
2. Launchpad Charts ([`graphops/launchpad-charts`](https://github.com/graphops/launchpad-charts)): A collection of Helm Charts for blockchains and web3 apps
1313
3. Launchpad Namespaces ([`graphops/launchpad-namespaces`](https://github.com/graphops/launchpad-namespaces)): A collection of preconfigured Kubernetes Namespaces using Helmfile
14+
4. Launchpad Taskfiles ([`graphops/launchpad-taskfiles`](https://github.com/graphops/launchpad-taskfiles)): A collection of preconfigured Tasks using Taskfile
1415

1516
![Launchpad components](/img/launchpad-repos-slide.svg)
1617

docs/launchpad/quick-start.md

Lines changed: 9 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -50,13 +50,11 @@ All work on your infrastructure will take place in this new repo. We recommend c
5050

5151
Next, we should install all of the local tooling dependencies (like Helm or Kubectl) that we will need.
5252

53-
We can easily do that by running the launchpad:setup command.
53+
We can easily do that by running the `launchpad:update-deps` command.
5454

5555
```shell
5656
# You may need to use sudo for this command
57-
task launchpad:setup
58-
59-
# For now, this will just run launchpad:deps, which will install all the local tooling dependencies
57+
task launchpad:update-deps
6058
```
6159

6260
### 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
127125

128126
### Syncing your `helmfile.yaml` with the cluster
129127

130-
Next we need to install key non-Graph components of our stack, including monitoring and logging systems.
131-
132-
Let's see what the `releases:apply-base` task is actually doing by running `task help -- releases:apply-base`:
133-
134-
```shell
135-
task: releases:apply-base
136-
137-
Apply current helmfile state filtered by all base layer services
138-
139-
commands:
140-
141-
• task releases:apply -- launchpad.graphops.xyz/layer=base
142-
```
143-
144-
As you can see, `releases:apply-base` just calls `releases:apply` filter for all namespaces with the label `launchpad.graphops.xyz/layer=base`.
145-
146128
You can list all the releases present in the helmfile.yaml, and their labels, by running `task releases:list`:
147129
```shell
148130
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
164146
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.
165147

166148
```shell
167-
task releases:apply-base
149+
task releases:apply -- monitoring
150+
task releases:apply -- storage
151+
task releases:apply -- sealed-secrets
152+
task releases:apply -- postgres-operator
153+
task releases:apply -- ingress
168154
```
169155

170156
### 🎉 Milestone: Kubernetes and core systems running!
@@ -334,9 +320,9 @@ For full implementation details and other comprehensive notes about `launchpad-n
334320

335321
### Pulling in starter changes
336322

337-
From time to time, you may want to update your infra repo with the latest changes from our starter.
323+
From time to time, you may want to update your infra repo with the latest changes from our starter.
338324

339-
Launchpad comes with a built in task to do this:
325+
Launchpad comes with a built in task to do this, but it does require you to handle any rebase conflicts:
340326

341327
```shell
342328
task launchpad:pull-upstream-starter

0 commit comments

Comments
 (0)