Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ Traits for AWS service interactions: `UsesEc2`, `UsesIam`, `UsesAutoscaling`, `U

### Configuration

- `Manifest.php` - Reads/writes `yolo.yml` configuration
- `Manifest.php` - Reads/writes `yolo-alpha.yml` configuration
- `Paths.php` - Centralizes file path resolution
- `Helpers.php` - Utility functions and container access

Expand Down
10 changes: 5 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -131,11 +131,11 @@ Run `yolo-alpha` to see the available commands.

Next, run `yolo-alpha init`. The init command does the following:

1. initialises the yolo.yml file in the app with a boilerplate production environment
1. initialises the yolo-alpha.yml file in the app with a boilerplate production environment
2. adds some entries to `.gitignore`
3. prompts for a few bits of information to setup the manifest file

After initialising, you can customise the `yolo.yml` manifest file to suit your app's requirements.
After initialising, you can customise the `yolo-alpha.yml` manifest file to suit your app's requirements.

## Step 2: Provision resources

Expand Down Expand Up @@ -188,7 +188,7 @@ existing stage is recommended for minor changes.
| Update EC2 instance profile | update |
| Update AMI | create |

When creating a new stage, the yolo.yml manifest will also be updated to point to the new autoscaling groups on the next
When creating a new stage, the yolo-alpha.yml manifest will also be updated to point to the new autoscaling groups on the next
deployment.

> [!NOTE]
Expand Down Expand Up @@ -218,9 +218,9 @@ Builds can be deployed with `yolo-alpha deploy <environment>`.
> [!TIP]
> You can also build and deploy in a single command with `yolo-alpha deploy <environment>`.

## yolo.yml
## yolo-alpha.yml

This is a complete yolo.yml manifest file, showing default values where applicable.
This is a complete yolo-alpha.yml manifest file, showing default values where applicable.

Note that some keys below are intentionally omitted from the stub generated by `yolo-alpha init`.

Expand Down
4 changes: 2 additions & 2 deletions docs/guide/getting-started.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,11 +23,11 @@ Run `yolo-alpha` to see all available commands.

Run `yolo-alpha init` to set up your project. This will:

1. Create a `yolo.yml` manifest with a boilerplate production environment
1. Create a `yolo-alpha.yml` manifest with a boilerplate production environment
2. Add entries to `.gitignore`
3. Prompt for initial configuration values

After initialising, customise the `yolo.yml` manifest to suit your application.
After initialising, customise the `yolo-alpha.yml` manifest to suit your application.

## AWS Authentication

Expand Down
2 changes: 1 addition & 1 deletion docs/guide/images.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ This interactive command walks you through updating or replacing the current sta
| Update EC2 instance profile | Update |
| Update AMI | Create |

When creating a new stage, the `yolo.yml` manifest is updated to point to the new autoscaling groups on the next deployment.
When creating a new stage, the `yolo-alpha.yml` manifest is updated to point to the new autoscaling groups on the next deployment.

::: tip
Rotating in a new image has no impact on existing traffic until the updated manifest is deployed. The previous deployment continues serving requests and autoscaling as normal.
Expand Down
2 changes: 1 addition & 1 deletion docs/reference/commands.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

| Command | Description |
|---|---|
| `init` | Initialise `yolo.yml` manifest |
| `init` | Initialise `yolo-alpha.yml` manifest |
| `build <env>` | Prepare application for deployment |
| `deploy <env>` | Build and deploy to AWS |
| `deploy:status <env>` | Track in-progress deployments |
Expand Down
2 changes: 1 addition & 1 deletion docs/reference/manifest.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Manifest

The `yolo.yml` file is the single source of truth for your application's infrastructure configuration.
The `yolo-alpha.yml` file is the single source of truth for your application's infrastructure configuration.

## Complete Reference

Expand Down
2 changes: 1 addition & 1 deletion src/Commands/Command.php
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ protected function execute(InputInterface $input, OutputInterface $output): int
}

if (! Manifest::exists()) {
error("Could not find yolo.yml manifest in the current directory - run 'yolo init' to create one");
error("Could not find yolo-alpha.yml manifest in the current directory - run 'yolo init' to create one");

return 1;
}
Expand Down
10 changes: 5 additions & 5 deletions src/Commands/InitCommand.php
Original file line number Diff line number Diff line change
Expand Up @@ -16,18 +16,18 @@ protected function configure(): void
{
$this
->setName('init')
->setDescription('Create the yolo.yml manifest in the current app root');
->setDescription('Create the yolo-alpha.yml manifest in the current app root');
}

public function handle(): void
{
if (Manifest::exists()) {
if (! confirm('A yolo.yml manifest already exists in the current directory. Do you want to overwrite it?', default: false)) {
if (! confirm('A yolo-alpha.yml manifest already exists in the current directory. Do you want to overwrite it?', default: false)) {
return;
}
}

intro('Initialising yolo.yml');
intro('Initialising yolo-alpha.yml');

$this->gitIgnoreFilesAndDirectories();
$this->initialiseManifest();
Expand All @@ -39,7 +39,7 @@ public function handle(): void
protected function initialiseManifest(): void
{
file_put_contents(
Paths::base('yolo.yml'),
Paths::manifest(),
str_replace(
search: [
'{NAME}',
Expand All @@ -51,7 +51,7 @@ protected function initialiseManifest(): void
text('What is the account ID of the AWS account you want to deploy to?'),
text('Which AWS region do you want to deploy to?', default: env('AWS_DEFAULT_REGION', 'ap-southeast-2')),
],
subject: file_get_contents(Paths::stubs('yolo.yml.stub'))
subject: file_get_contents(Paths::stubs('yolo-alpha.yml.stub'))
)
);

Expand Down
2 changes: 1 addition & 1 deletion src/Helpers.php
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ public static function keyedResourceName(string|BackedEnum|null $name = null, $e

public static function manifestName(): string
{
return 'yolo.yml';
return 'yolo-alpha.yml';
}

public static function versionName(): string
Expand Down
2 changes: 1 addition & 1 deletion src/Steps/Network/SyncEc2SecurityGroupStep.php
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ public function __invoke(array $options): StepResult
} catch (ResourceDoesNotExistException) {
if (! Arr::get($options, 'dry-run')) {
if (Manifest::get('aws.ec2.security-group')) {
throw IntegrityCheckException::make('yolo.yml specifies a custom EC2 security group which does not exist');
throw IntegrityCheckException::make('yolo-alpha.yml specifies a custom EC2 security group which does not exist');
}

$name = Helpers::keyedResourceName(SecurityGroup::EC2_SECURITY_GROUP, exclusive: false);
Expand Down
2 changes: 1 addition & 1 deletion src/Steps/Network/SyncKeyPairStep.php
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ public function __invoke(array $options, Command $command): StepResult
} catch (ResourceDoesNotExistException $e) {
if (! Arr::get($options, 'dry-run')) {
if (Manifest::get('aws.ec2.key-pair')) {
throw IntegrityCheckException::make('yolo.yml specifies a custom EC2 key pair which does not exist');
throw IntegrityCheckException::make('yolo-alpha.yml specifies a custom EC2 key pair which does not exist');
}

$name = Manifest::get('aws.ec2.key-pair', Helpers::keyedResourceName(exclusive: false));
Expand Down
File renamed without changes.
6 changes: 3 additions & 3 deletions tests/Pest.php
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
|
| Set up a temporary manifest and environment so tests can use Manifest,
| Helpers::keyedResourceName(), and other static helpers without touching
| a real yolo.yml or AWS.
| a real yolo-alpha.yml or AWS.
|
*/

Expand All @@ -35,7 +35,7 @@
define('BASE_PATH', $tempDir);
}

file_put_contents($tempDir . '/yolo.yml', Yaml::dump([
file_put_contents($tempDir . '/yolo-alpha.yml', Yaml::dump([
'name' => 'my-app',
'environments' => [
'testing' => [],
Expand All @@ -57,7 +57,7 @@

function writeManifest(array $config, string $environment = 'testing'): void
{
file_put_contents(BASE_PATH . '/yolo.yml', Yaml::dump([
file_put_contents(BASE_PATH . '/yolo-alpha.yml', Yaml::dump([
'name' => 'my-app',
'environments' => [
$environment => $config,
Expand Down
2 changes: 1 addition & 1 deletion tests/Unit/PathsTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
});

it('resolves manifest path', function () {
expect(Paths::manifest())->toBe(BASE_PATH . '/yolo.yml');
expect(Paths::manifest())->toBe(BASE_PATH . '/yolo-alpha.yml');
});

it('resolves artefact path', function () {
Expand Down
Loading