1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- package models
- // DockerfileData holds the common data for any Dockerfile template.
- // Specific templates might embed this or use a more specific struct.
- type DockerfileData struct {
- AppPort int
- AppName string
- }
- // GolangDockerfileData holds data specific to the Go Dockerfile template.
- type GolangDockerfileData struct {
- DockerfileData // Embed common fields
- GoVersion string
- StaticDir string // Optional: path to static assets to be copied
- }
- // NodejsDockerfileData holds data specific to the Node.js Dockerfile template.
- type NodejsDockerfileData struct {
- DockerfileData // Embed common fields
- NodeVersion string
- BuildArgs string // Optional: arguments for npm run build
- BuildOutputDir string // Optional: output directory of the build step (e.g., "dist", "build")
- Entrypoint string // e.g., "server.js" or "dist/index.js"
- }
- // ComposeVolumeData defines a volume mapping for docker-compose.
- type ComposeVolumeData struct {
- HostPath string
- ContainerPath string
- ReadOnly bool
- }
- // ComposeData holds data for the docker-compose.yml template.
- type ComposeData struct {
- ServiceName string
- ImageName string // Full image name, e.g., your-registry.com/app-name:tag
- HostPort int // Port exposed on the host machine
- AppPort int // Port the application inside the container listens on
- Environment map[string]string
- Volumes []ComposeVolumeData
- Domain string // Domain for Traefik routing
- CertResolver string // Traefik certificate resolver name
- ExtraTraefikLabels map[string]string // For any additional Traefik labels
- }
|