Using htpasswd authentication in OpenShift Container Platform allows you to identify users based on username and password pairs.
IMPORTANT: htpasswd does not support multiple users.
- You created your account roles using Terraform.
- You created your cluster using Terraform. This cluster can either have a managed OIDC configuration or an unmanaged OIDC configuration.
- Optional: You have configured your Terraform.tfvars file.
-
You need to either create a
terraform.tfvars
file in this directory or add the following items to your existing*.tfvars
file. You may also export these variables as environmental variables with the following commands:- This value sets the user list for logging into your application.
export TF_VAR_users=[{\"username\":\"<user-name-to-login>\",\"password\":\"<password-for-user-name>\"},...]
- This variable should be your full OpenShift Cluster Manager offline token that you generated in the prerequisites.
export TF_VAR_token=<ocm_offline_token>
- This value should always point to
https://api.openshift.com
.export TF_VAR_url=<ocm_url>
- The ID of the cluster for which you are creating the identity provider. This ID can be found in the
rosa
command-line interface (CLI) with the commandrosa list cluster
.export TF_VAR_cluster_id=<cluster_id>
- This value sets the user list for logging into your application.
-
In your local copy of the
htpasswd
folder, run the following command:terraform init
Running this command accesses all the necessary provider information to apply your Terraform plan.
-
Optional: Run the
plan
command to ensure that your Terraform files build correctly without errors. This is not required to apply your Terraform plans.terraform plan -out htpasswd.tfplan
-
Run the apply command to create your htpasswd identity provider.
Note: If you did not run the
plan
command, you can simplyapply
without specifying a file.terraform apply <"htpasswd.tfplan">
-
The Terraform applies the plan and creates your identity provider using htpasswd. You will see a prompt to confirm you want to create these resources. Enter
yes
, then the process will complete with your resources.
After you are done with the resources you created, you should not delete them manually, but instead, use the destroy
command. Run the following to delete all of your created resources:
terraform destroy
After the command is complete, your resources are deleted.
NOTE: If you manually delete a resource, you create unresolvable issues within your environment.