mssql
Provisions a dedicated database on a shared MS SQL server instance.
type: mssql
expected_outputs:
- server
- port
- connection
- database
- username
- passwordprovisioners.yaml
(view on GitHub)
:
- uri: template://default-provisioners/mssql
type: mssql
description: Provisions a dedicated database on a shared MS SQL server instance.
init: |
randomPassword: {{ randAlphaNum 16 | quote }}
sk: default-provisioners-mssql
publishPort: {{ dig "annotations" "compose.score.dev/publish-port" "0" .Metadata | quote }}
state: |
service: {{ .Init.sk }}
database: master
username: sa
password: {{ dig "password" .Init.randomPassword .State | quote }}
publishPort: {{ .Init.publishPort }}
outputs: |
server: {{ .State.service }}
port: {{ .State.publishPort }}
connection: "Server=tcp:{{ .State.service }},1433;Initial Catalog={{ .State.database }};User ID={{ .State.username }};Password={{ .State.password }};"
database: {{ .State.database }}
username: {{ .State.username }}
password: {{ .State.password }}
volumes: |
{{ .Init.sk }}-data:
driver: local
services: |
{{ .Init.sk }}:
image: mcr.microsoft.com/mssql/server:latest
restart: always
environment:
ACCEPT_EULA: "Y"
MSSQL_ENABLE_HADR: "1"
MSSQL_AGENT_ENABLED: "1"
MSSQL_SA_PASSWORD: {{ .State.password }}
{{ if ne .Init.publishPort "0" }}
ports:
- target: 1433
published: {{ .Init.publishPort }}
{{ end }}
volumes:
- type: volume
source: {{ .Init.sk }}-data
target: /var/opt/mssql
info_logs: |
- "{{.Uid}}: To connect to mssql: \"docker run -it --network {{ .ComposeProjectName }}_default --rm mcr.microsoft.com/mssql/server:latest mysql /opt/mssql-tools/bin/sqlcmd -S localhost -U {{ .State.username }} -p {{ .State.password | squote }}\""
{{ if ne .Init.publishPort "0" }}
- "{{.Uid}}: Or connect your mssql client to \"
Server=tcp:{{ .State.service }},1433;Initial Catalog={{ .State.database }};User ID={{ .State.username }};Password={{ .State.password }};\""
{{ end }}
expected_outputs:
- server
- port
- connection
- database
- username
- password