CYPEX Documentation
Wechsel zwischen Dunkel/Hell/Auto Modus Wechsel zwischen Dunkel/Hell/Auto Modus Wechsel zwischen Dunkel/Hell/Auto Modus Zurück zur Startseite Support

Installation Guide

Introduction

Welcome to CYPEX, a cutting-edge tool that will improve software development and help you build applications more quickly.

In this document, you will learn how to get started with CYPEX and deploy the software in your infrastructure quickly and efficiently to ensure you can get started promptly.

Getting started with CYPEX

Running CYPEX in your environment is easy. This section will give you an overview of how things work and how you can get started with CYPEX. Please follow the steps outlined in this document to start your development process. Before you begin, you have the flexibility to choose between two editions suited to meet your needs.

Choose Your Edition:

1. Free Trial Edition:

Experience the power of CYPEX with our Free Trial Edition. This option allows you to:

  • Try Before You Buy: Explore the features and functionalities with a demo version of CYPEX
  • Demo Data: Benefit from pre-loaded demo data to get a feel for how the app works in different scenarios.
  • Limits Apply: Please note that the Free Trial Edition comes with certain usage limits. These limits are in place to provide you with a comprehensive trial experience.

To start with the Free Trial Edition, follow the installation steps outlined in this guide.

2. Enterprise Edition:

For users seeking the full potential of CYPEX without any limitations, we offer the Enterprise Edition. With the Enterprise Edition:

  • Unlimited Access: Enjoy unrestricted access to all features and capabilities of CYPEX.
  • Customization: Tailor the app to your specific requirements and workflows.
  • Priority Support: Benefit from priority customer support for timely assistance.
  • License Purchase Required: A valid license purchase is required to unlock the Enterprise Edition’s limitless possibilities.

If you’ve decided that the Enterprise Edition is the right fit for you, contact sales@cybertec.at to discuss licensing options and initiate the purchasing process.

Understanding Infrastructure and Database Choices

CYPEX is distributed as a set of Docker images brought by Docker Compose, each fulfilling a distinct role within the system. Let’s explore these key components:

  • API Container: This container forms the foundation of the application, controlling its essential functionalities.
  • UI Container: Responsible for managing the User Interface, ensuring a seamless and engaging user experience.
  • PostgREST Container: A standalone web server transforming your PostgreSQL database into a RESTful API. Structural constraints and permissions in the database determine the API endpoints and operations.

These containers are integral and mandatory components.

Database Options:

  • Internal Database Container: It ships with the application and provides a self-contained option. It’s ideal when avoiding external database connections.
  • External Database: Utilize your own PostgreSQL database (version 13 or higher). CYPEX seamlessly integrates, offering flexibility in database choices.

LDAP Integration:

While there isn’t a dedicated LDAP container, CYPEX fully supports LDAP connections. Setting up Single Sign-on transforms into a smooth process if an LDAP server is already operational.

Download CYPEX

CYBERTEC provides two convenient methods for obtaining the application:

Method 1: Download using Git. (access to the CYPEX repository is required)

Use the following link to access our Git repository: CYPEX.

Simply clone the repository to get a copy of CYPEX. Use a Personal Access Token (PAT) instead of a password for GitHub authentication via the command line or API. Treat PATs like passwords; consider fine-grained PATs over classic ones for added security. Note that PATs are user-specific and will become inactive if the user loses access to the resource. For organization-specific control, owners can set policies for classic PAT access. Refer to GitHub documentation for token security and usage details: Managing your personal access tokens.

The repository will contain a set of scripts to help you deploy CYPEX by automating access to DockerHub.

CYPEX Content
CYPEX Content

There are three ways to clone the repository:

  • Using HTTPS

To download via HTTPS, use the following instructions:

git clone https://github.com/cybertec-postgresql/cybertec_cypex.git
  • Using SSH

If you prefer SSH, consider the following command:

git clone git@github.com:cybertec-postgresql/cybertec_cypex.git
  • Using the GitHub CLI

Alternatively, you can make use of the GitHub CLI, which works as follows:

gh repo clone cybertec-postgresql/cybertec_cypex

Checking your local copy

Cloning the repositories will download all these files onto your local machine, as illustrated in the image below:

Clone
Clone
image2

After completing this process, you will discover several files necessary for the following steps:

image3

Congratulations. You have successfully cloned the CYPEX repository. You can now continue with the installation process and configure the infrastructure.

Access the provided download link. Save the downloaded file to your preferred location on your local machine. Untar, replacing <tag> with the latest provided version, e.g. v0.0.1:

mkdir cybertec_cypex
tar -xzvf cybertec_cypex-<tag>.tar.gz -C cybertec_cypex --strip-components=1
cd cybertec_cypex

Pre-Installation System Check: Ensuring Compatibility and Requirements

Before processing the installation, make sure the following system requirements are met:

To run the application on the MacOS:

The sed program on Mac is not a standard (GNU) one. To get the normal one, use brew:

brew install gnu-sed

After this, alter PATH. For example, add the following line to your ~/.bash_profile:

PATH="/usr/local/opt/gnu-sed/libexec/gnubin:$PATH"

To run the application on Windows:

Install CYPEX

Generate Configuration:

After downloading an App folder, open a console and navigate to the CYPEX folder using the cd command.

Load necessary Docker Images for off-line installer scenarios:

    ./cypex load-docker-images

Generate default configuration, executing:

    ./cypex configure

This command offers the following scenarios:

  • Do you want to install the enterprise version of CYPEX? -Yes/No

    (Enterprise requires a license for the Trial choose No)

  • Do you want to install CYPEX with an existing database? - Yes/No

    (If No - the PostgreSQL database will be installed within a Docker container. No extra configuration is needed).
    You must provide the database connection information for the existing one:

    ./cypex config database.host <host-name or IP>
    ./cypex config database.port <port-number>
    ./cypex config database.name <db-name>
    ./cypex config database.install.user.name <user-name>
    ./cypex config-database-install-user-password
    

    Note: The database host should be the hostname or IP address, and it should be reachable by the docker containers. Do not use localhost or similar because the docker containers will resolve their own host as a localhost. \

  • Do you want to enable SSL connection for the database? - Yes/No

    If Yes, an additional configuration is needed:

    • CA-CERT file name, example: root.crt, otherwise, leave it blank.

      Ensure to copy the file to the ./certs directory.

    • CA-CERT file name: Use the sslrootcert parameter to reference the certificate, for example, sslrootcert=rds-ssl-ca-cert.pem.

    Note: The file should be copied to the certs folder referenced in the containers via a predefined internal path. Do not use paths, only file names.

The configuration will store the credentials and certificates inside the .secrets directory.

It contains the password files and the nginx/certs directory containing the server-side certificates. To update those certificates, replace them with new ones with the same name:

image4

Execute:

To pull the necessary docker images and install the application, run the following:

./cypex install

image5

In case this is successful, all the status information should show “done”:

image6

Start the Application

To initiate CYPEX, proceed with the final step. The system will automatically generate an admin user within the APP, generate a password, and present it on the screen for your convenience. Simply run:

./cypex up

image7

Please copy and securely store this password. It is essential. Its importance lies in granting access to the system. Be aware that it cannot be recovered once lost for security reasons.

Optionally, you can also deploy CYPEX extensions. However, this is only needed in case you want to use extensions later on:

image8

First Login

Upon completing the installation script, you will receive a URL guiding you to the system’s login interface. Utilize the login credentials supplied by the installer to access the intuitive graphical user interface offered by the CYPEX.

The following screen will open, allowing you to get started quickly.

Handling certificates and browser security:

Your browser might complain about security-related issues. Note that this is NOT a CYPEX deficiency but a necessary security precaution made by browsers that fancy secure communication.

Open your browser configuration and take a look at the following site. Note that the certificate is not right if the error pops up, as shown in the next listing.

image9 image10

This problem can be fixed by replacing the certificates on the server (see above) during the installation process. Make sure that you have valid certificates in place.

Your IT department will be aware of those requirements.

Alternatively, you can set certificates in your browser. However, in a large-scale organization, this is usually not feasible. Still, it is a good option often used for testing purposes.

Once your certificates are set, you will see the login screen without security warnings:

image11

Log in to the application using the provided prompt credentials in the console.

image12

Deploy Demo Data

Additionally, for demo purposes, deploying the data model is accessible from the UI. Use the “Add-ons” menu to navigate to the “Repository Applications”.

image13

In the Actions column, click a button to install the latest version of the demo model. After you get the message about the successful data installation, move to the “Applications” page.

image13

This Demo Data Model contains not only tables and data but also generated Queries (from tables) and a small demo Application. However, Queries and App creation can always be done manually.

Uninstall CYPEX

Open the terminal and navigate to the folder with cypex scripts using the cd command. Run the following commands:

./cypex cleanup-cypex-database
./cypex uninstall
  • In the newest version, you need to delete the postgres-data folder manually, only in case the database was installed within the Docker container.
    sudo rm -rf postgres-data
  • Additionally, ensure your PostgreSQL database instance doesn’t contain cypex or cypex_% related schemas and tables in case of existing database usage.

Remove the folder with the previous CYPEX version, including all scripts.

After successful completion, the newest version can be installed.