Get Started

Welcome! We are excited that you want to learn how to build artifacts.

Artifakt concepts

An artifact is a set of elements composing an environment which may contains:

  • Application code
  • Metadata
  • Architecture (infrastructure as code)
  • Lifecycle (CI/CD)
  • Configurations : accesses, plugins, etc.

An artifact can be seen as a PaaS framework using top-notch DevOps technologies (Terraform, CI/CD, etc.) but also as a SaaS framework when you package source code and data of your application in it.

An artifact can be used by anyone aiming to quickly deploy an application and get the most out of every cloud provider.

Prerequisites

To create an artifact and test your work, you'll need to install Terraform.

Anatomy of an artifact

The directory structure of an artifact is pretty straightforward. Considering a myGreatArtifact folder exists for your project, the recommended structure is as follows:

File / Folder Description
/src Application source code used by the project. Source code could also be retrieved using input variables.
.env.dist Helper file used for local testing purposes. It gathers environment variables needed by Terraform files and lifecycle processes (CI/CD). Do not share this file in publicly accessible areas (GitLab / Bitbucket / GitHub, client-side code, etc.).

Input variables ( vars.tf) can be set in this file for testing using TF_VAR_ prefixes according to the Terraform documentation

This file will not be used by the Artifakt engine.
main.tf Describe your infrastructure (infrastructure as code) and the resources you want to manage (servers, CDN, buckets, etc.). Content will be different depending on the provider you've selected in the provider.tf file.
provider.tf Provider configuration as described in the Terraform documentation. This file may be publicly available, do not include sensitive data (SSH keys, passwords, tokens, etc.). Use the .env file to store credentials.
outputs.tf Output variables configuration. This file gathers data to display to the user after deployment success (back-office URL, public IP, etc.).
vars.tf Input variable configuration. When deploying your artifact, users will be asked to set the value of these variables directly from the deployment tunnel.
.artifakt.yml Useful for setting configuration of your artifact. This file is used by Artifakt's engine. See below for the specification.
README.md Generic README file that you can edit to describe your artifact (how it works, capabilities, etc.).

Still need help? Contact Us Contact Us