4 changed files with 94 additions and 0 deletions
			
			
		@ -0,0 +1,37 @@ | 
				
			|||
--- | 
				
			|||
 | 
				
			|||
kind: pipeline | 
				
			|||
type: docker | 
				
			|||
name: Waypoint | 
				
			|||
 | 
				
			|||
workspace: | 
				
			|||
  path: /drone/workspace | 
				
			|||
 | 
				
			|||
steps: | 
				
			|||
- name: build | 
				
			|||
  image: hashicorp/waypoint:latest | 
				
			|||
  environment: | 
				
			|||
    WAYPOINT_SERVER_TOKEN: | 
				
			|||
      from_secret: WAYPOINT_SERVER_TOKEN | 
				
			|||
    WAYPOINT_SERVER_ADDR: waypoint.smaug.dev:9701 | 
				
			|||
    WAYPOINT_SERVER_TLS: 1 | 
				
			|||
    WAYPOINT_SERVER_TLS_SKIP_VERIFY: 1 | 
				
			|||
  commands: | 
				
			|||
  - waypoint init | 
				
			|||
  - waypoint build -remote | 
				
			|||
  - waypoint deploy -remote -release=false | 
				
			|||
  - waypoint release -remote -prune-retain=0 | 
				
			|||
 | 
				
			|||
trigger: | 
				
			|||
  branch: | 
				
			|||
    - master | 
				
			|||
    - main | 
				
			|||
  event: | 
				
			|||
    - push | 
				
			|||
    - pull_request | 
				
			|||
 | 
				
			|||
--- | 
				
			|||
 | 
				
			|||
kind: secret | 
				
			|||
name: WAYPOINT_SERVER_TOKEN | 
				
			|||
data: yYSmJ+ShC0BcgGptRBVK2pbdagqE+N03A5++izgkwIgs1IyHIDfpzrdtlVtkvMHAnw== | 
				
			|||
@ -0,0 +1,53 @@ | 
				
			|||
# The name of your project. A project typically maps 1:1 to a VCS repository. | 
				
			|||
# This name must be unique for your Waypoint server. If you're running in | 
				
			|||
# local mode, this must be unique to your machine. | 
				
			|||
project = "smaug_project_template" | 
				
			|||
 | 
				
			|||
runner { | 
				
			|||
  enabled = true | 
				
			|||
  data_source "git" { | 
				
			|||
    url = "https://git.smaug.dev/ereborstudios/smaug_project_template.git" | 
				
			|||
    ref = "master" | 
				
			|||
  } | 
				
			|||
} | 
				
			|||
 | 
				
			|||
# Labels can be specified for organizational purposes. | 
				
			|||
# labels = { "foo" = "bar" } | 
				
			|||
 | 
				
			|||
# An application to deploy. | 
				
			|||
app "smaug_project_template" { | 
				
			|||
 | 
				
			|||
  config { | 
				
			|||
    env = { | 
				
			|||
    } | 
				
			|||
  } | 
				
			|||
 | 
				
			|||
  labels = { | 
				
			|||
    "service" = var.name | 
				
			|||
  } | 
				
			|||
 | 
				
			|||
  # Build specifies how an application should be deployed. In this case, | 
				
			|||
  # we'll build using a Dockerfile and keeping it in a local registry. | 
				
			|||
  build { | 
				
			|||
    use "docker" { | 
				
			|||
    } | 
				
			|||
  } | 
				
			|||
 | 
				
			|||
  # Deploy to Docker | 
				
			|||
  deploy { | 
				
			|||
    use "docker" { | 
				
			|||
      labels = { | 
				
			|||
        "traefik.http.routers.${var.name}.rule" = "Host(`${var.name}.waypoint.smaug.dev`)" | 
				
			|||
        "traefik.http.routers.${var.name}.entrypoints" = "websecure" | 
				
			|||
        "traefik.http.routers.${var.name}.tls.certresolver" = "myresolver" | 
				
			|||
        "traefik.http.services.${var.name}.loadbalancer.server.port" = "3000" | 
				
			|||
      } | 
				
			|||
    } | 
				
			|||
  } | 
				
			|||
} | 
				
			|||
 | 
				
			|||
variable "name" { | 
				
			|||
  type = string | 
				
			|||
  default = "smaug_project_template" | 
				
			|||
  description = "Project name" | 
				
			|||
} | 
				
			|||
					Loading…
					
					
				
		Reference in new issue