Sign inSign up

piesio/pies-studio-deployer

By piesio

•Updated about 1 year ago

The PIES Studio application deployment engine

Image
0

170

piesio/pies-studio-deployer repository overview

⁠PIES Studio Deployment Engine

The PIES Studio Deployment Engine is a standalone service responsible for deploying generated applications to cloud environments. It currently supports Google Cloud Platform (GCP) deployments using a service account authentication method and will support additional cloud providers in future versions.


⁠Usage

This image is intended to be used as part of the full PIES Studio Docker Compose stack. It is responsible for:

  • Connecting to cloud providers securely
  • Creating Kubernetes clusters (GKE)
  • Pushing container images to Artifact Registry
  • Deploying and exposing backend and frontend workloads

⁠Configuration

The container expects a set of mounted configuration files and environment variables to function correctly.

⁠Required Config Files
  1. config.json – Core deployment engine configuration.
  2. config.cloud.json – GCP service account key file in JSON format.

You must mount these files into the container as shown below:

volumes:
  - ./config/deployer/config.json:/deployer/config/config.json:ro
  - ./config/deployer/service_account_config.json:/deployer/config/config.cloud.json:ro

⁠config.json Structure
{
  "project_path": "/deployer/generated/",
  "url": {
    "core": "http://host.docker.internal:8080/core"
  },
  "loki": {
    "ws": "ws://host.docker.internal:9090/loki/socket/",
    "http": "http://host.docker.internal:9010/loki/"
  }
}
  • project_path: Path to the mounted volume containing generated code.
  • url.core: URL to the PIES Studio Core server.
  • loki.ws / loki.http: WebSocket and HTTP endpoints for the code generation engine used during deployment.

⁠config.cloud.json

This is the GCP Service Account key file used to authenticate with Google Cloud services. You can generate it from the Google Cloud Console as a JSON key. For guidance, refer to the "Preparing Your Deployment Environment" section in the documentation.


⁠Required Environment Variables

VariableDescription
CONFIG_PATHPath to the mounted deployment engine config file (e.g., /deployer/config/config.json)
CLOUD_CONFIG_PATHPath to the mounted cloud credentials file (e.g., /deployer/config/config.cloud.json)
ENVIRONMENTRuntime environment (e.g., offline, production)
DOCKER_HOSTDocker-in-Docker daemon host, typically tcp://docker:2376
DOCKER_CERT_PATHPath to mounted Docker client certificates for secure registry operations
DOCKER_TLS_VERIFYSet to enable to use TLS with Docker daemon

Example environment configuration:

environment:
  - CONFIG_PATH=/deployer/config/config.json
  - CLOUD_CONFIG_PATH=/deployer/config/config.cloud.json
  - ENVIRONMENT=offline
  - DOCKER_HOST=tcp://docker:2376
  - DOCKER_CERT_PATH=/certs/client/
  - DOCKER_TLS_VERIFY=enable

⁠Volumes

Host PathContainer PathPurpose
./generated//deployer/generated/Stores the application codebase
./config/deployer/config.json/deployer/config/config.jsonApplication-specific configuration
./config/deployer/service_account_config.json/deployer/config/config.cloud.jsonGCP credentials as JSON
./certs/client//certs/client/TLS certificates for Docker Engine

⁠Cloud Support

Currently supported:

  • Google Cloud Platform (GCP)

    • GKE (Google Kubernetes Engine)
    • Artifact Registry for container image storage

Upcoming support:

  • Azure Kubernetes Service (AKS)
  • AWS EKS

⁠Notes

  • This container requires the pies-studio-dind (Docker-in-Docker) container to be running and accessible via the DOCKER_HOST.

  • Make sure that the GCP service account has the required IAM roles:

    • Kubernetes Engine Admin
    • Artifact Registry Administrator
    • Compute Network Admin
    • Service Account User
    • Storage Admin

⁠License

© 2025 PIES Studio. All rights reserved.

Tag summary

Content type

Image

Digest

sha256:63433b483…

Size

120 MB

Last updated

about 1 year ago

docker pull piesio/pies-studio-deployer:offline