csspin_ce.mkinstance

The csspin_ce.mkinstance plugin provides a way to create a new CONTACT Elements instance by using the mkinstance command-line tool within the context of csspin.

How to setup the csspin_ce.mkinstance plugin?

For using the csspin_ce.mkinstance plugin, a project’s spinfile.yaml must at least contain the following configuration.

Minimal configuration of spinfile.yaml for csspin_ce.mkinstance
plugin_packages:
    - csspin-ce
    - csspin-frontend
    - csspin-java
    - csspin-python
plugins:
    - csspin_ce.mkinstance
contact_elements:
    umbrella: <The umbrella to use>
python:
    version: '3.11.9'
    index_url: <package server index url to retrieve CE wheels from>
node:
    version: '18.17.1'
java:
    version: '17'

The provisioning of the required tools and the plugins dependencies can be done via the well-known spin provision-command.

How to create a new CONTACT Elements instance?

To create a new CONTACT Elements instance, the spin mkinstance command can be used. The command will create a new instance based on the configuration specified in the spinfile.yaml and the plugin.

Create a new instance (default: sqlite)
spin mkinstance

After the command succeeds, a new instance will be created using the default values of the plugin and the provided spinfile.yaml.

Using another DBMS is as simple as:

Create a new instance using another DBMS
# Note: The mkinstance.postgres.postgres_dbhost can be any valid hostname or
#       IP address, in our case it is the IP address of a locally running
#       PostgreSQL container.
spin \
    -p mkinstance.postgres.postgres_dbhost=127.0.0.1 \
    -p mkinstance.postgres.postgres_syspwd=password \
    mkinstance postgres

csspin_ce.mkinstance schema reference

mkinstance: 'object'

The mkinstance plugin for csspin provides the full mkinstance experience - all in the context of csspin.

mkinstance.opts: 'list'

List of additional options for the mkinstance command.

mkinstance.dbms: 'str'

The DBMS that mkinstance should use.

mkinstance.webmake: 'bool'

If set to True, webmake will be run.

mkinstance.tls: 'object'

TLS configuration

mkinstance.tls.cert: 'path'

The certificate file to use for SSL/TLS termination.

mkinstance.tls.cert_key: 'path'

The key file for mkinstance.tls.cert.

mkinstance.tls.enabled: 'bool'

If set to True, the instance will be equipped with a self-signed TLS certificate that is added to the instances’ CA. The localhost.crt and localhost.key can be obtained from the instances’ ‘certs’ directory.

mkinstance.tls.dns_names: 'list'

DNS names for the TLS certificate

mkinstance.std_calendar_profile_range: 'str'

Value for CADDOK_GENERATE_STD_CALENDAR_PROFILE_RANGE to determine the range of dates that are being created for the standard calendar profile.

mkinstance.base: 'object'

The base defines the base properties for an CE instance.

mkinstance.base.namespace: 'str'

The namespace that the CE instance should be assigned to.

mkinstance.base.instance_admpwd: 'secret'

The admin password for the CE instance to create. Use "" for empty password, thus the user caddok is accessible.

mkinstance.base.instance_location: 'path'

The location where the CE instance should be created.

mkinstance.oracle: 'object'

The Oracle DBMS properties are exclusively used, if mkinstance.dbms=oracle.

mkinstance.oracle.ora_dbhost: 'str'

The hostname or IP address of the Oracle database server.

mkinstance.oracle.ora_syspwd: 'secret'

The password for the Oracle SYS user, used for administrative tasks.

mkinstance.oracle.ora_dbuser: 'str'

The username for connecting to the Oracle database.

mkinstance.oracle.ora_dbpasswd: 'secret'

The password for the specified Oracle database user.

mkinstance.mssql: 'object'

The MSSQL DBMS properties are exclusively used, if mkinstance.dbms=mssql.

mkinstance.mssql.mssql_dbuser: 'str'

The username for connecting to the MSSQL database.

mkinstance.mssql.mssql_dbhost: 'str'

The hostname or IP address of the MSSQL database server.

mkinstance.mssql.mssql_syspwd: 'secret'

The password for the MSSQL SYS user, used for administrative tasks.

mkinstance.mssql.mssql_catalog: 'str'

The name of the database catalog to use or create.

mkinstance.mssql.mssql_dbpasswd: 'secret'

The password for the MSSQL database user.

mkinstance.mssql.mssql_pyodbc: 'str'

Use the PyODBC driver: The installation will be created with the PyODBC driver.

mkinstance.mssql.mssql_odbc_driver: 'str'

ODBC driver name for the PyODBC driver: ODBC driver name to use in the ODBC connection string

mkinstance.mssql.mssql_odbc_encrypt: 'str'

Enable ODBC encryption.

mkinstance.mssql_sspi: 'object'

The MSSQL sspi DBMS properties are exclusively used, if mkinstance.dbms=mssql_sspi.

mkinstance.mssql_sspi.mssql_dbhost: 'str'

The hostname or IP address of the MSSQL sspi database server.

mkinstance.mssql_sspi.mssql_catalog: 'str'

The name of the database catalog to use or create.

mkinstance.postgres: 'object'

The Postgres DBMS properties are exclusively used, if mkinstance.dbms=postgres.

mkinstance.postgres.postgres_database: 'str'

The database that should be created or accessed.

mkinstance.postgres.postgres_dbhost: 'str'

The hostname or IP address of the Postgres database server.

mkinstance.postgres.postgres_dbpasswd: 'secret'

The database password.

mkinstance.postgres.postgres_dbport: 'int'

The port that the Postgres database is accessible via postgres.host.

mkinstance.postgres.postgres_dbuser: 'str'

The username for connecting to the Postgres database.

mkinstance.postgres.postgres_system_user: 'str'

The system user with administrative privileges in Postgres.

mkinstance.postgres.postgres_syspwd: 'secret'

The password for the Postgres system user.

mkinstance.s3_blobstore: 'object'

The AWS S3 Blobstore properties are exclusively used, if mkinstance.dbms=s3_blobstore.

mkinstance.s3_blobstore.s3_bucket: 'str'

The bucket name to be used in the S3 backend. The bucket is not created and must already exist.

mkinstance.s3_blobstore.s3_endpoint_url: 'str'

The URL that the client uses to connect to the MinIO server of the S3 backend. When connection to Amazon S3, use the region option instead.

mkinstance.s3_blobstore.s3_region: 'str'

The region is needed to connect to Amazon S3. This option is not needed when using MinIO.

mkinstance.s3_blobstore.s3_access_key_id: 'str'

The AWS S3 Access Key ID identifies your AWS account and the resources you are authorized to access. The Access Key ID is typically used in conjunction with the s3_secret_access_key.

mkinstance.s3_blobstore.s3_secret_access_key: 'secret'

The s3_secret_access_key is a secret key that is used to sign requests made to AWS services. The Secret Access Key should be kept private and should never be shared with anyone.

mkinstance.azure_blobstore: 'object'

The Azure Blobstore properties are exclusively used, if mkinstance.dbms=azure_blobstore.

mkinstance.azure_blobstore.azure_container: 'str'

The container name to be used in the Azure backend. The container is not created and must already exist.

mkinstance.azure_blobstore.azure_endpoint_url: 'str'

The URL that the client uses to connect to the server of the Azure backend. Note, that the URL schema differs for local development using Azurite and the cloud server.

mkinstance.azure_blobstore.azure_account_name: 'str'

This parameter used to specify the identity of the Azure account that will be used to access cloud resources. If not specified, the account name is extracted from the endpoint URL.

mkinstance.azure_blobstore.azure_account_key: 'secret'

The Azure Account Key is a shared secret key that is used to sign requests made to Azure services. The Secret Access Key should be kept private and should never be shared with anyone.

mkinstance.graphviz: 'object'

Graphviz configuration

mkinstance.graphviz.install_dir: 'path'

The installation directory of Graphviz.

mkinstance.graphviz.version: 'str'

The version of Graphviz to use.

mkinstance.graphviz.use: 'path'

The use property can be used to specify an alternative Graphviz source to use. This is useful to rather use the system Graphviz installation than the one defined in spinfile.yaml or mkinstance.graphviz.install_dir.

mkinstance.schema: 'object'
mkinstance.requires: 'object'
mkinstance.requires.python: 'list'
mkinstance.requires.npm: 'list'
mkinstance.requires.spin: 'list'
mkinstance._requires: 'list'