Startifact

Startifact is a command line application and Python package for staging and retrieving versioned artifacts in Amazon Web Services.

Features

  • Configuration is held in Amazon Web Services Systems Manager. Startifact operates consistently across all your CI/CD jobs by default.

  • Optional metadata can be attached to artifacts at the point of staging then interrogated later.

  • Configuration, artifacts and metadata are stored across as many regions as you care to provide. Startifact is resilient to outages.

Terms

Say you have a CI/CD build job for a software component named “SugarWater”. This build job produces:

  • A “dist.tar.gz” file

  • A hash of “dist.tar.gz”

  • A semantic version number

In Startifact:

  • “SugarWater” is a project.

  • The “dist.tar.gz” file and the semantic version together are an artifact.

  • The hash is recorded as metadata

Getting started

  1. Prepare your Amazon Web Services account.

  2. Install Startifact.

  3. Deploy your organisation configuration.

  4. Start staging your artifacts.

Licence

Startifact is released at github.com/cariad/startifact under the MIT Licence.

See LICENSE for more information.

Contributing

To contribute a bug report, enhancement or feature request, please raise an issue at github.com/cariad/startifact/issues.

If you want to contribute a code change, please raise an issue first so we can chat about the direction you want to take.

Author

Hello! 👋 I’m Cariad Eccleston and I’m a freelance DevOps and backend engineer. My contact details are available on my personal wiki at cariad.earth.

Please consider supporting my open source projects by sponsoring me on GitHub.

Acknowledgements

  • Interactive configuration by Asking.

  • CLI orchestration by Cline.

  • Command line colours and styling by Ansiscape.

Contents