Go CLI commands moved to core/go-php. This repo now contains the Laravel modular monolith framework (previously php-framework). - Remove all Go files (now in core/go-php) - Add PHP framework: event-driven module loading, lifecycle events - Composer package: core/php - core/php-framework remains as-is for backward compat Co-Authored-By: Virgil <virgil@lethean.io>
2.1 KiB
2.1 KiB
LinuxKit
Build and publish bootable Linux images for VMs, bare metal, and cloud platforms.
Configuration
publishers:
- type: linuxkit
config: .core/linuxkit/server.yml
Options
| Option | Description | Default |
|---|---|---|
config |
LinuxKit YAML config | Required |
formats |
Output formats | [iso] |
platforms |
Target platforms | linux/amd64 |
name |
Image name | From config |
Formats
| Format | Description |
|---|---|
iso |
Bootable ISO image |
qcow2 |
QEMU/KVM image |
raw |
Raw disk image |
vhd |
Hyper-V image |
vmdk |
VMware image |
aws |
AWS AMI |
gcp |
Google Cloud image |
azure |
Azure VHD |
Examples
ISO + QCOW2
publishers:
- type: linuxkit
config: .core/linuxkit/server.yml
formats:
- iso
- qcow2
platforms:
- linux/amd64
- linux/arm64
Cloud Images
publishers:
- type: linuxkit
config: .core/linuxkit/cloud.yml
formats:
- aws
- gcp
- azure
Multiple Configurations
publishers:
- type: linuxkit
config: .core/linuxkit/minimal.yml
formats: [iso]
name: myapp-minimal
- type: linuxkit
config: .core/linuxkit/full.yml
formats: [iso, qcow2]
name: myapp-full
LinuxKit Config
.core/linuxkit/server.yml:
kernel:
image: linuxkit/kernel:5.15
cmdline: "console=tty0"
init:
- linuxkit/init:v0.8
- linuxkit/runc:v0.8
onboot:
- name: sysctl
image: linuxkit/sysctl:v0.8
- name: dhcpcd
image: linuxkit/dhcpcd:v0.8
command: ["/sbin/dhcpcd", "--nobackground", "-f", "/dhcpcd.conf"]
services:
- name: myapp
image: myapp:latest
files:
- path: /etc/myapp/config.yaml
contents: |
server:
port: 8080
Environment Variables
| Variable | Description |
|---|---|
AWS_ACCESS_KEY_ID |
AWS credentials (for AMI publishing) |
AWS_SECRET_ACCESS_KEY |
AWS credentials |
GOOGLE_APPLICATION_CREDENTIALS |
GCP credentials (for GCP publishing) |
AZURE_CREDENTIALS |
Azure credentials (for Azure publishing) |