Skip to main content
Wildo.ai Coming soon

Deployment manifests & release workflows

Deployment files that describe your application services, backing infrastructure and environment configuration.

Service images · environment configuration · release workflowsDocker Compose · Kubernetes

> Environments with explicit choices> Deployment files you can inspect> A release workflow connected to your services

Infrastructure manifests describe how application services are arranged, reached and supplied with the resources they need.

Wildo generates deployment material from your application and environment configuration. You choose the destination, review the output and operate the deployed application.

Application configuration produces Compose or Kubernetes deployment material for review and deployment.

Carry application decisions into deployment

Describe the environment

Choose the runtime, public addresses and backing services for each environment while retaining the same application service model.

Inspect the result

Review Compose or Kubernetes files for the services being deployed, their connections and their runtime configuration.

Connect the release

Generate workflow material around the application’s service images and deployment choices. Verify the running result as part of release acceptance.

Example: Prepare a staging environment

A team gives staging its own public domain and backing-service choices. The generated material reflects those choices, allowing the team to review the topology before putting that version into use.

For engineers

Keep authored intent separate from rendered material

Environment configuration identifies where and how the application runs. Application service declarations identify the frontend, backend and supporting processes. The deployment generator combines them into runtime-specific output.

InputProduced material
Environment runtimeCompose or Kubernetes deployment files
Application service inventoryPer-service workload configuration and image references
Public domain and service hostsPublic routing for the selected services
Backing-service choicesSelf-hosted service composition or externally supplied connection configuration
Deployment branch and service DockerfilesEnvironment-specific release workflow

Rendered deployment directories can contain secrets and are generated with an ignore-all .gitignore. Review authored configuration and secret-bearing output as different kinds of material.

Generate, then validate the persisted output

These CLI commands generate the selected environment configuration and validate the emitted application deployment artifacts. They are shown for the reader; no deployment is performed by this website example.

wildo config sync --env production --domain config
wildo config validate --env production --domain manifest --deployment-artifacts

The deployment-artifact check reads persisted Kubernetes YAML and checks resource identities and basic structure. It does not contact a cluster or establish that the application is ready to serve traffic.

Keep operational acceptance explicit

Review image references, secret delivery, public routing and backing-service connectivity. Then verify rollout and application behavior on the target runtime. A generated manifest is useful deployment material; its existence is not evidence that infrastructure has been provisioned or a release has become healthy.

Describe each environment deliberately

Give local development, staging and production their own hosting and service choices without describing a different application each time.

Public addresses, deployment runtime and backing services become explicit inputs to the files Wildo produces.

An application has separate local, staging and production environment choices.

Make the differences visible

Choose the runtime

Select the deployment form appropriate to the environment. Compose and Kubernetes have distinct output and operating requirements.

Name the public surfaces

Assign application, documentation and website hosts under the environment’s public domain.

Place the backing services

Choose self-hosted or managed dependencies where supported. Keep connection and provisioning responsibilities clear.

Example: Mirror the public layout in staging

The application uses an app subdomain, documentation uses a docs subdomain and the website uses the domain itself. Staging retains that layout under a separate public domain.

For engineers

Connect hosts, deployment and backing services

This selected Wonder Todos staging configuration retains its actual public helpers and values. Additional provider, backing-service, logging and CSP settings are omitted.

import {
  defineInfraEnvConfig,
  WildoEnvironment,
  WildoDeploymentRuntime,
  WildoLocationType,
  BackingServiceSource,
} from '@wildo-ai/platform-config-lib';
import { RuntimeEnvironment } from '@wildo-ai/saas-models';

export default defineInfraEnvConfig({
  environment: WildoEnvironment.STAGING,
  locationType: WildoLocationType.REMOTE,
  runtime: WildoDeploymentRuntime.DOCKER_COMPOSE,
  runtimeEnvironment: RuntimeEnvironment.STAGING,
  publicDomain: 'staging.wonder-todos.com',
  serviceHosts: {
    app: 'app', docs: 'docs', website: '',
  },
  deployment: {
    branch: 'staging',
    runtime: WildoDeploymentRuntime.DOCKER_COMPOSE,
  },
  backingServices: {
    mongodb: { source: BackingServiceSource.MANAGED, provider: 'atlas' },
    redis: { source: BackingServiceSource.SELF },
  },
});

website: '' selects the domain apex. The application and documentation receive their own host labels. These choices must agree with browser origins, reverse-proxy routing and deployment configuration.

Distinguish selection from provisioning

A managed backing-service entry chooses an external dependency. It is not proof that an account or database has been created. A self-hosted selection informs service composition; it still needs appropriate storage, credentials and operations.

The platform database and the application’s database are separate configuration choices. Changing a database selection does not migrate or transfer existing data.

Verify the environment as a connected whole

Inspect public URLs, internal service endpoints and the target runtime together. Check that each service reaches the intended environment’s dependencies and that its public links do not lead into another environment.

Inspect what will run together

See the application services, their network connections and the runtime settings they need in concrete deployment files.

The output follows the declared service types, giving frontends, backends and supporting processes their appropriate place.

Application services connect frontend, backend and storage.

Make the topology reviewable

Identify the workloads

Generated workloads distinguish public frontends, backend services, workers and scheduled supporting processes.

Connect the routes

Service and ingress definitions carry traffic toward the intended workload and public host.

Separate sensitive material

Runtime secret resources accompany deployment output. Keep their handling separate from ordinary source configuration.

Example: Review a public frontend and its backend

The frontend serves the browser application while API traffic reaches the backend. The team checks both routing and runtime configuration before accepting the deployment.

For engineers

Recognize the output for each runtime

The generator writes under .wildo-saas/deploy/<environment>/k8s/ or compose/. Kubernetes output includes workload and service definitions, per-host routing and target-specific secret resources. Workers receive their service interface; minions are supporting process workloads.

Self-hosted backing-service population follows configuration. A managed selection does not require a duplicate self-hosted container solely to occupy the same category.

Inspect a concrete workload contract

The following selected Kubernetes frontend template excerpt preserves the source’s security, port and resource settings. Template image variables are intentionally shown: this is source input to rendering, not an already rendered manifest. Writable mounts and probes are omitted here.

- name: frontend
  image: {{imageRegistry}}/{{serviceName}}:{{imageTag}}
  imagePullPolicy: {{default imagePullPolicy 'Always'}}
  securityContext:
    allowPrivilegeEscalation: false
    readOnlyRootFilesystem: true
    capabilities:
      drop:
        - ALL
  ports:
    - name: http
      containerPort: 80
      protocol: TCP
  resources:
    requests:
      cpu: "50m"
      memory: "64Mi"
    limits:
      cpu: "250m"
      memory: "128Mi"

The static frontend has its own resource profile and HTTP probes in the full template. These settings are a workload contract, not a description of every backend or worker container.

Review secrets without turning them into source assets

The generator separates secret resources and adds an ignore-all file to its output directory. Kubernetes base64 encoding is not encryption. Limit access to rendered output and use the intended secret-delivery process for the target environment.

Check that the image actually used, the service port, writable mounts and probes agree. A syntactically valid workload can still reference an unavailable image or an incorrect endpoint.

Carry the release into deployment

Connect the application’s service images and environment choices to a repeatable release workflow.

Generated workflow files provide a concrete starting point. The operating team supplies the destination access and verifies the deployed result.

Generation leads to review of environment choices and deployment.

Make the release path explicit

Produce the service images

Use the service Dockerfiles and selected environment to define the images a release needs.

Follow the runtime’s workflow

Kubernetes and Compose have different deployment steps. Review the generated workflow for the runtime being used.

Check the application after delivery

Confirm that workloads are ready and the important application journeys work on the intended public addresses.

Example: Release a new application version

The workflow produces frontend and backend images. The team confirms that deployment references the intended versions, then checks readiness and a representative user journey.

For engineers

Inspect the generated workflow

The workflow generator writes .github/workflows/deploy-<environment>.yml from deployment configuration and the application’s service Dockerfiles.

RuntimeGenerated workflow behaviorOperator responsibility
KubernetesGenerate artifacts, build/push service images, install ingress/TLS controllers and apply manifestsTarget access, prerequisites, image alignment and rollout acceptance
Docker ComposeGenerate artifacts and build service imagesArrange image publishing or transfer, then complete the commented remote SSH deployment example for the intended host

There is no general wildo deploy command behind this description. Inspect the actual generated workflow rather than assuming both runtime paths perform the same remote operation.

Keep the image being built and the image being deployed aligned

The CI workflow and manifest renderer have distinct image-tag inputs. The current config-sync call does not supply the renderer’s optional imageTag, so do not assume that generated manifests are pinned to the CI commit merely because the workflow builds a commit-tagged image.

Review emitted image references against the images pushed for that release. Treat a successful image build and a correct deployed image as separate checks.

Separate offline validation from runtime acceptance

wildo config validate --env production --domain manifest --deployment-artifacts

This validates persisted application YAML without deploying. Cluster admission, rollout readiness, application health and recovery remain target-runtime checks. Include the intended backing-service access and a representative authenticated operation in release acceptance.

Read Docker or Kubernetes for the runtime mechanisms and managed backing services for the dependencies around the application.

One application model, deliberate deployment choices.

The service structure travels with the application. Wildo turns environment decisions into concrete deployment material, while the operating team retains control of where it runs and how each release is accepted.

Building a B2B product or an internal tool?

Wildo is not self-service yet. Tell us what you have in mind and we will say plainly whether it fits, and what happens next.