...
Code Block | ||||
---|---|---|---|---|
| ||||
apiVersion: v1
kind: ServiceAccount
metadata:
name: parasoft-account
namespace: parasoft-sv-namespace
automountServiceAccountToken: true
---
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: parasoft-read
namespace: parasoft-sv-namespace
rules:
- apiGroups:
- "*"
resources:
- "*"
verbs:
- get
- read
- list
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: parasoft-read-bind
namespace: parasoft-sv-namespace
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: Role
name: parasoft-read
subjects:
- kind: ServiceAccount
name: parasoft-account
namespace: parasoft-sv-namespace |
...
Warning: When scaling beyond one replica, the events and statistics services should be disabled.
Note: kind: Deployment
is not supported. Use either kind: Pod
or kind: StatefulSet
, which are supported.
Code Block | ||||
---|---|---|---|---|
| ||||
apiVersion: apps/v1 kind: StatefulSet metadata: name: soavirt namespace: parasoft-sv-namespace labels: tag: soavirt spec: replicas: 1 selector: matchLabels: tag: soavirt serviceName: soavirt template: metadata: labels: tag: soavirt spec: securityContext: runAsNonRoot: true serviceAccountName: parasoft-account automountServiceAccountToken: true volumes: - name: soavirt-pv persistentVolumeClaim: claimName: soavirt-pvc - name: soavirt-config configMap: name: soavirt-config containers: - name: soavirt image: parasoft/soavirt-server imagePullPolicy: IfNotPresent volumeMounts: - name: soavirt-pv mountPath: /usr/local/parasoft/soavirt/webapps/ROOT/workspace - name: soavirt-config mountPath: /usr/local/parasoft/soavirt/webapps/config.properties subPath: config.properties ports: - name: http containerPort: 9080 - name: events containerPort: 9617 - name: statistics containerPort: 9618 startupProbe: httpGet: path: /soavirt/api/v6/healthcheck port: 9080 initialDelaySeconds: 30 periodSeconds: 30 timeoutSeconds: 30 failureThreshold: 3 livenessProbe: httpGet: path: /soavirt/api/v6/healthcheck port: 9080 initialDelaySeconds: 30 periodSeconds: 30 timeoutSeconds: 30 env: - name: CATALINA_OPTS value: "-Dparasoft.auto.deploy.new=false -Dparasoft.event.monitoring.broker.port=9617 -Dparasoft.server.statistics.broker.port=9618 -Dparasoft.cloudvm=true -Dparasoft.cloudvm.config=Kubernetes" - name: PARASOFT_POD_NAME valueFrom: fieldRef: fieldPath: metadata.name - name: PARASOFT_POD_NAMESPACE valueFrom: fieldRef: fieldPath: metadata.namespace |
...
Warning |
---|
Once the SOAVirt server has been licensed, deleting the namespace the namespace or changing the release-name will invalidate machine-locked licenses, even if you recreate the same namespace. |
...
- Download and extract parasoft_soavirt_server_2023.1.1_helm_chart.zip. This zip file contains all the yaml files you will need for this process.
Update the values.yaml found in the
soavirt-server-helm
directory extracted above. At a minimum, thepersistence
value must be changed to match the name of the Persistent Volume claim configured in Prerequisites above.Code Block persistence: name: soavirt-pvc
Other values, such as the
replica count
andnamespace
, can be changed if necessary.Update the config.yaml found in the
soavirt-server-helm/templates
directory extracted above. At the minimum, theparasoft.eula.accepted
value must be updated totrue
to accept the EULA:Code Block parasoft.eula.accepted: false
Other values can be changed if necessary. For example, if you are using a network license, update these fields:
Code Block # === PRODUCT LICENSING === # Enables virtualize functionality #virtualize.license.enabled: true # Enables soatest functionality #soatest.license.enabled: true # === NETWORK LICENSE === # Enables network licensing for virtualize #virtualize.license.use_network: true # Specifies the type of network license for virtualize ['performance_server_edition', 'runtime_server_edition', 'custom_edition'] #virtualize.license.network.edition: custom_edition # Specifies features for virtualize 'custom_edition' license #virtualize.license.custom_edition_features: Service Enabled, Performance, Extension Pack, Validate, Message Packs, Extension Framework, Developer Sandbox 1000 Hits/Day, 10000 Hits/Day, 25000 Hits/Day, 50000 Hits/Day, 100000 Hits/Day, 500000 Hits/Day, 1 Million Hits/Day, Unlimited Hits/Day, 30 HPS, 100 HPS # Enables network licensing for soatest #soatest.license.use_network: true # Specifies the type of network license for soatest ['server_edition', 'custom_edition'] #soatest.license.network.edition: custom_edition # Specifies features for soatest 'custom_edition' license #soatest.license.custom_edition_features: RuleWizard, Command Line, SOA, Web, Server API Enabled, Message Packs, Advanced Test Generation Desktop, Advanced Test Generation 5 Users, Advanced Test Generation 25 Users, Advanced Test Generation 100 Users, Requirements Traceability, API Security Testing, Extension Framework # === LICENSE SERVER === # Enables using a specific license server # If true, the license network properties below will be used to retrieve a license # If false, the DTP server properties will be used to retrieve a license #license.network.use.specified.server: false # Specifies license server URL, e.g., https://host[:port][/context-path] #license.network.url: https\://[License Server Host]\:8443 # Enables http authentication for the license server #license.network.auth.enabled: false # Specifies username for license server authentication #license.network.user: [License Server Username] # Specifies password for license server authentication #license.network.password: [License Server Password]
Install a helm chart:
Code Block helm install my-release soavirt-server-helm
Using a Local License: To use a node-lock license, you will need to retrieve the machine ID from the deployed server in order to procure your license from Parasoft and update the config.yaml.
Open a shell to the running container:
Code Block kubectl exec --stdin --tty my-release-soavirt-server-0 -n parasoft-sv-namespace -- /bin/bash
Make a curl call to the SOAVirt REST API to retrieve the machine ID:
Code Block curl http://localhost:9080/soavirt/api/v6/status?fields=machineId
- Note the machine ID in the response and provide it to your Parasoft representative, who will send you a license password.
Once you've received your license password, update the config.yaml found in the
soavirt-server-helm/templates
directory extracted earlier to accept a machine-locked license:Code Block # === NODE-LOCK LICENSE === # Specifies password for virtualize local license #virtualize.license.local.password: [Virtualize License Password] # Specifies password for soatest local license #soatest.license.local.password: [Soatest License Password] # === NETWORK LICENSE === # Enables network licensing for virtualize #virtualize.license.use_network: true # Enables network licensing for soatest #soatest.license.use_network: true
Reinstall the Helm chart for the changes to take effect.
Code Block helm uninstall my-release helm install my-release soavirt-server-helm