diff --git a/.github/boring-cyborg.yml b/.github/boring-cyborg.yml index 4df7b3acab..6f86dbf9e5 100644 --- a/.github/boring-cyborg.yml +++ b/.github/boring-cyborg.yml @@ -7,7 +7,7 @@ labelPRBasedOnFilePath: # Add 'chart' to any changes within 'chart' folder or any subfolders chart: - - chart/**/* + - charts/**/* # Add 'docs' to any changes to `.md` files in root or within 'docs' folder, subfolders docs: diff --git a/.github/workflows/chart-release.yml b/.github/workflows/chart-release.yml new file mode 100644 index 0000000000..4ec3991dcf --- /dev/null +++ b/.github/workflows/chart-release.yml @@ -0,0 +1,40 @@ +name: chart-release + +on: + push: + branches: + - main + +jobs: + release: + # depending on default permission settings for your org (contents being read-only or read-write for workloads), you will have to add permissions + # see: https://docs.github.com/en/actions/security-guides/automatic-token-authentication#modifying-the-permissions-for-the-github_token + permissions: + contents: write + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v3 + with: + fetch-depth: 0 + + - name: Configure Git + run: | + git config user.name "$GITHUB_ACTOR" + git config user.email "$GITHUB_ACTOR@users.noreply.github.com" + + - name: Install Helm + uses: azure/setup-helm@v4 + env: + GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}" + + - name: add repos + run: | + helm repo add bitnami https://charts.bitnami.com/bitnami + + - name: Run chart-releaser + uses: helm/chart-releaser-action@v1.6.0 + with: + charts_dir: charts + env: + CR_TOKEN: "${{ secrets.GITHUB_TOKEN }}" diff --git a/.github/workflows/test-chart.yaml b/.github/workflows/test-chart.yaml index 379e130b81..9ed9dc8640 100644 --- a/.github/workflows/test-chart.yaml +++ b/.github/workflows/test-chart.yaml @@ -3,8 +3,8 @@ name: test-chart on: pull_request: paths: - - 'chart/**' - - '!chart/**.md' + - 'charts/**' + - '!charts/**.md' jobs: lint-test-chart: diff --git a/.gitignore b/.gitignore index 69cf57cb58..726fd0136f 100644 --- a/.gitignore +++ b/.gitignore @@ -38,7 +38,7 @@ metadata.json .java-version # Dependent Helm charts -chart/charts/ +marquez/charts/ # Dev changes.txt diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 5e3b368964..1b41940d03 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -5,7 +5,7 @@ repos: - id: trailing-whitespace - id: end-of-file-fixer - id: check-yaml - exclude: ^chart/ + exclude: ^charts/ - id: check-added-large-files - repo: https://github.com/jguttman94/pre-commit-gradle diff --git a/README.md b/README.md index 0baa0ad58b..8ad2b15ad8 100644 --- a/README.md +++ b/README.md @@ -112,7 +112,7 @@ Marquez uses a _multi_-project structure and contains the following modules: * [`api`](https://github.com/MarquezProject/marquez/tree/main/api): core API used to collect metadata * [`web`](https://github.com/MarquezProject/marquez/tree/main/web): web UI used to view metadata * [`clients`](https://github.com/MarquezProject/marquez/tree/main/clients): clients that implement the HTTP [API](https://marquezproject.github.io/marquez/openapi.html) -* [`chart`](https://github.com/MarquezProject/marquez/tree/main/chart): helm chart +* [`chart`](https://github.com/MarquezProject/marquez/tree/main/charts/marquez): helm chart > **Note:** The `integrations` module was removed in [`0.21.0`](https://github.com/MarquezProject/marquez/blob/main/CHANGELOG.md#removed), so please use an OpenLineage [integration](https://openlineage.io/integration) to collect lineage events easily. diff --git a/chart/Chart.lock b/charts/marquez/Chart.lock similarity index 100% rename from chart/Chart.lock rename to charts/marquez/Chart.lock diff --git a/chart/Chart.yaml b/charts/marquez/Chart.yaml similarity index 100% rename from chart/Chart.yaml rename to charts/marquez/Chart.yaml diff --git a/chart/README.md b/charts/marquez/README.md similarity index 100% rename from chart/README.md rename to charts/marquez/README.md diff --git a/chart/ci/ci-values.yaml b/charts/marquez/ci/ci-values.yaml similarity index 100% rename from chart/ci/ci-values.yaml rename to charts/marquez/ci/ci-values.yaml diff --git a/chart/templates/NOTES.txt b/charts/marquez/templates/NOTES.txt similarity index 100% rename from chart/templates/NOTES.txt rename to charts/marquez/templates/NOTES.txt diff --git a/chart/templates/_helpers.tpl b/charts/marquez/templates/_helpers.tpl similarity index 100% rename from chart/templates/_helpers.tpl rename to charts/marquez/templates/_helpers.tpl diff --git a/chart/templates/ingress.yaml b/charts/marquez/templates/ingress.yaml similarity index 100% rename from chart/templates/ingress.yaml rename to charts/marquez/templates/ingress.yaml diff --git a/chart/templates/marquez/configmap.yaml b/charts/marquez/templates/marquez/configmap.yaml similarity index 100% rename from chart/templates/marquez/configmap.yaml rename to charts/marquez/templates/marquez/configmap.yaml diff --git a/chart/templates/marquez/deployment.yaml b/charts/marquez/templates/marquez/deployment.yaml similarity index 100% rename from chart/templates/marquez/deployment.yaml rename to charts/marquez/templates/marquez/deployment.yaml diff --git a/chart/templates/marquez/secret.yaml b/charts/marquez/templates/marquez/secret.yaml similarity index 100% rename from chart/templates/marquez/secret.yaml rename to charts/marquez/templates/marquez/secret.yaml diff --git a/chart/templates/marquez/service.yaml b/charts/marquez/templates/marquez/service.yaml similarity index 100% rename from chart/templates/marquez/service.yaml rename to charts/marquez/templates/marquez/service.yaml diff --git a/chart/templates/tests/marquez-test-connection.yaml b/charts/marquez/templates/tests/marquez-test-connection.yaml similarity index 100% rename from chart/templates/tests/marquez-test-connection.yaml rename to charts/marquez/templates/tests/marquez-test-connection.yaml diff --git a/chart/templates/tests/marquez-web-test-connection.yaml b/charts/marquez/templates/tests/marquez-web-test-connection.yaml similarity index 100% rename from chart/templates/tests/marquez-web-test-connection.yaml rename to charts/marquez/templates/tests/marquez-web-test-connection.yaml diff --git a/chart/templates/web/deployment.yaml b/charts/marquez/templates/web/deployment.yaml similarity index 100% rename from chart/templates/web/deployment.yaml rename to charts/marquez/templates/web/deployment.yaml diff --git a/chart/templates/web/service.yaml b/charts/marquez/templates/web/service.yaml similarity index 100% rename from chart/templates/web/service.yaml rename to charts/marquez/templates/web/service.yaml diff --git a/chart/values.yaml b/charts/marquez/values.yaml similarity index 100% rename from chart/values.yaml rename to charts/marquez/values.yaml diff --git a/ct.yaml b/ct.yaml index 14649ac521..1c2df2ae6a 100644 --- a/ct.yaml +++ b/ct.yaml @@ -2,7 +2,7 @@ remote: origin target-branch: main charts: - - chart + - charts/marquez chart-repos: - bitnami=https://charts.bitnami.com/bitnami helm-extra-args: "--timeout 600s" diff --git a/docs/deployment-overview.md b/docs/deployment-overview.md index a351124b20..827280b623 100644 --- a/docs/deployment-overview.md +++ b/docs/deployment-overview.md @@ -12,7 +12,7 @@ Marquez uses [Helm](https://helm.sh) to manage deployments onto [Kubernetes](htt ### `TLS/HTTPS` -To enable HTTPS traffic when deploying Marquez onto Kubernetes, use the flag [`ingress.enabled`](https://github.com/MarquezProject/marquez/tree/main/chart#ingress-parameters) to configure the ingress controller. To secure ingress traffic, use the [`ingress.tls`](https://github.com/MarquezProject/marquez/tree/main/chart#ingress-parameters) section to define your TLS `secret` and `hosts` (see `ingress` in the chart's base [`values.yaml`](https://github.com/MarquezProject/marquez/blob/main/chart/values.yaml#L183) for more details). +To enable HTTPS traffic when deploying Marquez onto Kubernetes, use the flag [`ingress.enabled`](https://github.com/MarquezProject/marquez/tree/main/charts/marquez/#ingress-parameters) to configure the ingress controller. To secure ingress traffic, use the [`ingress.tls`](https://github.com/MarquezProject/marquez/tree/main/chart#ingress-parameters) section to define your TLS `secret` and `hosts` (see `ingress` in the chart's base [`values.yaml`](https://github.com/MarquezProject/marquez/blob/main/chart/values.yaml#L183) for more details). ## Database diff --git a/docs/running-on-aws.md b/docs/running-on-aws.md index 11bb9f9b37..9f2987f88a 100644 --- a/docs/running-on-aws.md +++ b/docs/running-on-aws.md @@ -49,7 +49,7 @@ Next, create an AWS RDS instance as outlined in the AWS RDS [documentation](http 1. Navigate to the AWS [RDS](https://console.aws.amazon.com/rds/home) page and create a PostgreSQL database, leaving the database template as **Production**. 2. Use `marquez` as the database identifier and set the master username to `marquez`. -3. Choose a master password to use later in your Helm deployment (see [password](https://github.com/MarquezProject/marquez/blob/main/chart/values.yaml#L32) in `values.yaml`). +3. Choose a master password to use later in your Helm deployment (see [password](https://github.com/MarquezProject/marquez/blob/main/charts/marquez/values.yaml#L32) in `values.yaml`). 4. Leave public access to the database **off**. 5. Choose the same VPC where your AWS EKS cluster resides. 6. In a separate tab, navigate to the AWS EKS cluster page and make note of the security group attached to your cluster. @@ -82,7 +82,7 @@ Next, create an AWS RDS instance as outlined in the AWS RDS [documentation](http 1. Get Marquez: ```bash - $ git clone git@github.com:MarquezProject/marquez.git && cd chart + $ git clone git@github.com:MarquezProject/marquez.git && cd charts/marquez ``` 2. Install Marquez: @@ -97,7 +97,7 @@ Next, create an AWS RDS instance as outlined in the AWS RDS [documentation](http --wait ``` - > **Note:** To avoid overriding deployment settings via the command line, update the [marquez.db](https://github.com/MarquezProject/marquez/blob/main/chart/values.yaml#L27) section of the Marquez Helm chart's `values.yaml` to include the AWS RDS `host`, `username`, and `password` in your deployment. + > **Note:** To avoid overriding deployment settings via the command line, update the [marquez.db](https://github.com/MarquezProject/marquez/blob/main/charts/marquez/values.yaml#L27) section of the Marquez Helm chart's `values.yaml` to include the AWS RDS `host`, `username`, and `password` in your deployment. 3. Verify all the pods have come up correctly: diff --git a/docs/v2/docs/deployment/deployment.mdx b/docs/v2/docs/deployment/deployment.mdx index 90a30ea1c1..f896944fa1 100644 --- a/docs/v2/docs/deployment/deployment.mdx +++ b/docs/v2/docs/deployment/deployment.mdx @@ -3,7 +3,7 @@ ## Helm Chart -Marquez uses [Helm](https://helm.sh) to manage deployments onto [Kubernetes](https://kubernetes.io) in a cloud environment. The chart and templates for the [HTTP API](https://github.com/MarquezProject/marquez/tree/main/api) server and [Web UI](https://github.com/MarquezProject/marquez/tree/main/web) are maintained in the Marquez [repository](https://github.com/MarquezProject/marquez) and can be found in the [chart](https://github.com/MarquezProject/marquez/tree/main/chart) directory. The chart's base `values.yaml` file includes an option to easily override deployment [settings](https://github.com/MarquezProject/marquez/tree/main/chart#configuration). +Marquez uses [Helm](https://helm.sh) to manage deployments onto [Kubernetes](https://kubernetes.io) in a cloud environment. The chart and templates for the [HTTP API](https://github.com/MarquezProject/marquez/tree/main/api) server and [Web UI](https://github.com/MarquezProject/marquez/tree/main/web) are maintained in the Marquez [repository](https://github.com/MarquezProject/marquez) and can be found in the [chart](https://github.com/MarquezProject/marquez/tree/main/chart) directory. The chart's base `values.yaml` file includes an option to easily override deployment [settings](https://github.com/MarquezProject/marquez/tree/main/charts/marquez#configuration). > **Note:** The Marquez HTTP API server and Web UI images are publshed to [DockerHub](https://hub.docker.com/r/marquezproject/marquez). diff --git a/docs/v2/docs/deployment/running-on-aws.mdx b/docs/v2/docs/deployment/running-on-aws.mdx index af34d4da9d..743dd6b2bc 100644 --- a/docs/v2/docs/deployment/running-on-aws.mdx +++ b/docs/v2/docs/deployment/running-on-aws.mdx @@ -49,7 +49,7 @@ Next, create an AWS RDS instance as outlined in the AWS RDS [documentation](http 1. Navigate to the AWS [RDS](https://console.aws.amazon.com/rds/home) page and create a PostgreSQL database, leaving the database template as **Production**. 2. Use `marquez` as the database identifier and set the master username to `marquez`. -3. Choose a master password to use later in your Helm deployment (see [password](https://github.com/MarquezProject/marquez/blob/main/chart/values.yaml#L32) in `values.yaml`). +3. Choose a master password to use later in your Helm deployment (see [password](https://github.com/MarquezProject/marquez/blob/main/charts/marquez/values.yaml#L32) in `values.yaml`). 4. Leave public access to the database **off**. 5. Choose the same VPC where your AWS EKS cluster resides. 6. In a separate tab, navigate to the AWS EKS cluster page and make note of the security group attached to your cluster. @@ -82,7 +82,7 @@ Next, create an AWS RDS instance as outlined in the AWS RDS [documentation](http 1. Get Marquez: ```bash - $ git clone git@github.com:MarquezProject/marquez.git && cd chart + $ git clone git@github.com:MarquezProject/marquez.git && cd charts/marquez ``` 2. Install Marquez: @@ -97,7 +97,7 @@ Next, create an AWS RDS instance as outlined in the AWS RDS [documentation](http --wait ``` - > **Note:** To avoid overriding deployment settings via the command line, update the [marquez.db](https://github.com/MarquezProject/marquez/blob/main/chart/values.yaml#L27) section of the Marquez Helm chart's `values.yaml` to include the AWS RDS `host`, `username`, and `password` in your deployment. + > **Note:** To avoid overriding deployment settings via the command line, update the [marquez.db](https://github.com/MarquezProject/marquez/blob/main/charts/marquez/values.yaml#L27) section of the Marquez Helm chart's `values.yaml` to include the AWS RDS `host`, `username`, and `password` in your deployment. 3. Verify all the pods have come up correctly: diff --git a/new-version.sh b/new-version.sh index a07b9e1cff..6e9f385723 100755 --- a/new-version.sh +++ b/new-version.sh @@ -126,8 +126,8 @@ fi sed -i "" "s/version=.*/version=${RELEASE_VERSION}/g" gradle.properties # (2) Bump version in helm chart -sed -i "" "s/^version:.*/version: ${RELEASE_VERSION}/g" ./chart/Chart.yaml -sed -i "" -E -e "/postgresql/,\$b" -e "s/tag:.*/tag: ${RELEASE_VERSION}/g" ./chart/values.yaml +sed -i "" "s/^version:.*/version: ${RELEASE_VERSION}/g" ./charts/marquez/Chart.yaml +sed -i "" -E -e "/postgresql/,\$b" -e "s/tag:.*/tag: ${RELEASE_VERSION}/g" ./charts/marquez/values.yaml # (3) Bump version in scripts sed -i "" "s/VERSION=.*/VERSION=${RELEASE_VERSION}/g" ./docker/up.sh diff --git a/proposals/README.md b/proposals/README.md index 0caea28ddf..e54b871514 100644 --- a/proposals/README.md +++ b/proposals/README.md @@ -1,6 +1,6 @@ # Proposals -Marquez uses a _multi_-project structure and contains the modules [`api`](https://github.com/MarquezProject/marquez/tree/main/api), [`web`](https://github.com/MarquezProject/marquez/tree/main/web), [`clients`](https://github.com/MarquezProject/marquez/tree/main/clients), and [`chart`](https://github.com/MarquezProject/marquez/tree/main/chart). Below, we describe the process for proposing, documenting, and implementing changes to Marquez. +Marquez uses a _multi_-project structure and contains the modules [`api`](https://github.com/MarquezProject/marquez/tree/main/api), [`web`](https://github.com/MarquezProject/marquez/tree/main/web), [`clients`](https://github.com/MarquezProject/marquez/tree/main/clients), and [`chart`](https://github.com/MarquezProject/marquez/tree/main/charts/marquez). Below, we describe the process for proposing, documenting, and implementing changes to Marquez. ## Submitting a Proposal for Review diff --git a/renovate.json b/renovate.json index e23197964f..cdaceea74e 100644 --- a/renovate.json +++ b/renovate.json @@ -23,5 +23,5 @@ "addLabels": ["dependencies", "renovate"] } ], - "ignorePaths": ["**/chart/**", "**/dev/**"] + "ignorePaths": ["**/charts/**", "**/dev/**"] }