jvm-build-service

module
v0.0.0-...-498675d Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 10, 2024 License: Apache-2.0

README

= HACBS JVM Build Service
:icons: font
:toc:
:toclevels: 5
:toc-title:

:img-build-status: https://codecov.io/gh/redhat-appstudio/jvm-build-service/branch/main/graph/badge.svg
:uri-build-status: https://codecov.io/gh/redhat-appstudio/jvm-build-service
image:{img-build-status}[Build Status Badge,link={uri-build-status}]


This repository contains components used to deploy the HACBS JVM build service.

See each component's directory for specific documentation. There is further documentation available within the docs
directory.

== Requirements

* OpenShift/Kubernetes cluster
* link:https://kubernetes.io/docs/tasks/tools/#kubectl[kubectl] CLI tool
* link:https://kubectl.docs.kubernetes.io/installation/kustomize/binaries[kustomize] CLI tool

This is currently using link:https://docs.openshift.com/pipelines/1.13/about/op-release-notes.html[OpenShift Pipelines 1.13]

== Installation

The following environment variables are configurable and may be set by the user prior to deploying this depending upon which features are to be enabled.

|=======================
| AWS_ACCESS_KEY_ID | AWS Access Key used for S3 and CodeArtfact Access
| AWS_PROFILE | AWS Region used for CodeArtifact deployment
| AWS_SECRET_ACCESS_KEY | AWS Secret Access Key used for S3 and CodeArtfact Access
| GIT_DEPLOY_IDENTITY | Username/organisation name for the Git service
| GIT_DEPLOY_TOKEN | Authentication token
| GIT_DEPLOY_URL | The URL for the Git service (GitHub/GitLab are supported) to archive the sources
| GIT_DISABLE_SSL_VERIFICATION | Whether to disable SSL verification for Git archival service communication
| JBS_QUAY_IMAGE | JBS images are pulled by default from the `QUAY_USERNAME` organization. This may be overridden by changing this
| JBS_BUILD_IMAGE_SECRET | Secret for accessing Quay.io (See below)
| JBS_GIT_CREDENTIALS | Support for private repositories (See below)
| JBS_MAX_MEMORY | Maximum additional memory allowed
| JBS_RECIPE_DATABASE | Recipe database to use (defaults to `https://github.com/redhat-appstudio/jvm-build-data`)
| JBS_S3_SYNC_ENABLED | Whether to enable Amazon S3 sync for storage
| JBS_WORKER_NAMESPACE | Default 'worker' namespace (`test-jvm-namespace`) may be customised by setting this
| MAVEN_PASSWORD | Password for the Maven repository
| MAVEN_REPOSITORY | The URL for the external Maven repository to deploy to
| MAVEN_USERNAME | Username for the Maven repository
| QUAY_USERNAME | Quay.io registry to use
|=======================

The `$HOME/.docker/config.json` must contain a suitable authentication token to Quay.io. In the Account
section of Quay you should see an options to generate an encrypted CLI password. Select this option and create a `~/
.docker/config.json` by following the prompts. It is recommended to configure this secret as:

```
export JBS_BUILD_IMAGE_SECRET=$(cat $HOME/.docker/config.json | base64 -w 0)
```

To support private repositories set:
```
export JBS_GIT_CREDENTIALS='https://$GITHUB_E2E_ORGANIZATION:$GITHUB_TOKEN@github.com'
```


== Documentation

See link:docs/index.adoc[User Guide]

Directories

Path Synopsis
cmd
openshift-with-appstudio-test
e2e
pkg
apis/jvmbuildservice
This file ensures Go source parsers acknowledge the jvmbuildservice package and any child packages.
This file ensures Go source parsers acknowledge the jvmbuildservice package and any child packages.
apis/jvmbuildservice/v1alpha1
Package v1alpha1 contains API Schema definitions for the hacbs jvmbuildservice v1alpha1 API group +k8s:deepcopy-gen=package,register +groupName=jvmbuildservice.io
Package v1alpha1 contains API Schema definitions for the hacbs jvmbuildservice v1alpha1 API group +k8s:deepcopy-gen=package,register +groupName=jvmbuildservice.io
client/clientset/versioned/fake
This package has the automatically generated fake clientset.
This package has the automatically generated fake clientset.
client/clientset/versioned/scheme
This package contains the scheme of the automatically generated clientset.
This package contains the scheme of the automatically generated clientset.
client/clientset/versioned/typed/jvmbuildservice/v1alpha1
This package has the automatically generated typed clients.
This package has the automatically generated typed clients.
client/clientset/versioned/typed/jvmbuildservice/v1alpha1/fake
Package fake has the automatically generated clients.
Package fake has the automatically generated clients.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL