Commit a100ff15 authored by Hendrik Heneke's avatar Hendrik Heneke
Browse files

Initial version.

parents
Pipeline #360 passed with stage
in 26 seconds
services:
_defaults:
autowire: true
autoconfigure: true
HHIT\ConfigGeneratorBundle\Generator\Definition\DefinitionReader:
public: true
arguments:
$projectDir: '%kernel.project_dir%'
HHIT\ConfigGeneratorBundle\Generator\Secrets\SymfonyVaultSecretProvider:
public: true
arguments:
$sodiumVault: '@secrets.vault'
$dotenvVault: '@secrets.local_vault'
HHIT\ConfigGeneratorBundle\Generator\Secrets\SecretProviderFactory:
public: true
arguments:
$symfonyProvider: '@HHIT\ConfigGeneratorBundle\Generator\Secrets\SymfonyVaultSecretProvider'
HHIT\ConfigGeneratorBundle\Generator\Values\ValuesLoaderFactory:
public: true
arguments:
$secretProviderFactory: '@HHIT\ConfigGeneratorBundle\Generator\Secrets\SecretProviderFactory'
HHIT\ConfigGeneratorBundle\Generator\Validator\ValidatorFactory:
public: true
HHIT\ConfigGeneratorBundle\Generator\Generator:
public: true
arguments:
$definitionReader: '@HHIT\ConfigGeneratorBundle\Generator\Definition\DefinitionReader'
$valuesLoaderFactory: '@HHIT\ConfigGeneratorBundle\Generator\Values\ValuesLoaderFactory'
$validatorFactory: '@HHIT\ConfigGeneratorBundle\Generator\Validator\ValidatorFactory'
HHIT\ConfigGeneratorBundle\Command\GenerateConfigsCommand:
public: true
tags:
- { name: 'console.command', command: 'cfgen:generate-configs' }
arguments:
$generator: '@HHIT\ConfigGeneratorBundle\Generator\Generator'
<?php
declare(strict_types=1);
namespace HHIT\ConfigGeneratorBundle\Tests\Command;
use HHIT\ConfigGeneratorBundle\Command\GenerateConfigsCommand;
use HHIT\ConfigGeneratorBundle\Generator\Definition\DefinitionReader;
use HHIT\ConfigGeneratorBundle\Generator\IO\ReaderFactory;
use HHIT\ConfigGeneratorBundle\Generator\Generator;
use HHIT\ConfigGeneratorBundle\Generator\Secrets\SecretProviderFactory;
use HHIT\ConfigGeneratorBundle\Generator\Secrets\SymfonyVaultSecretProvider;
use HHIT\ConfigGeneratorBundle\Generator\Validator\ValidatorFactory;
use HHIT\ConfigGeneratorBundle\Generator\Values\ValuesLoaderFactory;
use Symfony\Bundle\FrameworkBundle\Test\KernelTestCase;
class ConfigGeneratorBundleTest extends KernelTestCase
{
/**
* @before
*/
public static function before()
{
self::bootKernel();
}
function dependencies()
{
return [
'definition-reader' => [DefinitionReader::class],
'symfony-vault-secret-provider' => [SymfonyVaultSecretProvider::class],
'secret-provider-factory' => [SecretProviderFactory::class],
'values-loader-factory' => [ValuesLoaderFactory::class],
'validator-factory' => [ValidatorFactory::class],
'processor' => [Generator::class],
'generate-configs-command' => [GenerateConfigsCommand::class]
];
}
/**
* @test
* @dataProvider dependencies
*/
function dependencyConfigured($id)
{
$this->assertNotNull(self::$container->get($id));
}
}
{
"users.json": {
"template": "./templates/users.json.hbs",
"type": "json",
"values": "./values/users.values.json",
"destination": "var/users.json"
},
"users.yaml": {
"template": "./templates/users.yaml.hbs",
"type": "yaml",
"values": "./values/users.values.json",
"destination": "var/users.yaml"
}
}
{
"users": {
{{#each users}}
"{{this.username}}": {
"username": "{{this.username}}",
"password": "{{password_hash_bcrypt this.password}}",
"cleartextPassword": "{{this.password}}"
}{{#unless @last}},{{/unless}}
{{/each}}
},
"version": 2,
"secret": "{{secret}}"
}
users:
{{#each users}}
- {{this.username}}:
username: '{{this.username}}'
password: '{{password_hash_bcrypt this.password}}'
cleartextPassword: '{{this.password}}'
{{/each}}
version: 2
secret: '{{this.secret}}'
{
"users": [
{
"username": "admin",
"password": {
"$type": "secret",
"arg": "admin_password"
}
},
{
"username": "operator",
"password": {
"$type": "secret",
"arg": "operator_password"
}
}
],
"secret": {
"$type": "secret",
"arg": "secret"
}
}
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment