summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rw-r--r--python-sceptre-s3-packager.spec283
-rw-r--r--sources1
3 files changed, 285 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..e8f2117 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/sceptre_s3_packager-0.4.0.tar.gz
diff --git a/python-sceptre-s3-packager.spec b/python-sceptre-s3-packager.spec
new file mode 100644
index 0000000..76f82c2
--- /dev/null
+++ b/python-sceptre-s3-packager.spec
@@ -0,0 +1,283 @@
+%global _empty_manifest_terminate_build 0
+Name: python-sceptre-s3-packager
+Version: 0.4.0
+Release: 1
+Summary: S3 packager for Sceptre 2
+License: MIT License
+URL: https://github.com/henrist/sceptre-s3-packager
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/2b/09/283db3fc1735a779322e97005ebceb6df0f4648f3927cd368868c5277b68/sceptre_s3_packager-0.4.0.tar.gz
+BuildArch: noarch
+
+Requires: python3-sceptre
+
+%description
+# sceptre-s3-packager
+
+[![PyPI version](https://badge.fury.io/py/sceptre-s3-packager.svg)](https://badge.fury.io/py/sceptre-s3-packager)
+![PyPI - Downloads](https://img.shields.io/pypi/dm/sceptre-s3-packager)
+
+Hook and resolver for [Sceptre](https://sceptre.cloudreach.com/latest/) `v2` to
+package code dependencies and uploading it to an S3 bucket for usage in a
+template.
+
+Inspired by https://github.com/cloudreach/sceptre-zip-code-s3
+
+## Getting started
+
+Only Python 3 is actively being supported.
+
+Install using pip:
+
+```bash
+pip install sceptre-s3-packager
+```
+
+Use the hook and resolver in your template config:
+
+```yaml
+template_path: ...
+hooks:
+ before_create:
+ - !sceptre_s3_upload ./directory-to-zip-to-s3
+ before_update:
+ - !sceptre_s3_upload ./directory-to-zip-to-s3
+sceptre_user_data:
+ Code:
+ S3Bucket: my-s3-bucket
+ S3Key: !sceptre_s3_key ./directory-to-zip-to-s3
+```
+
+Use the data in the template, e.g. by using Jinja2 template with something
+like:
+
+```yaml
+ MyLambda:
+ Type: AWS::Lambda::Function
+ Properties:
+ Code:
+ S3Bucket: {{ sceptre_user_data.Code.S3Bucket }}
+ S3Key: {{ sceptre_user_data.Code.S3Key }}
+```
+
+## Usage
+
+Hook:
+
+- `!sceptre_s3_upload <directory>` (reads `S3Bucket` from
+ `sceptre_user_data.Code.S3Bucket`)
+- `!sceptre_s3_upload <directory>^^<s3-bucket>`
+
+Resolver:
+
+- `!sceptre_s3_key <directory>` (returns a path where the packaged
+ directory is uploaded, e.g. `sceptre/68063a99bb6d95401d688d28f19ee412`)
+
+## Details
+
+The hook will zip the contents of the directory and upload it as
+`sceptre/MD5HASH` to the S3-bucket, with `MD5HASH` being md5 hash of the zip
+file content.
+
+When zipping all files will be given a fixed modification time, so that only
+the contents of the files are used to determine the upload file and cause
+invalidation on changes.
+
+
+%package -n python3-sceptre-s3-packager
+Summary: S3 packager for Sceptre 2
+Provides: python-sceptre-s3-packager
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-sceptre-s3-packager
+# sceptre-s3-packager
+
+[![PyPI version](https://badge.fury.io/py/sceptre-s3-packager.svg)](https://badge.fury.io/py/sceptre-s3-packager)
+![PyPI - Downloads](https://img.shields.io/pypi/dm/sceptre-s3-packager)
+
+Hook and resolver for [Sceptre](https://sceptre.cloudreach.com/latest/) `v2` to
+package code dependencies and uploading it to an S3 bucket for usage in a
+template.
+
+Inspired by https://github.com/cloudreach/sceptre-zip-code-s3
+
+## Getting started
+
+Only Python 3 is actively being supported.
+
+Install using pip:
+
+```bash
+pip install sceptre-s3-packager
+```
+
+Use the hook and resolver in your template config:
+
+```yaml
+template_path: ...
+hooks:
+ before_create:
+ - !sceptre_s3_upload ./directory-to-zip-to-s3
+ before_update:
+ - !sceptre_s3_upload ./directory-to-zip-to-s3
+sceptre_user_data:
+ Code:
+ S3Bucket: my-s3-bucket
+ S3Key: !sceptre_s3_key ./directory-to-zip-to-s3
+```
+
+Use the data in the template, e.g. by using Jinja2 template with something
+like:
+
+```yaml
+ MyLambda:
+ Type: AWS::Lambda::Function
+ Properties:
+ Code:
+ S3Bucket: {{ sceptre_user_data.Code.S3Bucket }}
+ S3Key: {{ sceptre_user_data.Code.S3Key }}
+```
+
+## Usage
+
+Hook:
+
+- `!sceptre_s3_upload <directory>` (reads `S3Bucket` from
+ `sceptre_user_data.Code.S3Bucket`)
+- `!sceptre_s3_upload <directory>^^<s3-bucket>`
+
+Resolver:
+
+- `!sceptre_s3_key <directory>` (returns a path where the packaged
+ directory is uploaded, e.g. `sceptre/68063a99bb6d95401d688d28f19ee412`)
+
+## Details
+
+The hook will zip the contents of the directory and upload it as
+`sceptre/MD5HASH` to the S3-bucket, with `MD5HASH` being md5 hash of the zip
+file content.
+
+When zipping all files will be given a fixed modification time, so that only
+the contents of the files are used to determine the upload file and cause
+invalidation on changes.
+
+
+%package help
+Summary: Development documents and examples for sceptre-s3-packager
+Provides: python3-sceptre-s3-packager-doc
+%description help
+# sceptre-s3-packager
+
+[![PyPI version](https://badge.fury.io/py/sceptre-s3-packager.svg)](https://badge.fury.io/py/sceptre-s3-packager)
+![PyPI - Downloads](https://img.shields.io/pypi/dm/sceptre-s3-packager)
+
+Hook and resolver for [Sceptre](https://sceptre.cloudreach.com/latest/) `v2` to
+package code dependencies and uploading it to an S3 bucket for usage in a
+template.
+
+Inspired by https://github.com/cloudreach/sceptre-zip-code-s3
+
+## Getting started
+
+Only Python 3 is actively being supported.
+
+Install using pip:
+
+```bash
+pip install sceptre-s3-packager
+```
+
+Use the hook and resolver in your template config:
+
+```yaml
+template_path: ...
+hooks:
+ before_create:
+ - !sceptre_s3_upload ./directory-to-zip-to-s3
+ before_update:
+ - !sceptre_s3_upload ./directory-to-zip-to-s3
+sceptre_user_data:
+ Code:
+ S3Bucket: my-s3-bucket
+ S3Key: !sceptre_s3_key ./directory-to-zip-to-s3
+```
+
+Use the data in the template, e.g. by using Jinja2 template with something
+like:
+
+```yaml
+ MyLambda:
+ Type: AWS::Lambda::Function
+ Properties:
+ Code:
+ S3Bucket: {{ sceptre_user_data.Code.S3Bucket }}
+ S3Key: {{ sceptre_user_data.Code.S3Key }}
+```
+
+## Usage
+
+Hook:
+
+- `!sceptre_s3_upload <directory>` (reads `S3Bucket` from
+ `sceptre_user_data.Code.S3Bucket`)
+- `!sceptre_s3_upload <directory>^^<s3-bucket>`
+
+Resolver:
+
+- `!sceptre_s3_key <directory>` (returns a path where the packaged
+ directory is uploaded, e.g. `sceptre/68063a99bb6d95401d688d28f19ee412`)
+
+## Details
+
+The hook will zip the contents of the directory and upload it as
+`sceptre/MD5HASH` to the S3-bucket, with `MD5HASH` being md5 hash of the zip
+file content.
+
+When zipping all files will be given a fixed modification time, so that only
+the contents of the files are used to determine the upload file and cause
+invalidation on changes.
+
+
+%prep
+%autosetup -n sceptre-s3-packager-0.4.0
+
+%build
+%py3_build
+
+%install
+%py3_install
+install -d -m755 %{buildroot}/%{_pkgdocdir}
+if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi
+if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi
+if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi
+if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi
+pushd %{buildroot}
+if [ -d usr/lib ]; then
+ find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/lib64 ]; then
+ find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/bin ]; then
+ find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/sbin ]; then
+ find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+touch doclist.lst
+if [ -d usr/share/man ]; then
+ find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst
+fi
+popd
+mv %{buildroot}/filelist.lst .
+mv %{buildroot}/doclist.lst .
+
+%files -n python3-sceptre-s3-packager -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Mon May 29 2023 Python_Bot <Python_Bot@openeuler.org> - 0.4.0-1
+- Package Spec generated
diff --git a/sources b/sources
new file mode 100644
index 0000000..ce5f03e
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+0e4fbb44da144751dd99a73f2973611b sceptre_s3_packager-0.4.0.tar.gz