Platform
Butler comes with a schema to manage an internal Platform for your Digital Organisation, which you can use for your own projects.
Overview
The Welance Platform provides a comprehensive infrastructure and deployment system for managing digital applications. It includes:
- Pipelines: Complete CI/CD workflows for building, testing, and deploying applications
- Infrastructure: Infrastructure as Code and configuration management
- Tenants: Multi-tenant management and configuration
Code Repository
The Platform source code is available on GitLab:
Repository: https://gitlab.com/welance/platform
Platform Components
Pipelines
The Pipelines section contains everything related to CI/CD workflows and deployment automation:
- Helm: Kubernetes deployment charts for all Welance stack applications
- Craft CMS, Directus, Node.js, S3, Welance Operator, WordPress
- Installation guides and default values documentation
- Templates: Reusable CI/CD job and pipeline templates
- Jobs: Atomic CI/CD jobs (build, config, deploy, release, setup, test)
- Pipeline: Complete orchestration pipelines for different application stacks
- Craft, Directus, Node.js, S3, WordPress
- Image Release, Kubernetes Operator
- Container: Centralized Docker images
- MySQL Backup, PostgreSQL Backup
- Custom images for platform operations
Infrastructure
The Infrastructure section contains documentation about:
- Infrastructure as Code (Terraform, Ansible)
- Configuration management
- Environment setup and provisioning
Repository: https://gitlab.com/welance/platform/infrastructure
Tenants
The Tenants section contains documentation about:
- Multi-tenant management
- Tenant configuration
- Resource isolation and management
Repository: https://gitlab.com/welance/platform/tenants
Getting Started
To get started with the Welance Platform:
-
Choose Your Application Stack: Review the available pipeline templates for your application type (Craft, WordPress, Node.js, etc.)
-
Set Up Your Project: Configure your
.gitlab-ci.ymlto include the appropriate pipeline template -
Configure Variables: Set up required CI/CD variables (PROJECT_ID, deployment targets, credentials)
-
Deploy: Push your code and let the platform handle building and deployment
Pipeline Templates
The platform provides ready-to-use pipeline templates for:
- Craft CMS: Full CI/CD with support for Kubernetes, Docker, VM, and Mittwald deployments
- WordPress: CI/CD with Yarn theme building and Composer dependency management
- Directus: CI/CD with Docker Compose builds and Kubernetes deployments
- Node.js: CI/CD with npm builds and Kubernetes deployments
- S3 Static Sites: CI/CD for static website deployments
- Image Release: Multi-image Docker builds and releases
- Kubernetes Operator: Operator build and release workflows
Architecture
The Platform follows a centralized approach:
- Centralized Pipelines: All orchestration pipelines are defined in the Welance ecosystem
- Versioned Releases: Pipeline templates are versioned for stability
- Reusable Jobs: Atomic jobs can be combined into complete workflows
- GitOps: Kubernetes deployments use GitOps with Argo CD
- Multi-Target Support: Support for Kubernetes, Docker hosts, Virtual Machines, and Mittwald
Key Features
- Consistency: Standardized workflows across all projects
- Maintainability: Centralized updates and improvements
- Flexibility: Support for multiple deployment targets and application stacks
- Automation: Complete CI/CD automation from code to production
- Security: Built-in security best practices and credential management
Documentation Structure
This documentation is organized into:
- Pipelines: CI/CD workflows, Helm charts, templates, and container images
- Infrastructure: Infrastructure as Code and configuration management
- Tenants: Multi-tenant management and configuration
Each section contains detailed documentation, examples, and usage guides for its components.
Support
For questions or issues with the Platform:
- Review the specific component documentation
- Check the code repositories on GitLab
- Contact the Platform team