https://github.com/jr200/opencomponents-registry
chart to deploy opencomponents-registry
https://github.com/jr200/opencomponents-registry
helm-charts javascript kubernetes microfrontend opencomponents
Last synced: 4 months ago
JSON representation
chart to deploy opencomponents-registry
- Host: GitHub
- URL: https://github.com/jr200/opencomponents-registry
- Owner: jr200
- License: mit
- Created: 2024-09-12T12:28:19.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-09-12T20:59:30.000Z (over 1 year ago)
- Last Synced: 2025-10-28T01:27:38.395Z (7 months ago)
- Topics: helm-charts, javascript, kubernetes, microfrontend, opencomponents
- Language: Makefile
- Homepage:
- Size: 84 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# opencomponents-registry-chart
Helm chart to deploy an opencomponents registry to a kubernetes cluster with s3 (non-aws/minio) support.
opencomponents requires server encryption to be enabled on the s3 bucket. This means you will need to at least configure minio with a static KMS key.
## Installation
First configure an empty s3 bucket. e.g.,
```
s3cmd mb --bucket-location=us-east-1 s3://oc-registry/
```
_note: on minio, I also had to manually set the encryption for the bucket to SSE-KMS via the UI_
```
echo '[]' > components.json && \
s3cmd put ./components.json s3://oc-registry/components/components.json && \
rm components.json
```
Setup the appropriate config options in the `values.yaml`, and install using helm.
```
helm repo add jr200 https://jr200.github.io/helm-charts/
helm repo update
helm install -f values.yaml my-oc-registry jr200/opencomponents-registry
```
# Helm Chart Values Configuration
| Key | Type | Default | Description |
| ----------------------------- | -------- | ------------------------------------------------ | ------------------------------------------------------- |
| `devDebug` | `bool` | `false` | Puts main container in infinite sleep allowing _exec_. |
| `config.envFilePaths` | `array` | `["/usr/src/app/.env", "/var/run/secrets/.env"]` | Paths to environment variable files sourced on startup. |
| `config.publishAuth.enabled` | `bool` | `false` | Enable authentication for publishing components. |
| `config.publishAuth.username` | `string` | `publisher` | Username for publishing. |
| `config.publishAuth.password` | `string` | `publisher` | Password for publishing. |
| `config.baseUrl` | `string` | `https://oc-registry.example.com` | Base URL for the registry. |
| `config.componentsDir` | `string` | `components` | Directory to store components in the registry. |
| `config.s3.debug` | `bool` | `true` | Enable debug mode for S3 configuration. |
| `config.s3.ssl` | `bool` | `true` | Enable SSL for S3 connections. |
| `config.s3.forcePathStyle` | `bool` | `true` | Enable path-style S3 requests. |
| `config.s3.bucket` | `string` | `oc-registry` | Name of the S3 bucket. |
| `config.s3.region` | `string` | `us-east-1` | S3 bucket region. |
| `config.s3.path` | `string` | `//s3.example.com/oc-registry/` | S3 path to the bucket. |
| `config.s3.endpoint` | `string` | `https://s3.example.com` | Custom S3 endpoint URL. |
| `config.s3.secret.enabled` | `bool` | `false` | Enable S3 secrets for access key and secret key. |
| `config.s3.secret.access_key` | `string` | `~` | S3 access key. |
| `config.s3.secret.secret_key` | `string` | `~` | S3 secret key. |
The registry can be exposed using the usual kubernetes options.
| Key | Type | Default | Description |
| ------------------------------------ | -------- | ------------------------ | ------------------------------- |
| `service.type` | `string` | `ClusterIP` | Type of service. |
| `service.port` | `int` | `80` | Port for the service to expose. |
| `ingress.enabled` | `bool` | `false` | Enable or disable ingress. |
| `ingress.className` | `string` | `""` | Ingress class name. |
| `ingress.annotations` | `object` | `{}` | Annotations for the ingress. |
| `ingress.hosts[0].host` | `string` | `chart-example.local` | Host for the ingress. |
| `ingress.hosts[0].paths[0].path` | `string` | `/` | Path for the ingress. |
| `ingress.hosts[0].paths[0].pathType` | `string` | `ImplementationSpecific` | Path type for the ingress. |
| `ingress.tls` | `array` | `[]` | TLS settings for ingress. |
# References
- opencomponents: https://opencomponents.github.io/
- minio kms: https://min.io/docs/minio/linux/reference/minio-server/settings/kes.html