diff --git a/.github/workflows/chart.yaml b/.github/workflows/chart.yaml index 21a9a4142e..35522057aa 100644 --- a/.github/workflows/chart.yaml +++ b/.github/workflows/chart.yaml @@ -31,6 +31,8 @@ jobs: helm repo add fluxcd-community https://fluxcd-community.github.io/helm-charts helm repo add dexidp https://charts.dexidp.io helm repo add bitnami https://charts.bitnami.com/bitnami + helm repo add plural https://pluralsh.github.io/module-library + helm repo add plural https://k8s.ory.sh/helm/charts - name: Run chart-releaser id: release uses: helm/chart-releaser-action@v1.5.0 diff --git a/charts/plural/.helmignore b/charts/plural/.helmignore new file mode 100644 index 0000000000..50af031725 --- /dev/null +++ b/charts/plural/.helmignore @@ -0,0 +1,22 @@ +# 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/ diff --git a/charts/plural/Chart.lock b/charts/plural/Chart.lock new file mode 100644 index 0000000000..4a4e52fc96 --- /dev/null +++ b/charts/plural/Chart.lock @@ -0,0 +1,9 @@ +dependencies: +- name: hydra + repository: https://k8s.ory.sh/helm/charts + version: 0.26.5 +- name: test-base + repository: https://pluralsh.github.io/module-library + version: 0.1.10 +digest: sha256:0b68f34a7fee38ce1d995ea285132e440a4d532ed82610a86c9dbb924dafb7e8 +generated: "2023-06-14T11:26:09.163042-04:00" diff --git a/charts/plural/Chart.yaml b/charts/plural/Chart.yaml new file mode 100644 index 0000000000..891e8f3c73 --- /dev/null +++ b/charts/plural/Chart.yaml @@ -0,0 +1,18 @@ +apiVersion: v2 +name: plural +description: A helm chart for installing plural +appVersion: 0.11.8 +version: 0.10.107 +dependencies: + - name: hydra + version: 0.26.5 + repository: https://k8s.ory.sh/helm/charts + - name: test-base + version: 0.1.10 + repository: https://pluralsh.github.io/module-library + condition: test-base.enabled +maintainers: + - name: michaeljguarino + email: mjg@plural.sh +sources: + - https://github.com/pluralsh/plural diff --git a/charts/plural/README.md b/charts/plural/README.md new file mode 100644 index 0000000000..c8978405e5 --- /dev/null +++ b/charts/plural/README.md @@ -0,0 +1,61 @@ +# Helm chart for installing Plural + +Plural is a multi-tenant kubernetes app delivery platform. It has as subcomponents: + +* postgres db +* rabbitmq cluster +* rtc, api, and background worker deployments +* chartmuseum +* docker registry + +## Installation + +``` +helm repo add plural https://app.plural.sh/cm/plural +``` + +## Usage + +``` +helm upgrade --install plural plural/plural +``` + +## Example Configuration + +(It's highly recommend you utilize plural to generate the initial configuration for you based on the environment you're deploying to) + +```yaml +postgresql: + postgresqlPassword: supercomplicatedrandombytes + +secrets: + jwt: alsosupercomplicatedrandombytes + erlang: stillusesupercomplicatedrandombytes + +ingress: + dns: my.forge.domain + +api: + bucket: assets-for-forge + +chartmuseum: + bucket: bucket-for-chartmuseum + +admin: + enabled: true + name: "Michael Guarino" + email: mguarino46@gmail.com + password: "a very strong password" + publisher: michaeljguarino + publisher_description: "A collection of my personal projects" +``` + +## More configuration + +| Parameter | Description | Default | +| --------- | ----------- | ------- | +| replicaCount | number of api replicas | 2 | +| api.bucket | the bucket to use for images | forge-assets | +| chartmuseum.bucket | the bucket for charts | forge-charts | +| ingress.dns | the dns name to register under | forge.piazza.app | +| ingress.enabled | whether to provision an ingress | true | diff --git a/charts/plural/charts/hydra-0.26.5.tgz b/charts/plural/charts/hydra-0.26.5.tgz new file mode 100644 index 0000000000..5caf2f2117 Binary files /dev/null and b/charts/plural/charts/hydra-0.26.5.tgz differ diff --git a/charts/plural/charts/test-base-0.1.10.tgz b/charts/plural/charts/test-base-0.1.10.tgz new file mode 100644 index 0000000000..3d969faab3 Binary files /dev/null and b/charts/plural/charts/test-base-0.1.10.tgz differ diff --git a/charts/plural/deps.yaml b/charts/plural/deps.yaml new file mode 100644 index 0000000000..3892e192aa --- /dev/null +++ b/charts/plural/deps.yaml @@ -0,0 +1,37 @@ +apiVersion: plural.sh/v1alpha1 +kind: Dependencies +metadata: + application: true + description: deploys plural's api and background services +spec: + dependencies: + - type: helm + name: bootstrap + repo: bootstrap + version: '>= 0.5.1' + - type: helm + name: ingress-nginx + repo: ingress-nginx + version: '>= 0.1.2' + - type: helm + name: postgres + repo: postgres + version: '>= 0.1.0' + - type: helm + name: cluster-operator + repo: rabbitmq + version: '>= 0.1.11' + - type: helm + name: influx + repo: influx + version: '>= 0.1.10' + - type: terraform + name: aws + repo: plural + version: '>= 0.1.1' + optional: true + - type: terraform + name: gcp + repo: plural + version: '>= 0.1.0' + optional: true diff --git a/charts/plural/runbooks/db-scaling-manual.xml b/charts/plural/runbooks/db-scaling-manual.xml new file mode 100644 index 0000000000..91c281e2aa --- /dev/null +++ b/charts/plural/runbooks/db-scaling-manual.xml @@ -0,0 +1,57 @@ + + + + + + You should set a reservation to + roughly correspond to 30% utilization + + + + You should set a reservation to + roughly correspond to 60% utilization + + + + + + + + + + + + +