diff --git a/docs/setup/install/community/index.md b/docs/setup/install/community/index.md index 4d48b629..0053d597 100644 --- a/docs/setup/install/community/index.md +++ b/docs/setup/install/community/index.md @@ -63,6 +63,9 @@ Stash operator can be installed as a Helm chart or simply as Kubernetes manifest + @@ -90,6 +93,89 @@ $ helm install stash appscode/stash \ To see the detailed configuration options, visit [here](https://github.com/stashed/installer/tree/{{< param "info.installer" >}}/charts/stash-community). + +
+ +## Using Terraform + +Stash can be installed via [Helm](https://helm.sh/) using the [chart](https://github.com/stashed/installer/tree/{{< param "info.installer" >}}/charts/stash) from [AppsCode Charts Repository](https://github.com/appscode/charts) through the [Terraform helm provider](https://registry.terraform.io/providers/hashicorp/helm/latest/docs/resources/release) . To install the chart with the release name `stash`: + +```yaml +resource "helm_release" "stash" { + repository = "https://charts.appscode.com/stable/" + chart = "stash" + name = "stash" + version = "{{< param "info.version" >}}" + namespace = "kube-system" + create_namespace = false + + set { + name = "stash-community.nodeSelector.kubernetes\\.io/os" + value = "linux" + } + set { + name = "features.community" + value = "true" + } + set_sensitive { + name = "global.license" + value = module.stash_license.stdout + type = "string" + } +} + +resource "tls_private_key" "dummy_pem" { + algorithm = "RSA" + rsa_bits = 1024 +} + +resource "tls_self_signed_cert" "dummy_timeout" { + private_key_pem = tls_private_key.dummy_pem.private_key_pem + + //9 months + validity_period_hours = 6570 + + //dummy values + allowed_uses = ["server_auth"] +} + +data "kubernetes_namespace" "cluster_uid" { + metadata { + name = "kube-system" + } +} + +module "stash_license" { + source = "Invicton-Labs/shell-resource/external" + version = "0.4.1" + #tls_self_signed_cert actually implements a expiration algorithm, so when that expires, this will trigger + depends_on = [tls_self_signed_cert.dummy_timeout] + + command_unix = <}}/charts/stash-community). +