Glossary

Attini Project
Attini Project is a folder (ex a git repository) that contain a attini-config file . This file includes the configuration that the Attini CLI and the Attini Framework need to package and deploy your distribution.

Attini Deployment Origin

Attini deployment origin is an S3 bucket that will be created by . It is is responsible for receiving distributions and trigger the init deploy lambda. The s3 bucket will be called attini-deployment-origin-${region}-${accountId}, and you will find it in your AWS account after you onboard the attini-setup.

There will be one Attini deployment origin bucket per AWS account and region.

The artifacts will be deleted according to your artifact life-cycle policy.

Attini Artifact Store

An S3 bucket that will be created by attini-setup that is responsible for managing all the artifacts from your distribution and making them available to your environment. The S3 bucket will be called attini-artifact-store-${region}-${accountId}, and you will find it in your AWS account after you onboard the attini-setup. If your deployment needs temporary storage, you can use the Attini artifact store with key prefix attini/tmp/. Find more info here

There will be one attini artifact store bucket per AWS account and region.

All the artifacts from a distribution will be uploaded to the bucket with the prefix /${AttiniEnvironmentName}/${DistributionName}/${DistributionNameId}/distribution-origin/

The artifacts will be deleted according to your artifact life-cycle policy.

Distribution
Is a zip file containing any files your deployment needs. The distribution should also contain certain configuration that enables the Attini Framework to start a deployment. See more information about distribution configuration here.

Deployment

When a distribution is being uploaded to an Attini Deployment Origin Bucket, it triggers a deployment which tells the Attini Framework to start. The Attini Framework will:

  1. Extract the files in the distribution and put them in the Attini Artifact Store so that the files become available to the Environment.
  2. Deploy the Init deploy stack, which created the deployment plan.
  3. Attini Framework will run the deployment plan after the Init deploy is successful.

Init Deploy Stack
When a distribution is deployed to an environment, the deployment needs a flexible way to initiate. The Attini Framework accomplishes this with the “Init deploy stack”. The Init deploy stack is a CloudFormation stack that is automatically deployed from a template in the distribution. Because it’s a CloudFormation stack, you can provision any resources you need for the deployment. The Init deploy stack creates the Attini deployment plan, and it is configured by the here.

Attini Deployment Plan
The deployment pipeline, created (and updated) by the the Init deploy stack The Attini deployment plan is defined as CloudFormation/CDK resources in the Init deploy. It can deploy CloudFormation stacks, trigger AWS lambdas, run containers which can run terraform, kubectl, AWS CDK, or AWS SAM and anything else you might need. The Attini deployment plan is based on AWS Step Functions and can therefore use all the services integrations that AWS Step Functions offers.

Attini Config File
The attini-config file is always located in the root folder of your distribution. The file can be called attini-config.json, attini-config.yaml or attini-config.yml and it contains the distribution name, id, package config, tags and Init deploy configuration and more.