From c4148c07d5e2c9bfc13ed89b3a07bacc996ae6de Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 6 Aug 2020 01:40:31 +0100 Subject: [PATCH] Initial commit --- .gitignore | 2 ++ README.md | 74 +++++++++++++++++++++++++++++++++++++++++ confd/settings.php.twig | 11 ++++++ workspace.yml | 0 4 files changed, 87 insertions(+) create mode 100644 .gitignore create mode 100644 README.md create mode 100644 confd/settings.php.twig create mode 100644 workspace.yml diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..ebe9bff --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +/settings.php +/workspace.override.yml diff --git a/README.md b/README.md new file mode 100644 index 0000000..654d4a0 --- /dev/null +++ b/README.md @@ -0,0 +1,74 @@ +# Demo: Working with Workspace + +## Examples + +### Simple command + +```yaml +command('say-hello'): | + #!bash + echo 'Hello World' +``` + +### Using attributes + +```yaml +attribute('message'): Hello World! + +command('say-hello'): | + #!bash|@ + echo @('message') +``` + +### Using arguments + +```yaml +command('say-hello '): | + #!bash|= + echo ={ @('message') } from ={ input.argument('name') } +``` + +### Using arguments with envrionment variables + +```yaml +command('say-hello '): + env: + MESSAGE: = @('message') + NAME: = input.argument('name') + exec: | + #!bash|= + echo "$MESSAGE from $NAME" +``` + +### Managing secrets + +```yaml +# ws secret generate-random-key +key('default'): 'd38be3b7aa42fdbfb14c0d25f07bc1875edd5f13f640cd7d9e3bd7f67b3c3716' + +# ws secret encrypt 'Hello World!' +attribute('message'): = decrypt('YTozOntpOjA7czo3OiJkZWZhdWx0IjtpOjE7czoyNDoidJHP5MrjXU+iRjfzCnb+pQxjO+fudniUIjtpOjI7czoyODoi6kP/Zq8a3fzSMK/tC8XToLgJ9yPY8hNAe4BO3iI7fQ==') + +command('say-hello'): | + #!bash|@ + echo @('message') +``` + +### Configuration files + +```yaml +command('apply config'): | + #!php + $ws->confd('workspace:/confd')->apply(); + +confd('workspace:/confd'): + - { src: 'settings.php', dst: 'workspace:/settings.php' } + +attributes: + database: + driver: mysql + host: mysql + name: drupal + username: user + password: = decrypt('YTozOntpOjA7czo3OiJkZWZhdWx0IjtpOjE7czoyNDoi6LHweHpBsrOBtVHCFO/L4nuMnxuCejIiIjtpOjI7czoyMjoirG3KlBnw952zVvLWUSmdPAqJsql/vCI7fQ==') +``` diff --git a/confd/settings.php.twig b/confd/settings.php.twig new file mode 100644 index 0000000..8412512 --- /dev/null +++ b/confd/settings.php.twig @@ -0,0 +1,11 @@ + '{{ @('database.driver') }}', + 'host' => '{{ @('database.host') }}', + 'database' => '{{ @('database.name') }}', + 'username' => '{{ @('database.username') }}', + 'password' => '{{ @('database.password') }}', + 'prefix' => '', + 'collation' => 'utf8mb4_general_ci', +]; diff --git a/workspace.yml b/workspace.yml new file mode 100644 index 0000000..e69de29