The examples below illustrate how to use resources provisioners for each Score implementation.
The default dns provisioner just outputs localhost as the hostname every time. This is because without actual control of a dns resolver we can't do any accurate routing on any other name. This can be replaced by a new provisioner in the future.
(...)
The default dns provisioner just outputs a random localhost domain because we don't know whether external-dns is available. You should replace this with your own dns name generation that matches your external-dns controller.
(...)
Prerequisites for
dns-in-codespace: - Have gh installed, this provisioner is using the GitHub CLI to get the name of the current GitHub Codespace.Prerequisites for
dns-in-codespace: - Have gh installed, this provisioner is using the GitHub CLI to get the name of the current GitHub Codespace.Prerequisites for
dns-in-codespace: - Have gh installed, this provisioner is using the GitHub CLI to get the name of the current GitHub Codespace.Prerequisites for
dns-in-codespace: - Have gh installed, this provisioner is using the GitHub CLI to get the name of the current GitHub Codespace.Prerequisites: - Have
python installed, this provisioner is using Python to load the .env file.Prerequisites: - Have
python installed, this provisioner is using Python to load the .env file.The default elasticsearch provisioner adds a elasticsearch instance.
The 'cmd' scheme has a “host” + path component that indicates the path to the binary to execute. If the host starts with “.” it is interpreted as a relative path, if it starts with “~” it resolves to the home directory.
(...)
Prerequisites: - Have
helm installed locally, this provisioner renders the manifests from the Bitnami's Redis Helm chart. - Have yq installed locally.
(...)Prerequisites: - Have
helm installed locally, this provisioner renders the manifests from the Bitnami's Redis Helm chart. - Have yq installed locally.
(...)The default mongodb provisioner adds a mongodb service to the project which returns a host, port, username, and password, and connection string.
The default mysql provisioner adds a mysql instance and then ensures that the required databases are created on startup.
The default postgres provisioner adds a postgres instance and then ensures that the required databases are created on startup.
The default AMQP provisioner provides a simple rabbitmq instance with default configuration and plugins.
The default redis provisioner adds a redis service to the project which returns a host, port, username, and password.
The default route provisioner sets up an nginx service with an HTTP service that can route on our prefix paths. It assumes the hostnames and routes provided have no overlaps. Weird behavior may happen if there are overlaps.
Routes could be implemented as either traditional ingress resources or using the newer gateway API. In this default provisioner we use the gateway API with some sensible defaults. But you may wish to replace this.
This resource provides a minio based S3 bucket with AWS-style credentials. This provides some common and well known outputs that can be used with any generic AWS s3 client. If the provider has a publish port annotation, it can expose a management port on the local network for debugging and connectivity.
This resource provides an in-cluster minio based S3 bucket with AWS-style credentials. This provides some common and well known outputs that can be used with any generic AWS s3 client. The outputs of the provisioner are a stateful set, a service, a secret, and a job per bucket.
The default provisioner for service resources, this expects a workload and port name and will return the hostname and port required to contact it. This will validate that the workload and port exist, but won't enforce a dependency relationship yet.
(...)
The default provisioner for service resources, this expects a workload and port name and will return the hostname and port required to contact it. This will validate that the workload and port exist, but won't enforce a dependency relationship yet.
(...)
The default volume provisioner provided by score-compose allows basic volume resources to be created in the resources system. The volume resource just creates an ephemeral Docker volume with a random string as the name, and source attribute that we can reference.
As an example we have a 'volume' type which returns an emptyDir volume. In production or for real applications you may want to replace this with a provisioner for a tmpfs, host path, or persistent volume and claims.
(...)