Skip to content

Commit c3da3af

Browse files
eoAPI Kubernetes v0.7.0 Release (#221)
* Update version to 0.7.0 and set appVersion to 5.0.2 in Chart.yaml * Enhance values.schema.json with additional properties for service account, ingress, PostgreSQL, and STAC browser configurations * Update README and Chart.yaml for improved installation instructions and add logo * Update CHANGELOG.md Co-authored-by: Copilot <[email protected]> * Fix postGISVersion format in values.yaml to ensure proper parsing * Add installation notes for eoAPI deployment --------- Co-authored-by: Copilot <[email protected]>
1 parent 3aed7b3 commit c3da3af

File tree

8 files changed

+657
-151
lines changed

8 files changed

+657
-151
lines changed

CHANGELOG.md

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -5,24 +5,25 @@ All notable changes to this project will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8-
## [Unreleased]
8+
## [v0.7.0] - 2025-04-30
99

10-
### Added
10+
### Breaking Changes
11+
- New unified ingress configuration requires migration from previous ingress setup [#219](https://github.com/developmentseed/eoapi-k8s/pull/219)
12+
- Refactored PostgreSQL configuration with removal of deprecated database setup [#215](https://github.com/developmentseed/eoapi-k8s/pull/215)
13+
- Major architectural changes with service-specific templates [#220](https://github.com/developmentseed/eoapi-k8s/pull/220)
1114

15+
### Added
16+
- STAC Browser integration [#168](https://github.com/developmentseed/eoapi-k8s/pull/168)
17+
- Azure secret vault integration for pg-stac secrets [#187](https://github.com/developmentseed/eoapi-k8s/pull/187)
18+
- Support for both NGINX and Traefik ingress controllers [#219](https://github.com/developmentseed/eoapi-k8s/pull/219)
19+
- ArtifactHub.io Integration [#216](https://github.com/developmentseed/eoapi-k8s/pull/216)
1220

1321
### Changed
14-
15-
* Refactor pgstacbootstrap job and ConfigMaps to use Helm hooks for execution order [#207](https://github.com/developmentseed/eoapi-k8s/pull/207)
16-
* Simplify PgSTAC Bootstrap Process [#208](https://github.com/developmentseed/eoapi-k8s/pull/208)
17-
* Upgrade stac-fastapi-pgstac to v5.0.2 [#204](https://github.com/developmentseed/eoapi-k8s/pull/204)
18-
19-
### Deprecated
20-
21-
### Removed
22-
22+
- Refactor pgstacbootstrap job and ConfigMaps to use Helm hooks for execution order [#207](https://github.com/developmentseed/eoapi-k8s/pull/207)
23+
- Simplify PgSTAC Bootstrap Process [#208](https://github.com/developmentseed/eoapi-k8s/pull/208)
24+
- Upgrade stac-fastapi-pgstac to v5.0.2 [#204](https://github.com/developmentseed/eoapi-k8s/pull/204)
2325
### Fixed
24-
25-
### Security
26+
- Add ArtifactHub.io Integration (Issue #16) [#216](https://github.com/developmentseed/eoapi-k8s/pull/216)
2627

2728
## [v0.6.0] - 2025-04-03
2829

README.md

Lines changed: 74 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -17,47 +17,98 @@
1717

1818
## What is eoAPI?
1919

20-
[https://eoapi.dev/](https://eoapi.dev/)
20+
[eoAPI](https://eoapi.dev/) is a collection of REST APIs for Earth Observation data access and analysis. This repository provides a production-ready Kubernetes deployment solution with flexible database options, unified ingress configuration, and built-in monitoring.
2121

22-
## Getting Started
22+
## Quick Start
2323

24-
Make sure you have [helm](https://helm.sh/docs/intro/install/) installed on your machine.
25-
Additionally, you will need a cluster to deploy the eoAPI helm chart. This can be on a cloud provider, like AWS, GCP, or any other that supports Kubernetes. You can also run a local cluster using minikube.
24+
### Prerequisites
2625

27-
### Local
26+
- [helm](https://helm.sh/docs/intro/install/)
27+
- A Kubernetes cluster (local or cloud-based)
28+
- `kubectl` configured for your cluster
2829

29-
For a local installation you can use a preinstalled [Minikube](https://minikube.sigs.k8s.io/), and simply execute the following command:
30+
### Option 1: One-Command Installation
3031

32+
The fastest way to get started is using our Makefile commands:
33+
34+
For local development with Minikube:
3135
```bash
32-
$ make minikube
36+
make minikube
3337
```
3438

35-
Once the deployment is done, the url to access eoAPI will be printed to your terminal.
39+
For cloud deployment:
40+
```bash
41+
make deploy
42+
```
3643

37-
### Cloud
44+
This will automatically:
45+
1. Install the PostgreSQL operator
46+
2. Add the eoAPI helm repository
47+
3. Install the eoAPI helm chart
48+
4. Set up necessary namespaces and configurations
3849

39-
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
50+
### Option 2: Step-by-Step Installation
4051

41-
> &#9432; The helm chart in this repo assumes your cluster has a few third-party add-ons and controllers installed. So
42-
> it's in your best interest to read through the IaC guides to understand what those defaults are
52+
If you prefer more control over the installation process:
4353

44-
* [AWS EKS Cluster Setup](./docs/aws-eks.md)
45-
* [GCP GKE Cluster Setup](./docs/gcp-gke.md)
54+
1. Install the PostgreSQL operator:
55+
```bash
56+
helm upgrade --install \
57+
--set disable_check_for_upgrades=true pgo \
58+
oci://registry.developers.crunchydata.com/crunchydata/pgo \
59+
--version 5.7.4
60+
```
61+
62+
2. Add the eoAPI helm repository:
63+
```bash
64+
helm repo add eoapi https://devseed.com/eoapi-k8s/
65+
```
66+
67+
3. Get your current git SHA:
68+
```bash
69+
export GITSHA=$(git rev-parse HEAD | cut -c1-10)
70+
```
71+
72+
4. Install eoAPI:
73+
```bash
74+
helm upgrade --install \
75+
--namespace eoapi \
76+
--create-namespace \
77+
--set gitSha=$GITSHA \
78+
eoapi devseed/eoapi
79+
```
80+
81+
### Post-Installation
4682

47-
Make sure you have your `kubectl` configured to point to the cluster you want to deploy eoAPI to. Then simply execute the following command:
83+
1. Enable ingress (for Minikube):
84+
```bash
85+
minikube addons enable ingress
86+
```
4887

88+
2. Optional: Load sample data:
4989
```bash
50-
$ make deploy
90+
make ingest
5191
```
5292

53-
### Manual step-by-step installation
93+
## Cloud Provider Setup
94+
95+
For cloud-based deployments, refer to our detailed setup guides:
96+
* [AWS EKS Cluster Setup](./docs/aws-eks.md)
97+
* [GCP GKE Cluster Setup](./docs/gcp-gke.md)
98+
* [Azure Setup](./docs/azure.md)
99+
100+
## Documentation
101+
102+
* [Configuration Guide](./docs/configuration.md)
103+
* [Data Management](./docs/manage-data.md)
104+
* [Autoscaling and Monitoring](./docs/autoscaling.md)
105+
* [Health Checks](./docs/health.md)
106+
* [Unified Ingress Configuration](./docs/unified-ingress.md)
54107

55-
Instead of using the `make` commands above you can also [manually `helm install` eoAPI](./docs/helm-install.md).
108+
## Contributing
56109

110+
We welcome contributions! See our [contributing guide](./CONTRIBUTING.md) for details.
57111

58-
## More information
112+
## License
59113

60-
* Read about [Default Configuration](./docs/configuration.md#default-configuration) and
61-
other [Configuration Options](./docs/configuration.md#additional-options)
62-
* [Manage your data](./docs/manage-data.md) in eoAPI
63-
* Learn about [Autoscaling / Monitoring / Observability](./docs/autoscaling.md)
114+
This project is licensed under the [MIT License](./LICENSE).

helm-chart/eoapi/Chart.yaml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ type: application
1313
kubeVersion: ">=1.23.0-0"
1414

1515
# Artifacthub metadata
16+
icon: logo.png
1617
annotations:
1718
artifacthub.io/changes: |
1819
- Adds integration with Artifacthub.io
@@ -35,13 +36,14 @@ annotations:
3536
# This is the chart version. This version number should be incremented each time you make changes
3637
# to the chart and its templates, including the app version.
3738
# Versions are expected to follow Semantic Versioning (https://semver.org/)
38-
version: "0.6.0"
39+
version: "0.7.0"
3940

4041
# This is the version number of the application being deployed. This version number should be
4142
# incremented each time you make changes to the application. Versions are not expected to
4243
# follow Semantic Versioning. They should reflect the version the application is using.
4344
# It is recommended to use it with quotes.
44-
appVersion: "0.6.0"
45+
# We use the stac-fastapi-pgstac version as the app version
46+
appVersion: "5.0.2"
4547

4648
dependencies:
4749
- name: postgrescluster

0 commit comments

Comments
 (0)