Install the BACK Stack¶
In order to try out the BACK Stack locally you can follow these steps
You will use Porter to perform the installation. Currently, the generated Bundle supports installing the BACK stack on EKS or locally using KinD
Porter Bundle Info & Settings¶
Credentials:
NOTE: Although cloud provider credentials are not required, without them you cannot provision new clusters.
How to generate Azure AKS kubeconfig file:
az aks get-credentials --name MyManagedCluster \
--resource-group MyResourceGroup \
--file kubeconfig-azure
How to generate AWS EKS kubeconfig file:
aws eks update-kubeconfig --name backstack-hub \
--region us-west-1 \
--kubeconfig kubeconfig-aws
How to generate Azure Credentials:
az ad sp create-for-rbac --sdk-auth --role Owner \
--scopes /subscriptions/$YOURSUBSCRIPTIONID > azure.json
How to pass AWS Credentials: NOTE Ensure you have stored your Key ID and Access Key in a file under the default heading (e.g.)
cat ~/.aws/credentials
[default]
aws_access_key_id = YOURKEYHERE
aws_secret_access_key = YOURSECRETKEYHERE
| Name | Description | Required | Comments |
|---|---|---|---|
| aws-credentials | Credentials to be used for Crossplane provider-aws | false | |
| azure-credentials | Credentials to be used for Crossplane provider-azure | false | |
| github-token | Github API token | true | |
| kubeconfig | kubeconfig to connect to non-local cluster | false | This should point to a kubeconfig for the cluster you want to install to. Ensure there is a valid long term authentication token stored in the file |
| vault-token | This should always be root | true |
Parameters:
| Name | Description | Type | Default | Required | Comments |
|---|---|---|---|---|---|
| argocd-host | DNS name for ArgoCD | string | argocd-7f000001.nip.io | false | |
| backstage-host | DNS name for Backstage | string | backstage-7f000001.nip.io | false | |
| cluster-type | Target kubernetes cluster type. Accepted values are kind, eks | string | kind | true | |
| repository | Gitops repository for cluster requests and catalog-info | string | https://github.com/$YOURUSERNAME/showcase | true | |
| vault-host | DNS name for Vault | string | vault-7f000001.nip.io | false |
This bundle uses the following tools: docker, exec, helm3, Kubernetes.
Generic Installation Instructions¶
To install this bundle, run the following commands, passing --param KEY=VALUE for any parameters you want to customize:
porter credentials generate back-stack-cloud-creds \
--reference ghcr.io/back-stack/showcase-bundle:latest
porter install --reference ghcr.io/back-stack/showcase-bundle:latest \
--credential-set back-stack-cloud-creds \
--param repository=https://github.com/USER/REPO
Installing Locally into KinD¶
The Porter bundle already includes KinD, so the only prerequisite is Docker/Docker Desktop to be running.
- Install porter
-
Generate the credentials config, leaving the
kubeconfigempty (it will be ignored)porter credentials generate back-stack-cloud-creds \ --reference ghcr.io/back-stack/showcase-bundle:latest -
Install the bundle; the default
cluster-typeand*-hostparameters are configured for local deployment, and you need to allow Porter to access your local docker daemon.porter install back-stack \ --reference ghcr.io/back-stack/showcase-bundle:latest \ --credential-set back-stack-cloud-creds \ --param repository=https://github.com/USER/REPO \ --allow-docker-host-access
To connect to the KinD cluster running the BACK stack, update your kubeconfig:
porter installations output show kubeconfig-external \
-i back-stack > ~/.kube/config
Installing into EKS¶
- Existing EKS cluster with AWS Load Balancer Controller add-on installed
-
local
kubeconfigfile to connect to the cluster -
Install porter (see above)
-
Generate the credentials config, specifying the path to the
kubeconfig-awsfileporter credentials generate back-stack-cloud-creds \ --reference ghcr.io/back-stack/showcase-bundle:latest -
Install the bundle; set
cluster-typetoeksand specify DNS names that you want to use to access the BACK stack services. This can either be done using--paramflags or by generating a parameter set# using parameter set porter parameters generate back-stack-params \ --reference ghcr.io/back-stack/showcase-bundle:latest porter install back-stack \ --reference ghcr.io/back-stack/showcase-bundle:latest \ --credential-set back-stack-cloud-creds \ --parameter-set back-stack-params -
After installation, you need to ensure the DNS names specified for
argocd-host,backstage-host, andvault-hostall resolve to the ingress service created during installation. The endpoint for this can be found by checking the bundle outputsporter installations output show ingress -i back-stackFor this showcase, you can update
/etc/hosts.