Deploy the wazuh-manager-filebeat helm chart on Rancher
TypeScriptTo deploy a Helm chart on a Rancher-managed Kubernetes cluster using Pulumi, you'll primarily interact with the
rancher2
Pulumi provider which allows for management of Rancher resources. Here's how you can proceed to deploy thewazuh-manager-filebeat
Helm chart on a Rancher cluster:- Set up a new Pulumi project.
- Configure your credentials for accessing the Rancher API.
- Write the TypeScript code to deploy the Helm chart using Pulumi's Rancher2 provider.
Below is a detailed walkthrough of each step in TypeScript, assuming you already have a Rancher Kubernetes cluster up and running:
Setting Up A New Pulumi Project
You'll need to set up a new Pulumi project. Assuming you have Pulumi CLI installed, you can create a new project with
pulumi new typescript
.Configure Your Credentials
Make sure you are logged into your Rancher cluster and obtain a Bearer Token from the Rancher server which will be used for Pulumi to authenticate with Rancher's API.
You'll need to set up the following environment variables which Pulumi can use to authenticate with your Rancher instance:
RANCHER_TOKEN_KEY
: The bearer token obtained from Rancher.RANCHER_URL
: The URL of your Rancher server.
You can use the Pulumi configuration system or just set these in your shell environment using
export RANCHER_TOKEN_KEY="token-xxxx"
andexport RANCHER_URL="https://your-rancher-server-url.com"
.Writing The TypeScript Code
Now, let's write the Pulumi program to deploy the
wazuh-manager-filebeat
helm chart. Replaceyour-cluster-id
with the actual ID of your cluster. You can find this in the Rancher UI or API.import * as pulumi from "@pulumi/pulumi"; import * as rancher2 from "@pulumi/rancher2"; // Create a new Rancher2 helm chart. const wazuhManagerFilebeatChart = new rancher2.CatalogV2("wazuhManagerFilebeat", { // The cluster ID where the chart should be installed clusterId: "your-cluster-id", // Define the chart details chartName: "wazuh-manager-filebeat", // Point to the repository where the chart exists repoName: "wazuh/wazuh-kubernetes", // Specify the namespace where the chart should be installed namespace: "default", // Define the version of the chart to install chartVersion: "4.2.5", // Adjust the version as per your requirement // Define values for the chart's configurable options values: `--- # Insert your configuration here `, }); // Export the chart's name export const chartName = wazuhManagerFilebeatChart.chartName;
This code snippet creates a new Helm chart resource within Pulumi which corresponds to your desired Helm chart on Rancher. You will need to replace placeholders with actual values corresponding to your setup, like
clusterId
,repoName
,namespace
, andvalues
.The
values
field allows you to specify any customization parameters that you want to pass to your Helm chart. It's often used to set configuration options and ensure the deployed application matches your specific requirements. For thewazuh-manager-filebeat
chart, refer to its official documentation for all available configuration options.Once your code is ready, preview the changes with
pulumi preview
and deploy them withpulumi up
. Be sure to review the proposed changes in the preview before confirming the deployment.Remember to replace placeholder values with actual information relevant to your Rancher setup. The
chartVersion
should match the version ofwazuh-manager-filebeat
that you wish to deploy. Please consult the official chart repository or your Rancher cluster for up-to-date versions and configuration options.