Provision S3 backup infrastructure for private knowledge repo
Status: in progress
Tags: infra, data, process-docs, P1
Depends on: #81
Blocks: enabling scheduled backups in the future private DataTalksClub/dataops-knowledge repository
Scope
Use ../aws-infra, not the public app repo, to provision the AWS resources needed by the private knowledge-repo S3 backup workflow.
The intended model remains:
DataTalksClub/dataops is the public app/runtime repo.
- Private
DataTalksClub/dataops-knowledge is canonical for operational docs/templates/prompts.
- Private S3 stores daily backup artifacts generated from the private Git repo.
Implement a CloudFormation stack under ../aws-infra/sandbox/dataops that creates:
- a private S3 bucket for
dataops-knowledge backups;
- server-side encryption;
- bucket versioning;
- public access blocking;
- lifecycle rules for daily Git archive/bundle backups;
- a GitHub Actions OIDC role assumable by
DataTalksClub/dataops-knowledge on main;
- scoped S3 permissions for reading
latest/manifest.json and writing backup objects under the configured prefix.
Acceptance Criteria
Verification
aws sts get-caller-identity
aws cloudformation validate-template --template-body file://sandbox/dataops/template.knowledge-backups.yaml --region eu-west-1
aws cloudformation deploy --stack-name dataops-knowledge-backups --template-file sandbox/dataops/template.knowledge-backups.yaml --region eu-west-1 --capabilities CAPABILITY_NAMED_IAM
aws cloudformation describe-stacks --stack-name dataops-knowledge-backups --region eu-west-1
aws s3api get-public-access-block, get-bucket-versioning, get-bucket-encryption, and get-bucket-lifecycle-configuration for the created bucket.
Provision S3 backup infrastructure for private knowledge repo
Status: in progress
Tags:
infra,data,process-docs,P1Depends on: #81
Blocks: enabling scheduled backups in the future private
DataTalksClub/dataops-knowledgerepositoryScope
Use
../aws-infra, not the public app repo, to provision the AWS resources needed by the private knowledge-repo S3 backup workflow.The intended model remains:
DataTalksClub/dataopsis the public app/runtime repo.DataTalksClub/dataops-knowledgeis canonical for operational docs/templates/prompts.Implement a CloudFormation stack under
../aws-infra/sandbox/dataopsthat creates:dataops-knowledgebackups;DataTalksClub/dataops-knowledgeonmain;latest/manifest.jsonand writing backup objects under the configured prefix.Acceptance Criteria
../aws-infra/sandbox/dataops.DataTalksClub/dataops-knowledgeonmain.Verification
aws sts get-caller-identityaws cloudformation validate-template --template-body file://sandbox/dataops/template.knowledge-backups.yaml --region eu-west-1aws cloudformation deploy --stack-name dataops-knowledge-backups --template-file sandbox/dataops/template.knowledge-backups.yaml --region eu-west-1 --capabilities CAPABILITY_NAMED_IAMaws cloudformation describe-stacks --stack-name dataops-knowledge-backups --region eu-west-1aws s3api get-public-access-block,get-bucket-versioning,get-bucket-encryption, andget-bucket-lifecycle-configurationfor the created bucket.