adding in basic flow that is extensible

now just fill in the blanks
P
This commit is contained in:
talksik
2023-06-25 16:16:16 -07:00
parent 2fb89a279f
commit 7d6abf4d99
4 changed files with 359 additions and 1 deletions
+5
View File
@@ -0,0 +1,5 @@
version: '3'
tasks:
cmds:
- cargo run
+323
View File
@@ -0,0 +1,323 @@
# Official documentation: https://docs.digitalocean.com/products/app-platform/reference/app-spec/
jobs:
- envs:
- value:
scope
type
key
instance_count
name
image
registry_type
registry
repository
tag
deploy_on_push
enabled
dockerfile_path
run_command
source_dir
alerts (array)
rule
disabled
operator
value
window
github
repo
branch
deploy_on_push
gitlab
repo
branch
deploy_on_push
build_command
instance_size_slug
log_destinations (array)
name
papertrail
endpoint
datadog
endpoint
api_key
logtail
token
git
repo_clone_url
branch
environment_slug
kind
functions (array)
name
source_dir
alerts (array)
rule
disabled
operator
value
window
log_destinations (array)
name
papertrail
endpoint
datadog
endpoint
api_key
logtail
token
routes (array)
path
preserve_path_prefix
cors
allow_headers (array)
expose_headers (array)
max_age
allow_credentials
allow_origins (array)
exact
prefix
regex
allow_methods (array)
git
repo_clone_url
branch
github
repo
branch
deploy_on_push
gitlab
repo
branch
deploy_on_push
envs (array)
value
scope
type
key
domains (array)
wildcard
zone
minimum_tls_version
domain
type
ingress
rules (array)
match
path
prefix
component
name
preserve_path_prefix
rewrite
redirect
uri
authority
port
scheme
redirect_code
cors
allow_headers (array)
expose_headers (array)
max_age
allow_credentials
allow_origins (array)
exact
prefix
regex
allow_methods (array)
databases (array)
engine
version
cluster_name
db_user
name
production
db_name
region
envs (array)
value
scope
type
key
alerts (array)
rule
disabled
operator
value
window
name
services (array)
health_check
period_seconds
timeout_seconds
success_threshold
failure_threshold
http_path
port
initial_delay_seconds
cors
allow_headers (array)
expose_headers (array)
max_age
allow_credentials
allow_origins (array)
exact
prefix
regex
allow_methods (array)
log_destinations (array)
name
papertrail
endpoint
datadog
endpoint
api_key
logtail
token
git
repo_clone_url
branch
github
repo
branch
deploy_on_push
build_command
envs (array)
value
scope
type
key
source_dir
instance_size_slug
http_port
routes (array)
path
preserve_path_prefix
internal_ports (array)
gitlab
repo
branch
deploy_on_push
alerts (array)
rule
disabled
operator
value
window
instance_count
name
image
registry_type
registry
repository
tag
deploy_on_push
enabled
dockerfile_path
run_command
environment_slug
static_sites (array)
cors
allow_headers (array)
expose_headers (array)
max_age
allow_credentials
allow_origins (array)
exact
prefix
regex
allow_methods (array)
catchall_document
index_document
gitlab
repo
branch
deploy_on_push
build_command
output_dir
github
repo
branch
deploy_on_push
environment_slug
error_document
git
repo_clone_url
branch
dockerfile_path
source_dir
envs (array)
value
scope
type
key
routes (array)
path
preserve_path_prefix
name
workers (array)
git
repo_clone_url
branch
github
repo
branch
deploy_on_push
run_command
source_dir
image
registry_type
registry
repository
tag
deploy_on_push
enabled
environment_slug
instance_size_slug
log_destinations (array)
name
papertrail
endpoint
datadog
endpoint
api_key
logtail
token
gitlab
repo
branch
deploy_on_push
dockerfile_path
build_command
envs (array)
value
scope
type
key
instance_count
alerts (array)
rule
disabled
operator
value
window
name
View File
+31 -1
View File
@@ -1,4 +1,34 @@
use clap::{Parser, ValueEnum};
#[derive(Debug, Parser)]
#[command(author, version, about, long_about = None)]
/// Templater is a tool to help you get started quickly configuring cloud apps, libraries,
/// and frameworks.
struct Args {
/// run `templater list` to see all available options.
#[arg(value_enum)]
config: Config,
#[clap(short, long)]
/// whether or not to output in the current directory
output_file: bool,
}
#[derive(Debug, Copy, Clone, PartialEq, Eq, PartialOrd, Ord, ValueEnum)]
enum Config {
DigitalOceanApp,
Kubernetes,
}
fn main() { fn main() {
println!("Hello, world!"); let args = Args::parse();
match args.config {
Config::DigitalOceanApp => {
let config = std::fs::read_to_string("./src/configs/digitalocean_app_spec.yaml").unwrap();
println!("{}", config);
},
Config::Kubernetes => println!("lib2"),
_ => println!("please choose from the following"),
}
} }