Beta9 uses an S3-compatible object storage system for its file system. In this example, we’ll deploy localstack.
Without a Localstack license, its data is temporary. If its pod is deleted, the data will be lost. We recommend that you use AWS S3 or something similar.
Install the helm chart and open connections to the service.
Copy
Ask AI
# Step 1: Install the charthelm install beta9 oci://public.ecr.aws/n4e0e1y0/beta9-chart --version 0.1.166# Step 2: Confirm the pods are runningkubectl get pods -w# Step 3: Open ports to the http and grpc serviceskubectl port-forward svc/beta9-gateway 1993 1994
gateway: externalURL: https://app.example.comimageService: registryStore: s3 registryCredentialProvider: aws registries: s3: bucketName: <your-image-bucket-name> region: <your-aws-region> # keys not needed if using iam with k8s service account (irsa) accessKey: secretKey: runner: baseImageTag: 0.1.10 baseImageName: beta9-runner baseImageRegistry: public.ecr.aws/n4e0e1y0worker: imageTag: 0.1.143 imageName: beta9-worker imageRegistry: public.ecr.aws/n4e0e1y0 serviceAccountName: <k8s service account to use - should be able to access juicefs s3 bucket>storage: mode: juicefs juicefs: awsS3Bucket: <your-juicefs-bucket> # keys not needed if using iam with k8s service account (irsa) awsAccessKey: awsSecretKey:
To access the S3 bucket that you need to setup and configure in the config/secret, you’ll need to also setup an IAM role that a K8s service account can authenticate with.This is called EKS IRSA. Once you figure this out, you’ll need to add an annotation to the K8s service account that points to their IAM role.Here is an example in the values.yaml file:
We recommend saving secrets with the External Secrets Operator, but you can also create secrets manually in the cluster.To create a secret manually, create your secrets file on disk and run kubectl apply like you would normally.