This utility sets up the git repositories, container images, and application dependencies required to use TSSC in a disconnected environment.
The typical work flow is to:
- Outside, the disconnected environment, use the installer to create an installer package while connected to the internet. This downloads all required binaries and creates an archive.
- Manually copy the archive into the disconnected environment.
- Expand the archive
- Run the setup scripts.
These instructions assume that the package is created on one machine and installed from another. There different pre-reqs for the two machines.
- ansible >= 2.9.12 (earlier versions may work)
- git >= 1.7.1
- Network connectivity to the upstream repositories (or mirrors).
- Git credentials configured for passwordless cloning of the upstream repositories.
- maven >= 5.7 (earlier versions may work)
- Network connectivity to maven central OR network connectivity and maven configuration for an enterprise repository with the required application dependencies.
- skopeo >= 1.1.1 (earlier versions may work)
- Network connectivity to quay.io. Alternatively, network connectivity and any required credentials for an enterprise container image repository with the required container images.
- Enough disk space to hold the unpackaged repositories, images and dependencies, and also the created package.
Open Internet access satisfies all network connectivity requirements.
The upstream repositories are: [email protected]:rhtconsulting/tssc-python-package.git [email protected]:rhtconsulting/tssc-jenkins-library.git ssh://[email protected]:2022/tssc-references/tssc-reference-app-quarkus-rest-json.git ssh://[email protected]:2022/tssc-references/tssc-reference-app-quarkus-rest-json-config.git
- Network connectivity to the git server, container registry, and artifact repository in the disconnected environment.
- Ansible, git, maven and skopeo client binaries.
- A git server in the disconnected environment with pre-existing repositories created (e.g. organization and repos created in Gitea).
- A container registry in the disconnected environment (e.g. organization in Quay)
- An artifact repository in the disconnected environment (e.g. maven-release repository in Nexus)
- Credentials with permissions to push to all of the above
- Clone Git Repos
- Download Application Dependencies
- Download Container Images
- Create Gitea Repos
- curl -X POST "https://giteaserver/api/v1/user/repos?access_token=TOKEN" -H "accept: application/json" -H "content-type: application/json" -d "{"name":"repsitory_name", "description": "Sample description", .... }"
- Initialize Gitea Repos
- Publish Application Dependencies
- Upload Container Images