diff --git a/.github/ct-install.yaml b/.github/ct-install.yaml index cf6da4362a8..706d79cf7d7 100644 --- a/.github/ct-install.yaml +++ b/.github/ct-install.yaml @@ -44,3 +44,4 @@ chart-repos: - truecharts=https://charts.truecharts.org - truecharts-library=https://library-charts.truecharts.org - truecharts-deps=https://deps.truecharts.org + - jetstack=https://charts.jetstack.io diff --git a/.github/ct-lint.yaml b/.github/ct-lint.yaml index 573c7a43207..a79a0957c90 100644 --- a/.github/ct-lint.yaml +++ b/.github/ct-lint.yaml @@ -14,3 +14,4 @@ chart-repos: - truecharts=https://charts.truecharts.org - truecharts-library=https://library-charts.truecharts.org - truecharts-deps=https://deps.truecharts.org + - jetstack=https://charts.jetstack.io diff --git a/.github/scripts/fetch_helm_deps.sh b/.github/scripts/fetch_helm_deps.sh index e56c3e19b51..a3dbe058fb3 100755 --- a/.github/scripts/fetch_helm_deps.sh +++ b/.github/scripts/fetch_helm_deps.sh @@ -28,6 +28,7 @@ echo "⏬ Downloading and Loading TrueCharts pgp Public Key" gpg_dir=.cr-gpg mkdir -p "$gpg_dir" curl --silent https://keybase.io/truecharts/pgp_keys.asc | gpg --dearmor > $gpg_dir/pubring.gpg || echo "❌ Couldn't load Public Key." +curl --silent https://cert-manager.io/public-keys/cert-manager-keyring-2021-09-20-1020CF3C033D4F35BAE1C19E1226061C665DF13E.gpg > $gpg_dir/certman.gpg || echo "❌ Couldn't load certman Public Key." echo "✅ Public Key loaded successfully..." echo "" } @@ -93,17 +94,25 @@ for idx in $(eval echo "{0..$length}"); do # Extract url from repo_url. It's under .entries.DEP_NAME.urls. We filter the specific version first (.version) dep_url=$(v="$version" n="$name" go-yq '.entries.[env(n)].[] | select (.version == env(v)) | .urls.[0]' "$index_cache/$repo_dir/index.yaml") + # tmp hotpatch for cert-manager + if [[ ! "$dep_url" == "https"* ]]; then + dep_url="https://charts.jetstack.io/${dep_url}" + fi + echo "" echo "⏬ Downloading dependency $name-$version from $dep_url..." mkdir -p "$cache_path/$repo_dir" wget --quiet "$dep_url" -P "$cache_path/$repo_dir" - wget --quiet "$dep_url.prov" -P "$cache_path/$repo_dir" + wget --quiet "$dep_url.prov" -P "$cache_path/$repo_dir" || echo "failed downloading .prov" if [ ! $? ]; then echo "❌ wget encountered an error..." if [[ "$train_chart" =~ incubator\/.* ]]; then helm dependency build "$charts_path/$train_chart/Chart.yaml" || \ helm dependency update "$charts_path/$train_chart/Chart.yaml"|| exit 1 + elif [[ "$name" =~ "cert-manager" ]]; then + helm dependency build "$charts_path/$train_chart/Chart.yaml" --verify --keyring $gpg_dir/certman.gpg || \ + helm dependency update "$charts_path/$train_chart/Chart.yaml" --verify --keyring $gpg_dir/certman.gpg || exit 1 else helm dependency build "$charts_path/$train_chart/Chart.yaml" --verify --keyring $gpg_dir/pubring.gpg || \ helm dependency update "$charts_path/$train_chart/Chart.yaml" --verify --keyring $gpg_dir/pubring.gpg || exit 1 @@ -112,7 +121,10 @@ for idx in $(eval echo "{0..$length}"); do if [ -f "$cache_path/$repo_dir/$name-$version.tgz" ]; then echo "✅ Dependency Downloaded!" - if [[ ! "$train_chart" =~ incubator\/.* ]]; then + if [[ "$name" =~ "cert-manager" ]]; then + helm verify $cache_path/$repo_dir/$name-$version.tgz --keyring $gpg_dir/certman.gpg || \ + helm verify $cache_path/$repo_dir/$name-$version.tgz --keyring $gpg_dir/certman.gpg || exit 1 + elif [[ ! "$train_chart" =~ incubator\/.* ]]; then echo "Validating dependency signature..." helm verify $cache_path/$repo_dir/$name-$version.tgz --keyring $gpg_dir/pubring.gpg || \ helm verify $cache_path/$repo_dir/$name-$version.tgz --keyring $gpg_dir/pubring.gpg || exit 1 @@ -125,6 +137,9 @@ for idx in $(eval echo "{0..$length}"); do if [[ "$train_chart" =~ incubator\/.* ]]; then helm dependency build "$charts_path/$train_chart/Chart.yaml" || \ helm dependency update "$charts_path/$train_chart/Chart.yaml"|| exit 1 + elif [[ "$name" =~ "cert-manager" ]]; then + helm dependency build "$charts_path/$train_chart/Chart.yaml" --verify --keyring $gpg_dir/certman.gpg || \ + helm dependency update "$charts_path/$train_chart/Chart.yaml" --verify --keyring $gpg_dir/certman.gpg || exit 1 else helm dependency build "$charts_path/$train_chart/Chart.yaml" --verify --keyring $gpg_dir/pubring.gpg || \ helm dependency update "$charts_path/$train_chart/Chart.yaml" --verify --keyring $gpg_dir/pubring.gpg || exit 1 diff --git a/.github/workflows/charts-lint.yaml b/.github/workflows/charts-lint.yaml index 89104f5e994..e8a52f01f42 100644 --- a/.github/workflows/charts-lint.yaml +++ b/.github/workflows/charts-lint.yaml @@ -52,7 +52,7 @@ jobs: helm repo add truecharts https://charts.truecharts.org helm repo add truecharts-deps https://deps.truecharts.org helm repo add truecharts-library https://library-charts.truecharts.org - helm repo add truecharts-deps https://deps.truecharts.org + helm repo add jetstack https://charts.jetstack.io helm repo update - name: Collect changes (branch-based) diff --git a/.github/workflows/charts-release.yaml b/.github/workflows/charts-release.yaml index 74d3cd9253f..acb12800031 100644 --- a/.github/workflows/charts-release.yaml +++ b/.github/workflows/charts-release.yaml @@ -73,6 +73,7 @@ jobs: helm repo add truecharts https://charts.truecharts.org helm repo add truecharts-library https://library-charts.truecharts.org helm repo add truecharts-deps https://deps.truecharts.org + helm repo add jetstack https://charts.jetstack.io helm repo update # Optional step if GPG signing is used diff --git a/charts/operators/cert-manager/.helmignore b/charts/operators/cert-manager/.helmignore new file mode 100644 index 00000000000..77ca5567b26 --- /dev/null +++ b/charts/operators/cert-manager/.helmignore @@ -0,0 +1,30 @@ +# Patterns to ignore when building packages. +# This supports shell glob matching, relative path matching, and +# negation (prefixed with !). Only one pattern per line. +.DS_Store +# Common VCS dirs +.git/ +.gitignore +.bzr/ +.bzrignore +.hg/ +.hgignore +.svn/ +# Common backup files +*.swp +*.bak +*.tmp +*~ +# Various IDEs +.project +.idea/ +*.tmproj +.vscode/ +# OWNERS file for Kubernetes +OWNERS +# helm-docs templates +*.gotmpl +# docs folder +/docs +# icon +icon.png diff --git a/charts/operators/cert-manager/Chart.yaml b/charts/operators/cert-manager/Chart.yaml new file mode 100644 index 00000000000..a2a705f1614 --- /dev/null +++ b/charts/operators/cert-manager/Chart.yaml @@ -0,0 +1,34 @@ +apiVersion: v2 +appVersion: "1.20.0" +deprecated: false +description: Cert-Manager is a kubernetes-aware certificate manager +home: https://truecharts.org/charts/operators/cert-manager +icon: https://truecharts.org/img/hotlink-ok/chart-icons/cert-manager.png +keywords: + - cert-manager + - certificates + - security +dependencies: + - name: common + repository: https://library-charts.truecharts.org + version: 12.14.8 + - name: cert-manager + repository: https://charts.jetstack.io + version: v1.12.2 +kubeVersion: ">=1.16.0-0" +maintainers: + - email: info@truecharts.org + name: TrueCharts + url: https://truecharts.org +name: cert-manager +sources: + - https://github.com/truecharts/charts/tree/master/charts/operators/cert-manager + - https://github.com/cert-manager + - https://cert-manager.io/ +type: application +version: 0.0.1 +annotations: + truecharts.org/catagories: | + - operators + truecharts.org/SCALE-support: "true" + truecharts.org/grade: U diff --git a/charts/operators/cert-manager/LICENSE b/charts/operators/cert-manager/LICENSE new file mode 100644 index 00000000000..4dfe12ac30e --- /dev/null +++ b/charts/operators/cert-manager/LICENSE @@ -0,0 +1,106 @@ +Business Source License 1.1 + +Parameters + +Licensor: The TrueCharts Project, it's owner and it's contributors +Licensed Work: The TrueCharts "MetalLB" Helm Chart +Additional Use Grant: You may use the licensed work in production, as long + as it is directly sourced from a TrueCharts provided + official repository, catalog or source. You may also make private + modification to the directly sourced licenced work, + when used in production. + + The following cases are, due to their nature, also + defined as 'production use' and explicitly prohibited: + - Bundling, including or displaying the licensed work + with(in) another work intended for production use, + with the apparent intend of facilitating and/or + promoting production use by third parties in + violation of this license. + +Change Date: 2050-01-01 + +Change License: 3-clause BSD license + +For information about alternative licensing arrangements for the Software, +please contact: legal@truecharts.org + +Notice + +The Business Source License (this document, or the “License”) is not an Open +Source license. However, the Licensed Work will eventually be made available +under an Open Source License, as stated in this License. + +License text copyright (c) 2017 MariaDB Corporation Ab, All Rights Reserved. +“Business Source License” is a trademark of MariaDB Corporation Ab. + +----------------------------------------------------------------------------- + +Business Source License 1.1 + +Terms + +The Licensor hereby grants you the right to copy, modify, create derivative +works, redistribute, and make non-production use of the Licensed Work. The +Licensor may make an Additional Use Grant, above, permitting limited +production use. + +Effective on the Change Date, or the fourth anniversary of the first publicly +available distribution of a specific version of the Licensed Work under this +License, whichever comes first, the Licensor hereby grants you rights under +the terms of the Change License, and the rights granted in the paragraph +above terminate. + +If your use of the Licensed Work does not comply with the requirements +currently in effect as described in this License, you must purchase a +commercial license from the Licensor, its affiliated entities, or authorized +resellers, or you must refrain from using the Licensed Work. + +All copies of the original and modified Licensed Work, and derivative works +of the Licensed Work, are subject to this License. This License applies +separately for each version of the Licensed Work and the Change Date may vary +for each version of the Licensed Work released by Licensor. + +You must conspicuously display this License on each original or modified copy +of the Licensed Work. If you receive the Licensed Work in original or +modified form from a third party, the terms and conditions set forth in this +License apply to your use of that work. + +Any use of the Licensed Work in violation of this License will automatically +terminate your rights under this License for the current and all other +versions of the Licensed Work. + +This License does not grant you any right in any trademark or logo of +Licensor or its affiliates (provided that you may use a trademark or logo of +Licensor as expressly required by this License). + +TO THE EXTENT PERMITTED BY APPLICABLE LAW, THE LICENSED WORK IS PROVIDED ON +AN “AS IS” BASIS. LICENSOR HEREBY DISCLAIMS ALL WARRANTIES AND CONDITIONS, +EXPRESS OR IMPLIED, INCLUDING (WITHOUT LIMITATION) WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, AND +TITLE. + +MariaDB hereby grants you permission to use this License’s text to license +your works, and to refer to it using the trademark “Business Source License”, +as long as you comply with the Covenants of Licensor below. + +Covenants of Licensor + +In consideration of the right to use this License’s text and the “Business +Source License” name and trademark, Licensor covenants to MariaDB, and to all +other recipients of the licensed work to be provided by Licensor: + +1. To specify as the Change License the GPL Version 2.0 or any later version, + or a license that is compatible with GPL Version 2.0 or a later version, + where “compatible” means that software provided under the Change License can + be included in a program with software provided under GPL Version 2.0 or a + later version. Licensor may specify additional Change Licenses without + limitation. + +2. To either: (a) specify an additional grant of rights to use that does not + impose any additional restriction on the right granted in this License, as + the Additional Use Grant; or (b) insert the text “None”. + +3. To specify a Change Date. + +4. Not to modify this License in any other way. diff --git a/charts/operators/cert-manager/README.md b/charts/operators/cert-manager/README.md new file mode 100644 index 00000000000..2af65573319 --- /dev/null +++ b/charts/operators/cert-manager/README.md @@ -0,0 +1,27 @@ +# README + +## General Info + +TrueCharts can be installed as both *normal* Helm Charts or as Apps on TrueNAS SCALE. +However only installations using the TrueNAS SCALE Apps system are supported. + +For more information about this App, please check the docs on the TrueCharts [website](https://truecharts.org/charts/operators/) + +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/charts/issues/new/choose)** + + +## Support + +- Please check our [quick-start guides for TrueNAS SCALE](https://truecharts.org/manual/SCALE/guides/scale-intro). +- See the [Website](https://truecharts.org) +- Check our [Discord](https://discord.gg/tVsPTHWTtr) +- Open a [issue](https://github.com/truecharts/charts/issues/new/choose) + +--- + +## Sponsor TrueCharts + +TrueCharts can only exist due to the incredible effort of our staff. +Please consider making a [donation](https://truecharts.org/sponsor) or contributing back to the project any way you can! + +*All Rights Reserved - The TrueCharts Project* diff --git a/charts/operators/cert-manager/icon.png b/charts/operators/cert-manager/icon.png new file mode 100644 index 00000000000..5a70a3997ee Binary files /dev/null and b/charts/operators/cert-manager/icon.png differ diff --git a/charts/operators/cert-manager/questions.yaml b/charts/operators/cert-manager/questions.yaml new file mode 100644 index 00000000000..97cb04afcd6 --- /dev/null +++ b/charts/operators/cert-manager/questions.yaml @@ -0,0 +1,3 @@ +# Include{groups} +questions: +# Include{global} diff --git a/charts/operators/cert-manager/templates/NOTES.txt b/charts/operators/cert-manager/templates/NOTES.txt new file mode 100644 index 00000000000..efcb74cb772 --- /dev/null +++ b/charts/operators/cert-manager/templates/NOTES.txt @@ -0,0 +1 @@ +{{- include "tc.v1.common.lib.chart.notes" $ -}} diff --git a/charts/operators/cert-manager/templates/common.yaml b/charts/operators/cert-manager/templates/common.yaml new file mode 100644 index 00000000000..995efb03eb0 --- /dev/null +++ b/charts/operators/cert-manager/templates/common.yaml @@ -0,0 +1,5 @@ +{{/* Make sure all variables are set properly */}} +{{- include "tc.v1.common.loader.init" . }} + +{{/* Render the templates */}} +{{ include "tc.v1.common.loader.apply" . }} diff --git a/charts/operators/cert-manager/templates/crds.yaml b/charts/operators/cert-manager/templates/crds.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/charts/operators/cert-manager/values.yaml b/charts/operators/cert-manager/values.yaml new file mode 100644 index 00000000000..dec95b2791a --- /dev/null +++ b/charts/operators/cert-manager/values.yaml @@ -0,0 +1,36 @@ +image: + repository: tccr.io/truecharts/alpine + pullPolicy: IfNotPresent + tag: latest@sha256:a661597195a991150580f4915018663dd18bc36f5fef1e88e00c7a3e7b93e127 + +service: + main: + enabled: false + ports: + main: + enabled: false + +workload: + main: + enabled: false + +portal: + open: + enabled: false + +operator: + register: true + +metrics: + main: + enabled: false + type: "podmonitor" + endpoints: + - port: main + interval: 5s + scrapeTimeout: 5s + path: / + honorLabels: false + +manifestManager: + enabled: false