|
26 | 26 |
|
27 | 27 | ## Getting Started |
28 | 28 |
|
| 29 | +Make sure you have the following installed: |
| 30 | + |
| 31 | +* [Helm](https://helm.sh/docs/intro/install/) |
| 32 | +* [Kubectl](https://kubernetes.io/docs/tasks/tools/install-kubectl/) |
| 33 | + |
| 34 | +Additionally, wou will need a cluster set up to deploy the eoAPI helm chart. This can be on AWS, GCP, or any other cloud provider that supports k8s. You can also run a local cluster using minikube. |
| 35 | + |
| 36 | +### Local |
| 37 | + |
| 38 | +For a local installation you can use a preinstalled, empty: |
| 39 | + |
| 40 | +* [Minikube](https://minikube.sigs.k8s.io/) |
| 41 | + |
| 42 | +And simply execute the following command: |
| 43 | + |
| 44 | +```bash |
| 45 | +$ make minikube |
| 46 | +``` |
| 47 | + |
| 48 | +### Cloud |
| 49 | + |
29 | 50 | If you don't have a k8s cluster set up on AWS or GCP then follow an IaC guide below that is relevant to you |
30 | 51 |
|
31 | 52 | > ⓘ The helm chart in this repo assumes your cluster has a few third-party add-ons and controllers installed. So |
32 | 53 | > it's in your best interest to read through the IaC guides to understand what those defaults are |
33 | 54 |
|
34 | 55 | * [AWS EKS Cluster Setup](./docs/aws-eks.md) |
35 | | - |
36 | 56 | * [GCP GKE Cluster Setup](./docs/gcp-gke.md) |
37 | | - |
| 57 | + |
| 58 | +Then simply execute the following command: |
| 59 | + |
| 60 | +```bash |
| 61 | +$ make deploy |
| 62 | +``` |
| 63 | + |
38 | 64 | <a name="helminstall"/> |
39 | 65 |
|
40 | | -## Helm Installation |
41 | | - |
42 | | -Once you have a k8s cluster set up you can `helm install` eoAPI with the following steps: |
43 | | - |
44 | | -0. `eoapi-k8s` depends on the [Crunchydata Postgresql Operator](https://access.crunchydata.com/documentation/postgres-operator/latest/installation/helm). Install that first: |
45 | | - |
46 | | - ```python |
47 | | - $ helm install --set disable_check_for_upgrades=true pgo oci://registry.developers.crunchydata.com/crunchydata/pgo --version 5.5.2 |
48 | | - ``` |
49 | | - |
50 | | - |
51 | | -1. Add the eoapi repo from https://devseed.com/eoapi-k8s/: |
52 | | - |
53 | | - ```python |
54 | | - $ helm repo add eoapi https://devseed.com/eoapi-k8s/ |
55 | | - ``` |
56 | | - |
57 | | -2. List out the eoapi chart versions |
58 | | - |
59 | | - ```python |
60 | | - $ helm search repo eoapi --versions |
61 | | - NAME CHART VERSION APP VERSION DESCRIPTION |
62 | | - eoapi/eoapi 0.2.14 0.3.1 Create a full Earth Observation API with Metada... |
63 | | - eoapi/eoapi 0.1.13 0.2.11 Create a full Earth Observation API with Metada... |
64 | | - ``` |
65 | | -3. Optionally override keys/values in the default `values.yaml` with a custom `config.yaml` like below: |
66 | | - |
67 | | - ```python |
68 | | - $ cat config.yaml |
69 | | - vector: |
70 | | - enable: false |
71 | | - pgstacBootstrap: |
72 | | - settings: |
73 | | - envVars: |
74 | | - LOAD_FIXTURES: "0" |
75 | | - RUN_FOREVER: "1" |
76 | | - ``` |
77 | | -4. Then `helm install` with those `config.yaml` values: |
78 | | - |
79 | | - ```python |
80 | | - $ helm install -n eoapi --create-namespace eoapi eoapi/eoapi --version 0.1.2 -f config.yaml |
81 | | - ``` |
82 | | - |
83 | | -5. or check out this repo and `helm install` from this repo's `helm-chart/` folder: |
84 | | - |
85 | | - ```python |
86 | | - ###################################################### |
87 | | - # create os environment variables for required secrets |
88 | | - ###################################################### |
89 | | - $ export GITSHA=$(git rev-parse HEAD | cut -c1-10) |
90 | | - |
91 | | - $ cd ./helm-chart |
92 | | - |
93 | | - $ helm install \ |
94 | | - --namespace eoapi \ |
95 | | - --create-namespace \ |
96 | | - --set gitSha=$GITSHA \ |
97 | | - eoapi \ |
98 | | - ./eoapi |
99 | | - ``` |
100 | | - |
| 66 | +## Manual step-by-step installation |
| 67 | + |
| 68 | +Instead of using the `make` commands above you can also [manually `helm install` eoAPI](./docs/helm-install.md). |
| 69 | + |
101 | 70 | <a name="options"/> |
102 | 71 |
|
103 | 72 | ## Configuration Options and Defaults |
104 | | -Read about [Default Configuration](./docs/configuration.md#default-configuration) and |
| 73 | +Read about [Default Configuration](./docs/configuration.md#default-configuration) and |
105 | 74 | other [Configuration Options](./docs/configuration.md#additional-options) in the documentation |
0 commit comments