Skip to content

Appsilon/cytos-plugin-template

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

my-plugin

Replace this with a description of your plugin.

Overview

This repository is a Cytos platform plugin. It was created from the cytos-plugin-template.

Structure

my-plugin/
├── terraform/          # Terraform module (consumed by cytos-deployment)
│   ├── main.tf         # helm_release with templatefile() values
│   ├── variables.tf    # Platform inputs + plugin defaults
│   ├── outputs.tf      # namespace, service_url, ingress_url
│   ├── values.yaml.tpl # Helm values template
│   └── versions.tf     # Provider version constraints
├── helmchart/          # Helm chart (bundled with the module)
│   └── my-plugin/
├── docker/             # Application container
│   ├── Dockerfile
│   └── main.py
├── catalog-info.yaml   # Backstage component entity
└── VERSION             # Plugin version (semver)

Getting started

  1. Create your repo from this template (click "Use this template")
  2. Rename all occurrences of my-plugin to your plugin name
  3. Build your container and push to ECR
  4. Update VERSION with your version
  5. Submit a PR to cytos-deployment adding plugin-<name>.tf:
module "my_plugin" {
  source = "git::https://github.com/Appsilon/my-plugin.git//terraform?ref=v0.1.0"

  environment    = var.environment
  base_domain    = local.base_domain
  image_registry = local.ecr_registry
}

Platform inputs

These variables are passed by cytos-deployment:

Variable Description
environment Environment name (dev, staging, prod)
base_domain Base domain (e.g. bioverse.aws.appsilon.com)
image_registry ECR registry URL

Plugin defaults

Set in terraform/variables.tf — deployment can override any of them.

Deployment overrides

Pass environment-specific config via extra_values:

module "my_plugin" {
  source = "git::https://github.com/Appsilon/my-plugin.git//terraform?ref=v0.1.0"

  environment    = var.environment
  base_domain    = local.base_domain
  image_registry = local.ecr_registry

  extra_values = [templatefile("${path.module}/values/my-plugin.yaml", {
    some_secret_url = var.some_secret_url
  })]
}

About

Template for creating Cytos platform plugins

Resources

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors