nx1 require setting
up authentication manually.
Core and modules deployer
The core and modules deployer needs access to your Kubernetes cluster’s API server so it can deploy the core and modules tiers of NexusOne.Kubeconfig
Theshared_service_deployer.py script resolves your cluster credentials in the following order:
- The
--kubeconfigcommand-line option, if you pass one. - In-cluster credentials, if the script itself happens to be running inside a pod.
- Your default kubeconfig, usually
~/.kube/config, if neither of the preceding options applies.
- kubeconfig’s identity: The
shared_service_deployer.pyscript uses your kubeconfig’s identity to talk to the Kubernetes API directly. It creates a target namespace, aterraform-deployerServiceAccount, and a Kubernetes Job. To do all of that, the identity your kubeconfig authenticates as needs permission to create the following:- Namespaces
- ServiceAccounts, Roles, and RoleBindings
- ClusterRoles and ClusterRoleBindings
- Jobs
terraform-deployerServiceAccount’s identity: This is what the Kubernetes Job’s pod runs as once created. Terraform uses this identity to create and manage every resource inside a target namespace.
terraform-deployer ServiceAccount separately. Each needs its own permissions, and the fix
depends on which one is missing them.
nx1
The nx1 tool supports three authentication methods. If you configure more than one, then NexusOne
applies priority in the following order:
- Command-line options
- Environment variables
- Profile
Command-line options
The command-line options authentication method passes authentication values directly to thenx1
command at runtime.
The names of the command-line options include:
--api_key: API key--host: API host
- Get your API key.
-
Run the
nx1command and include both options.
Environment variables
The environment variables authentication method uses variables configured on the command line. The required variables include:NX1_API_KEY: API keyNX1_HOST: API host
- Linux
- Windows
- Get your API key.
-
Set the environment variables.
-
Run the
nx1command.
Profile
The profile authentication method uses a configuration file stored in a default directory. The file contains details of different profiles. Profiles can represent different environments, such as development, staging, and production. They allow you to store multiple credentials and switch between them easily without re-entering your credentials. The default NexusOne directory is the following:- Get your API key.
-
Create the new directory and file.
-
Add a
defaultprofile.This adds your credentials to the~/.nx1/profilesfile.
Kyuubi batch submit
The Kyuubi batch submit tool supports three authentication methods. If you configure more than one, then NexusOne applies priority in the following order:- Command-line options
- YAML config
- Environment variable
- Interactive prompt
Command-line options
The command-line options authentication method passes authentication values at runtime. The names of the command-line options include:--username: Kyuubi username--password: Kyuubi password--token: Keycloak bearer token
If you provide both
--username/--password and --token, then --username/--password takes priority.- Username/password
- Token
-
Clone the kyuubi-submit GitHub repository.
-
Install dependencies and requirements.
-
Make the Kyuubi script executable.
-
Run the
kyuubi_submit.pyscript and include both options.
YAML config
The YAML config authentication method uses a configuration file. The file contains details about your credentials, including additional details you would normally pass to the command line, such as:- Resource
- Classname
- Args
- Jars
-
Clone the kyuubi-submit GitHub repository.
-
Install dependencies and requirements.
-
Make the Kyuubi script executable.
-
Create the config file.
-
Run the Kyuubi script and include the config file.
-
To optionally override YAML values, pass the options.
Environment variable
The environment variable authentication method uses a variable configured on the command line. It requires the following variable:KYUUBI_SUBMIT_PASSWORD: Kyuubi password
- Linux
- Windows
-
Clone the kyuubi-submit GitHub repository.
-
Install dependencies and requirements.
-
Make the Kyuubi script executable.
-
Set the environment variable.
-
Run the Kyuubi script command.
Interactive prompt
The interactive prompt authentication method expects you to always enter your Kyuubi password each time you run a command. To use this option, take the following steps:-
Clone the kyuubi-submit GitHub repository.
-
Install dependencies and requirements.
-
Make the Kyuubi script executable.
-
Run the
kyuubi_submit.pyscript without including the--passwordoption. - When prompted to enter a password, enter your password.

