parent
37768360d3
commit
e183c95b9d
2 changed files with 157 additions and 0 deletions
@ -0,0 +1,145 @@ |
||||
#== |
||||
# This is an example inventory file to setup an instance of MyJekyllBlog. |
||||
# |
||||
# SENSITIVE variables should be stored in the vault.yml file and then encrypted |
||||
# with ansible-vault. |
||||
# |
||||
# ansible-vault encrypt --vault-password-file .vault_password env/example/vault.yml |
||||
# |
||||
# To edit these values in the future, you can edit the file with the following command: |
||||
# |
||||
# ansible-vault edit --vault-password-file .vault_password env/example/vault.yml |
||||
# |
||||
# To run the playbooks, use the following: |
||||
# ansible-playbook -i env/example/inventory.yml --vault-password-file .vault_password -e @env/example/vault.yml site.yml |
||||
# |
||||
#== |
||||
|
||||
all: |
||||
vars: |
||||
# This is the git repository that contains MyJekyllBlog itself. It will be checked out |
||||
# during the installation process on the various machines that need it. |
||||
repo: https://git.modfoss.com/symkat/MyJekyllBlog.git |
||||
|
||||
|
||||
# These are hostnames of specific services. |
||||
# |
||||
# root should be set to the top level domain for everything, it will be used to configure |
||||
# ssh and git for the manager user account. |
||||
# |
||||
# panel, store, and certbot should all be set to the hostnames for their services. There should |
||||
# never be more than one of each server type. |
||||
domain_name: |
||||
root: example.com |
||||
panel: panel.example.com |
||||
store: store.example.com |
||||
certbot: certbot.example.com |
||||
|
||||
# These are database configurations. |
||||
# |
||||
# For the store server, the database name, user, and pass will be used to create |
||||
# the psql database and user account. |
||||
# |
||||
# For any server that includes mjb-role-webapp, they will be used for credentials in /etc/mjb.yml |
||||
databases: |
||||
mjb: |
||||
name: mjb |
||||
user: mjb |
||||
pass: "{{ vault_databases_mjb_pass }}" |
||||
host: 192.168.216.75 |
||||
minion: |
||||
name: minion |
||||
user: minion |
||||
pass: "{{ vault_databases_minion_pass }}" |
||||
host: 192.168.216.75 |
||||
gitea: |
||||
name: gitea |
||||
user: gitea |
||||
pass: "{{ vault_databases_gitea_pass }}" |
||||
host: 127.0.0.1 |
||||
|
||||
# SMTP Credentials |
||||
# |
||||
# These credentials will be used by Gitea for its SMTP configuration, |
||||
# and by the panel for transactional email with MJB::Web::Plugin::Email. |
||||
smtp: |
||||
host: smtp.mail-provider.com |
||||
from: mailbot@example.com |
||||
user: apikey |
||||
pass: "{{ vault_smtp_pass }}" |
||||
|
||||
panel_config: |
||||
# This repo is the initial repository cloned when somebody creates a new blog. |
||||
jekyll_init_repo: git@store.example.com:manager/jekyll-default.git |
||||
|
||||
# This should be the link to an org on gitea on the store server, the repository will |
||||
# be completed with the domain name, like :mjb/domain.com.git |
||||
store_repo_base: git@store.example.com:mjb/ |
||||
|
||||
# These secrets are used for the session encryption |
||||
secrets: "{{ vault_panel_config_secrets }}" |
||||
|
||||
# Configuration specific to the panel server. |
||||
panel: |
||||
hosts: |
||||
panel.example.com: |
||||
redirect_www: false |
||||
|
||||
# Configuration specific to the build servers. |
||||
buildservers: |
||||
hosts: |
||||
build.example.com: |
||||
|
||||
# Configuration specific to the webservers. |
||||
webservers: |
||||
hosts: |
||||
web-west.example.com: |
||||
web-east.example.com: |
||||
|
||||
# Configuration specific to the webservers. |
||||
certbot: |
||||
hosts: |
||||
certbot.example.com: |
||||
# To use certbot for wildcard ssl certs, you must use a DNS challenge. These are |
||||
# the credentials for the linode dns challenge. |
||||
linode_dns_credentials: "{{ vault_linode_dns_credentials }}" |
||||
|
||||
# Configuration specific to the store server. |
||||
store: |
||||
hosts: |
||||
store.example.com: |
||||
# This section configures the postgresql database that will run on the store server. |
||||
# |
||||
# The bind_address accepts an IP address for psql to bind to. The PSQL configuration will |
||||
# bind to this IP address, and 127.0.0.1. |
||||
# |
||||
# Each IP address in allow_addresses will be added to the PSQL HBA file. This should contain |
||||
# all of the IP addresses of the panel, build, store and certbot servers so each may use the |
||||
# databases. |
||||
database: |
||||
bind_address: 192.168.216.75 |
||||
allow_addresses: |
||||
- 192.168.213.90 # panel.example.com |
||||
- 192.168.188.226 # build.example.com |
||||
- 192.168.216.75 # store.example.com |
||||
- 192.168.163.105 # certbot.example.com |
||||
|
||||
# This section configures Gitea on the store server. |
||||
gitea: |
||||
# The user, email and pass will be used to create an initial user on the Gitea |
||||
# instance installed on the store server. |
||||
user: manager |
||||
email: manager@example.com |
||||
pass: "{{ vault_gitea_pass }}" |
||||
|
||||
# This is a token that Gitea needs to secure the installation. |
||||
# You can generate this secret by running, from the ansible directory: |
||||
# |
||||
# ./roles/mjb-profile-store/files/gitea-1.17.1-linux-amd64 generate secret INTERNAL_TOKEN |
||||
internal_token: "{{ vault_internal_token }}" |
||||
|
||||
# This is a token that Gitea needs to secure the installation. |
||||
# You can generate this secret by running, from the ansible directory: |
||||
# |
||||
# ./roles/mjb-profile-store/files/gitea-1.17.1-linux-amd64 generate secret JWT_SECRET |
||||
jwt_token: "{{ vault_jwt_token }}" |
||||
@ -0,0 +1,12 @@ |
||||
vault_databases_mjb_pass: 'some password' |
||||
vault_databases_minion_pass: 'some password' |
||||
vault_databases_gitea_pass: 'some password' |
||||
vault_linode_dns_credentials: 'some password' |
||||
- 'dns_linode_key = api-key-from-linode, for wildcard ssl' |
||||
- 'dns_linode_version = 4' |
||||
vault_internal_token: 'see docs in inventory.yml for how to generate this' |
||||
vault_jwt_token: 'see docs in inventory.yml for how to generate this' |
||||
vault_panel_config_secrets: |
||||
- 'some really long string' |
||||
vault_smtp_pass: 'your smtp provider password' |
||||
vault_gitea_pass: 'the password to set for the managers gitea account' |
||||
Loading…
Reference in new issue