❗ Please refer to KubeRocketCI documentation to get the notion of the main concepts and guidelines. |
---|
Get acquainted with the Nexus Operator and the installation process as well as the local development, and architecture scheme.
Nexus Operator is a KubeRocketCI operator that is responsible for configuring Nexus.
NOTE: Operator is platform-independent, that is why there is a unified instruction for deploying.
- Linux machine or Windows Subsystem for Linux instance with Helm 3 installed;
- Cluster admin access to the cluster;
In order to install the Nexus operator, follow the steps below:
-
To add the Helm EPAMEDP Charts for local client, run "helm repo add":
helm repo add epamedp https://epam.github.io/edp-helm-charts/stable
-
Choose available Helm chart version:
helm search repo epamedp/nexus-operator -l NAME CHART VERSION APP VERSION DESCRIPTION epamedp/nexus-operator 3.2.0 3.2.0 A Helm chart for KRCI Nexus Operator
NOTE: It is highly recommended to use the latest released version.
-
Full chart parameters available in deploy-templates/README.md.
-
Install operator in the
nexus-operator
namespace with the helm command; find below the installation command example:helm install nexus-operator epamedp/nexus-operator --version <chart_version> --namespace nexus
-
Check the
nexus-operator
namespace that should contain operator deployment with your operator in a running status.
-
Login into Nexus and create user. Attach permissions to user such as scripts, rules, blobs etc. Insert user credentials into Kubernetes secret.
apiVersion: v1 kind: Secret metadata: name: nexus-admin-password data: password: cGFzcw== # base64-encoded value of "pass" user: dXNlcg== # base64-encoded value of "user"
-
Create Custom Resource
kind: Nexus
with Nexus instance URL and secret created on the previous step:apiVersion: edp.epam.com/v1alpha1 kind: Nexus metadata: name: nexus spec: secret: nexus-admin-password url: http://nexus.example.com
Wait for the
.status
field withstatus.connected: true
-
Create Role using Custom Resources NexusRole:
apiVersion: edp.epam.com/v1alpha1 kind: NexusRole metadata: name: edp-admin spec: description: Read and write access to all repos and scripts id: edp-admin name: edp-admin nexusRef: kind: Nexus name: nexus privileges: - nx-apikey-all - nx-repository-view-*-*-add - nx-repository-view-*-*-browse - nx-repository-view-*-*-edit - nx-repository-view-*-*-read - nx-script-*-add - nx-script-*-delete - nx-script-*-run - nx-search-read
Inspect CR templates folder for more examples.
In order to develop the operator, first set up a local environment. For details, please refer to the Local Development page.
Development versions are also available, please refer to the snapshot Helm Chart repository page.