-
-
Notifications
You must be signed in to change notification settings - Fork 10.2k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat(scripts): use bash to call openapi (#3980)
* feat(scripts): use bash to call openapi * add Copyright to header of .sh file * Update CHANGES.md * Update CHANGES.md * feat(scripts): openapi create namespace * refactor: change name to hump naming * 添加中文说明 * change argument's order * feat: create item * feat: item update * feat: delete item * feat: release namespace * docs: shell scripts call open-api
- Loading branch information
Showing
5 changed files
with
469 additions
and
5 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 |
---|---|---|
@@ -1 +1,2 @@ | ||
text=auto | ||
text=auto | ||
*.sh text eol=lf |
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
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
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,111 @@ | ||
#!/bin/bash | ||
# | ||
# Copyright 2021 Apollo Authors | ||
# | ||
# Licensed under the Apache License, Version 2.0 (the "License"); | ||
# you may not use this file except in compliance with the License. | ||
# You may obtain a copy of the License at | ||
# | ||
# http://www.apache.org/licenses/LICENSE-2.0 | ||
# | ||
# Unless required by applicable law or agreed to in writing, software | ||
# distributed under the License is distributed on an "AS IS" BASIS, | ||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
# See the License for the specific language governing permissions and | ||
# limitations under the License. | ||
# | ||
|
||
# title openapi-usage-example.sh | ||
# description show how to use openapi.sh | ||
# author wxq | ||
# date 2021-09-12 | ||
# Chinese reference website https://www.apolloconfig.com/#/zh/usage/apollo-open-api-platform | ||
# English reference website https://www.apolloconfig.com/#/en/usage/apollo-open-api-platform | ||
|
||
# export global varialbes | ||
export APOLLO_PORTAL_ADDRESS=http://106.54.227.205 | ||
export APOLLO_OPENAPI_TOKEN=284fe833cbaeecf2764801aa73965080b184fc88 | ||
export CURL_OPTIONS="" | ||
# load functions | ||
source openapi.sh | ||
|
||
# set up global environment variable | ||
APOLLO_APP_ID=openapi | ||
APOLLO_ENV=DEV | ||
APOLLO_CLUSTER=default | ||
APOLLO_USER=apollo | ||
|
||
####################################### cluster ####################################### | ||
# get cluster | ||
printf "get cluster: env = '%s', app id = '%s', cluster = '%s'\n" ${APOLLO_ENV} ${APOLLO_APP_ID} ${APOLLO_CLUSTER} | ||
cluster_get ${APOLLO_ENV} ${APOLLO_APP_ID} ${APOLLO_CLUSTER} | ||
printf "\n\n" | ||
|
||
# create cluster. To forbid cluster xxx already exists, add timestamp to suffix | ||
temp_apollo_cluster="cluster-$(date +%s)" | ||
printf "create cluster: env = '%s', app id = '%s', cluster = '%s'\n" ${APOLLO_ENV} ${APOLLO_APP_ID} ${temp_apollo_cluster} | ||
cluster_create ${APOLLO_ENV} ${APOLLO_APP_ID} ${temp_apollo_cluster} ${APOLLO_USER} | ||
printf "\n\n" | ||
####################################### end of cluster ####################################### | ||
|
||
####################################### namespace ####################################### | ||
# create namespace | ||
temp_namespace_name="application-123" | ||
temp_namespace_format=yaml | ||
echo "create namespace: namespace name = '${temp_namespace_name}', app id = '${APOLLO_APP_ID}', format = '${temp_namespace_format}'" | ||
namespace_create ${APOLLO_APP_ID} ${temp_namespace_name} ${temp_format} false 'create by openapi, bash scripts' ${APOLLO_USER} | ||
printf "\n\n" | ||
####################################### end of namespace ####################################### | ||
|
||
####################################### item ####################################### | ||
# create an item, i.e a key value pair | ||
temp_item_key="openapi-usage-create-item-key-$(date +%s)" | ||
temp_item_value="openapi-usage-create-item-value-$(date +%s)" | ||
echo -e "create item: app id = ${APOLLO_APP_ID} env = ${APOLLO_ENV} key = ${temp_item_key} value = ${temp_item_value}" | ||
item_create ${APOLLO_ENV} ${APOLLO_APP_ID} default application ${temp_item_key} ${temp_item_value} "openapi-create-item" ${APOLLO_USER} | ||
printf "\n\n" | ||
|
||
# update an item | ||
echo "show update failed when item key not exists" | ||
sleep 1 | ||
temp_item_key="openapi-usage-update-item-key-$(date +%s)" | ||
temp_item_value="openapi-usage-update-item-value-$(date +%s)" | ||
item_update ${APOLLO_ENV} ${APOLLO_APP_ID} default application ${temp_item_key} ${temp_item_value} "openapi-update-item" ${APOLLO_USER} | ||
printf "\n\n" | ||
|
||
echo "show after created, update success" | ||
item_create ${APOLLO_ENV} ${APOLLO_APP_ID} default application ${temp_item_key} ${temp_item_value} "openapi-create-item" ${APOLLO_USER} | ||
temp_item_value="item-update-success" | ||
printf "\n" | ||
item_update ${APOLLO_ENV} ${APOLLO_APP_ID} default application ${temp_item_key} ${temp_item_value} "openapi-update-item" ${APOLLO_USER} | ||
printf "\n\n" | ||
|
||
echo "show Update an item of a namespace, if item doesn's exist, create it" | ||
sleep 1 | ||
temp_item_key="openapi-usage-item_update_create_if_not_exists-key-$(date +%s)" | ||
temp_item_value="openapi-usage-item_update_create_if_not_exists-value-$(date +%s)" | ||
echo "create it, key = '${temp_item_key}' value = '${temp_item_value}'" | ||
item_update_create_if_not_exists ${APOLLO_ENV} ${APOLLO_APP_ID} default application ${temp_item_key} ${temp_item_value} "openapi-update-item" ${APOLLO_USER} ${APOLLO_USER} | ||
temp_item_value="openapi-value-of-item_update_create_if_not_exists" | ||
echo "update it, key = '${temp_item_key}' value = '${temp_item_value}'" | ||
item_update_create_if_not_exists ${APOLLO_ENV} ${APOLLO_APP_ID} default application ${temp_item_key} ${temp_item_value} "openapi-update-item" ${APOLLO_USER} ${APOLLO_USER} | ||
printf "\n\n" | ||
|
||
echo "show delete item failed" | ||
item_delete ${APOLLO_ENV} ${APOLLO_APP_ID} default application "key-be-deleted" ${APOLLO_USER} | ||
printf "\nshow delete item success\n" | ||
item_delete ${APOLLO_ENV} ${APOLLO_APP_ID} default application ${temp_item_key} ${APOLLO_USER} | ||
printf "\n\n" | ||
####################################### end of item ####################################### | ||
|
||
####################################### namespace release ####################################### | ||
temp_namespace_name="application-$(date +%s)" | ||
temp_namespace_format=properties | ||
echo -e "create namespace: namespace name = '${temp_namespace_name}', app id = '${APOLLO_APP_ID}', format = '${temp_namespace_format}'" | ||
namespace_create ${APOLLO_APP_ID} ${temp_namespace_name} ${temp_namespace_format} false 'create by openapi, bash scripts for release' ${APOLLO_USER} | ||
echo -e "\ncreate or update an item '${temp_item_key}'='${temp_item_value}'" | ||
item_update_create_if_not_exists ${APOLLO_ENV} ${APOLLO_APP_ID} default ${temp_namespace_name} ${temp_item_key} ${temp_item_value} "openapi-update-item" ${APOLLO_USER} ${APOLLO_USER} | ||
echo -e "\nrelease namespace: '${temp_namespace_name}'" | ||
namespace_release ${APOLLO_ENV} ${APOLLO_APP_ID} ${APOLLO_CLUSTER} ${temp_namespace_name} 'releaseTitle-openapi-2021-01-01' 'releaseComment-openapi' ${APOLLO_USER} | ||
printf "\n\n" | ||
####################################### end of namespace release ####################################### |
Oops, something went wrong.