Deploy the filebot-executor helm chart on AWS EKS
TypeScriptTo deploy the
filebot-executor
Helm chart on AWS EKS using Pulumi, we start by creating an EKS cluster using the@pulumi/eks
package, which provides a high-level component to create and manage EKS clusters easily. After the cluster is set up, we then use the@pulumi/kubernetes
package to deploy a Helm chart to the cluster.First, we'll install the needed Pulumi packages. Ensure you have already installed Pulumi CLI and configured your AWS credentials. Then run:
$ npm install @pulumi/eks @pulumi/kubernetes
Next, we'll write a Pulumi program in TypeScript:
import * as eks from '@pulumi/eks'; import * as k8s from '@pulumi/kubernetes'; // Create an EKS cluster. const cluster = new eks.Cluster("filebot-cluster", { // Specify the desired settings for the cluster here: // instanceType, desiredCapacity, minSize, maxSize, vpcId, subnetIds, etc. }); // Export the cluster's kubeconfig. export const kubeconfig = cluster.kubeconfig; // Create a Kubernetes provider instance that uses our EKS cluster from above. const provider = new k8s.Provider("k8s-provider", { kubeconfig: cluster.kubeconfig, }); // Deploy the `filebot-executor` Helm chart. const filebotChart = new k8s.helm.v3.Chart("filebot-executor", { chart: "filebot-executor", // You'll need the correct repo and chart values here. // e.g. values: { key: value }, // If the chart is not from a public repo, you'll need to specify the repo or a local path. }, { provider }); // Export the Helm chart resources. export const filebotResources = filebotChart.resources;
This program performs the following actions:
- It initializes a new EKS cluster with the
eks.Cluster
resource. You can customize the cluster by changing its settings, like the instance type, desired capacity, and the specific VPC and subnets if required. - It exports the generated
kubeconfig
which can be used to access the Kubernetes cluster with tools likekubectl
. - It sets up a Pulumi Kubernetes provider that knows how to communicate with the EKS cluster.
- It deploys the specified Helm chart using the
Chart
resource from the Pulumi Kubernetes provider, assumingfilebot-executor
is the chart's name and it's available in a Helm repository or a local path.
You'll need to replace the placeholder values in the Helm chart deployment, such as
chart
,repo
, andvalues
, with the appropriate values for thefilebot-executor
Helm chart that you want to deploy.Once you have the above TypeScript code in a file (e.g.,
index.ts
), you can run it using the Pulumi CLI:$ pulumi up
This will provision the EKS cluster and deploy the Helm chart as specified. For any changes in the future, you can simply modify the program and run
pulumi up
again to apply the changes.- It initializes a new EKS cluster with the