Browse Source

Remove old files.

pull/908/head
Sebastian 3 years ago
parent
commit
d9efcdbeed
  1. 50
      .github/workflows/marketplace-aws.yml
  2. 54
      .github/workflows/marketplace-azure.yml
  3. 49
      .github/workflows/marketplace-digitalocean.yml
  4. 52
      .github/workflows/marketplace-gcp.yml
  5. 44
      .github/workflows/marketplace-kubernetes.yml
  6. 49
      .github/workflows/marketplace-vultr.yml
  7. 69
      packer/ansible/playbook.yml
  8. 6
      packer/ansible/templates/99-squidex
  9. 57
      packer/ansible/templates/docker-compose.yml
  10. 66
      packer/ansible/templates/setup-squidex.sh
  11. 53
      packer/aws.pkr.hcl
  12. 70
      packer/azure.pkr.hcl
  13. 45
      packer/digitalocean.pkr.hcl
  14. 35
      packer/gcp.pkr.hcl
  15. 46
      packer/vultr.pkr.hcl

50
.github/workflows/marketplace-aws.yml

@ -1,50 +0,0 @@
name: Marketplace - AWS
concurrency: marketplace-aws
on:
release:
types: [published]
jobs:
validate:
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v2
- name: Validate Template
uses: hashicorp/packer-github-actions@master
with:
command: validate
arguments: -syntax-only
target: packer/aws.pkr.hcl
publish:
needs: validate
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v2
- name: Inject slug/short variables
uses: rlespinasse/github-slug-action@v3.x
- name: Init
uses: hashicorp/packer-github-actions@master
with:
command: init
target: packer/aws.pkr.hcl
env:
PACKER_LOG: 1
- name: Build
uses: hashicorp/packer-github-actions@master
with:
command: build
arguments: "-color=false -on-error=abort"
target: packer/aws.pkr.hcl
env:
PACKER_LOG: 1
PKR_VAR_squidex_version: "${{ env.GITHUB_REF_SLUG }}"
AWS_ACCESS_KEY_ID: "${{ secrets.AWS_ACCESS_KEY_ID }}"
AWS_SECRET_ACCESS_KEY: "${{ secrets.AWS_SECRET_ACCESS_KEY }}"

54
.github/workflows/marketplace-azure.yml

@ -1,54 +0,0 @@
name: Marketplace - Azure
concurrency: marketplace-azure
on:
release:
types: [published]
# az ad sp create-for-rbac --name squidex
jobs:
validate:
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v2
- name: Validate Template
uses: hashicorp/packer-github-actions@master
with:
command: validate
arguments: -syntax-only
target: packer/azure.pkr.hcl
publish:
needs: validate
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v2
- name: Inject slug/short variables
uses: rlespinasse/github-slug-action@v3.x
- name: Init
uses: hashicorp/packer-github-actions@master
with:
command: init
target: packer/azure.pkr.hcl
env:
PACKER_LOG: 1
- name: Build
uses: hashicorp/packer-github-actions@master
with:
command: build
arguments: "-color=false -on-error=abort"
target: packer/azure.pkr.hcl
env:
PACKER_LOG: 1
PKR_VAR_squidex_version: "${{ env.GITHUB_REF_SLUG }}"
PKR_VAR_subscription_id: "${{ secrets.AZURE_SUBSCRIPTION_ID }}"
PKR_VAR_tenant_id: "${{ secrets.AZURE_TENANT_ID }}"
PKR_VAR_client_id: "${{ secrets.AZURE_CLIENT_ID }}"
PKR_VAR_client_secret: "${{ secrets.AZURE_CLIENT_SECRET }}"

49
.github/workflows/marketplace-digitalocean.yml

@ -1,49 +0,0 @@
name: Marketplace - DigitalOcean
concurrency: marketplace-digitalocean
on:
release:
types: [published]
jobs:
validate:
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v2
- name: Validate Template
uses: hashicorp/packer-github-actions@master
with:
command: validate
arguments: -syntax-only
target: packer/digitalocean.pkr.hcl
publish:
needs: validate
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v2
- name: Inject slug/short variables
uses: rlespinasse/github-slug-action@v3.x
- name: Init
uses: hashicorp/packer-github-actions@master
with:
command: init
target: packer/digitalocean.pkr.hcl
env:
PACKER_LOG: 1
- name: Build
uses: hashicorp/packer-github-actions@master
with:
command: build
arguments: "-color=false -on-error=abort"
target: packer/digitalocean.pkr.hcl
env:
PACKER_LOG: 1
PKR_VAR_squidex_version: "${{ env.GITHUB_REF_SLUG }}"
DIGITALOCEAN_API_TOKEN: "${{ secrets.DIGITALOCEAN_API_TOKEN }}"

52
.github/workflows/marketplace-gcp.yml

@ -1,52 +0,0 @@
name: Marketplace - GCP
concurrency: marketplace-gcp
on:
release:
types: [published]
jobs:
validate:
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v2
- name: Validate Template
uses: hashicorp/packer-github-actions@master
with:
command: validate
arguments: -syntax-only
target: packer/gcp.pkr.hcl
publish:
needs: validate
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v2
- name: Inject slug/short variables
uses: rlespinasse/github-slug-action@v3.x
- name: Extract service account
run: echo "${{ secrets.GOOGLE_APPLICATION_CREDENTIALS }}" | base64 -d > /tmp/squidex.json
- name: Init
uses: hashicorp/packer-github-actions@master
with:
command: init
target: packer/gcp.pkr.hcl
env:
PACKER_LOG: 1
- name: Build
uses: hashicorp/packer-github-actions@master
with:
command: build
arguments: "-color=false -on-error=abort"
target: packer/gcp.pkr.hcl
env:
PACKER_LOG: 1
PKR_VAR_squidex_version: "${{ env.GITHUB_REF_SLUG }}"
GOOGLE_APPLICATION_CREDENTIALS: "/tmp/squidex.json"

44
.github/workflows/marketplace-kubernetes.yml

@ -1,44 +0,0 @@
name: Marketplace - Kubernetes
concurrency: marketplace-kubernetes
on:
release:
types: [published]
jobs:
validate:
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v2
- name: Validate Template
if: false
uses: hashicorp/packer-github-actions@master
with:
command: validate
arguments: -syntax-only
target: kubernetes.pkr.hcl
working-directory: packer/
publish:
needs: validate
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v2
- name: Inject slug/short variables
uses: rlespinasse/github-slug-action@v3.x
- name: Build
if: false
uses: hashicorp/packer-github-actions@master
with:
command: build
arguments: "-color=false -on-error=abort"
target: kubernetes.pkr.hcl
env:
PACKER_LOG: 1
PKR_VAR_squidex_version: "${{ env.GITHUB_REF_SLUG }}"
working-directory: packer/

49
.github/workflows/marketplace-vultr.yml

@ -1,49 +0,0 @@
name: Marketplace - Vultr
concurrency: marketplace-vultr
on:
release:
types: [published]
jobs:
validate:
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v2
- name: Validate Template
uses: hashicorp/packer-github-actions@master
with:
command: validate
arguments: -syntax-only
target: packer/vultr.pkr.hcl
publish:
needs: validate
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v2
- name: Inject slug/short variables
uses: rlespinasse/github-slug-action@v3.x
- name: Init
uses: hashicorp/packer-github-actions@master
with:
command: init
target: packer/vultr.pkr.hcl
env:
PACKER_LOG: 1
- name: Build
uses: hashicorp/packer-github-actions@master
with:
command: build
arguments: "-color=false -on-error=abort"
target: packer/vultr.pkr.hcl
env:
PACKER_LOG: 1
PKR_VAR_squidex_version: "${{ env.GITHUB_REF_SLUG }}"
VULTR_API_KEY: "${{ secrets.VULTR_API_KEY }}"

69
packer/ansible/playbook.yml

@ -1,69 +0,0 @@
---
- name: "Build Squidex Image"
hosts: default
become: true
tasks:
- name: "Install Requirements"
apt:
name:
- apt-transport-https
- ca-certificates
- curl
- gnupg
- lsb-release
- python3-pip
- python3-setuptools
- software-properties-common
state: latest
update_cache: true
- name: "Add Docker GPG Key"
apt_key:
url: "https://download.docker.com/linux/ubuntu/gpg"
state: "present"
- name: "Add Docker Repository"
apt_repository:
repo: "deb https://download.docker.com/linux/ubuntu bionic stable"
state: present
mode: 0644
- name: "Install Docker"
apt:
name:
- containerd.io
- docker-ce
- docker-ce-cli
- docker-compose
state: latest
update_cache: true
- name: "Install Docker Python Package"
pip:
name:
- docker
- name: "Copy docker-compose.yml"
template:
src: "docker-compose.yml"
dest: "/opt/squidex/"
mode: 0644
- name: "Copy setup-squidex.sh"
template:
src: "setup-squidex.sh"
dest: "/opt/squidex/"
mode: 0755
- name: "Create /etc/squidex"
file:
path: "/etc/squidex"
state: "directory"
mode: 0755
- name: "Create MOTD"
template:
src: "99-squidex"
dest: "/etc/update-motd.d/"
mode: 0755

6
packer/ansible/templates/99-squidex

@ -1,6 +0,0 @@
#!/bin/bash
echo -e "\033[0m"
echo -e "Welcome to \033[0;36mSquidex\033[0m!"
echo
echo -e "Please run \033[1;32m/opt/squidex/setup-squidex.sh\033[0m to get started."
echo

57
packer/ansible/templates/docker-compose.yml

@ -1,57 +0,0 @@
version: '2.3'
services:
squidex_mongo:
image: mongo
volumes:
- /etc/squidex/mongo/db:/data/db
networks:
- internal
restart: unless-stopped
squidex_squidex:
image: "squidex/squidex:{{ squidex_version }}"
environment:
- URLS__BASEURL=https://${SQUIDEX_DOMAIN}
- EVENTSTORE__TYPE=MongoDB
- EVENTSTORE__MONGODB__CONFIGURATION=mongodb://squidex_mongo
- STORE__MONGODB__CONFIGURATION=mongodb://squidex_mongo
- IDENTITY__ADMINEMAIL=${SQUIDEX_ADMINEMAIL}
- IDENTITY__ADMINPASSWORD=${SQUIDEX_ADMINPASSWORD}
- IDENTITY__GOOGLECLIENT=${SQUIDEX_GOOGLECLIENT}
- IDENTITY__GOOGLESECRET=${SQUIDEX_GOOGLESECRET}
- IDENTITY__GITHUBCLIENT=${SQUIDEX_GITHUBCLIENT}
- IDENTITY__GITHUBSECRET=${SQUIDEX_GITHUBSECRET}
- IDENTITY__MICROSOFTCLIENT=${SQUIDEX_MICROSOFTCLIENT}
- IDENTITY__MICROSOFTSECRET=${SQUIDEX_MICROSOFTSECRET}
- ASPNETCORE_URLS=http://+:5000
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:5000/healthz"]
start_period: 60s
depends_on:
- squidex_mongo
volumes:
- /etc/squidex/assets:/app/Assets
networks:
- internal
restart: unless-stopped
squidex_proxy:
image: squidex/caddy-proxy
ports:
- "80:80"
- "443:443"
environment:
- SITE_ADDRESS=${SQUIDEX_DOMAIN}
- SITE_SERVER="squidex_squidex:5000"
volumes:
- /etc/squidex/caddy/data:/data
- /etc/squidex/caddy/config:/config
depends_on:
- squidex_squidex
networks:
- internal
restart: unless-stopped
networks:
internal:
driver: bridge

66
packer/ansible/templates/setup-squidex.sh

@ -1,66 +0,0 @@
#!/bin/bash
set -e
cd /opt/squidex
# Prompt user to enter config.
echo "> This script will setup a basic configuration of Squidex"
echo "> using docker-compose that is suitable for the most use cases."
echo "> Please go to https://docs.squidex.io for advanced configuration."
echo
echo "> Please enter the host name. You need a public DNS entry,"
echo "> because Squidex will get a certificate using lets encrypt."
echo
read -p "Enter Host Name (required): " hostName
while [ -z "$hostName" ]; do
read -p "Enter Host Name (required): " hostName
done
echo
echo "> You can also configure external authentication providers if you want."
echo "> If no external provider is configured you can later setup an account."
echo
read -p "Enter Google Client ID (optional): " googleClientId
read -p "Enter Google Client Secret (optional): " googleSecret
read -p "Enter Github Client ID (optional): " githubClientId
read -p "Enter Github Client Secret (optional): " githubSecret
read -p "Enter Microsoft Client ID (optional): " microsoftClientId
read -p "Enter Microsoft Client Secret (optional)": microsoftSecret
echo
echo "SUMMARY"
echo "Hostname: $hostName"
echo "Google Client ID: $googleClientId"
echo "Google Client Secret: $googleSecret"
echo "Github Client ID: $githubClientId"
echo "Github Client Secret: $githubSecret"
echo "Microsoft Client ID: $microsoftClientId"
echo "Microsoft Client Secret: $microsoftSecret"
envFile=".env"
[ -f $envFile ] && rm $envFile
echo "SQUIDEX_DOMAIN=$hostName" >> $envFile
echo "SQUIDEX_ADMINEMAIL=" >> $envFile
echo "SQUIDEX_ADMINPASSWORD=" >> $envFile
echo "SQUIDEX_GOOGLECLIENT=$googleClientId" >> $envFile
echo "SQUIDEX_GOOGLESECRET=$googleSecret" >> $envFile
echo "SQUIDEX_GITHUBCLIENT=$githubClientId" >> $envFile
echo "SQUIDEX_GITHUBSECRET=$githubSecret" >> $envFile
echo "SQUIDEX_MICROSOFTCLIENT=$microsoftClientId" >> $envFile
echo "SQUIDEX_MICROSOFTSECRET=$microsoftSecret" >> $envFile
echo "UI__ONLYADMINSCANCREATEAPPS=true" >> $envFile
echo
echo "Waiting 10 seconds. You may press Ctrl+C now to abort this script."
( set -x; sleep 10 )
docker-compose up -d

53
packer/aws.pkr.hcl

@ -1,53 +0,0 @@
variable "squidex_version" {
type = string
default = "5.8.0"
}
source "amazon-ebs" "squidex" {
ami_groups = [
"all"]
ami_virtualization_type = "hvm"
ami_name = "squidex-${replace(var.squidex_version, ".", "-")}-{{ timestamp }}"
instance_type = "t2.small"
region = "us-east-1"
source_ami_filter {
filters = {
virtualization-type = "hvm"
name = "ubuntu/images/*/ubuntu-focal-20.04-amd64-server-*"
root-device-type = "ebs"
}
owners = [
"099720109477"]
most_recent = true
}
ssh_username = "ubuntu"
ami_regions = [
"us-east-1",
]
}
build {
sources = [
"source.amazon-ebs.squidex"
]
provisioner "ansible" {
ansible_env_vars = [
"ANSIBLE_HOST_KEY_CHECKING=False",
"ANSIBLE_SSH_ARGS='-F /dev/null -o ForwardAgent=no -o ControlMaster=auto -o ControlPersist=60s'",
"ANSIBLE_NOCOLOR=True"
]
extra_arguments = [
"--extra-vars",
"squidex_version=${var.squidex_version}"]
playbook_file = "./ansible/playbook.yml"
use_proxy = false
}
provisioner "shell" {
inline = [
"rm /home/ubuntu/.ssh/authorized_keys",
"sudo rm /root/.ssh/authorized_keys",
]
}
}

70
packer/azure.pkr.hcl

@ -1,70 +0,0 @@
variable "squidex_version" {
type = string
default = "5.8.0"
}
variable "subscription_id" {
type = string
default = "${env("AZURE_SUBSCRIPTION_ID")}"
}
variable "client_id" {
type = string
default = "${env("AZURE_CLIENT_ID")}"
}
variable "client_secret" {
type = string
default = "${env("AZURE_CLIENT_SECRET")}"
}
variable "tenant_id" {
type = string
default = "${env("AZURE_TENANT_ID")}"
}
source "azure-arm" "squidex" {
subscription_id = "${var.subscription_id}"
client_id = "${var.client_id}"
client_secret = "${var.client_secret}"
tenant_id = "${var.tenant_id}"
os_type = "Linux"
image_publisher = "Canonical"
image_offer = "0001-com-ubuntu-server-focal"
image_sku = "20_04-lts"
managed_image_name = "squidex-${replace(var.squidex_version, ".", "-")}-{{ timestamp }}"
managed_image_resource_group_name = "squidex"
location = "West US"
vm_size = "Standard_A2"
}
build {
sources = [
"source.azure-arm.squidex"
]
provisioner "ansible" {
ansible_env_vars = [
"ANSIBLE_HOST_KEY_CHECKING=False",
"ANSIBLE_SSH_ARGS='-F /dev/null -o ForwardAgent=no -o ControlMaster=auto -o ControlPersist=60s'",
"ANSIBLE_NOCOLOR=True"
]
extra_arguments = [
"--extra-vars",
"squidex_version=${var.squidex_version}"]
playbook_file = "./ansible/playbook.yml"
use_proxy = false
}
provisioner "shell" {
execute_command = "chmod +x {{ .Path }}; {{ .Vars }} sudo -E sh '{{ .Path }}'"
inline = [
"/usr/sbin/waagent -force -deprovision+user && export HISTSIZE=0 && sync"
]
inline_shebang = "/bin/sh -x"
skip_clean = true
}
}

45
packer/digitalocean.pkr.hcl

@ -1,45 +0,0 @@
variable "squidex_version" {
type = string
default = "5.8.0"
}
source "digitalocean" "squidex" {
image = "ubuntu-20-04-x64"
region = "sfo3"
droplet_name = "squidex-${replace(var.squidex_version, ".", "-")}-build-{{ timestamp }}"
snapshot_name = "squidex-${replace(var.squidex_version, ".", "-")}-{{ timestamp }}"
snapshot_regions = [
"nyc1",
"sfo1",
"nyc2",
"ams2",
"sgp1",
"lon1",
"nyc3",
"ams3",
"fra1",
"tor1",
"sfo2",
"blr1",
"sfo3",
]
size = "s-2vcpu-2gb"
ssh_username = "root"
}
build {
sources = [
"source.digitalocean.squidex"
]
provisioner "ansible" {
ansible_env_vars = [
"ANSIBLE_HOST_KEY_CHECKING=False",
"ANSIBLE_SSH_ARGS='-F /dev/null -o ForwardAgent=no -o ControlMaster=auto -o ControlPersist=60s'",
"ANSIBLE_NOCOLOR=True"
]
extra_arguments = ["--extra-vars", "squidex_version=${var.squidex_version}"]
playbook_file = "./ansible/playbook.yml"
use_proxy = false
}
}

35
packer/gcp.pkr.hcl

@ -1,35 +0,0 @@
variable "squidex_version" {
type = string
default = "5.8.0"
}
source "googlecompute" "squidex" {
project_id = "squidex-315304"
ssh_username = "root"
zone = "us-central1-a"
source_image_family = "ubuntu-2004-lts"
instance_name = "squidex-${replace(var.squidex_version, ".", "-")}-build-{{ timestamp }}"
image_name = "squidex-${replace(var.squidex_version, ".", "-")}-{{ timestamp }}"
image_family = "squidex"
image_storage_locations = [
"us"]
}
build {
sources = [
"source.googlecompute.squidex"
]
provisioner "ansible" {
ansible_env_vars = [
"ANSIBLE_HOST_KEY_CHECKING=False",
"ANSIBLE_SSH_ARGS='-F /dev/null -o ForwardAgent=no -o ControlMaster=auto -o ControlPersist=60s'",
"ANSIBLE_NOCOLOR=True"
]
extra_arguments = [
"--extra-vars",
"squidex_version=${var.squidex_version}"]
playbook_file = "./ansible/playbook.yml"
use_proxy = false
}
}

46
packer/vultr.pkr.hcl

@ -1,46 +0,0 @@
packer {
required_plugins {
vultr = {
version = ">= 2.3.1"
source = "github.com/vultr/vultr"
}
}
}
variable "squidex_version" {
type = string
default = "5.8.0"
}
variable "vultr_api_key" {
type = string
default = "${env("VULTR_API_KEY")}"
}
source "vultr" "squidex" {
api_key = "${var.vultr_api_key}"
region_id = "lax"
plan_id = "vc2-1c-2gb"
os_id = "387" // Ubuntu 20.04
hostname = "squidex-${replace(var.squidex_version, ".", "-")}-build-{{ timestamp }}"
snapshot_description = "squidex-${replace(var.squidex_version, ".", "-")}-{{ timestamp }}"
ssh_username = "root"
state_timeout = "10m"
}
build {
sources = [
"source.vultr.squidex"
]
provisioner "ansible" {
ansible_env_vars = [
"ANSIBLE_HOST_KEY_CHECKING=False",
"ANSIBLE_SSH_ARGS='-F /dev/null -o ForwardAgent=no -o ControlMaster=auto -o ControlPersist=60s'",
"ANSIBLE_NOCOLOR=True"
]
extra_arguments = ["--extra-vars", "squidex_version=${var.squidex_version}"]
playbook_file = "./ansible/playbook.yml"
use_proxy = false
}
}
Loading…
Cancel
Save