generated from songquanpeng/gin-template
-
-
Notifications
You must be signed in to change notification settings - Fork 4.3k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
on-behalf-of: @org [email protected]
- Loading branch information
aliyun-computenest
committed
Oct 9, 2024
1 parent
a4c6ac8
commit 664f7ba
Showing
8 changed files
with
338 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
{"ServicePort":"80","SecurityPorts":[80],"RepoName":"hanans426/one-api","Arch":"EcsSingle","RunCommand":"echo \"start run command\"\necho \"${AdminPassword}\"\n","SourceCodePath":".","CommandTimeout":3600,"ServiceType":"private","AllowedRegions":["cn-hangzhou","cn-shanghai","cn-beijing"],"ArtifactSourceType":"SourceCode","ImageId":"centos_7_9_x64_20G_alibase_20230613.vhd","RegionId":"cn-hangzhou","CustomParameters":[{"NoEcho":true,"Type":"String","AssociationProperty":"ALIYUN::ECS::Instance::Password","Label":"管理员密码","Name":"AdminPassword"}]} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
# 代码仓库结构 | ||
|
||
## 文档目录说明: | ||
``` | ||
. | ||
├── README.md - README | ||
├── docs - 服务文档相关文件 | ||
│ └── index.md | ||
├── resources - 服务资源文件 | ||
│ ├── icons | ||
│ │ └── service_logo.png - 服务logo | ||
│ └── artifact_resources - 部署物相关资源文件 | ||
├── ros_templates - 服务ROS模板目录,支持多模板 | ||
│ └── template.yaml - ROS模板,ROS模板引擎根据该模板会自动创建出所有的资源 | ||
├── config.yaml - 服务配置文件,服务构建过程中会使用计算巢命令行工具computenest-cli,computenest-cli会基于该配置文件构建服务 | ||
├── preset_parameters.yaml - (该文件只有托管版有)服务商预设参数,如VpcId,VSwitchId等,该ros模板内容会渲染为表单方便服务商填写 | ||
``` | ||
|
||
## 其他 | ||
关于ROS模板,请参见 [资源编排](https://help.aliyun.com/zh/ros)。 | ||
关于computenest-cli请参见 [computenest-cli](https://pypi.org/project/computenest-cli/)。 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
Service: | ||
RegionId: cn-hangzhou | ||
DeployType: ros | ||
DeployMetadata: | ||
SupplierDeployMetadata: | ||
FileArtifactRelation: | ||
'{{ computenest::file::hanans426_one-api }}': | ||
ArtifactId: ${Artifact.Artifact_1.ArtifactId} | ||
ArtifactVersion: ${Artifact.Artifact_1.ArtifactVersion} | ||
TemplateConfigs: | ||
- Name: 单机版 | ||
Url: 'ros_templates/template.yaml' | ||
AllowedRegions: | ||
- cn-hangzhou | ||
- cn-shanghai | ||
- cn-beijing | ||
ServiceType: private | ||
ServiceInfo: | ||
Locale: zh-CN | ||
ShortDescription: demo | ||
Image: 'resources/icons/service_logo.png' | ||
Artifact: | ||
Artifact_1: | ||
ArtifactType: File | ||
ArtifactName: hanans426_one-api | ||
ArtifactProperty: | ||
RegionId: cn-hangzhou | ||
Url: 'resources/artifact_resources/file/hanans426_one-api.tar.gz' |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,70 @@ | ||
# 服务模板说明文档 | ||
|
||
## 服务说明 | ||
|
||
**简单描述服务的功能和用途。** | ||
例如: | ||
_(服务功能描述,如“WordPress 是一款免费开源的 CMS,适用于创建和管理各种类型的网站。”)_ | ||
|
||
_(服务快速上手链接或文档,如果有的话)_ | ||
|
||
## 服务架构 | ||
|
||
此服务模板构建出的服务的部署架构为单机ecs部署。 | ||
|
||
<img src="architecture_ecs_single.png" width="600" height="400" align="bottom"/> | ||
|
||
## 计费说明 | ||
通过此服务模板构建服务不产生费用。 | ||
用户部署构建出的服务时,资源费用主要涉及: | ||
- 所选ECS实例规格 | ||
- 磁盘容量 | ||
- 公网带宽 | ||
|
||
计费方式包括: | ||
- 按量付费(小时) | ||
- 包年包月 | ||
|
||
预估费用在部署前可实时看到。 | ||
|
||
## RAM账号所需权限 | ||
|
||
此服务模板构建出的服务需要对ECS、VPC等资源进行访问和创建操作,若使用RAM用户创建服务实例,需要在创建服务实例前,对使用的RAM用户的账号添加相应资源的权限。添加RAM权限的详细操作,请参见[为RAM用户授权](https://help.aliyun.com/document_detail/121945.html)。所需权限如下表所示: | ||
|
||
| 权限策略名称 | 备注 | | ||
|-------------------------------------|-------------------------------| | ||
| AliyunECSFullAccess | 管理云服务器服务(ECS)的权限 | | ||
| AliyunVPCFullAccess | 管理专有网络(VPC)的权限 | | ||
| AliyunROSFullAccess | 管理资源编排服务(ROS)的权限 | | ||
| AliyunComputeNestUserFullAccess | 管理计算巢服务(ComputeNest)的用户侧权限 | | ||
| AliyunComputeNestSupplierFullAccess | 管理计算巢服务(ComputeNest)的服务商侧权限 | | | ||
|
||
## 服务实例计费说明 | ||
|
||
**详细说明服务实例的计费方式。** | ||
_(描述费用构成,例如所选 vCPU 和内存规格,系统盘类型和容量等)_ | ||
|
||
_(列出计费方式,例如按量付费或包年包月)_ | ||
|
||
## 服务实例部署流程 | ||
|
||
### 部署参数说明 | ||
|
||
| 参数组 | 参数项 | 说明 | | ||
|---------------------------------|--------|-------------------------------------------------------------------------| | ||
| 服务实例 | 服务实例名称 | 长度不超过64个字符,必须以英文字母开头,可包含数字、英文字母、短划线(-)和下划线(_)。 | | ||
| | 地域 | 服务实例部署的地域。 | | ||
| | 付费类型 | 资源的计费类型:按量付费和包年包月。 | | ||
| ECS实例配置 | 实例类型 | ECS实例规格配置。 | | ||
| | 实例密码 | 长度8-30,必须包含三项(大写字母、小写字母、数字、 ()`~!@#$%^&*-+=|{}[]:;'<>,.?/ 中的特殊符号)。 | | ||
| 网络配置 | 可用区 | ECS实例所在可用区。 | | ||
|
||
### 部署步骤 | ||
|
||
**简述如何一步步部署服务实例。** | ||
|
||
1. _(步骤1描述和相关链接或图片,如果有的话)_ | ||
2. _(步骤2描述和相关链接或图片,如果有的话)_ | ||
... | ||
|
||
[部署链接](部署链接地址) |
Binary file added
BIN
+957 KB
.computenest/resources/artifact_resources/file/hanans426_one-api.tar.gz
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,218 @@ | ||
ROSTemplateFormatVersion: '2015-09-01' | ||
Description: | ||
en: Source Code Service Ros Template | ||
zh-cn: 源代码服务模板 | ||
Parameters: | ||
PayType: | ||
Type: String | ||
Label: | ||
en: ECS Instance Charge Type | ||
zh-cn: 付费类型 | ||
Default: PostPaid | ||
AllowedValues: | ||
- PostPaid | ||
- PrePaid | ||
AssociationProperty: ChargeType | ||
AssociationPropertyMetadata: | ||
LocaleKey: InstanceChargeType | ||
PayPeriodUnit: | ||
Type: String | ||
Label: | ||
en: Pay Period Unit | ||
zh-cn: 购买资源时长周期 | ||
Default: Month | ||
AllowedValues: | ||
- Month | ||
- Year | ||
AssociationProperty: PayPeriodUnit | ||
AssociationPropertyMetadata: | ||
Visible: | ||
Condition: | ||
Fn::Not: | ||
Fn::Equals: | ||
- ${PayType} | ||
- PostPaid | ||
PayPeriod: | ||
Type: Number | ||
Label: | ||
en: Period | ||
zh-cn: 购买资源时长 | ||
Default: 1 | ||
AllowedValues: | ||
- 1 | ||
- 2 | ||
- 3 | ||
- 4 | ||
- 5 | ||
- 6 | ||
- 7 | ||
- 8 | ||
- 9 | ||
AssociationProperty: PayPeriod | ||
AssociationPropertyMetadata: | ||
Visible: | ||
Condition: | ||
Fn::Not: | ||
Fn::Equals: | ||
- ${PayType} | ||
- PostPaid | ||
EcsInstanceType: | ||
Type: String | ||
Label: | ||
en: Instance Type | ||
zh-cn: 实例类型 | ||
AssociationProperty: ALIYUN::ECS::Instance::InstanceType | ||
AssociationPropertyMetadata: | ||
InstanceChargeType: ${PayType} | ||
Constraints: | ||
InstanceTypeFamily: | ||
- ecs.u1 | ||
- ecs.e | ||
InstancePassword: | ||
NoEcho: true | ||
Type: String | ||
Description: | ||
en: Server login password, Length 8-30, must contain three(Capital letters, lowercase letters, numbers, ()`~!@#$%^&*_-+=|{}[]:;'<>,.?/ Special symbol in) | ||
zh-cn: 服务器登录密码,长度8-30,必须包含三项(大写字母、小写字母、数字、 ()`~!@#$%^&*_-+=|{}[]:;'<>,.?/ 中的特殊符号) | ||
AllowedPattern: '^[a-zA-Z0-9-\(\)\`\~\!\@\#\$\%\^\&\*\_\-\+\=\|\{\}\[\]\:\;\<\>\,\.\?\/]*$' | ||
Label: | ||
en: Instance Password | ||
zh-cn: 实例密码 | ||
ConstraintDescription: | ||
en: Length 8-30, must contain three(Capital letters, lowercase letters, numbers, ()`~!@#$%^&*_-+=|{}[]:;'<>,.?/ Special symbol in) | ||
zh-cn: 长度8-30,必须包含三项(大写字母、小写字母、数字、 ()`~!@#$%^&*_-+=|{}[]:;'<>,.?/ 中的特殊符号) | ||
MinLength: 8 | ||
MaxLength: 30 | ||
AssociationProperty: ALIYUN::ECS::Instance::Password | ||
ZoneId: | ||
Type: String | ||
Label: | ||
en: Zone ID | ||
zh-cn: 可用区ID | ||
AssociationProperty: ALIYUN::ECS::Instance::ZoneId | ||
VpcId: | ||
Type: String | ||
Label: | ||
en: VPC ID | ||
zh-cn: 专有网络VPC实例ID | ||
AssociationProperty: 'ALIYUN::ECS::VPC::VPCId' | ||
VSwitchId: | ||
Type: String | ||
Label: | ||
en: VSwitch ID | ||
zh-cn: 交换机实例ID | ||
Default: '' | ||
AssociationProperty: 'ALIYUN::ECS::VSwitch::VSwitchId' | ||
AssociationPropertyMetadata: | ||
VpcId: VpcId | ||
ZoneId: ZoneId | ||
AdminPassword: | ||
Type: String | ||
AssociationProperty: ALIYUN::ECS::Instance::Password | ||
Label: 管理员密码 | ||
NoEcho: True | ||
Resources: | ||
SecurityGroup: | ||
Type: ALIYUN::ECS::SecurityGroup | ||
Properties: | ||
SecurityGroupName: | ||
Ref: ALIYUN::StackName | ||
VpcId: | ||
Ref: VpcId | ||
SecurityGroupIngress: | ||
- PortRange: 80/80 | ||
Priority: 1 | ||
SourceCidrIp: 0.0.0.0/0 | ||
IpProtocol: tcp | ||
NicType: internet | ||
InstanceGroup: | ||
Type: ALIYUN::ECS::InstanceGroup | ||
Properties: | ||
# 付费类型 | ||
InstanceChargeType: | ||
Ref: PayType | ||
PeriodUnit: | ||
Ref: PayPeriodUnit | ||
Period: | ||
Ref: PayPeriod | ||
VpcId: | ||
Ref: VpcId | ||
VSwitchId: | ||
Ref: VSwitchId | ||
ZoneId: | ||
Ref: ZoneId | ||
SecurityGroupId: | ||
Ref: SecurityGroup | ||
ImageId: centos_7_9_x64_20G_alibase_20230613.vhd | ||
Password: | ||
Ref: InstancePassword | ||
InstanceType: | ||
Ref: EcsInstanceType | ||
SystemDiskCategory: cloud_essd | ||
SystemDiskSize: 200 | ||
InternetMaxBandwidthOut: 5 | ||
IoOptimized: optimized | ||
MaxAmount: 1 | ||
RunInstallCommand: | ||
Type: ALIYUN::ECS::RunCommand | ||
Properties: | ||
InstanceIds: | ||
Fn::GetAtt: | ||
- InstanceGroup | ||
- InstanceIds | ||
Type: RunShellScript | ||
Sync: true | ||
Timeout: 3600 | ||
CommandContent: | ||
Fn::Sub: | ||
- | | ||
#!/bin/bash | ||
# 源代码通过computenest-cli被打包为tar.gz包,并发布为部署物 | ||
wget '{{ computenest::file::hanans426_one-api }}' -O hanans426_one-api.tar.gz > /var/log/download.log | ||
tar -zxvf hanans426_one-api.tar.gz && cd "$(tar -tzf hanans426_one-api.tar.gz | head -1 | awk -F'/' '{print $1}')" | ||
echo "start run command" | ||
echo "${AdminPassword}" | ||
ARGUS_VERSION=3.5.7 /bin/bash -c "$(curl -sS https://cms-agent-${RegionId}.oss-${RegionId}-internal.aliyuncs.com/Argus/agent_install_ecs-1.7.sh)" >> /root/install_cms_agent.log 2>&1 | ||
- RegionId: | ||
Ref: ALIYUN::Region | ||
Outputs: | ||
ServerAddress: | ||
Description: | ||
en: ServerAddress. | ||
zh-cn: 访问页面。 | ||
Value: | ||
Fn::Sub: | ||
- 'http://${ServerAddress}:80' | ||
- ServerAddress: | ||
Fn::Select: | ||
- 0 | ||
- Fn::GetAtt: | ||
- InstanceGroup | ||
- PublicIps | ||
Metadata: | ||
ALIYUN::ROS::Interface: | ||
ParameterGroups: | ||
- Parameters: | ||
- PayType | ||
- PayPeriodUnit | ||
- PayPeriod | ||
Label: | ||
default: 付费类型配置 | ||
- Parameters: | ||
- EcsInstanceType | ||
- InstancePassword | ||
Label: | ||
default: 资源配置 | ||
- Parameters: | ||
- ZoneId | ||
- VpcId | ||
- VSwitchId | ||
Label: | ||
default: 可用区配置 | ||
- Parameters: | ||
- AdminPassword | ||
Label: | ||
en: Software Configuration | ||
zh-cn: 软件配置 | ||
|