Skip to content

Input Parameters

This section outlines the key configuration parameters for setting up a self-hosted controller. These parameters include network settings, storage options, and file system details. Proper configuration of these parameters ensures optimal performance and seamless operation of the controller.


Fully Qualified Domain Name (FQDN)

  • Parameter: wildcard
  • Description: Specifies the Fully Qualified Domain Name for the controller
  • CLI Prompt: "Provide a Fully Qualified Domain Name (FQDN) for the controller"
  • Type: string

NFS Server

  • Parameter: nfs.server
  • Description: The hostname or IP address of the NFS server.
  • CLI Prompt: "Provide the Filestore NFS IP address"
  • Type: string

EFS (Elastic File System)

Parameters for configuring Amazon EFS for the controller.

File System ID

  • Parameter: storageClass.efsFilesystemId
  • Description: The ID of the EFS file system to be used.
  • CLI Prompt: "Provide the EFS File System ID (e.g., fs-12345678)"
  • Type: string

EFS Role ARN

  • Parameter: controller.serviceAccount.annotations
  • Description: The ARN of the IAM role with permissions to access the EFS file system.
  • CLI Prompt: "Provide the EFS Role ARN"
  • Type: string

Load Balancer

Parameters for configuring the Load Balancer for the controller.

Load Balancer Role ARN

  • Parameter: global.lb_controller.role_arn
  • Description: The ARN of the IAM role that provides permissions for the Load Balancer.
  • CLI Prompt: "Provide the Load Balancer IAM Role ARN"
  • Type: string

Load Balancer Subnets

  • Parameter: global.lb_subnet_ids
  • Description: The subnets where the Load Balancer will be created. Private subnets for internal Load Balancers or public subnets for internet-facing ones.
  • CLI Prompt: "Provide the subnet ID for the Load Balancer"
  • Type: string

Advanced Configurations

High Availability (HA) Controller

  • Parameter: ha
  • Description: This parameter configures the deployment mode of the Rafay controller. When set to true, the controller is deployed in High Availability (HA) mode, ensuring redundancy and increased resilience in case of node failure. If set to false, the controller will run in a single-node mode.
  • Question in CLI: “Do you want to create a High-Availability (HA) controller?”
  • Type: bool
  • Default: false

Controller Size

  • Parameter: size
  • Description: Defines the size of the controller deployment, based on load and performance requirements. Options include Small, Medium, and Large, each corresponding to different CPU and memory allocations.
  • CLI Prompt: "Select the size of your controller deployment (Small/S: 16 CPU/64GB, Medium/M: 32 CPU/64GB, Large/L: 48 CPU/72GB)"
  • Type: string
  • Default: S
  • Options:
    • S: Small 16 CPU/64GB
    • M: Medium 32 CPU/64GB
    • L: Large 48 CPU/72GB

Custom Registry Configuration

Parameters for configuring a custom container registry.

Enabled

  • Description: Enables or disables the configuration of a custom container registry, such as AWS ECR or JFrog.
  • CLI Prompt: "Would you like to configure the controller with a custom registry?"
  • Type: bool
  • Default: false

Registry Type

  • Description: Specifies the type of registry (e.g., AWS ECR or JFrog).
  • CLI Prompt: "Provide the registry type (ecr/jfrog)"
  • Type: string
  • Options: ECR, JFrog

Registry Endpoint

  • Description: The URL of the custom registry.
  • CLI Prompt: "Provide AWS ECR/JFrog endpoint."
  • Type: string

Registry Username

  • Description: Username for authenticating to the custom registry.
  • CLI Prompt: "Provide the username for the custom registry."
  • Type: string

Registry Password

  • Description: Password used for authenticating to the custom registry.
  • Question in CLI: "Enter the password for the custom registry."
  • Type: string

External Database Configuration

The parameters below are for configuring an external database to use AWS RDS in EKS or Google Cloud SQL.

Enable External Database

  • Parameter: external-database
  • Description: Enables or disables the use of an external database for the controller, such as AWS RDS or Google Cloud SQL. If set to true, users must provide the database endpoint, credentials, and other configuration details.
  • Question in CLI: “Would you like to configure the external database (RDS/SQL)?”
  • Type: bool
  • Default: false

Database Host

  • Parameter: host
  • Description: The database endpoint (FQDN or IP address) where the Rafay controller can connect to store its data. Question in CLI: “Please provide the external database endpoint (FQDN or IP address).”
  • Type: string

SSL Certificates Configuration

The following parameters pertain to the SSL certificate configuration for the controller’s fully qualified domain name (FQDN).

SSL Certificates

  • Description: Determines whether you have SSL certificates for the provided FQDN. If the answer is "yes," you will be prompted to specify whether you are using AWS ACM or private certificates. If the answer is "no," Rafay will generate self-signed certificates for the controller.
  • Question in CLI: “Do you have SSL certificates for the provided fully qualified domain name (FQDN)?”
  • Type: bool
  • Default: false

OpenSearch Configuration

The following parameters are for configuring OpenSearch for the controller.

Enable OpenSearch

  • Parameter: global.opensearch.enabled
  • Description: Enables or disables the configuration of OpenSearch.
  • Question in CLI: “Would you like to configure AWS OpenSearch?”
  • Type: Boolean
  • Default: false

OpenSearch Domain Endpoint

  • Parameter: global.opensearch.endpoint
  • Description: The endpoint for the OpenSearch domain.
  • Question in CLI: “Provide the OpenSearch endpoint.”
  • Type: String

OpenSearch Username

  • Parameter: global.opensearch.user_name
  • Description: Username for authenticating to the OpenSearch domain.
  • Question in CLI: “Provide the OpenSearch username.”
  • Type: String

OpenSearch Password

  • Parameter: global.opensearch.user_password
  • Description: Password for authenticating to the OpenSearch domain.
  • Question in CLI: “Provide the OpenSearch password.”
  • Type: String

OpenSearch Region

  • Parameter: global.opensearch.region
  • Description: Region of the OpenSearch domain.
  • Question in CLI: “Provide the OpenSearch region.”
  • Type: String

Karpenter Configuration

The following parameters configure Karpenter, a Kubernetes-native autoscaler, to manage scaling of EKS worker nodes dynamically.

Enable Karpenter

  • Parameter: karpenter.enabled
  • Description: Enables or disables Karpenter for dynamic node provisioning.
  • Question in CLI: “Would you like to configure karpenter service for the controller”
  • Type: bool
  • Default: false

Karpenter role arn

  • Parameter: karpenter.serviceAccount.annotations
  • Description: The ARN of the IAM role that has permissions to provision new nodes based on the controller configuration.
  • Question in CLI: “Provide the Karpenter role ARN.”
  • Type: string

EKS Cluster Name

  • Parameter: karpenter.clusterName
  • Description: The name of the EKS cluster where Karpenter will be deployed.
  • Question in CLI: “Provide the EKS cluster name.”
  • Type: string

EKS Cluster Endpoint

  • Parameter: karpenter.clusterEndpoint
  • Description: The endpoint of your EKS cluster.
  • Question in CLI: “Provide the EKS cluster endpoint.”
  • Type: string

IRSA Configuration

The following parameters configure IRSA (IAM Roles for Service Accounts) for Rafay controllers.

Enable IRSA

  • Parameter: global.edge.irsa_role_enabled
  • Description: Enables or disables IRSA for managing permissions to provision EKS clusters on AWS using the Rafay console.
  • Question in CLI: “Would you like to configure the IRSA role to provision clusters?”
  • Type: bool
  • Default: false

IRSA Role ARN

  • Parameter: global.edge.irsa_role_arn
  • Description: The ARN of the IAM role that grants permission to provision EKS clusters on AWS using the Rafay console.
  • Question in CLI: “Provide the IRSA role ARN.”
  • Type: string

More Advanced Configurations

Backup and Restore

The following parameters configure the backup and restore functionality for the controller.

Enable Backup

  • Parameter: backup_restore.enabled
  • Description: This parameter enables or disables the backup and restore feature for the Rafay controller. When enabled, the controller's data will be regularly backed up to an S3 bucket.
  • Question in CLI: “Would you like to configure backup and restore for the controller?”
  • Type: bool
  • Default: false

Enable Restore

  • Parameter: backup_restore.restore
  • Description: This parameter enables or disables the restore configuration, allowing restoration from a previous backup if desired.
  • Question in CLI: “Do you want to restore from a previous backup?”
  • Type: bool
  • Default: false

Storage Container for Backup

  • Parameter: backup_restore.bucketName
  • Description: The name of the S3 bucket where the Rafay controller backups will be stored.
  • Question in CLI: “Provide the name of the S3 bucket for storing backups.”
  • Type: string

Restore Folder Name

  • Parameter: backup_restore.restoreFolderName
  • Description: The name of the folder for the latest backup to restore.
  • Question in CLI: “Provide the name of the latest backup folder for the controller restore.”
  • Type: string

Backup Region

  • Parameter: backup_restore.region
  • Description: The AWS region where the backup S3 bucket is located.
  • Question in CLI: “Provide the backup bucket region.”
  • Type: string

Backup IAM Role ARN

  • Parameter: backup_restore.role_arn
  • Description: The ARN of the IAM role that grants permission to perform backup and restore operations in S3.
  • Question in CLI: “Provide the backup IAM role ARN.”
  • Type: string

Namespace Labels

The following parameters are used to add labels to the Rafay-managed namespace.

Enable Namespace Labels

  • Parameter: namespace_labels.enabled
  • Description: Enables or disables the addition of labels to the namespace where the Rafay controller operates.
  • Question in CLI: “Would you like to configure namespace labels?”
  • Type: bool
  • Default: false

Number of Labels

  • Parameter: namespace_labels.numLabels
  • Description: Defines the number of labels to be added to the namespace.
  • Question in CLI: “How many namespace labels do you want to add?”
  • Type: int
  • Default: 1

Label Key

  • Parameter: namespace_labels.key
  • Description: Specifies the key for the namespace label.
  • Question in CLI: “Provide the namespace label key.”
  • Type: string
  • Default: Owner

Label Value

  • Parameter: namespace_labels.value
  • Description: Specifies the value for the namespace label.
  • Question in CLI: “Provide the namespace label value.”
  • Type: string
  • Default: Rafay

Pod Tolerations

The following parameters are used to add pod tolerations to the master and worker nodes.

Enable Pod Tolerations

  • Parameter: pod_tolerations.enabled
  • Description: Enables or disables the addition of pod tolerations to nodes. Tolerations allow the controller pods to run on nodes with specific taints.
  • Question in CLI: “Would you like to configure pod tolerations?”
  • Type: bool
  • Default: false

Number of Tolerations

  • Parameter: pod_tolerations.numTolerations
  • Description: Specifies the number of pod tolerations to be applied to the controller pods.
  • Type: integer
  • Default: 1

Toleration Key

  • Parameter: pod_tolerations.key
  • Description: The taint key that the toleration applies to. This key must match a taint on a node for the pod to tolerate it.
  • Question in CLI: “Provide the pod toleration key.”
  • Type: string

Toleration Value

  • Parameter: pod_tolerations.value
  • Description: The taint value that the toleration matches. If the operator is Equal, the pod will only tolerate nodes that have this taint value.
  • Question in CLI: “Provide the pod toleration value.”
  • Type: string

Toleration Operator

  • Parameter: pod_tolerations.operator
  • Description: Defines the relationship between the key and value. The possible values are: Equal, Exists.
  • Question in CLI: “Provide the pod toleration operator (Exists/Equal).”
  • Type: string

Toleration Effect

  • Parameter: pod_tolerations.effect
  • Description: Specifies the taint effect to match. The possible values are: NoSchedule, PreferNoSchedule, NoExecute.
  • Question in CLI: “Provide the pod toleration effect (NoSchedule/PreferNoSchedule/NoExecute).”
  • Type: string

TSDB Backup Configuration

The following parameters are for configuring the time-series database (TSDB) backup for the controller.

Enable TSDB Backup

  • Parameter: global.tsdb_backup.enabled
  • Description: This parameter enables or disables the backup of TSDB data to a specified bucket.
  • Question in CLI: “Would you like to configure the TSDB backup?”
  • Type: bool
  • Default: false

Storage Container for Backup

  • Parameter: global.tsdb_backup.bucket
  • Description: The name of the bucket where the TSDB backups will be stored.
  • Question in CLI: “Provide the TSDB backup bucket name.”
  • Type: string

Backup Region

  • Parameter: global.tsdb_backup.bucket_region
  • Description: The AWS region where the bucket for TSDB backup is located.
  • Question in CLI: “Provide the TSDB backup bucket region.”
  • Type: string

Backup Role ARN

  • Parameter: global.tsdb_backup.role_arn
  • Description: The ARN of the IAM role that has permissions to upload TSDB backups to the bucket.
  • Question in CLI: “Provide the TSDB backup role ARN.”
  • Type: string

EAAS Configuration

The following parameters configure the EAAS service on the Rafay Controller.

EAAS Enable

  • Parameter: eaas.enabled
  • Description: Enables or disables the EAAS service for the Rafay Controller.
  • Question in CLI: “Would you like to configure the EAAS service?”
  • Type: bool
  • Default: false

S3 Bucket Name

  • Parameter: global.engine_api_blob_bucket
  • Description: The name of the bucket where the EAAS service activity logs will be stored.
  • Question in CLI: “Provide the EAAS bucket name.”
  • Type: string

S3 Bucket Region

  • Parameter: global.engine_api_region
  • Description: The AWS region where the EAAS bucket is located.
  • Question in CLI: “Provide the EAAS bucket region.”
  • Type: string

Role ARN

  • Parameter: global.engine_api_irsa_role_arn
  • Description: The ARN of the IAM role to be used with the service account.
  • Question in CLI: “Provide the EAAS role ARN.”
  • Type: string

Monitoring Configuration

The following parameter enables or disables monitoring for the Rafay Self-Hosted Controller.

Enable Amazon Managed Prometheus (AMP)

  • Parameter: monitoring.enabled
  • Description: Enables or disables the integration with Amazon Managed Prometheus (AMP) for monitoring the Rafay controller. If enabled, the user must provide details such as the workspace ID and IAM roles for Prometheus ingestion and querying.
  • Question in CLI: “Would you like to configure Amazon Managed Prometheus for the controller?”
  • Type: bool
  • Default: false

AMP Workspace ID

  • Parameter: monitoring.workspace_id
  • Description: The unique identifier of the Amazon Managed Prometheus workspace where metrics from the Rafay controller will be stored.
  • Question in CLI: “Provide the AMP workspace ID (e.g., ws-h046j0s0-ui39-4bsc-90fu-012dfabb2y0e).”
  • Type: string

AMP Ingest Role ARN

  • Parameter: monitoring.ingest_role_arn
  • Description: The ARN of the IAM role that grants Prometheus permission to ingest monitoring data.
  • Question in CLI: “Provide the ingest role ARN for AMP.”
  • Type: string

AMP Query Role ARN

  • Parameter: monitoring.query_role_arn
  • Description: The ARN of the IAM role that allows querying data from the Prometheus workspace.
  • Question in CLI: “Provide the query role ARN for AMP.”
  • Type: string

Prometheus Region

  • Parameter: monitoring.region
  • Description: The AWS region where the Amazon Managed Prometheus workspace is located.
  • Question in CLI: “Provide the AMP region.”
  • Type: string