Skip to content

Commit 07bb189

Browse files
authored
Merge branch 'master' into feat/external-secrets
2 parents 69cbcf8 + 87a0726 commit 07bb189

File tree

104 files changed

+1279
-751
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

104 files changed

+1279
-751
lines changed

.github/ct.yaml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,9 @@ chart-dirs:
44
- helm
55
chart-repos:
66
- bitnami=https://charts.bitnami.com/bitnami
7+
- elastic=https://helm.elastic.co
78
helm-extra-args: --timeout 600s
89
check-version-increment: true
910
debug: false
10-
validate-maintainers: false
11+
validate-maintainers: false
12+
helm-dependency-extra-args: "--skip-refresh"

.github/workflows/lint_test.yaml

Lines changed: 22 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ jobs:
2222
check-latest: true
2323

2424
- name: Set up chart-testing
25-
uses: helm/chart-testing-action@v2.3.1
25+
uses: helm/chart-testing-action@v2.6.1
2626

2727
- name: Run chart-testing (list-changed)
2828
id: list-changed
@@ -34,17 +34,29 @@ jobs:
3434
3535
- name: Run chart-testing (lint)
3636
run: ct lint --config .github/ct.yaml
37-
38-
# deploy-charts-to-kind:
39-
# name: ${{ matrix.environments }} - gen3 data portal build
37+
38+
# TODO: add back in when we have tests
39+
# deploy-and-test-chart:
40+
# name: Deploy and Test Chart
4041
# timeout-minutes: 20
4142
# runs-on: ubuntu-latest
42-
# needs: [get-changes-for-envs]
43-
# if: ${{ needs.get-changes-for-envs.outputs.matrix != '[]' && needs.get-changes-for-envs.outputs.matrix != '' }}
4443
# steps:
44+
45+
# - name: Checkout
46+
# uses: actions/checkout@v2
47+
# with:
48+
# fetch-depth: 0
49+
50+
# - name: Set up Helm
51+
# uses: azure/setup-helm@v3
52+
53+
# - name: Set up chart-testing
54+
# uses: helm/chart-testing-action@v2.6.1
55+
56+
4557
# - name: Create kind cluster
46-
# uses: helm/kind-action@v1.4.0
47-
# if: steps.list-changed.outputs.changed == 'true'
58+
# uses: helm/kind-action@v1.8.0
59+
4860

49-
# - name: Run chart-testing (install)
50-
# run: ct install
61+
# - name: Run chart install + testing
62+
# run: ct install --charts ./helm/gen3 --config .github/ct.yaml

.secrets.baseline

Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
"files": "^.secrets.baseline$",
44
"lines": null
55
},
6-
"generated_at": "2023-07-27T21:47:16Z",
6+
"generated_at": "2023-11-20T21:39:41Z",
77
"plugins_used": [
88
{
99
"name": "AWSKeyDetector"
@@ -108,6 +108,15 @@
108108
"type": "Secret Keyword"
109109
}
110110
],
111+
"docs/kubernetes-in-docker.md": [
112+
{
113+
"hashed_secret": "5320294d100314ce19330d99abada8c26c4993a3",
114+
"is_secret": false,
115+
"is_verified": false,
116+
"line_number": 96,
117+
"type": "Secret Keyword"
118+
}
119+
],
111120
"examples/gke_dev_values.yaml": [
112121
{
113122
"hashed_secret": "75cb4c02576c9abae38fadc84bc832f2af203f3e",
@@ -365,7 +374,7 @@
365374
"hashed_secret": "1740c48fa3141d4851b14f97e3bc0f46f7670672",
366375
"is_secret": false,
367376
"is_verified": false,
368-
"line_number": 119,
377+
"line_number": 127,
369378
"type": "Secret Keyword"
370379
}
371380
],
@@ -374,13 +383,13 @@
374383
"hashed_secret": "9b5925ea817163740dfb287a9894e8ab3aba2c18",
375384
"is_secret": false,
376385
"is_verified": false,
377-
"line_number": 212,
386+
"line_number": 216,
378387
"type": "Secret Keyword"
379388
}
380389
],
381390
"helm/guppy/README.md": [
382391
{
383-
"hashed_secret": "0d5cd5f3caaaf8354a6c62816b97bcae006d4bcf",
392+
"hashed_secret": "39e819806b607b544fec2ea49fa88a7ab81929ca",
384393
"is_secret": false,
385394
"is_verified": false,
386395
"line_number": 43,
@@ -509,28 +518,28 @@
509518
"hashed_secret": "8a10cd156f8f43ec303f885a7985b1cf90635e23",
510519
"is_secret": false,
511520
"is_verified": false,
512-
"line_number": 41,
521+
"line_number": 49,
513522
"type": "Secret Keyword"
514523
},
515524
{
516525
"hashed_secret": "2546383b95bb44732e9be6a877fd476c0442fdab",
517526
"is_secret": false,
518527
"is_verified": false,
519-
"line_number": 58,
528+
"line_number": 66,
520529
"type": "Secret Keyword"
521530
},
522531
{
523532
"hashed_secret": "d84ce25b0f9bc2cc263006ae39453efb22cc2900",
524533
"is_secret": false,
525534
"is_verified": false,
526-
"line_number": 60,
535+
"line_number": 68,
527536
"type": "Secret Keyword"
528537
},
529538
{
530539
"hashed_secret": "f09dd6e359833a12f48c4c4255d6e87a6e55cfe9",
531540
"is_secret": false,
532541
"is_verified": false,
533-
"line_number": 79,
542+
"line_number": 87,
534543
"type": "Secret Keyword"
535544
}
536545
],

README.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,9 @@ NOTE: Gen3 helm charts are currently not used in production by CTDS, but we are
117117
118118
For local development you must be connected to a kubernetes cluster. As referenced above in the section `Kubernetes cluster` we recommend using [Rancher Desktop](https://rancherdesktop.io/) as Kubernetes on your local machine, especially on M1 Mac's. You also get ingress and other benefits out of the box.
119119
120+
> **Warning**
121+
> If you are using Rancher Desktop you need to increase the vm.max_map_count as outlined [here](https://docs.rancherdesktop.io/how-to-guides/increasing-open-file-limit/)
122+
120123
1. Clone the repository
121124
2. Navigate to the `gen3-helm/helm/gen3` directory and run `helm dependency update`
122125
3. Navigate to the back to the `gen3-helm` directory and create your values.yaml file. See the `TL;DR` section for a minimal example.

docs/CONFIGURATION.md

Lines changed: 85 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -205,7 +205,7 @@ global:
205205
guppy:
206206
# -- (int) Only relevant if tireAccessLevel is set to "regular".
207207
# The minimum amount of files unauthorized users can filter down to
208-
tierAccessLimit: 1000
208+
tierAccessLimit: "1000"
209209

210210
# -- (list) Elasticsearch index configurations
211211
indices:
@@ -512,26 +512,97 @@ To configure sheepdog we require an entry in the versions block. It also require
512512
``` -->
513513
514514
## Extra Information
515-
<!--
516515
---
517516
# Sower
518517
519518
## What Does it Do
520519
521-
Sower is a job dispatching service. Jobs are configured within the manifest and sower handles dispatching the jobs.
520+
Sower is a job dispatching service. Jobs are configured with .Values.sowerConfig and sower handles dispatching the jobs.
522521
523522
## How to Configure it
524523
525-
<!-- To configure sower we require an entry in the versions block.
526-
527-
```json
528-
{
529-
"versions": {
530-
"sower": "version"
531-
}
532-
}
533-
``` -->
534-
535-
<!-- From there you will also need to setup jobs for sower to dispatch within the sower block of a manifest. There are many jobs that can be configured but an example of some jobs configured can be found [here](https://github.com/uc-cdis/cdis-manifest/blob/master/gen3.biodatacatalyst.nhlbi.nih.gov/manifest.json#L48) -->
524+
```yaml
525+
sower:
526+
enabled: true
527+
sowerConfig:
528+
- name: pelican-export
529+
action: export
530+
container:
531+
name: job-task
532+
image: quay.io/cdis/pelican-export:master
533+
pull_policy: Always
534+
env:
535+
- name: DICTIONARY_URL
536+
valueFrom:
537+
configMapKeyRef:
538+
name: manifest-global
539+
key: dictionary_url
540+
- name: GEN3_HOSTNAME
541+
valueFrom:
542+
configMapKeyRef:
543+
name: manifest-global
544+
key: hostname
545+
- name: ROOT_NODE
546+
value: subject
547+
volumeMounts:
548+
- name: pelican-creds-volume
549+
readOnly: true
550+
mountPath: "/pelican-creds.json"
551+
subPath: config.json
552+
- name: peregrine-creds-volume
553+
readOnly: true
554+
mountPath: "/peregrine-creds.json"
555+
subPath: creds.json
556+
cpu-limit: '1'
557+
memory-limit: 12Gi
558+
volumes:
559+
- name: pelican-creds-volume
560+
secret:
561+
secretName: pelicanservice-g3auto
562+
- name: peregrine-creds-volume
563+
secret:
564+
secretName: peregrine-creds
565+
restart_policy: Never
566+
- name: pelican-export-files
567+
action: export-files
568+
container:
569+
name: job-task
570+
image: quay.io/cdis/pelican-export:master
571+
pull_policy: Always
572+
env:
573+
- name: DICTIONARY_URL
574+
valueFrom:
575+
configMapKeyRef:
576+
name: manifest-global
577+
key: dictionary_url
578+
- name: GEN3_HOSTNAME
579+
valueFrom:
580+
configMapKeyRef:
581+
name: manifest-global
582+
key: hostname
583+
- name: ROOT_NODE
584+
value: file
585+
- name: EXTRA_NODES
586+
value: ''
587+
volumeMounts:
588+
- name: pelican-creds-volume
589+
readOnly: true
590+
mountPath: "/pelican-creds.json"
591+
subPath: config.json
592+
- name: peregrine-creds-volume
593+
readOnly: true
594+
mountPath: "/peregrine-creds.json"
595+
subPath: creds.json
596+
cpu-limit: '1'
597+
memory-limit: 12Gi
598+
volumes:
599+
- name: pelican-creds-volume
600+
secret:
601+
secretName: pelicanservice-g3auto
602+
- name: peregrine-creds-volume
603+
secret:
604+
secretName: peregrine-creds
605+
restart_policy: Never
606+
```
536607
537608
## Extra Information -->

docs/etl.md

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
# ETL
2+
3+
The Gen3 Tube ETL is designed to translate data from a graph data model, stored in a PostgreSQL database, to indexed documents in ElasticSearch (ES), which supports efficient ways to query data from the front-end. The purpose of the Gen3 Tube ETL is to create indexed documents to reduce the response time of requests to query data. It is configured through an etlMapping.yaml configuration file, which describes which tables and fields to ETL to ElasticSearch.
4+
5+
6+
You can configure the ETL like this:
7+
8+
```yaml
9+
etl:
10+
enabled: true
11+
esEndpoint: ""
12+
etlMapping:
13+
<your etl mapping here>
14+
```
15+
16+
To kick off etl job run this command:
17+
18+
```bash
19+
kubectl create job --from=cronjob/etl-cronjob etl
20+
```
21+
22+
If you already have a job called etl run the following. This will delete the old job and create a new instance.
23+
24+
```bash
25+
kubectl delete job etl
26+
kubectl create job --from=cronjob/etl-cronjob etl
27+
```
28+
29+
For more information about our ETL read [here github.com/uc-cdis/tube](https://github.com/uc-cdis/tube)

0 commit comments

Comments
 (0)