1. Deploy the atlassian-confluence helm chart on Oracle Kubernetes Engine (OKE)


    To deploy the Atlassian Confluence helm chart on Oracle Kubernetes Engine (OKE), you need to perform several steps that involve setting up the necessary prerequisites, including an OKE cluster and Helm for package management in Kubernetes.

    Here are the steps and the Pulumi program in TypeScript that follow the required setup and deployment:

    1. Create an OKE Cluster: You need an OKE cluster to deploy your applications. Pulumi's OCI (Oracle Cloud Infrastructure) package provides support for creating an OKE cluster.

    2. Install the Helm Chart:

      • Use Pulumi's Kubernetes provider to interact with your Kubernetes cluster.
      • With the Helm Chart resource, you can deploy Atlassian Confluence onto the cluster you have created. You will need to specify details like the chart name, version, and any custom values you want to provide to the chart.

    Here is the Pulumi TypeScript program that performs the deployment:

    import * as pulumi from "@pulumi/pulumi"; import * as oci from "@pulumi/oci"; import * as kubernetes from "@pulumi/kubernetes"; // Create an Oracle Kubernetes Engine (OKE) Cluster const cluster = new oci.ContainerEngine.Cluster("confluenceCluster", { // Specify the necessary properties for your cluster, for example: // name: "<your-cluster-name>", // compartmentId: "<your-compartment-id>", // vcnId: "<your-vcn-id>", // kubernetesVersion: "<version>", // ... other properties }); // Export the cluster's kubeconfig export const kubeconfig = cluster.kubeconfig; // Set up the provider to interact with your Kubernetes cluster const provider = new kubernetes.Provider("k8sProvider", { kubeconfig: kubeconfig.apply(JSON.stringify), }); // Deploy the Atlassian Confluence Helm Chart const confluenceChart = new kubernetes.helm.v3.Chart("atlassian-confluence", { chart: "confluence", version: "<chart-version>", // choose the version of Confluence chart you wish to use fetchOpts: { repo: "https://atlassian.github.io/data-center-helm-charts/", // official Atlassian Helm charts repository }, // If you have any custom values you want to override in the chart, specify them here: values: { // key: value, // ... custom values }, }, { provider: provider }); // When successful, this will output the status of the deployed chart. export const chartStatus = confluenceChart.status;

    In this program:

    • We create an OKE cluster using the oci.ContainerEngine.Cluster resource. You will need to fill in details such as your compartment ID, VCN ID, desired Kubernetes version, and any other configurations specific to your environment.

    • We set up the Pulumi Kubernetes provider, which allows us to interact with the Kubernetes API server of our OKE cluster. The provider configuration uses the kubeconfig output from our created cluster.

    • We deploy Atlassian Confluence using the kubernetes.helm.v3.Chart resource, which points to the official Atlassian Helm chart repository and specifies the chart version. It also allows you to provide any custom values necessary for your Confluence deployment.

    • At the end of the program, we export kubeconfig and chartStatus. The former will allow you to interact with your cluster using kubectl or other Kubernetes tools, and the latter will indicate the deployment status of your Helm chart.

    Please replace the placeholder values with the actual values from your Oracle Cloud Infrastructure environment.

    Before running this program, ensure you have the Pulumi CLI installed and configured with access to your Oracle Cloud Infrastructure environment. Then, install the required Pulumi packages by running npm install or yarn add for the packages we imported at the beginning of our program.

    To execute the program, run pulumi up from the command line, which will create your OKE cluster and deploy the Atlassian Confluence application on it using Helm.