You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This assumes you already retrieved the AKS cluster credentials, and configured your
190
-
current `kubectl` context accordingly.
191
-
192
-
Otherwise, run `az aks get-credentials`, e.g.:
193
-
194
-
```shell
195
-
az aks get-credentials \
196
-
--resource-group phoenix \
197
-
--name phoenixAKSdev
198
-
```
199
-
200
-
* Run the deployment script
201
-
202
-
```
203
-
./api/kubernetes/deploy_via_helm.sh --help
204
-
205
-
This script takes at least 4 parameters.
206
-
207
-
The following optional environment variables can be set to alter this script behavior:
208
-
- ARGO_MINIO_REQUESTS_MEMORY | units of bytes (default is 4Gi) | Memory requests for the Argo MinIO server
209
-
- NGINX_INGRESS_CONTROLLER_ENABLED | boolean (default is false) | indicating whether an NGINX Ingress Controller should be deployed and an Ingress resource created too
210
-
- NGINX_INGRESS_CONTROLLER_REPLICA_COUNT | int (default is 1) | number of pods for the NGINX Ingress Controller
211
-
- NGINX_INGRESS_CONTROLLER_LOADBALANCER_IP | IP Address String | optional public IP Address to use as LoadBalancer IP. You can create one with this Azure CLI command: az network public-ip create --resource-group <my-rg>> --name <a-name> --sku Standard --allocation-method static --query publicIp.ipAddress -o tsv
212
-
- NGINX_INGRESS_CONTROLLER_HELM_ADDITIONAL_OPTIONS | Additional Helm options for the NGINX Ingress Controller | Additional options to pass to Helm when creating the Ingress Controller, e.g.: --set controller.service.annotations."service.beta.kubernetes.io/azure-load-balancer-resource-group"=my-azure-resource-group
213
-
- CERT_MANAGER_ENABLED | boolean (default is false). Deprecated - use TLS_CERTIFICATE_TYPE instead | indicating whether cert-manager should be deployed. It is in charge of requesting and managing renewal of Let's Encrypt certificates
214
-
- CERT_MANAGER_INSTALL_WAIT_TIMEOUT | string (default is 3m) | how much time to wait for the cert-manager Helm Chart to be successfully deployed
215
-
- CERT_MANAGER_USE_ACME_PROD | boolean (default is false) | whether to use the Let's Encrypt Production server. Note that this is subject to rate limiting
216
-
- CERT_MANAGER_COSMOTECH_API_DNS_NAME | FQDN String. Deprecated - use COSMOTECH_API_DNS_NAME instead | DNS name, used for Let's Encrypt certificate requests, e.g.: dev.api.cosmotech.com
217
-
- COSMOTECH_API_DNS_NAME | FQDN String | DNS name, used for configuring the Ingress resource, e.g.: dev.api.cosmotech.com
218
-
- CERT_MANAGER_ACME_CONTACT_EMAIL | Email String. Deprecated - use TLS_CERTIFICATE_LET_S_ENCRYPT_CONTACT_EMAIL instead | contact email, used for Let's Encrypt certificate requests
219
-
- TLS_CERTIFICATE_TYPE | one of 'none', 'custom', 'let_s_encrypt' | strategy for TLS certificates
220
-
- TLS_CERTIFICATE_LET_S_ENCRYPT_CONTACT_EMAIL | Email String | contact email, used for Let's Encrypt certificate requests
221
-
- TLS_CERTIFICATE_CUSTOM_CERTIFICATE_PATH | File path | path to a file containing the custom TLS certificate to use for HTTPS
222
-
- TLS_CERTIFICATE_CUSTOM_KEY_PATH | File path | path to a file containing the key for the custom TLS certificate to use for HTTPS
223
-
224
-
Usage: ./deploy_via_helm.sh CHART_PACKAGE_VERSION NAMESPACE ARGO_POSTGRESQL_PASSWORD API_VERSION [any additional options to pass as is to the cosmotech-api Helm Chart]
See the dedicated [README](api/kubernetes/helm-chart/README.md) for more details about the different properties.
243
-
244
-
### Local Kubernetes Cluster
245
-
246
-
* Spawn a local cluster. Skip if you already have configured a local cluster.
247
-
248
-
Otherwise, you may want to leverage the [scripts/kubernetes/create-local-k8s-cluster.sh](scripts/kubernetes/create-local-k8s-cluster.sh) script,
249
-
which provisions a local [Kind](https://kind.sigs.k8s.io/) cluster, along with a private local container
250
-
registry and an [NGINX Ingress Controller](https://kubernetes.github.io/ingress-nginx/).
251
-
252
-
To use it, simply [install Kind](https://kind.sigs.k8s.io/docs/user/quick-start/#installation), and run the script, like so (`<cluster_name>` is optional and defaults to `local-k8s-cluster`):
This uses the default [values-dev.yaml](api/kubernetes/helm-chart/values-dev.yaml).
282
-
283
-
**Usage**
284
-
285
-
```
286
-
❯ ./api/kubernetes/deploy_via_helm-dev.sh --help
287
-
288
-
This script takes at least 3 parameters.
289
-
290
-
The following optional environment variables can be set to alter this script behavior:
291
-
- ARGO_MINIO_REQUESTS_MEMORY | units of bytes (default is 4Gi) | Memory requests for the Argo MinIO server
292
-
293
-
Usage: ./deploy_via_helm-dev.sh NAMESPACE ARGO_POSTGRESQL_PASSWORD API_VERSION [any additional options to pass as is to the cosmotech-api Helm Chart]
294
-
295
-
```
296
-
297
-
See the dedicated [README](api/kubernetes/helm-chart/README.md) for more details about the different properties.
298
-
299
162
## Contributing
300
163
301
164
Feel free to submit pull requests or open issues for bugs or feature requests.
302
165
303
166
We leverage the following tools to enforce code formatting and for code static analysis:
304
167
-[Spotless](https://github.com/diffplug/spotless)
305
168
-[Detekt](https://detekt.github.io/detekt/)
306
-
-[KubeLinter](https://github.com/stackrox/kube-linter) and [helm lint](https://helm.sh/docs/helm/helm_lint/)
307
169
308
170
These checks are automatically enforced as part of the continuous integration runs on GitHub.
309
171
@@ -345,19 +207,6 @@ To run a local analysis with Detekt, simply run the `detekt` Gradle task:
345
207
346
208
You will then find the reports for the different sub-projects in the `build/reports/detekt` folder, under different formats: Plain text, HTML, and [SARIF](https://sarifweb.azurewebsites.net/).
347
209
348
-
#### KubeLinter
349
-
350
-
To run a local analysis of the Helm Charts maintained in this repo:
0 commit comments