├── .gitattributes
├── .gitignore
├── LICENSE
├── README.md
├── microservices
├── ace_agent
│ ├── 4.0
│ │ ├── README.md
│ │ ├── clients
│ │ │ ├── chat_client
│ │ │ │ ├── chat_client.py
│ │ │ │ └── requirements.txt
│ │ │ ├── event_client
│ │ │ │ ├── event_client.py
│ │ │ │ ├── requirements.txt
│ │ │ │ └── style.css
│ │ │ └── speech_client
│ │ │ │ ├── requirements.txt
│ │ │ │ ├── setup.sh
│ │ │ │ └── speech_client.py
│ │ ├── deploy
│ │ │ ├── docker
│ │ │ │ ├── .env
│ │ │ │ ├── docker-compose.yml
│ │ │ │ ├── docker_init.sh
│ │ │ │ └── dockerfiles
│ │ │ │ │ ├── chat_engine.Dockerfile
│ │ │ │ │ ├── nlp_server.Dockerfile
│ │ │ │ │ └── plugin_server.Dockerfile
│ │ │ ├── ucs_apps
│ │ │ │ ├── chat_bot
│ │ │ │ │ ├── food_ordering_bot
│ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ ├── app-params.yaml
│ │ │ │ │ │ └── app.yaml
│ │ │ │ │ ├── rag_bot
│ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ ├── app-params.yaml
│ │ │ │ │ │ └── app.yaml
│ │ │ │ │ └── stock_bot
│ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ ├── app-params.yaml
│ │ │ │ │ │ └── app.yaml
│ │ │ │ └── speech_bot
│ │ │ │ │ ├── colang2_sample_bot
│ │ │ │ │ ├── README.md
│ │ │ │ │ ├── app-params.yaml
│ │ │ │ │ └── app.yaml
│ │ │ │ │ ├── ddg_langchain_bot
│ │ │ │ │ ├── README.md
│ │ │ │ │ ├── app-params.yaml
│ │ │ │ │ └── app.yaml
│ │ │ │ │ ├── food_ordering_bot
│ │ │ │ │ ├── README.md
│ │ │ │ │ ├── app-params.yaml
│ │ │ │ │ └── app.yaml
│ │ │ │ │ ├── npc_bots
│ │ │ │ │ ├── README.md
│ │ │ │ │ ├── app-params.yaml
│ │ │ │ │ └── app.yaml
│ │ │ │ │ ├── rag_bot
│ │ │ │ │ ├── README.md
│ │ │ │ │ ├── app-params.yaml
│ │ │ │ │ └── app.yaml
│ │ │ │ │ └── stock_bot
│ │ │ │ │ ├── README.md
│ │ │ │ │ ├── app-params.yaml
│ │ │ │ │ └── app.yaml
│ │ │ └── wheel
│ │ │ │ └── aceagent-4.0.0-py3-none-any.whl
│ │ ├── openapi
│ │ │ ├── chat_engine_openapi.json
│ │ │ ├── nlp_server_openapi.json
│ │ │ └── plugin_server_openapi.json
│ │ ├── proto
│ │ │ └── ace_agent.proto
│ │ └── samples
│ │ │ ├── chitchat_bot
│ │ │ ├── chitchat_bot_config.yml
│ │ │ ├── colang
│ │ │ │ ├── bot.co
│ │ │ │ ├── fallback.co
│ │ │ │ ├── flows.co
│ │ │ │ └── user.co
│ │ │ ├── model_config.yaml
│ │ │ └── speech_config.yaml
│ │ │ ├── colang_2_sample_bot
│ │ │ ├── actions.py
│ │ │ ├── colang
│ │ │ │ ├── ccl_simple_chat.co
│ │ │ │ └── main.co
│ │ │ ├── colang_2_sample_bot_config.yml
│ │ │ ├── model_config.yaml
│ │ │ └── speech_config.yaml
│ │ │ ├── ddg_langchain_bot
│ │ │ ├── model_config.yaml
│ │ │ ├── plugin_config.yaml
│ │ │ ├── plugins
│ │ │ │ ├── langchain_agent.py
│ │ │ │ ├── requirements_dev.txt
│ │ │ │ └── schemas.py
│ │ │ └── speech_config.yaml
│ │ │ ├── event_interface_tutorial_bot
│ │ │ ├── colang
│ │ │ │ ├── ccl.co
│ │ │ │ └── main.co
│ │ │ ├── event_interface_tutorial_bot_config.yml
│ │ │ └── speech_config.yaml
│ │ │ ├── food_ordering_bot
│ │ │ ├── colang
│ │ │ │ ├── cart.co
│ │ │ │ ├── events.co
│ │ │ │ ├── fallback.co
│ │ │ │ ├── general.co
│ │ │ │ ├── order.co
│ │ │ │ └── query_menu.co
│ │ │ ├── food_ordering_bot_config.yaml
│ │ │ ├── model_config.yaml
│ │ │ ├── plugin
│ │ │ │ ├── __init__.py
│ │ │ │ ├── all_gtc_items_with_diff_sizes_v3.json
│ │ │ │ ├── cart_manager.py
│ │ │ │ ├── data_format.py
│ │ │ │ ├── menu_api.py
│ │ │ │ ├── order_food.py
│ │ │ │ └── requirements.txt
│ │ │ ├── plugin_config.yaml
│ │ │ ├── slots.yaml
│ │ │ └── speech_config.yaml
│ │ │ ├── npc_bots
│ │ │ ├── elara
│ │ │ │ ├── bot_config.yaml
│ │ │ │ └── flows.co
│ │ │ ├── jin
│ │ │ │ ├── bot_config.yaml
│ │ │ │ └── flows.co
│ │ │ ├── model_config.yaml
│ │ │ ├── plugin_config.yaml
│ │ │ ├── plugins
│ │ │ │ └── prompt_former.py
│ │ │ └── speech_config.yaml
│ │ │ ├── nv_langchain_bot
│ │ │ ├── docker-compose-milvus.yml
│ │ │ ├── flows.co
│ │ │ ├── langchain_bot_config.yml
│ │ │ ├── plugin_config.yaml
│ │ │ └── plugins
│ │ │ │ ├── ingest.py
│ │ │ │ ├── nv_langchain_rag.py
│ │ │ │ └── requirements_dev.txt
│ │ │ ├── plan_and_execute
│ │ │ ├── flows.co
│ │ │ ├── langgraph_bot_config.yaml
│ │ │ ├── model_config.yaml
│ │ │ ├── plugin
│ │ │ │ ├── plan_and_execute.py
│ │ │ │ ├── requirements_dev.txt
│ │ │ │ └── schemas.py
│ │ │ ├── plugin_config.yaml
│ │ │ └── speech_config.yaml
│ │ │ ├── rag_bot
│ │ │ ├── flows.co
│ │ │ ├── model_config.yaml
│ │ │ ├── plugin_config.yaml
│ │ │ ├── plugins
│ │ │ │ ├── rag.py
│ │ │ │ └── schemas.py
│ │ │ ├── rag_bot_config.yml
│ │ │ └── speech_config.yaml
│ │ │ ├── spanish_bot_nmt
│ │ │ ├── colang
│ │ │ │ ├── date.co
│ │ │ │ ├── general.co
│ │ │ │ ├── open_domain.co
│ │ │ │ └── weather.co
│ │ │ ├── model_config.yaml
│ │ │ ├── plugin_config.yaml
│ │ │ └── spanish_bot_nmt.yml
│ │ │ ├── stock_bot
│ │ │ ├── cmudict_ipa.txt
│ │ │ ├── colang
│ │ │ │ ├── contextual_query.co
│ │ │ │ ├── fallback.co
│ │ │ │ ├── general.co
│ │ │ │ ├── off_topic.co
│ │ │ │ ├── profanity_rail.co
│ │ │ │ ├── stock_faq.co
│ │ │ │ └── stock_price.co
│ │ │ ├── kb
│ │ │ │ └── stock_faq.md
│ │ │ ├── model_config.yaml
│ │ │ ├── plugin_config.yaml
│ │ │ ├── plugins
│ │ │ │ └── yahoo_fin.py
│ │ │ ├── speech_config.yaml
│ │ │ └── stock_bot_config.yml
│ │ │ └── training
│ │ │ ├── pipeline_intent_slot.yaml
│ │ │ ├── pipeline_ner.yaml
│ │ │ └── pipeline_text_classification.yaml
│ └── 4.1
│ │ ├── README.md
│ │ ├── clients
│ │ ├── chat_client
│ │ │ ├── chat_client.py
│ │ │ └── requirements.txt
│ │ ├── event_client
│ │ │ ├── event_client.py
│ │ │ ├── requirements.txt
│ │ │ └── style.css
│ │ └── speech_client
│ │ │ ├── requirements.txt
│ │ │ ├── setup.sh
│ │ │ └── speech_client.py
│ │ ├── deploy
│ │ ├── docker
│ │ │ ├── .env
│ │ │ ├── docker-compose.yml
│ │ │ ├── docker_init.sh
│ │ │ └── dockerfiles
│ │ │ │ ├── chat_engine.Dockerfile
│ │ │ │ ├── nlp_server.Dockerfile
│ │ │ │ └── plugin_server.Dockerfile
│ │ ├── ucs_apps
│ │ │ ├── chat_bot
│ │ │ │ ├── food_ordering_bot
│ │ │ │ │ ├── README.md
│ │ │ │ │ ├── app-params.yaml
│ │ │ │ │ └── app.yaml
│ │ │ │ ├── llm_bot
│ │ │ │ │ ├── README.md
│ │ │ │ │ ├── app-params.yaml
│ │ │ │ │ └── app.yaml
│ │ │ │ ├── rag_bot
│ │ │ │ │ ├── README.md
│ │ │ │ │ ├── app-params.yaml
│ │ │ │ │ └── app.yaml
│ │ │ │ └── stock_bot
│ │ │ │ │ ├── README.md
│ │ │ │ │ ├── app-params.yaml
│ │ │ │ │ └── app.yaml
│ │ │ └── speech_bot
│ │ │ │ ├── ddg_langchain_bot
│ │ │ │ ├── README.md
│ │ │ │ ├── app-params.yaml
│ │ │ │ └── app.yaml
│ │ │ │ ├── food_ordering_bot
│ │ │ │ ├── README.md
│ │ │ │ ├── app-params.yaml
│ │ │ │ └── app.yaml
│ │ │ │ ├── llm_bot
│ │ │ │ ├── README.md
│ │ │ │ ├── app-params.yaml
│ │ │ │ └── app.yaml
│ │ │ │ ├── npc_bots
│ │ │ │ ├── README.md
│ │ │ │ ├── app-params.yaml
│ │ │ │ └── app.yaml
│ │ │ │ ├── rag_bot
│ │ │ │ ├── README.md
│ │ │ │ ├── app-params.yaml
│ │ │ │ └── app.yaml
│ │ │ │ └── stock_bot
│ │ │ │ ├── README.md
│ │ │ │ ├── app-params.yaml
│ │ │ │ └── app.yaml
│ │ └── wheel
│ │ │ └── aceagent-4.1.0-py3-none-any.whl
│ │ ├── openapi
│ │ ├── chat_engine_openapi.json
│ │ ├── nlp_server_openapi.json
│ │ └── plugin_server_openapi.json
│ │ ├── proto
│ │ └── ace_agent.proto
│ │ ├── samples
│ │ ├── chitchat_bot
│ │ │ ├── README.md
│ │ │ ├── chitchat_bot_config.yml
│ │ │ ├── colang
│ │ │ │ └── main.co
│ │ │ ├── model_config.yaml
│ │ │ └── speech_config.yaml
│ │ ├── colang_1.0
│ │ │ ├── chitchat_bot
│ │ │ │ ├── README.md
│ │ │ │ ├── chitchat_bot_config.yml
│ │ │ │ ├── colang
│ │ │ │ │ ├── bot.co
│ │ │ │ │ ├── fallback.co
│ │ │ │ │ ├── flows.co
│ │ │ │ │ └── user.co
│ │ │ │ ├── model_config.yaml
│ │ │ │ └── speech_config.yaml
│ │ │ ├── npc_bots
│ │ │ │ ├── README.md
│ │ │ │ ├── elara
│ │ │ │ │ ├── bot_config.yaml
│ │ │ │ │ └── flows.co
│ │ │ │ ├── jin
│ │ │ │ │ ├── bot_config.yaml
│ │ │ │ │ └── flows.co
│ │ │ │ ├── model_config.yaml
│ │ │ │ ├── plugin_config.yaml
│ │ │ │ ├── plugins
│ │ │ │ │ └── prompt_former.py
│ │ │ │ └── speech_config.yaml
│ │ │ ├── rag_bot
│ │ │ │ ├── README.md
│ │ │ │ ├── flows.co
│ │ │ │ ├── model_config.yaml
│ │ │ │ ├── plugin_config.yaml
│ │ │ │ ├── plugins
│ │ │ │ │ ├── rag.py
│ │ │ │ │ └── schemas.py
│ │ │ │ ├── rag_bot_config.yml
│ │ │ │ └── speech_config.yaml
│ │ │ ├── spanish_bot_nmt
│ │ │ │ ├── README.md
│ │ │ │ ├── colang
│ │ │ │ │ ├── date.co
│ │ │ │ │ ├── general.co
│ │ │ │ │ ├── open_domain.co
│ │ │ │ │ └── weather.co
│ │ │ │ ├── model_config.yaml
│ │ │ │ ├── plugin_config.yaml
│ │ │ │ └── spanish_bot_nmt.yml
│ │ │ └── stock_bot
│ │ │ │ ├── README.md
│ │ │ │ ├── cmudict_ipa.txt
│ │ │ │ ├── colang
│ │ │ │ ├── contextual_query.co
│ │ │ │ ├── fallback.co
│ │ │ │ ├── general.co
│ │ │ │ ├── off_topic.co
│ │ │ │ ├── profanity_rail.co
│ │ │ │ ├── stock_faq.co
│ │ │ │ └── stock_price.co
│ │ │ │ ├── kb
│ │ │ │ └── stock_faq.md
│ │ │ │ ├── model_config.yaml
│ │ │ │ ├── plugin_config.yaml
│ │ │ │ ├── plugins
│ │ │ │ └── yahoo_fin.py
│ │ │ │ ├── speech_config.yaml
│ │ │ │ └── stock_bot_config.yml
│ │ ├── ddg_langchain_bot
│ │ │ ├── README.md
│ │ │ ├── model_config.yaml
│ │ │ ├── plugin_config.yaml
│ │ │ ├── plugins
│ │ │ │ ├── langchain_agent.py
│ │ │ │ ├── requirements_dev.txt
│ │ │ │ └── schemas.py
│ │ │ └── speech_config.yaml
│ │ ├── event_interface_tutorial_bot
│ │ │ ├── README.md
│ │ │ ├── speech_config.yaml
│ │ │ ├── step_0
│ │ │ │ ├── bot_config.yml
│ │ │ │ └── main.co
│ │ │ ├── step_1
│ │ │ │ ├── bot_config.yml
│ │ │ │ └── main.co
│ │ │ ├── step_2
│ │ │ │ ├── bot_config.yml
│ │ │ │ └── main.co
│ │ │ ├── step_3
│ │ │ │ ├── bot_config.yml
│ │ │ │ └── main.co
│ │ │ ├── step_4
│ │ │ │ ├── bot_config.yml
│ │ │ │ └── main.co
│ │ │ ├── step_5
│ │ │ │ ├── bot_config.yml
│ │ │ │ └── main.co
│ │ │ ├── step_6
│ │ │ │ ├── actions.py
│ │ │ │ ├── bot_config.yml
│ │ │ │ └── main.co
│ │ │ └── step_7
│ │ │ │ ├── bot_config.yml
│ │ │ │ ├── main.co
│ │ │ │ ├── plugin
│ │ │ │ └── yahoo_fin.py
│ │ │ │ └── plugin_config.yaml
│ │ ├── food_ordering_bot
│ │ │ ├── README.md
│ │ │ ├── colang
│ │ │ │ ├── bug_fix.co
│ │ │ │ ├── cart.co
│ │ │ │ ├── general.co
│ │ │ │ ├── main.co
│ │ │ │ ├── order.co
│ │ │ │ └── query_menu.co
│ │ │ ├── food_ordering_bot_config.yaml
│ │ │ ├── model_config.yaml
│ │ │ ├── plugin
│ │ │ │ ├── __init__.py
│ │ │ │ ├── all_gtc_items_with_diff_sizes_v3.json
│ │ │ │ ├── cart_manager.py
│ │ │ │ ├── data_format.py
│ │ │ │ ├── menu_api.py
│ │ │ │ ├── order_food.py
│ │ │ │ └── requirements.txt
│ │ │ ├── plugin_config.yaml
│ │ │ ├── slots.yaml
│ │ │ └── speech_config.yaml
│ │ ├── langgraph_plan_and_execute
│ │ │ ├── README.md
│ │ │ ├── langgraph_bot_config.yaml
│ │ │ ├── main.co
│ │ │ ├── model_config.yaml
│ │ │ ├── plugin
│ │ │ │ ├── plan_and_execute.py
│ │ │ │ ├── requirements_dev.txt
│ │ │ │ └── schemas.py
│ │ │ ├── plugin_config.yaml
│ │ │ └── speech_config.yaml
│ │ ├── llm_bot
│ │ │ ├── actions.py
│ │ │ ├── colang
│ │ │ │ ├── main.co
│ │ │ │ └── speech.co
│ │ │ ├── docker-compose-nim-ms.yaml
│ │ │ ├── llm_bot_config.yml
│ │ │ ├── model_config.yaml
│ │ │ └── speech_config.yaml
│ │ ├── npc_bots
│ │ │ ├── README.md
│ │ │ ├── elara
│ │ │ │ ├── actions.py
│ │ │ │ ├── bot_config.yaml
│ │ │ │ ├── colang
│ │ │ │ │ ├── bug_fix.co
│ │ │ │ │ ├── elara.co
│ │ │ │ │ └── speech.co
│ │ │ │ ├── model_config.yaml
│ │ │ │ ├── plugin_config.yaml
│ │ │ │ └── speech_config.yaml
│ │ │ ├── jin
│ │ │ │ ├── actions.py
│ │ │ │ ├── bot_config.yaml
│ │ │ │ ├── colang
│ │ │ │ │ ├── bug_fix.co
│ │ │ │ │ ├── jin.co
│ │ │ │ │ └── speech.co
│ │ │ │ ├── model_config.yaml
│ │ │ │ ├── plugin_config.yaml
│ │ │ │ └── speech_config.yaml
│ │ │ └── plugins
│ │ │ │ ├── prompt_former.py
│ │ │ │ ├── requirements.txt
│ │ │ │ ├── schemas.py
│ │ │ │ └── slm_responder.py
│ │ ├── rag_bot
│ │ │ ├── RAG
│ │ │ │ ├── basic_rag
│ │ │ │ │ ├── docker-compose.yaml
│ │ │ │ │ └── prompt.yaml
│ │ │ │ ├── docker-compose-nim-ms.yaml
│ │ │ │ ├── docker-compose-vectordb.yaml
│ │ │ │ └── slm_rag
│ │ │ │ │ ├── docker-compose.yaml
│ │ │ │ │ └── prompt.yaml
│ │ │ ├── README.md
│ │ │ ├── actions.py
│ │ │ ├── colang
│ │ │ │ ├── main.co
│ │ │ │ └── speech.co
│ │ │ ├── model_config.yaml
│ │ │ ├── plugin_config.yaml
│ │ │ ├── plugins
│ │ │ │ ├── rag.py
│ │ │ │ ├── schemas.py
│ │ │ │ └── utils.py
│ │ │ ├── rag_bot_config.yml
│ │ │ └── speech_config.yaml
│ │ ├── spanish_bot
│ │ │ ├── README.md
│ │ │ ├── colang
│ │ │ │ ├── bug_fix.co
│ │ │ │ ├── date.co
│ │ │ │ ├── general.co
│ │ │ │ ├── main.co
│ │ │ │ ├── off_topic.co
│ │ │ │ ├── open_domain.co
│ │ │ │ └── weather.co
│ │ │ ├── plugin_config.yaml
│ │ │ └── spanish_bot_config.yaml
│ │ ├── spanish_bot_nmt
│ │ │ ├── README.md
│ │ │ ├── colang
│ │ │ │ ├── bug_fix.co
│ │ │ │ ├── date.co
│ │ │ │ ├── general.co
│ │ │ │ ├── main.co
│ │ │ │ ├── off_topic.co
│ │ │ │ ├── open_domain.co
│ │ │ │ └── weather.co
│ │ │ ├── model_config.yaml
│ │ │ ├── plugin_config.yaml
│ │ │ └── spanish_nmt_bot_config.yaml
│ │ ├── stock_bot
│ │ │ ├── README.md
│ │ │ ├── cmudict_ipa.txt
│ │ │ ├── colang
│ │ │ │ ├── bug_fix.co
│ │ │ │ ├── general.co
│ │ │ │ ├── main.co
│ │ │ │ ├── off_topic.co
│ │ │ │ ├── profanity_rail.co
│ │ │ │ ├── stock_faq.co
│ │ │ │ └── stock_price.co
│ │ │ ├── kb
│ │ │ │ └── stock_faq.md
│ │ │ ├── model_config.yaml
│ │ │ ├── plugin_config.yaml
│ │ │ ├── plugins
│ │ │ │ └── yahoo_fin.py
│ │ │ ├── speech_config.yaml
│ │ │ └── stock_bot_config.yml
│ │ └── training
│ │ │ ├── pipeline_intent_slot.yaml
│ │ │ ├── pipeline_ner.yaml
│ │ │ └── pipeline_text_classification.yaml
│ │ └── webui
│ │ ├── README.md
│ │ ├── client
│ │ ├── .eslintrc.cjs
│ │ ├── .yarnrc.yml
│ │ ├── entrypoint.js
│ │ ├── index.html
│ │ ├── package.json
│ │ ├── public
│ │ │ └── env.js
│ │ ├── src
│ │ │ ├── components
│ │ │ │ ├── App
│ │ │ │ │ ├── index.css
│ │ │ │ │ └── index.tsx
│ │ │ │ ├── AppHeader
│ │ │ │ │ ├── index.css
│ │ │ │ │ └── index.tsx
│ │ │ │ ├── BotFace
│ │ │ │ │ ├── index.css
│ │ │ │ │ └── index.tsx
│ │ │ │ ├── ConversationHistory
│ │ │ │ │ ├── index.css
│ │ │ │ │ └── index.tsx
│ │ │ │ ├── ConversationMessage
│ │ │ │ │ ├── index.css
│ │ │ │ │ └── index.tsx
│ │ │ │ ├── Loading
│ │ │ │ │ ├── index.css
│ │ │ │ │ └── index.tsx
│ │ │ │ ├── TextInput
│ │ │ │ │ ├── index.css
│ │ │ │ │ └── index.tsx
│ │ │ │ ├── ToastNotices
│ │ │ │ │ ├── index.css
│ │ │ │ │ └── index.tsx
│ │ │ │ ├── Toggle
│ │ │ │ │ ├── index.css
│ │ │ │ │ └── index.tsx
│ │ │ │ ├── UserSpeechInput
│ │ │ │ │ ├── index.css
│ │ │ │ │ └── index.tsx
│ │ │ │ └── UserTextInput
│ │ │ │ │ ├── index.css
│ │ │ │ │ └── index.tsx
│ │ │ ├── index.css
│ │ │ ├── main.tsx
│ │ │ ├── utils
│ │ │ │ ├── audio-contexts.ts
│ │ │ │ ├── linear-pcm-processor.worklet.js
│ │ │ │ ├── useAudioPlayer.ts
│ │ │ │ ├── useMicrophone.ts
│ │ │ │ ├── useRealTimeVolume.ts
│ │ │ │ ├── useRequestAnimationFrame.ts
│ │ │ │ ├── useRerender.ts
│ │ │ │ ├── useServerState.ts
│ │ │ │ └── useToastNotices.ts
│ │ │ └── vite-env.d.ts
│ │ ├── tsconfig.json
│ │ ├── tsconfig.node.json
│ │ ├── vite.config.ts
│ │ └── yarn.lock
│ │ ├── docker-compose.yml
│ │ ├── images
│ │ ├── architecture_audio.png
│ │ ├── architecture_bot_audio.png
│ │ ├── architecture_high_level.png
│ │ ├── example_task.png
│ │ ├── image.png
│ │ ├── screenshot_emoji_speech.png
│ │ ├── screenshot_emoji_text.png
│ │ ├── screenshot_speech.png
│ │ └── tasks.png
│ │ ├── server
│ │ ├── .yarnrc.yml
│ │ ├── chat-session
│ │ │ ├── clients
│ │ │ │ ├── GRPCClient.ts
│ │ │ │ ├── HTTPClient.ts
│ │ │ │ └── RedisClient.ts
│ │ │ ├── logger.ts
│ │ │ └── tasks
│ │ │ │ ├── AbstractTask.ts
│ │ │ │ ├── ChatSessionTask.ts
│ │ │ │ ├── GRPCSpeechTask.test.ts
│ │ │ │ ├── GRPCSpeechTask.ts
│ │ │ │ ├── GRPCSpeechTranscriptionTask.test.ts
│ │ │ │ ├── GRPCSpeechTranscriptionTask.ts
│ │ │ │ ├── GRPCTextTask.ts
│ │ │ │ ├── HTTPChatTask.ts
│ │ │ │ ├── UMIMTask.ts
│ │ │ │ ├── WebSocketTask.test.ts
│ │ │ │ └── WebSocketTask.ts
│ │ ├── config.ts
│ │ ├── data
│ │ │ └── emojis-all.json
│ │ ├── emoji-finder
│ │ │ ├── index.test.ts
│ │ │ └── index.ts
│ │ ├── grpc
│ │ │ ├── ace_agent.proto
│ │ │ ├── buf.gen.yaml
│ │ │ └── gen
│ │ │ │ ├── ace_agent_connect.d.ts
│ │ │ │ ├── ace_agent_connect.js
│ │ │ │ ├── ace_agent_pb.d.ts
│ │ │ │ └── ace_agent_pb.js
│ │ ├── index.ts
│ │ ├── package.json
│ │ ├── tsconfig.json
│ │ ├── umim
│ │ │ └── umim.ts
│ │ ├── utils
│ │ │ ├── sleep.ts
│ │ │ └── waitAbortSignal.ts
│ │ └── yarn.lock
│ │ └── shared
│ │ ├── package.json
│ │ └── types.ts
└── audio_2_face_microservice
│ ├── 1.0
│ ├── README.md
│ ├── example_audio
│ │ ├── Claire_anger.wav
│ │ ├── Claire_joy_mandarin.wav
│ │ ├── Claire_neutral.wav
│ │ ├── Claire_outofbreath_mandarin.wav
│ │ ├── Claire_sadness.wav
│ │ ├── Mark_anger.wav
│ │ ├── Mark_joy.wav
│ │ ├── Mark_neutral.wav
│ │ ├── Mark_outofbreath.wav
│ │ └── Mark_sadness.wav
│ ├── proto
│ │ ├── README.md
│ │ ├── files_to_compile.yaml
│ │ ├── generate_code_from_protos.py
│ │ ├── protobuf_files
│ │ │ ├── nvidia_ace.a2f.v1.proto
│ │ │ ├── nvidia_ace.animation_data.v1.proto
│ │ │ ├── nvidia_ace.animation_id.v1.proto
│ │ │ ├── nvidia_ace.audio.v1.proto
│ │ │ ├── nvidia_ace.controller.v1.proto
│ │ │ ├── nvidia_ace.emotion_aggregate.v1.proto
│ │ │ ├── nvidia_ace.emotion_with_timecode.v1.proto
│ │ │ ├── nvidia_ace.services.a2f.v1.proto
│ │ │ ├── nvidia_ace.services.a2f_controller.v1.proto
│ │ │ ├── nvidia_ace.services.animation_controller.v1.proto
│ │ │ ├── nvidia_ace.services.animation_data.v1.proto
│ │ │ └── nvidia_ace.status.v1.proto
│ │ ├── requirements.txt
│ │ ├── sample_wheel
│ │ │ └── nvidia_ace-1.0.0-py3-none-any.whl
│ │ └── setup.py
│ ├── quick-start
│ │ ├── README.md
│ │ ├── a2f_config.yaml
│ │ ├── ac_a2f_config.yaml
│ │ └── docker-compose.yml
│ └── scripts
│ │ ├── audio2face_api_client
│ │ ├── README.md
│ │ ├── a2f
│ │ │ └── client
│ │ │ │ ├── auth.py
│ │ │ │ └── service.py
│ │ ├── audio
│ │ │ └── sample.wav
│ │ ├── config
│ │ │ ├── config_claire.yml
│ │ │ └── config_mark.yml
│ │ ├── nim_a2f_client.py
│ │ └── requirements
│ │ ├── audio2face_in_animation_pipeline_validation_app
│ │ ├── README.md
│ │ ├── requirements.txt
│ │ └── validate.py
│ │ └── audio2face_microservices_interaction_app
│ │ ├── README.md
│ │ ├── a2f.py
│ │ ├── config_claire_v1.3.yml
│ │ ├── config_mark_v2.2.yml
│ │ └── requirements.txt
│ └── 1.2
│ ├── README.md
│ ├── example_audio
│ ├── Claire_anger.wav
│ ├── Claire_joy_mandarin.wav
│ ├── Claire_neutral.wav
│ ├── Claire_outofbreath_mandarin.wav
│ ├── Claire_sadness.wav
│ ├── Mark_anger.wav
│ ├── Mark_joy.wav
│ ├── Mark_neutral.wav
│ ├── Mark_outofbreath.wav
│ └── Mark_sadness.wav
│ ├── proto
│ ├── README.md
│ ├── files_to_compile.yaml
│ ├── generate_code_from_protos.py
│ ├── protobuf_files
│ │ ├── nvidia_ace.a2f.v1.proto
│ │ ├── nvidia_ace.animation_data.v1.proto
│ │ ├── nvidia_ace.animation_id.v1.proto
│ │ ├── nvidia_ace.audio.v1.proto
│ │ ├── nvidia_ace.controller.v1.proto
│ │ ├── nvidia_ace.emotion_aggregate.v1.proto
│ │ ├── nvidia_ace.emotion_with_timecode.v1.proto
│ │ ├── nvidia_ace.services.a2f.v1.proto
│ │ ├── nvidia_ace.services.a2f_controller.v1.proto
│ │ ├── nvidia_ace.services.animation_controller.v1.proto
│ │ ├── nvidia_ace.services.animation_data.v1.proto
│ │ └── nvidia_ace.status.v1.proto
│ ├── requirements.txt
│ ├── sample_wheel
│ │ └── nvidia_ace-1.0.0-py3-none-any.whl
│ └── setup.py
│ ├── quick-start
│ ├── README.md
│ ├── a2f_config.yaml
│ ├── ac_a2f_config.yaml
│ └── docker-compose.yml
│ └── scripts
│ ├── audio2face_api_client
│ ├── README.md
│ ├── a2f
│ │ └── client
│ │ │ ├── auth.py
│ │ │ └── service.py
│ ├── audio
│ │ └── sample.wav
│ ├── config
│ │ ├── config_claire.yml
│ │ └── config_mark.yml
│ ├── nim_a2f_client.py
│ └── requirements
│ ├── audio2face_in_animation_pipeline_validation_app
│ ├── README.md
│ ├── requirements.txt
│ └── validate.py
│ └── audio2face_microservices_interaction_app
│ ├── README.md
│ ├── a2f.py
│ ├── config_claire_v1.3.yml
│ ├── config_mark_v2.2.yml
│ └── requirements.txt
├── tools
├── avatar_configurator
│ └── 1.0
│ │ ├── README.md
│ │ └── template_scene.zip
└── ucs_tools
│ └── README.md
└── workflows
├── animation_pipeline
└── 1.0
│ ├── README.md
│ └── deploy
│ └── ucs_apps
│ ├── animation_pipeline.yaml
│ ├── animation_pipeline_params.yaml
│ └── animation_pipeline_values.yaml
└── tokkio
├── 4.0
├── README.md
├── Tokkio_example.png
├── avatar_collage.jpg
├── llm-rag
│ ├── tokkio-llm-app-params.yaml
│ └── tokkio-llm-app.yaml
├── qsr
│ ├── tokkio-app-params.yaml
│ └── tokkio-app.yaml
└── scripts
│ └── one-click
│ ├── aws
│ ├── README.md
│ ├── deploy-spec
│ │ ├── backend.tf
│ │ ├── main.tf
│ │ ├── output.tf
│ │ ├── provider.tf
│ │ ├── variables.tf
│ │ └── versions.tf
│ ├── deploy-template.yml
│ ├── examples
│ │ ├── simple-coturn-llm
│ │ │ └── deploy-template.yml
│ │ ├── simple-coturn-qsr
│ │ │ └── deploy-template.yml
│ │ ├── simple-rp-llm
│ │ │ └── deploy-template.yml
│ │ └── simple-rp-qsr
│ │ │ └── deploy-template.yml
│ ├── modules
│ │ ├── aws
│ │ │ ├── acm-certificate
│ │ │ │ ├── main.tf
│ │ │ │ ├── output.tf
│ │ │ │ ├── variables.tf
│ │ │ │ └── versions.tf
│ │ │ ├── alb-listener
│ │ │ │ ├── main.tf
│ │ │ │ ├── output.tf
│ │ │ │ ├── variables.tf
│ │ │ │ └── versions.tf
│ │ │ ├── alb
│ │ │ │ ├── main.tf
│ │ │ │ ├── output.tf
│ │ │ │ ├── variables.tf
│ │ │ │ └── versions.tf
│ │ │ ├── ec2
│ │ │ │ ├── main.tf
│ │ │ │ ├── output.tf
│ │ │ │ ├── variables.tf
│ │ │ │ └── versions.tf
│ │ │ ├── keypair
│ │ │ │ ├── main.tf
│ │ │ │ ├── output.tf
│ │ │ │ ├── variables.tf
│ │ │ │ └── versions.tf
│ │ │ ├── networking
│ │ │ │ ├── main.tf
│ │ │ │ ├── output.tf
│ │ │ │ ├── variables.tf
│ │ │ │ └── versions.tf
│ │ │ ├── security-group
│ │ │ │ ├── main.tf
│ │ │ │ ├── output.tf
│ │ │ │ ├── variables.tf
│ │ │ │ └── versions.tf
│ │ │ └── target-group
│ │ │ │ ├── main.tf
│ │ │ │ ├── output.tf
│ │ │ │ ├── variables.tf
│ │ │ │ └── versions.tf
│ │ └── tokkio
│ │ │ ├── app
│ │ │ ├── alb.tf
│ │ │ ├── app-instance.tf
│ │ │ ├── cloudfront.tf
│ │ │ ├── config.tf
│ │ │ ├── config
│ │ │ │ ├── install-aws-cli.sh
│ │ │ │ ├── install-cnc.sh
│ │ │ │ ├── install-ngc-cli.sh
│ │ │ │ ├── mount-data-disk.sh
│ │ │ │ ├── setup-foundational-charts.sh
│ │ │ │ ├── setup-ops-components.sh
│ │ │ │ ├── setup-tokkio-api.sh
│ │ │ │ ├── setup-tokkio-secrets.sh
│ │ │ │ ├── setup-tokkio-ui.sh
│ │ │ │ ├── tokkio-env.sh.tpl
│ │ │ │ └── verify-gpu-operator-ready.sh
│ │ │ ├── data.tf
│ │ │ ├── iam.tf
│ │ │ ├── locals.tf
│ │ │ ├── output.tf
│ │ │ ├── route53-api.tf
│ │ │ ├── route53-ops.tf
│ │ │ ├── route53-ui.tf
│ │ │ ├── ui-bucket.tf
│ │ │ ├── user-data
│ │ │ │ └── user-data.sh.tpl
│ │ │ ├── variables.tf
│ │ │ └── versions.tf
│ │ │ ├── base
│ │ │ ├── bastion-instance.tf
│ │ │ ├── certificates.tf
│ │ │ ├── config-bucket.tf
│ │ │ ├── keypair.tf
│ │ │ ├── locals.tf
│ │ │ ├── networking.tf
│ │ │ ├── output.tf
│ │ │ ├── sec-groups.tf
│ │ │ ├── variables.tf
│ │ │ └── versions.tf
│ │ │ ├── coturn
│ │ │ ├── config.tf
│ │ │ ├── config
│ │ │ │ ├── coturn-server-env.sh.tpl
│ │ │ │ ├── install-aws-cli.sh
│ │ │ │ └── setup-coturn-server.sh
│ │ │ ├── coturn-instance.tf
│ │ │ ├── iam.tf
│ │ │ ├── locals.tf
│ │ │ ├── output.tf
│ │ │ ├── user-data
│ │ │ │ └── user-data.sh.tpl
│ │ │ ├── variables.tf
│ │ │ └── versions.tf
│ │ │ └── rp
│ │ │ ├── config.tf
│ │ │ ├── config
│ │ │ ├── install-aws-cli.sh
│ │ │ ├── install-cns.sh
│ │ │ ├── mount-data-disk.sh
│ │ │ ├── rp-env.sh.tpl
│ │ │ ├── setup-rp-chart.sh
│ │ │ └── setup-rp-secrets.sh
│ │ │ ├── iam.tf
│ │ │ ├── locals.tf
│ │ │ ├── output.tf
│ │ │ ├── rp-instance.tf
│ │ │ ├── user-data
│ │ │ └── user-data.sh.tpl
│ │ │ ├── variables.tf
│ │ │ └── versions.tf
│ ├── secrets.sh
│ └── tokkio-deploy
│ ├── azure
│ ├── README.md
│ ├── deploy-spec
│ │ ├── backend.tf
│ │ ├── main.tf
│ │ ├── output.tf
│ │ ├── provider.tf
│ │ ├── variables.tf
│ │ └── versions.tf
│ ├── deploy-template.yml
│ ├── examples
│ │ ├── simple-coturn-llm
│ │ │ └── deploy-template.yml
│ │ ├── simple-coturn-qsr
│ │ │ └── deploy-template.yml
│ │ ├── simple-rp-llm
│ │ │ └── deploy-template.yml
│ │ └── simple-rp-qsr
│ │ │ └── deploy-template.yml
│ ├── modules
│ │ ├── azure
│ │ │ ├── application-gateway
│ │ │ │ ├── main.tf
│ │ │ │ ├── output.tf
│ │ │ │ ├── variables.tf
│ │ │ │ └── versions.tf
│ │ │ ├── cdn-for-static-website
│ │ │ │ ├── main.tf
│ │ │ │ ├── output.tf
│ │ │ │ ├── variables.tf
│ │ │ │ └── versions.tf
│ │ │ ├── custom-domain-for-cdn
│ │ │ │ ├── main.tf
│ │ │ │ ├── output.tf
│ │ │ │ ├── variables.tf
│ │ │ │ └── versions.tf
│ │ │ ├── dns-a-record
│ │ │ │ ├── main.tf
│ │ │ │ ├── output.tf
│ │ │ │ ├── variables.tf
│ │ │ │ └── versions.tf
│ │ │ ├── key-vault-certificate
│ │ │ │ ├── main.tf
│ │ │ │ ├── output.tf
│ │ │ │ ├── variables.tf
│ │ │ │ └── versions.tf
│ │ │ ├── key-vault
│ │ │ │ ├── main.tf
│ │ │ │ ├── output.tf
│ │ │ │ ├── variables.tf
│ │ │ │ └── versions.tf
│ │ │ ├── keypair
│ │ │ │ ├── main.tf
│ │ │ │ ├── output.tf
│ │ │ │ ├── variables.tf
│ │ │ │ └── versions.tf
│ │ │ ├── linux-virtual-machine
│ │ │ │ ├── main.tf
│ │ │ │ ├── output.tf
│ │ │ │ ├── variables.tf
│ │ │ │ └── versions.tf
│ │ │ ├── networking
│ │ │ │ ├── main.tf
│ │ │ │ ├── output.tf
│ │ │ │ ├── variables.tf
│ │ │ │ └── versions.tf
│ │ │ ├── resource-group
│ │ │ │ ├── main.tf
│ │ │ │ ├── output.tf
│ │ │ │ ├── variables.tf
│ │ │ │ └── versions.tf
│ │ │ ├── storage-account-backed-static-website
│ │ │ │ ├── main.tf
│ │ │ │ ├── output.tf
│ │ │ │ ├── variables.tf
│ │ │ │ └── versions.tf
│ │ │ └── storage-account
│ │ │ │ ├── main.tf
│ │ │ │ ├── output.tf
│ │ │ │ ├── variables.tf
│ │ │ │ └── versions.tf
│ │ └── tokkio
│ │ │ ├── app
│ │ │ ├── api.tf
│ │ │ ├── certificates.tf
│ │ │ ├── config.tf
│ │ │ ├── config
│ │ │ │ ├── apply-tokkio-secrets.sh
│ │ │ │ ├── install-cnc.sh
│ │ │ │ ├── install-tokkio-api.sh
│ │ │ │ ├── install-tokkio-ui.sh
│ │ │ │ ├── mount-data-disk.sh
│ │ │ │ ├── setup-foundational-charts.sh
│ │ │ │ ├── setup-ops-components.sh
│ │ │ │ ├── tokkio-env.sh.tpl
│ │ │ │ └── verify-gpu-operator-ready.sh
│ │ │ ├── locals.tf
│ │ │ ├── mlops.tf
│ │ │ ├── output.tf
│ │ │ ├── ui.tf
│ │ │ ├── user-data
│ │ │ │ └── user-data.sh.tpl
│ │ │ ├── variables.tf
│ │ │ └── versions.tf
│ │ │ ├── base
│ │ │ ├── bastion.tf
│ │ │ ├── config.tf
│ │ │ ├── dns-and-certs.tf
│ │ │ ├── keypair.tf
│ │ │ ├── locals.tf
│ │ │ ├── networking.tf
│ │ │ ├── output.tf
│ │ │ ├── resource-group.tf
│ │ │ ├── variables.tf
│ │ │ └── versions.tf
│ │ │ ├── coturn
│ │ │ ├── config.tf
│ │ │ ├── config
│ │ │ │ ├── coturn-server-env.sh.tpl
│ │ │ │ └── setup-coturn-server.sh
│ │ │ ├── locals.tf
│ │ │ ├── output.tf
│ │ │ ├── user-data
│ │ │ │ └── user-data.sh.tpl
│ │ │ ├── variables.tf
│ │ │ ├── versions.tf
│ │ │ └── vm.tf
│ │ │ └── rp
│ │ │ ├── config.tf
│ │ │ ├── config
│ │ │ ├── apply-rp-secrets.sh
│ │ │ ├── install-cns.sh
│ │ │ ├── install-rp-chart.sh
│ │ │ ├── mount-data-disk.sh
│ │ │ └── rp-env.sh.tpl
│ │ │ ├── locals.tf
│ │ │ ├── output.tf
│ │ │ ├── rp-vm.tf
│ │ │ ├── user-data
│ │ │ └── user-data.sh.tpl
│ │ │ ├── variables.tf
│ │ │ └── versions.tf
│ ├── secrets.sh
│ └── tokkio-deploy
│ └── gcp
│ ├── README.md
│ ├── deploy-spec
│ ├── backend.tf
│ ├── main.tf
│ ├── output.tf
│ ├── provider.tf
│ ├── variables.tf
│ └── versions.tf
│ ├── deploy-template.yml
│ ├── examples
│ ├── simple-coturn-llm
│ │ └── deploy-template.yml
│ ├── simple-coturn-qsr
│ │ └── deploy-template.yml
│ ├── simple-rp-llm
│ │ └── deploy-template.yml
│ └── simple-rp-qsr
│ │ └── deploy-template.yml
│ ├── modules
│ ├── gcp
│ │ ├── compute-backend-bucket
│ │ │ ├── main.tf
│ │ │ ├── output.tf
│ │ │ ├── variables.tf
│ │ │ └── versions.tf
│ │ ├── compute-backend-service
│ │ │ ├── main.tf
│ │ │ ├── output.tf
│ │ │ ├── variables.tf
│ │ │ └── versions.tf
│ │ ├── global-load-balancer
│ │ │ ├── main.tf
│ │ │ ├── output.tf
│ │ │ ├── variables.tf
│ │ │ └── versions.tf
│ │ ├── instance-group-unmanaged
│ │ │ ├── main.tf
│ │ │ ├── output.tf
│ │ │ ├── variables.tf
│ │ │ └── versions.tf
│ │ ├── instance
│ │ │ ├── main.tf
│ │ │ ├── output.tf
│ │ │ ├── variables.tf
│ │ │ └── versions.tf
│ │ ├── networking
│ │ │ ├── main.tf
│ │ │ ├── output.tf
│ │ │ ├── variables.tf
│ │ │ └── versions.tf
│ │ └── website-bucket
│ │ │ ├── main.tf
│ │ │ ├── output.tf
│ │ │ ├── variables.tf
│ │ │ └── versions.tf
│ └── tokkio
│ │ ├── app
│ │ ├── api.tf
│ │ ├── config.tf
│ │ ├── config
│ │ │ ├── install-cns.sh
│ │ │ ├── install-ngc-cli.sh
│ │ │ ├── mount-data-disk.sh.tpl
│ │ │ ├── setup-foundational-charts.sh
│ │ │ ├── setup-ops-components.sh
│ │ │ ├── setup-tokkio-api.sh
│ │ │ ├── setup-tokkio-secrets.sh
│ │ │ ├── setup-tokkio-ui.sh
│ │ │ ├── tokkio-env.sh.tpl
│ │ │ └── verify-gpu-operator-ready.sh
│ │ ├── dns-and-certs.tf
│ │ ├── iam.tf
│ │ ├── locals.tf
│ │ ├── output.tf
│ │ ├── ui.tf
│ │ ├── user-data
│ │ │ └── user-data.sh.tpl
│ │ ├── variables.tf
│ │ └── versions.tf
│ │ ├── base
│ │ ├── bastion.tf
│ │ ├── config.tf
│ │ ├── locals.tf
│ │ ├── networking.tf
│ │ ├── output.tf
│ │ ├── variables.tf
│ │ └── versions.tf
│ │ ├── coturn
│ │ ├── config.tf
│ │ ├── config
│ │ │ ├── coturn-server-env.sh.tpl
│ │ │ └── setup-coturn-server.sh
│ │ ├── iam.tf
│ │ ├── instance.tf
│ │ ├── locals.tf
│ │ ├── output.tf
│ │ ├── user-data
│ │ │ └── user-data.sh.tpl
│ │ ├── variables.tf
│ │ └── versions.tf
│ │ └── rp
│ │ ├── config.tf
│ │ ├── config
│ │ ├── install-cns.sh
│ │ ├── install-gcloud-cli.sh
│ │ ├── install-rp-chart.sh
│ │ ├── mount-data-disk.sh
│ │ ├── rp-env.sh.tpl
│ │ └── setup-rp-secrets.sh
│ │ ├── iam.tf
│ │ ├── locals.tf
│ │ ├── output.tf
│ │ ├── rp-instance.tf
│ │ ├── user-data
│ │ └── user-data.sh.tpl
│ │ └── variables.tf
│ ├── secrets.sh
│ └── tokkio-deploy
└── 4.1
├── 3-stream
├── config
│ └── lp_grpc_in_udp_out_anim_tuning.json
├── tokkio-app-params.yaml
└── tokkio-app.yaml
├── README.md
├── Tokkio_example.png
├── avatar_collage.jpg
├── llm-rag-ov
├── 1-stream
│ ├── config
│ │ └── lp_grpc_in_udp_out_anim_tuning.json
│ ├── tokkio-app-params.yaml
│ └── tokkio-app.yaml
├── 3-stream
│ ├── config
│ │ └── lp_grpc_in_udp_out_anim_tuning.json
│ ├── tokkio-app-params.yaml
│ └── tokkio-app.yaml
└── 6-stream
│ ├── config
│ └── lp_grpc_in_udp_out_anim_tuning.json
│ ├── tokkio-app-params.yaml
│ └── tokkio-app.yaml
├── llm-rag-ue
└── 3-stream
│ ├── config
│ └── lp_grpc_in_udp_out_anim_tuning.json
│ ├── tokkio-app-params.yaml
│ └── tokkio-app.yaml
├── retail
├── 3-stream
│ ├── config
│ │ └── lp_grpc_in_udp_out_anim_tuning.json
│ ├── tokkio-app-params.yaml
│ └── tokkio-app.yaml
└── 6-stream
│ ├── config
│ └── lp_grpc_in_udp_out_anim_tuning.json
│ ├── tokkio-app-params.yaml
│ └── tokkio-app.yaml
└── scripts
└── one-click
├── aws
├── ansible-requirements.yml
├── app-tasks.yml
├── config-files
│ ├── helm-release
│ │ ├── rproxy-override-values.yml
│ │ ├── tokkio-app-audio-video-app.yml
│ │ ├── tokkio-fluent-bit-override-values.yml
│ │ └── tokkio-logging-es-override-values.yml
│ ├── k8s-manifest
│ │ ├── es-replicas-update-deployment.yml
│ │ ├── logging-es-replicas-update-configmap.yml
│ │ ├── namespace.yml
│ │ └── platform-ingress-rule.yml
│ └── k8s-secret
│ │ ├── docker-config-json.yml
│ │ ├── ngc-api-key-secret.yml
│ │ ├── nvidia-api-key-secret.yml
│ │ └── openai-key-secret.yml
├── config-template-examples
│ ├── llm-a2f-2d-rp-3x-streams
│ │ ├── config-template.yml
│ │ └── my-config.env
│ ├── llm-ov-3d-rp-6x-streams
│ │ ├── config-template.yml
│ │ └── my-config.env
│ ├── llm-ue-3d-coturn-3x-streams
│ │ ├── config-template.yml
│ │ ├── my-config.env
│ │ └── user-helm-override-values.yml
│ └── retail-ov-3d-rp-6x-streams
│ │ ├── config-template.yml
│ │ └── my-config.env
├── config-template.yml
├── envbuild.sh
├── iac-ref
│ ├── backend.tf
│ ├── cloudfront.tf
│ ├── data.tf
│ ├── iam.tf
│ ├── locals.tf
│ ├── main.tf
│ ├── outputs.tf
│ ├── provider.tf
│ ├── route53.tf
│ ├── templates
│ │ └── ansible-hosts.tpl
│ ├── ui-bucket.tf
│ ├── variables.tf
│ └── versions.tf
├── infra-tasks.yml
├── install-pre-requisites.sh
├── modules
│ └── aws
│ │ ├── acm-certificate
│ │ ├── main.tf
│ │ ├── output.tf
│ │ ├── variables.tf
│ │ └── versions.tf
│ │ ├── alb-listener
│ │ ├── main.tf
│ │ ├── output.tf
│ │ ├── variables.tf
│ │ └── versions.tf
│ │ ├── alb
│ │ ├── main.tf
│ │ ├── output.tf
│ │ ├── variables.tf
│ │ └── versions.tf
│ │ ├── compute
│ │ ├── main.tf
│ │ ├── outputs.tf
│ │ ├── variables.tf
│ │ └── versions.tf
│ │ ├── networking
│ │ ├── examples
│ │ │ └── quickstart
│ │ │ │ ├── main.tf
│ │ │ │ ├── outputs.tf
│ │ │ │ ├── variables.tf
│ │ │ │ └── versions.tf
│ │ ├── main.tf
│ │ ├── outputs.tf
│ │ ├── variables.tf
│ │ └── versions.tf
│ │ ├── security-group
│ │ ├── main.tf
│ │ ├── output.tf
│ │ ├── variables.tf
│ │ └── versions.tf
│ │ └── target-group
│ │ ├── main.tf
│ │ ├── output.tf
│ │ ├── variables.tf
│ │ └── versions.tf
├── platform-tasks.yml
└── playbooks
│ ├── add-sysctl-config.yml
│ ├── app-pre-requisites.yml
│ ├── authorize-ssh-keys.yml
│ ├── bootstrap-cns-kubeconfig.yml
│ ├── check-all-pods-in-namespace-up.yml
│ ├── check-inventory.yml
│ ├── cns-install.yml
│ ├── cns-prepare.yml
│ ├── cns-validate.yml
│ ├── copy-task-config.yml
│ ├── docker-compose.yml
│ ├── docker-login.yml
│ ├── empty_var_check.yml
│ ├── get-network-interface.yml
│ ├── helm-release.yml
│ ├── helm-task-pre-requisites.yml
│ ├── install-tokkio-ui-aws.yml
│ ├── install-tokkio-ui-bm.yml
│ ├── install-tokkio-ui-gcp.yml
│ ├── install-tokkio-ui.yml
│ ├── k8s-label.yml
│ ├── k8s-manifest.yml
│ ├── k8s-patch.yml
│ ├── k8s-secret-check-empty-dockerconfig.yml
│ ├── k8s-secret-check-empty-opaque.yml
│ ├── k8s-secret-check-empty.yml
│ ├── k8s-secret-dockerconfig.yml
│ ├── k8s-secret-old.yml
│ ├── k8s-secret-opaque.yml
│ ├── k8s-secret.yml
│ ├── k8s-taint.yml
│ ├── k8s-task-pre-requisites.yml
│ ├── mount-data-disk.yml
│ ├── nvidia-container-toolkit-install.yml
│ ├── nvidia-docker-install.yml
│ ├── nvidia-driver-install.yml
│ ├── output-jinja2-expression-to-file.yml
│ ├── process-user-config.yml
│ ├── scripts
│ ├── coturn-setup-bm.sh
│ ├── coturn-setup.sh
│ ├── install-tokkio-ui-aws.sh
│ ├── install-tokkio-ui-bm.sh
│ ├── install-tokkio-ui-gcp.sh
│ ├── install-tokkio-ui.sh
│ ├── mount-data-disk-aws.sh
│ ├── mount-data-disk-gcp.sh
│ └── mount-data-disk.sh
│ ├── setup-coturn-bm.yml
│ ├── setup-coturn.yml
│ ├── sleep.yml
│ ├── tasks
│ └── helm-release-prep-values.yml
│ └── write-to-file.yml
├── azure
├── ansible-requirements.yml
├── app-tasks.yml
├── config-files
│ ├── helm-release
│ │ ├── hello-release-values.yml
│ │ ├── rproxy-override-values.yml
│ │ ├── tokkio-app-audio-video-app.yml
│ │ ├── tokkio-fluent-bit-override-values.yml
│ │ └── tokkio-logging-es-override-values.yml
│ ├── k8s-manifest
│ │ ├── es-replicas-update-deployment.yml
│ │ ├── logging-es-replicas-update-configmap.yml
│ │ ├── namespace.yml
│ │ └── platform-ingress-rule.yml
│ └── k8s-secret
│ │ ├── docker-config-json.yml
│ │ ├── ngc-api-key-secret.yml
│ │ ├── nvidia-api-key-secret.yml
│ │ └── openai-key-secret.yml
├── config-template-examples
│ ├── llm-ov-3d-rp-3x-streams
│ │ ├── config-template.yml
│ │ └── my-config.env
│ └── llm-ue-3d-coturn-3x-streams
│ │ ├── config-template.yml
│ │ ├── my-config.env
│ │ └── user-helm-override-values.yml
├── config-template.yml
├── envbuild.sh
├── iac-ref
│ ├── backend.tf
│ ├── locals.tf
│ ├── main.tf
│ ├── outputs.tf
│ ├── provider.tf
│ ├── templates
│ │ └── ansible-hosts.tpl
│ ├── variables.tf
│ └── versions.tf
├── infra-tasks.yml
├── install-pre-requisites.sh
├── modules
│ └── azure
│ │ ├── app-gateway
│ │ ├── main.tf
│ │ ├── outputs.tf
│ │ ├── variables.tf
│ │ └── versions.tf
│ │ ├── app-security-group
│ │ ├── main.tf
│ │ ├── outputs.tf
│ │ ├── variables.tf
│ │ └── versions.tf
│ │ ├── cdn-for-static-website
│ │ ├── main.tf
│ │ ├── output.tf
│ │ ├── variables.tf
│ │ └── versions.tf
│ │ ├── compute
│ │ ├── main.tf
│ │ ├── outputs.tf
│ │ ├── variables.tf
│ │ └── versions.tf
│ │ ├── custom-domain-for-cdn
│ │ ├── main.tf
│ │ ├── output.tf
│ │ ├── variables.tf
│ │ └── versions.tf
│ │ ├── dns-a-record
│ │ ├── main.tf
│ │ ├── output.tf
│ │ ├── variables.tf
│ │ └── versions.tf
│ │ ├── key-vault-certificate
│ │ ├── main.tf
│ │ ├── output.tf
│ │ ├── variables.tf
│ │ └── versions.tf
│ │ ├── key-vault
│ │ ├── main.tf
│ │ ├── output.tf
│ │ ├── variables.tf
│ │ └── versions.tf
│ │ ├── networking
│ │ ├── examples
│ │ │ └── quickstart
│ │ │ │ ├── main.tf
│ │ │ │ ├── outputs.tf
│ │ │ │ ├── variables.tf
│ │ │ │ └── versions.tf
│ │ ├── main.tf
│ │ ├── outputs.tf
│ │ ├── variables.tf
│ │ └── versions.tf
│ │ ├── resource-group
│ │ ├── main.tf
│ │ ├── outputs.tf
│ │ ├── variables.tf
│ │ └── versions.tf
│ │ └── storage-account-backed-static-website
│ │ ├── main.tf
│ │ ├── output.tf
│ │ ├── variables.tf
│ │ └── versions.tf
├── platform-tasks.yml
└── playbooks
│ ├── add-sysctl-config.yml
│ ├── app-pre-requisites.yml
│ ├── authorize-ssh-keys.yml
│ ├── bootstrap-cns-kubeconfig.yml
│ ├── check-all-pods-in-namespace-up.yml
│ ├── check-inventory.yml
│ ├── cns-install.yml
│ ├── cns-prepare.yml
│ ├── cns-validate.yml
│ ├── copy-task-config.yml
│ ├── docker-compose.yml
│ ├── docker-login.yml
│ ├── empty_var_check.yml
│ ├── get-network-interface.yml
│ ├── helm-release.yml
│ ├── helm-task-pre-requisites.yml
│ ├── install-tokkio-ui-aws.yml
│ ├── install-tokkio-ui-bm.yml
│ ├── install-tokkio-ui-gcp.yml
│ ├── install-tokkio-ui.yml
│ ├── k8s-label.yml
│ ├── k8s-manifest.yml
│ ├── k8s-patch.yml
│ ├── k8s-secret-check-empty-dockerconfig.yml
│ ├── k8s-secret-check-empty-opaque.yml
│ ├── k8s-secret-check-empty.yml
│ ├── k8s-secret-dockerconfig.yml
│ ├── k8s-secret-old.yml
│ ├── k8s-secret-opaque.yml
│ ├── k8s-secret.yml
│ ├── k8s-taint.yml
│ ├── k8s-task-pre-requisites.yml
│ ├── mount-data-disk.yml
│ ├── nvidia-container-toolkit-install.yml
│ ├── nvidia-docker-install.yml
│ ├── nvidia-driver-install.yml
│ ├── output-jinja2-expression-to-file.yml
│ ├── process-user-config.yml
│ ├── scripts
│ ├── coturn-setup-bm.sh
│ ├── coturn-setup.sh
│ ├── install-tokkio-ui-aws.sh
│ ├── install-tokkio-ui-bm.sh
│ ├── install-tokkio-ui-gcp.sh
│ ├── install-tokkio-ui.sh
│ ├── mount-data-disk-aws.sh
│ ├── mount-data-disk-gcp.sh
│ └── mount-data-disk.sh
│ ├── setup-coturn-bm.yml
│ ├── setup-coturn.yml
│ ├── sleep.yml
│ ├── tasks
│ └── helm-release-prep-values.yml
│ └── write-to-file.yml
├── baremetal
├── ansible-requirements.yml
├── app-tasks.yml
├── config-files
│ ├── helm-release
│ │ ├── rproxy-override-values.yml
│ │ ├── tokkio-app-audio-video-app.yml
│ │ ├── tokkio-fluent-bit-override-values.yml
│ │ └── tokkio-logging-es-override-values.yml
│ ├── k8s-manifest
│ │ ├── es-replicas-update-deployment.yml
│ │ ├── logging-es-replicas-update-configmap.yml
│ │ └── namespace.yml
│ └── k8s-secret
│ │ ├── docker-config-json.yml
│ │ ├── ngc-api-key-secret.yml
│ │ ├── nvidia-api-key-secret.yml
│ │ └── openai-key-secret.yml
├── config-template-examples
│ └── llm-ov-3d-coturn-1x-stream
│ │ ├── config-template.yml
│ │ └── my-config.env
├── config-template.yml
├── envbuild.sh
├── iac-ref
│ ├── backend.tf
│ ├── locals.tf
│ ├── outputs.tf
│ ├── templates
│ │ └── ansible-hosts.tpl
│ ├── variables.tf
│ └── versions.tf
├── infra-tasks.yml
├── install-pre-requisites.sh
├── platform-tasks.yml
├── playbooks
│ ├── add-sysctl-config.yml
│ ├── app-pre-requisites.yml
│ ├── authorize-ssh-keys.yml
│ ├── bootstrap-cns-kubeconfig.yml
│ ├── check-all-pods-in-namespace-up.yml
│ ├── check-inventory.yml
│ ├── cns-install.yml
│ ├── cns-prepare.yml
│ ├── cns-validate.yml
│ ├── copy-task-config.yml
│ ├── docker-compose.yml
│ ├── docker-login.yml
│ ├── empty_var_check.yml
│ ├── get-network-interface.yml
│ ├── helm-release.yml
│ ├── helm-task-pre-requisites.yml
│ ├── install-tokkio-ui-aws.yml
│ ├── install-tokkio-ui-bm.yml
│ ├── install-tokkio-ui-gcp.yml
│ ├── install-tokkio-ui.yml
│ ├── k8s-label.yml
│ ├── k8s-manifest.yml
│ ├── k8s-patch.yml
│ ├── k8s-secret-check-empty-dockerconfig.yml
│ ├── k8s-secret-check-empty-opaque.yml
│ ├── k8s-secret-check-empty.yml
│ ├── k8s-secret-dockerconfig.yml
│ ├── k8s-secret-old.yml
│ ├── k8s-secret-opaque.yml
│ ├── k8s-secret.yml
│ ├── k8s-taint.yml
│ ├── k8s-task-pre-requisites.yml
│ ├── mount-data-disk.yml
│ ├── nvidia-container-toolkit-install.yml
│ ├── nvidia-docker-install.yml
│ ├── nvidia-driver-install.yml
│ ├── output-jinja2-expression-to-file.yml
│ ├── process-user-config.yml
│ ├── scripts
│ │ ├── coturn-setup-bm.sh
│ │ ├── coturn-setup.sh
│ │ ├── install-tokkio-ui-aws.sh
│ │ ├── install-tokkio-ui-bm.sh
│ │ ├── install-tokkio-ui-gcp.sh
│ │ ├── install-tokkio-ui.sh
│ │ ├── mount-data-disk-aws.sh
│ │ ├── mount-data-disk-gcp.sh
│ │ └── mount-data-disk.sh
│ ├── setup-coturn-bm.yml
│ ├── setup-coturn.yml
│ ├── sleep.yml
│ ├── tasks
│ │ └── helm-release-prep-values.yml
│ └── write-to-file.yml
└── setup-cns-access.sh
└── gcp
├── ansible-requirements.yml
├── app-tasks.yml
├── config-files
├── helm-release
│ ├── rproxy-override-values.yml
│ ├── tokkio-app-audio-video-app.yml
│ ├── tokkio-fluent-bit-override-values.yml
│ └── tokkio-logging-es-override-values.yml
├── k8s-manifest
│ ├── es-replicas-update-deployment.yml
│ ├── logging-es-replicas-update-configmap.yml
│ ├── namespace.yml
│ └── platform-ingress-rule.yml
└── k8s-secret
│ ├── docker-config-json.yml
│ ├── ngc-api-key-secret.yml
│ ├── nvidia-api-key-secret.yml
│ └── openai-key-secret.yml
├── config-template-examples
├── llm-ov-3d-rp-6x-streams
│ ├── config-template.yml
│ └── my-config.env
└── llm-ue-3d-coturn-3x-streams
│ ├── config-template.yml
│ ├── my-config.env
│ └── user-helm-override-values.yml
├── config-template.yml
├── envbuild.sh
├── iac-ref
├── backend.tf
├── dns-and-certs.tf
├── iam.tf
├── locals.tf
├── main.tf
├── outputs.tf
├── provider.tf
├── templates
│ └── ansible-hosts.tpl
├── ui.tf
├── variables.tf
└── versions.tf
├── infra-tasks.yml
├── install-pre-requisites.sh
├── modules
└── gcp
│ ├── compute-backend-bucket
│ ├── main.tf
│ ├── output.tf
│ ├── variables.tf
│ └── versions.tf
│ ├── compute-backend-service
│ ├── main.tf
│ ├── output.tf
│ ├── variables.tf
│ └── versions.tf
│ ├── compute
│ ├── main.tf
│ ├── outputs.tf
│ ├── variables.tf
│ └── versions.tf
│ ├── firewall
│ ├── main.tf
│ ├── outputs.tf
│ ├── variables.tf
│ └── versions.tf
│ ├── global-load-balancer
│ ├── main.tf
│ ├── output.tf
│ ├── variables.tf
│ └── versions.tf
│ ├── instance-group-unmanaged
│ ├── main.tf
│ ├── output.tf
│ ├── variables.tf
│ └── versions.tf
│ ├── load-balancer
│ ├── main.tf
│ ├── outputs.tf
│ ├── variables.tf
│ └── versions.tf
│ ├── networking
│ ├── examples
│ │ └── quickstart-regional
│ │ │ ├── main.tf
│ │ │ ├── outputs.tf
│ │ │ ├── variables.tf
│ │ │ └── versions.tf
│ ├── main.tf
│ ├── outputs.tf
│ ├── variables.tf
│ └── versions.tf
│ └── website-bucket
│ ├── main.tf
│ ├── output.tf
│ ├── variables.tf
│ └── versions.tf
├── platform-tasks.yml
└── playbooks
├── add-sysctl-config.yml
├── app-pre-requisites.yml
├── authorize-ssh-keys.yml
├── bootstrap-cns-kubeconfig.yml
├── check-all-pods-in-namespace-up.yml
├── check-inventory.yml
├── cns-install.yml
├── cns-prepare.yml
├── cns-validate.yml
├── copy-task-config.yml
├── docker-compose.yml
├── docker-login.yml
├── empty_var_check.yml
├── get-network-interface.yml
├── helm-release.yml
├── helm-task-pre-requisites.yml
├── install-tokkio-ui-aws.yml
├── install-tokkio-ui-bm.yml
├── install-tokkio-ui-gcp.yml
├── install-tokkio-ui.yml
├── k8s-label.yml
├── k8s-manifest.yml
├── k8s-patch.yml
├── k8s-secret-check-empty-dockerconfig.yml
├── k8s-secret-check-empty-opaque.yml
├── k8s-secret-check-empty.yml
├── k8s-secret-dockerconfig.yml
├── k8s-secret-old.yml
├── k8s-secret-opaque.yml
├── k8s-secret.yml
├── k8s-taint.yml
├── k8s-task-pre-requisites.yml
├── mount-data-disk.yml
├── nvidia-container-toolkit-install.yml
├── nvidia-docker-install.yml
├── nvidia-driver-install.yml
├── output-jinja2-expression-to-file.yml
├── process-user-config.yml
├── scripts
├── coturn-setup-bm.sh
├── coturn-setup.sh
├── install-tokkio-ui-aws.sh
├── install-tokkio-ui-bm.sh
├── install-tokkio-ui-gcp.sh
├── install-tokkio-ui.sh
├── mount-data-disk-aws.sh
├── mount-data-disk-gcp.sh
└── mount-data-disk.sh
├── setup-coturn-bm.yml
├── setup-coturn.yml
├── sleep.yml
├── tasks
└── helm-release-prep-values.yml
└── write-to-file.yml
/.gitignore:
--------------------------------------------------------------------------------
1 | **.terraform/
2 | **terraform.tfstate
3 | **terraform.tfstate.backup**
4 | **.terraform.lock.hcl
5 | **ignore.auto.tfvars
6 | **tfplan
7 | **gcp-credentials/
8 | **logs/
9 | .vscode
--------------------------------------------------------------------------------
/microservices/ace_agent/4.0/clients/chat_client/requirements.txt:
--------------------------------------------------------------------------------
1 | aiohttp==3.9.5
--------------------------------------------------------------------------------
/microservices/ace_agent/4.0/clients/event_client/requirements.txt:
--------------------------------------------------------------------------------
1 | textual==0.29.0
2 | typer==0.9.0
3 | redis==4.6.0
4 | transitions==0.9.0
5 | typing_extensions==4.7.1
--------------------------------------------------------------------------------
/microservices/ace_agent/4.0/clients/speech_client/requirements.txt:
--------------------------------------------------------------------------------
1 | grpcio-tools
--------------------------------------------------------------------------------
/microservices/ace_agent/4.0/deploy/docker/.env:
--------------------------------------------------------------------------------
1 | # Environment variables
2 | OPENAI_API_KEY=${OPENAI_API_KEY}
3 |
4 | # NGC CLI variables
5 | NGC_CLI_API_KEY=${NGC_CLI_API_KEY}
6 | NGC_CLI_ORG=nvidia
7 | NGC_CLI_TEAM=${NGC_CLI_TEAM}
8 | NGC_ORGANIZATION_ID=${NGC_ORGANIZATION_ID}
9 |
10 | # API Keys
11 | NVIDIA_API_KEY=${NVIDIA_API_KEY}
--------------------------------------------------------------------------------
/microservices/ace_agent/4.0/deploy/docker/docker_init.sh:
--------------------------------------------------------------------------------
1 | export PIPELINE=speech_lite
2 | export TAG=4.0.0
3 | export CLI_CMD="aceagent chat cli -c $PWD/$BOT_PATH --log-path ${PWD}/log"
4 | export DOCKER_REGISTRY=nvcr.io/eevaigoeixww/conversational-ai
5 | export DOCKER_GROUP=$(stat -c %g /var/run/docker.sock)
6 | export HOST_UID=$(id -u)
7 | export HOST_GID=$(id -g)
8 | export DOCKER_USER=$(id -u):$(id -g)
9 |
--------------------------------------------------------------------------------
/microservices/ace_agent/4.0/deploy/docker/dockerfiles/plugin_server.Dockerfile:
--------------------------------------------------------------------------------
1 | ARG BASE_IMAGE
2 |
3 | FROM $BASE_IMAGE
4 |
5 | ARG HOST_UID
6 | ARG HOST_GID
7 |
8 |
9 |
10 | # Create specified user with home directory
11 | RUN mkdir -p /home/ace-agent
12 | RUN groupadd ace-agent --gid $HOST_GID \
13 | && useradd ace-agent --uid $HOST_UID --gid $HOST_GID -d /home/ace-agent \
14 | && chown -R $HOST_UID:$HOST_GID /home/ace-agent
15 |
16 | ##############################
17 | # Install custom dependencies
18 | ##############################
19 |
20 | WORKDIR /home/ace-agent
21 | USER $HOST_UID:$HOST_GID
--------------------------------------------------------------------------------
/microservices/ace_agent/4.0/deploy/ucs_apps/chat_bot/food_ordering_bot/app-params.yaml:
--------------------------------------------------------------------------------
1 | chat-engine:
2 | botConfigName: food_ordering_bot_config.yaml
3 | logLevel: "DEBUG"
4 | # gunicorn configs
5 | gunicornWorkers: "1"
6 | gunicornTimeout: "150"
7 |
8 | nlp-server:
9 | ucfVisibleGpus: [0]
10 | modelConfigPath: "model_config.yaml"
11 | customModelDir: ""
12 | # gunicorn configs
13 | gunicornWorkers: "4"
14 | gunicornTimeout: "120"
15 |
16 | plugin-server:
17 | pluginConfigPath: "plugin_config.yaml"
18 |
--------------------------------------------------------------------------------
/microservices/ace_agent/4.0/deploy/ucs_apps/chat_bot/rag_bot/app-params.yaml:
--------------------------------------------------------------------------------
1 | chat-engine:
2 | botConfigName: rag_bot_config.yml
3 |
4 | plugin-server:
5 | pluginConfigPath: "plugin_config.yaml"
6 |
--------------------------------------------------------------------------------
/microservices/ace_agent/4.0/deploy/ucs_apps/chat_bot/stock_bot/app-params.yaml:
--------------------------------------------------------------------------------
1 | chat-engine:
2 | botConfigName: stock_bot_config.yml
3 | logLevel: "DEBUG"
4 | # gunicorn configs
5 | gunicornWorkers: "1"
6 | gunicornTimeout: "150"
7 |
8 | plugin-server:
9 | pluginConfigPath: "plugin_config.yaml"
10 | pluginConfig:
11 | config:
12 | workers: 4
13 | timeout: 120
14 |
--------------------------------------------------------------------------------
/microservices/ace_agent/4.0/deploy/wheel/aceagent-4.0.0-py3-none-any.whl:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/ACE/8bebcb6acb17da4690b926d3e4f5c930610acd7b/microservices/ace_agent/4.0/deploy/wheel/aceagent-4.0.0-py3-none-any.whl
--------------------------------------------------------------------------------
/microservices/ace_agent/4.0/samples/chitchat_bot/chitchat_bot_config.yml:
--------------------------------------------------------------------------------
1 | bot: chitchat
2 |
3 | # Using OpenAI
4 | models:
5 | - type: main
6 | engine: openai
7 | model: gpt-3.5-turbo-instruct
8 | parameters:
9 | stop: ["\n"]
--------------------------------------------------------------------------------
/microservices/ace_agent/4.0/samples/chitchat_bot/colang/fallback.co:
--------------------------------------------------------------------------------
1 | define flow ...
2 | priority 0.1
3 | user ...
4 | bot responds truthfully
5 |
--------------------------------------------------------------------------------
/microservices/ace_agent/4.0/samples/chitchat_bot/model_config.yaml:
--------------------------------------------------------------------------------
1 | model_servers:
2 | - name: riva
3 | url: "localhost:8001"
4 | speech_models:
5 | - nvidia/ucs-ms/rmir_asr_parakeet_1-1b_en_us_str_vad:2.15.0
6 | - nvidia/riva/rmir_tts_radtts_hifigan_en_us_ipa:2.15.0
--------------------------------------------------------------------------------
/microservices/ace_agent/4.0/samples/colang_2_sample_bot/actions.py:
--------------------------------------------------------------------------------
1 | # Custom Actions can be defined in an actions.py file and called from Colang
2 |
3 | from nemoguardrails.actions.actions import action
4 | from datetime import datetime
5 |
6 |
7 | @action(name="GetCurrentDateTimeAction")
8 | async def get_current_date_time_action() -> str:
9 | return f"current time ISO Format: {datetime.now().isoformat()}"
10 |
--------------------------------------------------------------------------------
/microservices/ace_agent/4.0/samples/colang_2_sample_bot/model_config.yaml:
--------------------------------------------------------------------------------
1 | model_servers:
2 | - name: riva
3 | speech_models:
4 | - nvidia/ucs-ms/rmir_asr_parakeet_1-1b_en_us_str_vad:2.15.0
5 | - nvidia/riva/rmir_tts_radtts_hifigan_en_us_ipa:2.15.0
6 | url: localhost:8001
--------------------------------------------------------------------------------
/microservices/ace_agent/4.0/samples/ddg_langchain_bot/model_config.yaml:
--------------------------------------------------------------------------------
1 | model_servers:
2 | - name: riva
3 | url: "localhost:8001"
4 | speech_models:
5 | - nvidia/ucs-ms/rmir_asr_parakeet_1-1b_en_us_str_vad:2.15.0
6 | - nvidia/riva/rmir_tts_radtts_hifigan_en_us_ipa:2.15.0
--------------------------------------------------------------------------------
/microservices/ace_agent/4.0/samples/ddg_langchain_bot/plugin_config.yaml:
--------------------------------------------------------------------------------
1 | config:
2 | workers: 1
3 | timeout: 30
4 |
5 | plugins:
6 | - name: langchain
7 | path: ./plugins/langchain_agent.py
--------------------------------------------------------------------------------
/microservices/ace_agent/4.0/samples/ddg_langchain_bot/plugins/requirements_dev.txt:
--------------------------------------------------------------------------------
1 | langchain==0.1.1
2 | langchain-community==0.0.13
3 | langchain-core==0.1.12
4 | duckduckgo-search==5.2.2
--------------------------------------------------------------------------------
/microservices/ace_agent/4.0/samples/event_interface_tutorial_bot/colang/main.co:
--------------------------------------------------------------------------------
1 | flow bot express greeting
2 | # meta: bot intent
3 | bot say "Welcome to the tutorial"
4 |
5 | # The main flow is the entry point
6 | flow main
7 | # meta: exclude from llm
8 |
9 | # Technical flows, see Colang 2.0 documentation for more details
10 | activate catch undefined flows
11 | activate catch colang errors
12 | activate poll llm request response 1.0
13 | activate track bot talking state
14 |
15 | bot express greeting
16 |
17 | # This will prevent the main flow finishing ever
18 | wait indefinitely
--------------------------------------------------------------------------------
/microservices/ace_agent/4.0/samples/food_ordering_bot/colang/events.co:
--------------------------------------------------------------------------------
1 |
2 | define bot welcome message
3 | "Hi, I am Violet, a food ordering assistant bot. How can I help you?"
4 |
5 | define subflow welcome user
6 | bot welcome message
7 |
8 | define flow entry_event
9 | event system.event_start
10 | do welcome user
11 |
12 | define flow exit_event
13 | event system.event_exit
14 | bot bye message
15 |
16 | define bot asr idle timeout
17 | "Do you need anything else?"
18 | "Anything else I can help with?"
19 |
20 | define flow asr_idle_timeout
21 | event system.event_asr_idle_timeout
22 | bot asr idle timeout
23 |
--------------------------------------------------------------------------------
/microservices/ace_agent/4.0/samples/food_ordering_bot/colang/fallback.co:
--------------------------------------------------------------------------------
1 | define flow ...
2 | priority 0.1
3 | user ...
4 | bot responds truthfully
5 |
--------------------------------------------------------------------------------
/microservices/ace_agent/4.0/samples/food_ordering_bot/colang/query_menu.co:
--------------------------------------------------------------------------------
1 |
2 | define flow query_menu
3 | user food_order.query_menu
4 | $result = execute plugin(endpoint="food_order/show_menu", request_type="post", user_id=$user_id)
5 | bot responds with summary of $result
6 |
7 | define flow show_options
8 | user food_order.show_options
9 | $result = execute plugin(endpoint="food_order/show_menu", request_type="post", user_id=$user_id)
10 | bot responds with summary of $result
--------------------------------------------------------------------------------
/microservices/ace_agent/4.0/samples/food_ordering_bot/food_ordering_bot_config.yaml:
--------------------------------------------------------------------------------
1 | bot: food_ordering
2 |
3 | configs:
4 | enable_intent_slot: True
5 |
6 | # Using OpenAI
7 | models:
8 | - type: main
9 | engine: openai
10 | model: gpt-3.5-turbo-instruct
11 | parameters:
12 | stop: ["\n"]
13 |
14 | nlp_models:
15 | - task_name: generate_user_intent
16 | model_name: riva_intent_drive_thru
17 | confidence_threshold: 0.5
--------------------------------------------------------------------------------
/microservices/ace_agent/4.0/samples/food_ordering_bot/model_config.yaml:
--------------------------------------------------------------------------------
1 | # Defination of different natural processing models used by bot
2 |
3 | model_servers:
4 | - name: triton
5 | url: "localhost:8004"
6 | nlp_models:
7 | - nvidia/ucs-ms/rmir_nlp_tokkio_drive_thru_intent_slot_bert_base:1.2.4
8 |
9 | - name: riva
10 | url: "localhost:8001"
11 | speech_models:
12 | - nvidia/ucs-ms/rmir_asr_parakeet_1-1b_en_us_str_vad:2.15.0 #english
13 | - nvidia/riva/rmir_tts_radtts_hifigan_en_us_ipa:2.15.0
14 |
15 |
--------------------------------------------------------------------------------
/microservices/ace_agent/4.0/samples/food_ordering_bot/plugin/__init__.py:
--------------------------------------------------------------------------------
1 | """
2 | copyright(c) 2022 NVIDIA Corporation.All rights reserved.
3 |
4 | NVIDIA Corporation and its licensors retain all intellectual property
5 | and proprietary rights in and to this software, related documentation
6 | and any modifications thereto.Any use, reproduction, disclosure or
7 | distribution of this software and related documentation without an express
8 | license agreement from NVIDIA Corporation is strictly prohibited.
9 | """
10 |
--------------------------------------------------------------------------------
/microservices/ace_agent/4.0/samples/food_ordering_bot/plugin/requirements.txt:
--------------------------------------------------------------------------------
1 | word2number==1.1
2 | pykwalify==1.8.0
3 | tinydb==4.8.0
4 | editdistance==0.8.1
5 |
--------------------------------------------------------------------------------
/microservices/ace_agent/4.0/samples/npc_bots/elara/flows.co:
--------------------------------------------------------------------------------
1 | define flow
2 | user ...
3 | if not $player_name:
4 | $player_name = "Kai"
5 | bot respond with helpful answer
--------------------------------------------------------------------------------
/microservices/ace_agent/4.0/samples/npc_bots/jin/flows.co:
--------------------------------------------------------------------------------
1 | define flow
2 | user ...
3 | if not $player_name:
4 | $player_name = "Kai"
5 | bot respond with helpful answer
--------------------------------------------------------------------------------
/microservices/ace_agent/4.0/samples/npc_bots/model_config.yaml:
--------------------------------------------------------------------------------
1 | model_servers:
2 | - name: riva
3 | speech_models:
4 | - nvidia/riva/rmir_asr_conformer_en_us_str:2.15.0
5 | - nvidia/riva/rmir_tts_radtts_hifigan_en_us_ipa:2.15.0
6 | url: localhost:8001
7 |
--------------------------------------------------------------------------------
/microservices/ace_agent/4.0/samples/nv_langchain_bot/flows.co:
--------------------------------------------------------------------------------
1 | define flow
2 | user ...
3 | $answer = execute plugin(\
4 | endpoint="langchain/generate",\
5 | request_type="post",\
6 | question=$last_user_message,\
7 | session_id=$session_id,\
8 | )
9 | bot respond
10 |
11 | define bot respond
12 | "{{$answer}}"
--------------------------------------------------------------------------------
/microservices/ace_agent/4.0/samples/nv_langchain_bot/langchain_bot_config.yml:
--------------------------------------------------------------------------------
1 | bot: langchain_bot
2 |
3 | models: []
4 |
5 | streaming: True
6 | passthrough: true
--------------------------------------------------------------------------------
/microservices/ace_agent/4.0/samples/nv_langchain_bot/plugin_config.yaml:
--------------------------------------------------------------------------------
1 | config:
2 | workers: 1
3 | timeout: 30
4 |
5 | plugins:
6 | - name: langchain
7 | path: ./plugins/nv_langchain_rag.py
--------------------------------------------------------------------------------
/microservices/ace_agent/4.0/samples/nv_langchain_bot/plugins/requirements_dev.txt:
--------------------------------------------------------------------------------
1 | langchain==0.0.322
2 | langchain-community==0.0.16
3 | langchain-nvidia-ai-endpoints==0.0.1
4 | pypdf==3.10.0
5 | pymilvus==2.3.1
--------------------------------------------------------------------------------
/microservices/ace_agent/4.0/samples/plan_and_execute/flows.co:
--------------------------------------------------------------------------------
1 | define flow
2 | user ...
3 | $answer = execute chat_plugin(\
4 | endpoint="langgraph/chat",\
5 | request_timeout=60\
6 | )
7 | bot respond
8 |
9 | define bot respond
10 | "{{$answer}}"
--------------------------------------------------------------------------------
/microservices/ace_agent/4.0/samples/plan_and_execute/langgraph_bot_config.yaml:
--------------------------------------------------------------------------------
1 | bot: langchain_bot
2 |
3 | models: []
4 | streaming: True
--------------------------------------------------------------------------------
/microservices/ace_agent/4.0/samples/plan_and_execute/model_config.yaml:
--------------------------------------------------------------------------------
1 | model_servers:
2 | - name: riva
3 | url: "localhost:8001"
4 | speech_models:
5 | - nvidia/ucs-ms/rmir_asr_parakeet_1-1b_en_us_str_vad:2.15.0
6 | - nvidia/riva/rmir_tts_radtts_hifigan_en_us_ipa:2.15.0
--------------------------------------------------------------------------------
/microservices/ace_agent/4.0/samples/plan_and_execute/plugin/requirements_dev.txt:
--------------------------------------------------------------------------------
1 | tavily-python==0.3.3
2 | langgraph==0.0.31
3 | langchain-openai==0.1.2
--------------------------------------------------------------------------------
/microservices/ace_agent/4.0/samples/plan_and_execute/plugin_config.yaml:
--------------------------------------------------------------------------------
1 | config:
2 | workers: 1
3 | timeout: 30
4 |
5 | plugins:
6 | - name: langgraph
7 | path: ./plugin/plan_and_execute.py
--------------------------------------------------------------------------------
/microservices/ace_agent/4.0/samples/rag_bot/flows.co:
--------------------------------------------------------------------------------
1 | define flow
2 | user ...
3 | $answer = execute chat_plugin(\
4 | endpoint="rag/chat",\
5 | )
6 | bot respond
7 |
8 | define bot respond
9 | "{{$answer}}"
--------------------------------------------------------------------------------
/microservices/ace_agent/4.0/samples/rag_bot/model_config.yaml:
--------------------------------------------------------------------------------
1 | model_servers:
2 | - name: riva
3 | url: "localhost:8001"
4 | speech_models:
5 | - nvidia/ucs-ms/rmir_asr_parakeet_1-1b_en_us_str_vad:2.15.0
6 | - nvidia/riva/rmir_tts_radtts_hifigan_en_us_ipa:2.15.0
--------------------------------------------------------------------------------
/microservices/ace_agent/4.0/samples/rag_bot/plugin_config.yaml:
--------------------------------------------------------------------------------
1 | config:
2 | workers: 1
3 | timeout: 30
4 |
5 | plugins:
6 | - name: rag
7 | path: plugins/rag.py
8 | parameters:
9 | RAG_SERVER_URL: "http://localhost:8081"
10 | # STOP_WORDS: ["\n"] # Optional parameters for RAG
11 | # TEMPERATURE: 0.2
12 | # TOP_K: 0.7
13 | # MAX_TOKENS: 200
--------------------------------------------------------------------------------
/microservices/ace_agent/4.0/samples/rag_bot/rag_bot_config.yml:
--------------------------------------------------------------------------------
1 | bot: genai_rag_bot
2 |
3 | models: []
4 | streaming: True
--------------------------------------------------------------------------------
/microservices/ace_agent/4.0/samples/spanish_bot_nmt/colang/date.co:
--------------------------------------------------------------------------------
1 | define user ask current date
2 | "What is the current time?"
3 | "What time is it now?"
4 | "What day is today?"
5 | "What time is it?"
6 | "What is today's date?"
7 | "What is the current date?"
8 |
9 | define flow current date
10 | user ask current date
11 | $date = execute plugin(endpoint="date/get_date")
12 | bot provide $date
--------------------------------------------------------------------------------
/microservices/ace_agent/4.0/samples/spanish_bot_nmt/colang/general.co:
--------------------------------------------------------------------------------
1 | define user express greeting
2 | "Good morning"
3 | "Good afternoon"
4 | "Good night"
5 | "Goodbye"
6 | "Thank you"
7 | "Hello"
8 |
9 | define user ask how are you
10 | "How are you?"
11 |
12 | define flow user greets
13 | user express greeting
14 | bot express greeting
15 |
16 | define flow how are you
17 | user ask how are you
18 | bot responds accordingly
--------------------------------------------------------------------------------
/microservices/ace_agent/4.0/samples/spanish_bot_nmt/colang/open_domain.co:
--------------------------------------------------------------------------------
1 | define user ask open domain query
2 | "What is the human life expectancy in the United States?"
3 | "Who is the Prime Minister of India?"
4 | "What is the capital of Spain?"
5 | "How far is the sun from the earth?"
6 |
7 | define flow open domain
8 | user ask open domain query
9 | bot responds truthfully
--------------------------------------------------------------------------------
/microservices/ace_agent/4.0/samples/spanish_bot_nmt/model_config.yaml:
--------------------------------------------------------------------------------
1 | model_servers:
2 | - name: riva
3 | url: "localhost:8001" # triton grpc url
4 | riva_url: "localhost:50051" # Riva GRPC API, Needed for NMT models
5 | nlp_models:
6 | - nvidia/riva/rmir_megatronnmt_any_en_500m:2.15.0 # NMT any language to english model
7 | - nvidia/riva/rmir_megatronnmt_en_any_500m:2.15.0 # NMT english to any language model
--------------------------------------------------------------------------------
/microservices/ace_agent/4.0/samples/spanish_bot_nmt/plugin_config.yaml:
--------------------------------------------------------------------------------
1 | config:
2 | workers: 1
3 | timeout: 30
4 |
5 | plugins:
6 | - name: weather
7 | - name: date
--------------------------------------------------------------------------------
/microservices/ace_agent/4.0/samples/stock_bot/colang/fallback.co:
--------------------------------------------------------------------------------
1 | define flow ...
2 | priority 0.1
3 | user ...
4 | bot responds truthfully
5 |
--------------------------------------------------------------------------------
/microservices/ace_agent/4.0/samples/stock_bot/colang/profanity_rail.co:
--------------------------------------------------------------------------------
1 | define user says profane words
2 | "you are stupid "
3 | "i want to kill you"
4 | "add a shit burger"
5 | "piss off"
6 |
7 | define bot asks to avoid abusive language
8 | "Please do not use abusive language."
9 |
10 | define flow
11 | user says profane words
12 | bot asks to avoid abusive language
--------------------------------------------------------------------------------
/microservices/ace_agent/4.0/samples/stock_bot/model_config.yaml:
--------------------------------------------------------------------------------
1 | model_servers:
2 | - name: riva
3 | speech_models:
4 | - nvidia/ucs-ms/rmir_asr_parakeet_1-1b_en_us_str_vad:2.15.0
5 | - nvidia/riva/rmir_tts_radtts_hifigan_en_us_ipa:2.15.0
6 | url: localhost:8001
--------------------------------------------------------------------------------
/microservices/ace_agent/4.0/samples/stock_bot/plugin_config.yaml:
--------------------------------------------------------------------------------
1 | config:
2 | workers: 1
3 | timeout: 30
4 |
5 | plugins:
6 | - name: stock
7 | path: plugins/yahoo_fin.py
8 |
--------------------------------------------------------------------------------
/microservices/ace_agent/4.1/clients/chat_client/requirements.txt:
--------------------------------------------------------------------------------
1 | aiohttp==3.9.5
--------------------------------------------------------------------------------
/microservices/ace_agent/4.1/clients/event_client/requirements.txt:
--------------------------------------------------------------------------------
1 | textual==0.29.0
2 | typer==0.9.0
3 | redis==4.6.0
4 | transitions==0.9.0
5 | typing_extensions==4.7.1
--------------------------------------------------------------------------------
/microservices/ace_agent/4.1/clients/speech_client/requirements.txt:
--------------------------------------------------------------------------------
1 | grpcio-tools
--------------------------------------------------------------------------------
/microservices/ace_agent/4.1/deploy/docker/.env:
--------------------------------------------------------------------------------
1 | # Environment variables
2 | OPENAI_API_KEY=${OPENAI_API_KEY}
3 |
4 | # NGC CLI variables
5 | NGC_CLI_API_KEY=${NGC_CLI_API_KEY}
6 | NGC_CLI_ORG=nvidia
7 | NGC_CLI_TEAM=${NGC_CLI_TEAM}
8 | NGC_ORGANIZATION_ID=${NGC_ORGANIZATION_ID}
9 |
10 | # API Keys
11 | NVIDIA_API_KEY=${NVIDIA_API_KEY}
--------------------------------------------------------------------------------
/microservices/ace_agent/4.1/deploy/docker/docker_init.sh:
--------------------------------------------------------------------------------
1 | export PIPELINE=speech_umim
2 | export TAG=4.1.0
3 | export CLI_CMD="aceagent chat cli -c $PWD/$BOT_PATH --log-path ${PWD}/log"
4 | export DOCKER_REGISTRY=nvcr.io/nvidia/ace
5 | export DOCKER_GROUP=$(stat -c %g /var/run/docker.sock)
6 | export HOST_UID=$(id -u)
7 | export HOST_GID=$(id -g)
8 | export DOCKER_USER=$(id -u):$(id -g)
9 | mkdir -p $PWD/speech_logs
--------------------------------------------------------------------------------
/microservices/ace_agent/4.1/deploy/docker/dockerfiles/plugin_server.Dockerfile:
--------------------------------------------------------------------------------
1 | ARG BASE_IMAGE
2 |
3 | FROM $BASE_IMAGE
4 |
5 | ARG HOST_UID
6 | ARG HOST_GID
7 |
8 |
9 |
10 | # Create specified user with home directory
11 | RUN mkdir -p /home/ace-agent
12 | RUN groupadd ace-agent --gid $HOST_GID \
13 | && useradd ace-agent --uid $HOST_UID --gid $HOST_GID -d /home/ace-agent \
14 | && chown -R $HOST_UID:$HOST_GID /home/ace-agent
15 |
16 | ##############################
17 | # Install custom dependencies
18 | ##############################
19 |
20 | WORKDIR /home/ace-agent
21 | USER $HOST_UID:$HOST_GID
--------------------------------------------------------------------------------
/microservices/ace_agent/4.1/deploy/ucs_apps/chat_bot/food_ordering_bot/app-params.yaml:
--------------------------------------------------------------------------------
1 | chat-engine:
2 | botConfigName: food_ordering_bot_config.yaml
3 | logLevel: "DEBUG"
4 | interface: "event"
5 | # gunicorn configs
6 | gunicornWorkers: "1"
7 | gunicornTimeout: "150"
8 |
9 | nlp-server:
10 | ucfVisibleGpus: [0]
11 | modelConfigPath: "model_config.yaml"
12 | customModelDir: ""
13 | # gunicorn configs
14 | gunicornWorkers: "4"
15 | gunicornTimeout: "120"
16 |
17 | plugin-server:
18 | pluginConfigPath: "plugin_config.yaml"
19 |
20 | webapp:
21 | chatInterface: "event"
22 | speechFlags: ""
--------------------------------------------------------------------------------
/microservices/ace_agent/4.1/deploy/ucs_apps/chat_bot/llm_bot/app-params.yaml:
--------------------------------------------------------------------------------
1 | chat-engine:
2 | botConfigName: llm_bot_config.yml
3 | logLevel: "DEBUG"
4 | interface: "event"
5 | # gunicorn configs
6 | gunicornWorkers: "1"
7 | gunicornTimeout: "150"
8 |
9 | webapp:
10 | chatInterface: "event"
11 | speechFlags: ""
--------------------------------------------------------------------------------
/microservices/ace_agent/4.1/deploy/ucs_apps/chat_bot/rag_bot/app-params.yaml:
--------------------------------------------------------------------------------
1 | chat-engine:
2 | botConfigName: rag_bot_config.yml
3 | interface: "event"
4 |
5 | plugin-server:
6 | pluginConfigPath: "plugin_config.yaml"
7 | pluginConfig:
8 | plugins:
9 | rag:
10 | parameters:
11 | RAG_SERVER_URL: "http://{UPDATE_RAG_HOST_IP}:{UPDATE_RAG_PORT}"
12 |
13 | webapp:
14 | chatInterface: "event"
15 | speechFlags: ""
--------------------------------------------------------------------------------
/microservices/ace_agent/4.1/deploy/ucs_apps/chat_bot/stock_bot/app-params.yaml:
--------------------------------------------------------------------------------
1 | chat-engine:
2 | botConfigName: stock_bot_config.yml
3 | interface: "event"
4 | logLevel: "DEBUG"
5 | # gunicorn configs
6 | gunicornWorkers: "1"
7 | gunicornTimeout: "150"
8 |
9 | plugin-server:
10 | pluginConfigPath: "plugin_config.yaml"
11 | pluginConfig:
12 | config:
13 | workers: 4
14 | timeout: 120
15 |
16 | webapp:
17 | chatInterface: "event"
18 | speechFlags: ""
--------------------------------------------------------------------------------
/microservices/ace_agent/4.1/deploy/wheel/aceagent-4.1.0-py3-none-any.whl:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/ACE/8bebcb6acb17da4690b926d3e4f5c930610acd7b/microservices/ace_agent/4.1/deploy/wheel/aceagent-4.1.0-py3-none-any.whl
--------------------------------------------------------------------------------
/microservices/ace_agent/4.1/samples/chitchat_bot/colang/main.co:
--------------------------------------------------------------------------------
1 | import core
2 | import llm
3 |
4 | flow technical helper
5 | activate notification of undefined flow start "I have encountered some technical issue!"
6 | activate notification of colang errors "I have encountered some technical issue!"
7 |
8 | flow chitchat
9 | user said something
10 | llm continue interaction
11 |
12 | flow main
13 | activate technical helper
14 | activate chitchat
15 |
--------------------------------------------------------------------------------
/microservices/ace_agent/4.1/samples/chitchat_bot/model_config.yaml:
--------------------------------------------------------------------------------
1 | model_servers:
2 | - name: riva
3 | url: "localhost:8001"
4 | speech_models:
5 | - nvidia/ace/rmir_asr_parakeet_1-1b_en_us_str_vad:2.17.0
6 | - nvidia/riva/rmir_tts_fastpitch_hifigan_en_us_ipa:2.17.0
--------------------------------------------------------------------------------
/microservices/ace_agent/4.1/samples/colang_1.0/chitchat_bot/chitchat_bot_config.yml:
--------------------------------------------------------------------------------
1 | bot: chitchat
2 |
3 | # Using OpenAI
4 | models:
5 | - type: main
6 | engine: openai
7 | model: gpt-3.5-turbo-instruct
8 | parameters:
9 | stop: ["\n"]
--------------------------------------------------------------------------------
/microservices/ace_agent/4.1/samples/colang_1.0/chitchat_bot/colang/fallback.co:
--------------------------------------------------------------------------------
1 | define flow ...
2 | priority 0.1
3 | user ...
4 | bot responds truthfully
5 |
--------------------------------------------------------------------------------
/microservices/ace_agent/4.1/samples/colang_1.0/chitchat_bot/model_config.yaml:
--------------------------------------------------------------------------------
1 | model_servers:
2 | - name: riva
3 | url: "localhost:8001"
4 | speech_models:
5 | - nvidia/ace/rmir_asr_parakeet_1-1b_en_us_str_vad:2.17.0
6 | - nvidia/riva/rmir_tts_fastpitch_hifigan_en_us_ipa:2.17.0
--------------------------------------------------------------------------------
/microservices/ace_agent/4.1/samples/colang_1.0/npc_bots/elara/flows.co:
--------------------------------------------------------------------------------
1 | define flow
2 | user ...
3 | if not $player_name:
4 | $player_name = "Kai"
5 | bot respond with helpful answer
--------------------------------------------------------------------------------
/microservices/ace_agent/4.1/samples/colang_1.0/npc_bots/jin/flows.co:
--------------------------------------------------------------------------------
1 | define flow
2 | user ...
3 | if not $player_name:
4 | $player_name = "Kai"
5 | bot respond with helpful answer
--------------------------------------------------------------------------------
/microservices/ace_agent/4.1/samples/colang_1.0/npc_bots/model_config.yaml:
--------------------------------------------------------------------------------
1 | model_servers:
2 | - name: riva
3 | speech_models:
4 | - nvidia/ace/rmir_asr_parakeet_1-1b_en_us_str_vad:2.17.0
5 | - nvidia/riva/rmir_tts_fastpitch_hifigan_en_us_ipa:2.17.0
6 | url: localhost:8001
7 |
--------------------------------------------------------------------------------
/microservices/ace_agent/4.1/samples/colang_1.0/rag_bot/flows.co:
--------------------------------------------------------------------------------
1 | define flow
2 | user ...
3 | $answer = execute chat_plugin(\
4 | endpoint="rag/chat",\
5 | )
6 | bot respond
7 |
8 | define bot respond
9 | "{{$answer}}"
--------------------------------------------------------------------------------
/microservices/ace_agent/4.1/samples/colang_1.0/rag_bot/model_config.yaml:
--------------------------------------------------------------------------------
1 | model_servers:
2 | - name: riva
3 | url: "localhost:8001"
4 | speech_models:
5 | - nvidia/ace/rmir_asr_parakeet_1-1b_en_us_str_vad:2.17.0
6 | - nvidia/riva/rmir_tts_fastpitch_hifigan_en_us_ipa:2.17.0
--------------------------------------------------------------------------------
/microservices/ace_agent/4.1/samples/colang_1.0/rag_bot/plugin_config.yaml:
--------------------------------------------------------------------------------
1 | config:
2 | workers: 1
3 | timeout: 30
4 |
5 | plugins:
6 | - name: rag
7 | path: plugins/rag.py
8 | parameters:
9 | RAG_SERVER_URL: "http://localhost:8081"
10 | # STOP_WORDS: ["\n"] # Optional parameters for RAG
11 | # TEMPERATURE: 0.2
12 | # TOP_K: 0.7
13 | # MAX_TOKENS: 200
--------------------------------------------------------------------------------
/microservices/ace_agent/4.1/samples/colang_1.0/rag_bot/rag_bot_config.yml:
--------------------------------------------------------------------------------
1 | bot: genai_rag_bot
2 |
3 | models: []
4 | streaming: True
--------------------------------------------------------------------------------
/microservices/ace_agent/4.1/samples/colang_1.0/spanish_bot_nmt/colang/date.co:
--------------------------------------------------------------------------------
1 | define user ask current date
2 | "What is the current time?"
3 | "What time is it now?"
4 | "What day is today?"
5 | "What time is it?"
6 | "What is today's date?"
7 | "What is the current date?"
8 |
9 | define flow current date
10 | user ask current date
11 | $date = execute plugin(endpoint="date/get_date")
12 | bot provide $date
--------------------------------------------------------------------------------
/microservices/ace_agent/4.1/samples/colang_1.0/spanish_bot_nmt/colang/general.co:
--------------------------------------------------------------------------------
1 | define user express greeting
2 | "Good morning"
3 | "Good afternoon"
4 | "Good night"
5 | "Goodbye"
6 | "Thank you"
7 | "Hello"
8 |
9 | define user ask how are you
10 | "How are you?"
11 |
12 | define flow user greets
13 | user express greeting
14 | bot express greeting
15 |
16 | define flow how are you
17 | user ask how are you
18 | bot responds accordingly
--------------------------------------------------------------------------------
/microservices/ace_agent/4.1/samples/colang_1.0/spanish_bot_nmt/colang/open_domain.co:
--------------------------------------------------------------------------------
1 | define user ask open domain query
2 | "What is the human life expectancy in the United States?"
3 | "Who is the Prime Minister of India?"
4 | "What is the capital of Spain?"
5 | "How far is the sun from the earth?"
6 |
7 | define flow open domain
8 | user ask open domain query
9 | bot responds truthfully
--------------------------------------------------------------------------------
/microservices/ace_agent/4.1/samples/colang_1.0/spanish_bot_nmt/model_config.yaml:
--------------------------------------------------------------------------------
1 | model_servers:
2 | - name: riva
3 | url: "localhost:8001" # triton grpc url
4 | riva_url: "localhost:50051" # Riva GRPC API, Needed for NMT models
5 | nlp_models:
6 | - nvidia/riva/rmir_megatronnmt_any_en_500m:2.17.0 # NMT any language to english model
7 | - nvidia/riva/rmir_megatronnmt_en_any_500m:2.17.0 # NMT english to any language model
--------------------------------------------------------------------------------
/microservices/ace_agent/4.1/samples/colang_1.0/spanish_bot_nmt/plugin_config.yaml:
--------------------------------------------------------------------------------
1 | config:
2 | workers: 1
3 | timeout: 30
4 |
5 | plugins:
6 | - name: weather
7 | - name: date
--------------------------------------------------------------------------------
/microservices/ace_agent/4.1/samples/colang_1.0/stock_bot/colang/fallback.co:
--------------------------------------------------------------------------------
1 | define flow ...
2 | priority 0.1
3 | user ...
4 | bot responds truthfully
5 |
--------------------------------------------------------------------------------
/microservices/ace_agent/4.1/samples/colang_1.0/stock_bot/colang/profanity_rail.co:
--------------------------------------------------------------------------------
1 | define user says profane words
2 | "you are stupid "
3 | "i want to kill you"
4 | "add a shit burger"
5 | "piss off"
6 |
7 | define bot asks to avoid abusive language
8 | "Please do not use abusive language."
9 |
10 | define flow
11 | user says profane words
12 | bot asks to avoid abusive language
--------------------------------------------------------------------------------
/microservices/ace_agent/4.1/samples/colang_1.0/stock_bot/model_config.yaml:
--------------------------------------------------------------------------------
1 | model_servers:
2 | - name: riva
3 | speech_models:
4 | - nvidia/ace/rmir_asr_parakeet_1-1b_en_us_str_vad:2.17.0
5 | - nvidia/riva/rmir_tts_fastpitch_hifigan_en_us_ipa:2.17.0
6 | url: localhost:8001
--------------------------------------------------------------------------------
/microservices/ace_agent/4.1/samples/colang_1.0/stock_bot/plugin_config.yaml:
--------------------------------------------------------------------------------
1 | config:
2 | workers: 1
3 | timeout: 30
4 |
5 | plugins:
6 | - name: stock
7 | path: plugins/yahoo_fin.py
8 |
--------------------------------------------------------------------------------
/microservices/ace_agent/4.1/samples/ddg_langchain_bot/model_config.yaml:
--------------------------------------------------------------------------------
1 | model_servers:
2 | - name: riva
3 | url: "localhost:8001"
4 | speech_models:
5 | - nvidia/ace/rmir_asr_parakeet_1-1b_en_us_str_vad:2.17.0
6 | - nvidia/riva/rmir_tts_fastpitch_hifigan_en_us_ipa:2.17.0
--------------------------------------------------------------------------------
/microservices/ace_agent/4.1/samples/ddg_langchain_bot/plugin_config.yaml:
--------------------------------------------------------------------------------
1 | config:
2 | workers: 1
3 | timeout: 30
4 |
5 | plugins:
6 | - name: langchain
7 | path: ./plugins/langchain_agent.py
--------------------------------------------------------------------------------
/microservices/ace_agent/4.1/samples/ddg_langchain_bot/plugins/requirements_dev.txt:
--------------------------------------------------------------------------------
1 | langchain==0.1.1
2 | langchain-community==0.0.13
3 | langchain-core==0.1.12
4 | duckduckgo-search==5.3.1b1
--------------------------------------------------------------------------------
/microservices/ace_agent/4.1/samples/event_interface_tutorial_bot/step_6/actions.py:
--------------------------------------------------------------------------------
1 | from nemoguardrails.actions.actions import action
2 |
3 |
4 | @action(name="CountWordsAction")
5 | async def count_words_action(transcript: str) -> int:
6 | return len(transcript.split())
7 |
--------------------------------------------------------------------------------
/microservices/ace_agent/4.1/samples/event_interface_tutorial_bot/step_7/plugin_config.yaml:
--------------------------------------------------------------------------------
1 | config:
2 | workers: 1
3 | timeout: 30
4 |
5 | plugins:
6 | - name: stock
7 | path: "./plugin/yahoo_fin.py"
8 |
--------------------------------------------------------------------------------
/microservices/ace_agent/4.1/samples/food_ordering_bot/colang/general.co:
--------------------------------------------------------------------------------
1 | flow user makes filler statement
2 | """User says a filler question like 'I see' or 'Hi' """
3 | user intent "food_order.filler"
4 |
5 | flow user goes off topic
6 | """User asks about something unrelated to food ordering"""
7 | user intent "food_order.nomatch"
8 |
9 | flow answer filler statement
10 | user makes filler statement
11 | llm continue interaction
12 |
13 | flow answer off topic question
14 | user goes off topic
15 | bot say "I can only answer questions related to food ordering."
--------------------------------------------------------------------------------
/microservices/ace_agent/4.1/samples/food_ordering_bot/model_config.yaml:
--------------------------------------------------------------------------------
1 | # Defination of different natural processing models used by bot
2 |
3 | model_servers:
4 | - name: triton
5 | url: "localhost:8004"
6 | nlp_models:
7 | - nvidia/ace/rmir_nlp_tokkio_drive_thru_intent_slot_bert_base:1.2.4
8 |
9 | - name: riva
10 | url: "localhost:8001"
11 | speech_models:
12 | - nvidia/ace/rmir_asr_parakeet_1-1b_en_us_str_vad:2.17.0 #english
13 | - nvidia/riva/rmir_tts_fastpitch_hifigan_en_us_ipa:2.17.0
14 |
15 |
--------------------------------------------------------------------------------
/microservices/ace_agent/4.1/samples/food_ordering_bot/plugin/__init__.py:
--------------------------------------------------------------------------------
1 | """
2 | copyright(c) 2022 NVIDIA Corporation.All rights reserved.
3 |
4 | NVIDIA Corporation and its licensors retain all intellectual property
5 | and proprietary rights in and to this software, related documentation
6 | and any modifications thereto.Any use, reproduction, disclosure or
7 | distribution of this software and related documentation without an express
8 | license agreement from NVIDIA Corporation is strictly prohibited.
9 | """
10 |
--------------------------------------------------------------------------------
/microservices/ace_agent/4.1/samples/food_ordering_bot/plugin/requirements.txt:
--------------------------------------------------------------------------------
1 | word2number==1.1
2 | pykwalify==1.8.0
3 | tinydb==4.8.0
4 | editdistance==0.8.1
5 |
--------------------------------------------------------------------------------
/microservices/ace_agent/4.1/samples/langgraph_plan_and_execute/langgraph_bot_config.yaml:
--------------------------------------------------------------------------------
1 | bot: langchain_bot
2 |
3 | colang_version: "2.x"
4 |
5 | storage:
6 | name: cache
7 |
8 | configs:
9 | use_stateful_guardrails: True
10 |
11 | models: []
--------------------------------------------------------------------------------
/microservices/ace_agent/4.1/samples/langgraph_plan_and_execute/model_config.yaml:
--------------------------------------------------------------------------------
1 | model_servers:
2 | - name: riva
3 | url: "localhost:8001"
4 | speech_models:
5 | - nvidia/ace/rmir_asr_parakeet_1-1b_en_us_str_vad:2.17.0
6 | - nvidia/riva/rmir_tts_fastpitch_hifigan_en_us_ipa:2.17.0
--------------------------------------------------------------------------------
/microservices/ace_agent/4.1/samples/langgraph_plan_and_execute/plugin/requirements_dev.txt:
--------------------------------------------------------------------------------
1 | tavily-python==0.3.3
2 | langgraph==0.0.31
3 | langchain-openai==0.1.2
4 | langchain==0.1.12
--------------------------------------------------------------------------------
/microservices/ace_agent/4.1/samples/langgraph_plan_and_execute/plugin_config.yaml:
--------------------------------------------------------------------------------
1 | config:
2 | workers: 1
3 | timeout: 30
4 |
5 | plugins:
6 | - name: langgraph
7 | path: ./plugin/plan_and_execute.py
--------------------------------------------------------------------------------
/microservices/ace_agent/4.1/samples/llm_bot/llm_bot_config.yml:
--------------------------------------------------------------------------------
1 | bot: llm_bot
2 |
3 | colang_version: "2.x"
4 |
5 | storage:
6 | name: cache
7 |
8 | configs:
9 | use_stateful_guardrails: True
10 |
11 | models: []
12 |
--------------------------------------------------------------------------------
/microservices/ace_agent/4.1/samples/llm_bot/model_config.yaml:
--------------------------------------------------------------------------------
1 | model_servers:
2 | - name: riva
3 | url: "localhost:8001"
4 | speech_models:
5 | - nvidia/ace/rmir_asr_parakeet_1-1b_en_us_str_vad:2.17.0
6 | - nvidia/riva/rmir_tts_fastpitch_hifigan_en_us_ipa:2.17.0
--------------------------------------------------------------------------------
/microservices/ace_agent/4.1/samples/npc_bots/elara/bot_config.yaml:
--------------------------------------------------------------------------------
1 | bot: elara
2 | colang_version: "2.x"
3 |
4 | storage:
5 | name: cache
6 |
7 | configs:
8 | use_stateful_guardrails: True
9 |
10 | streaming: False
11 |
12 | models: []
--------------------------------------------------------------------------------
/microservices/ace_agent/4.1/samples/npc_bots/elara/model_config.yaml:
--------------------------------------------------------------------------------
1 | model_servers:
2 | - name: riva
3 | speech_models:
4 | - nvidia/ace/rmir_asr_parakeet_1-1b_en_us_str_vad:2.17.0
5 | - nvidia/riva/rmir_tts_fastpitch_hifigan_en_us_ipa:2.17.0
6 | url: localhost:8001
7 |
--------------------------------------------------------------------------------
/microservices/ace_agent/4.1/samples/npc_bots/jin/bot_config.yaml:
--------------------------------------------------------------------------------
1 | bot: jin
2 | colang_version: "2.x"
3 |
4 | storage:
5 | name: cache
6 |
7 | configs:
8 | use_stateful_guardrails: True
9 |
10 | streaming: False
11 |
12 | models: []
--------------------------------------------------------------------------------
/microservices/ace_agent/4.1/samples/npc_bots/jin/model_config.yaml:
--------------------------------------------------------------------------------
1 | model_servers:
2 | - name: riva
3 | speech_models:
4 | - nvidia/ace/rmir_asr_parakeet_1-1b_en_us_str_vad:2.17.0
5 | - nvidia/riva/rmir_tts_fastpitch_hifigan_en_us_ipa:2.17.0
6 | url: localhost:8001
7 |
--------------------------------------------------------------------------------
/microservices/ace_agent/4.1/samples/npc_bots/plugins/requirements.txt:
--------------------------------------------------------------------------------
1 | openai==1.44.0
2 |
--------------------------------------------------------------------------------
/microservices/ace_agent/4.1/samples/rag_bot/model_config.yaml:
--------------------------------------------------------------------------------
1 | model_servers:
2 | - name: riva
3 | url: "localhost:8001"
4 | speech_models:
5 | - nvidia/ace/rmir_asr_parakeet_1-1b_en_us_str_vad:2.17.0
6 | - nvidia/riva/rmir_tts_fastpitch_hifigan_en_us_ipa:2.17.0
--------------------------------------------------------------------------------
/microservices/ace_agent/4.1/samples/rag_bot/plugin_config.yaml:
--------------------------------------------------------------------------------
1 | config:
2 | workers: 1
3 | timeout: 30
4 |
5 | plugins:
6 | - name: rag
7 | path: plugins/rag.py
8 | parameters:
9 | RAG_SERVER_URL: "http://localhost:8081"
10 | # STOP_WORDS: ["\n"] # Optional parameters for RAG
11 | # TEMPERATURE: 0.2
12 | # TOP_K: 0.7
13 | # MAX_TOKENS: 200
--------------------------------------------------------------------------------
/microservices/ace_agent/4.1/samples/rag_bot/plugins/utils.py:
--------------------------------------------------------------------------------
1 | import re
2 |
3 |
4 | def validate_url(url: str):
5 | """
6 | This function checks if the input string adheres to a format like "http://20.235.248.119:8081".
7 |
8 | Args:
9 | url: The URL string to validate.
10 |
11 | Returns:
12 | True if the URL is valid, False otherwise.
13 | """
14 | regex = r"^https?://\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}:[1-9]\d{0,4}$"
15 | return re.match(regex, url) is not None
16 |
--------------------------------------------------------------------------------
/microservices/ace_agent/4.1/samples/rag_bot/rag_bot_config.yml:
--------------------------------------------------------------------------------
1 | bot: genai_rag_bot
2 |
3 | colang_version: "2.x"
4 |
5 | storage:
6 | name: cache
7 |
8 | configs:
9 | use_stateful_guardrails: True
10 |
11 | models: []
--------------------------------------------------------------------------------
/microservices/ace_agent/4.1/samples/spanish_bot/colang/date.co:
--------------------------------------------------------------------------------
1 | flow user asked current date
2 | user said "¿Cuál es la hora actual?"
3 | or user said "¿Qué hora es ahora?"
4 | or user said"¿Qué día es hoy?"
5 | or user said "¿Qué hora es?"
6 | or user said "¿Cuál es la fecha de hoy?"
7 | or user said "¿Cuál es la fecha actual?"
8 |
9 | flow current date
10 | user asked current date
11 | $date = await InvokeFulfillmentAction(request_type="get",
12 | endpoint="/date/get_date")
13 | bot respond in spanish "Today's date is {$date}"
--------------------------------------------------------------------------------
/microservices/ace_agent/4.1/samples/spanish_bot/colang/off_topic.co:
--------------------------------------------------------------------------------
1 | flow off topic
2 | unhandled user intent
3 | bot respond in spanish "Sorry, I am not designed to reply to that!"
4 |
--------------------------------------------------------------------------------
/microservices/ace_agent/4.1/samples/spanish_bot/colang/open_domain.co:
--------------------------------------------------------------------------------
1 | flow user asked open domain query
2 | user said "¿Cuál es la esperanza de vida humana en los Estados Unidos?"
3 | or user said "¿Quién es el primer ministro de la India?"
4 | or user said "¿Cuál es la capital de España?"
5 | or user said "¿A qué distancia está el sol de la tierra?"
6 |
7 | flow open domain
8 | user asked open domain query
9 | $response = ..."Reply to previous query in spanish. Enclose the reply in quotes"
10 | bot say "{$response}"
--------------------------------------------------------------------------------
/microservices/ace_agent/4.1/samples/spanish_bot/plugin_config.yaml:
--------------------------------------------------------------------------------
1 | config:
2 | workers: 1
3 | timeout: 30
4 |
5 | plugins:
6 | # Default fulfillments
7 | - name: date
8 | - name: weather
--------------------------------------------------------------------------------
/microservices/ace_agent/4.1/samples/spanish_bot_nmt/colang/date.co:
--------------------------------------------------------------------------------
1 | flow user asked current date
2 | user said "What is the current time?"
3 | or user said "What time is it now?"
4 | or user said "What day is today?"
5 | or user said "What time is it?"
6 | or user said "What is today's date?"
7 | or user said "What is the current date?"
8 |
9 | flow current date
10 | user asked current date
11 | $date = await InvokeFulfillmentAction(request_type="get",
12 | endpoint="/date/get_date")
13 | bot say "Today's date is {$date}"
--------------------------------------------------------------------------------
/microservices/ace_agent/4.1/samples/spanish_bot_nmt/colang/off_topic.co:
--------------------------------------------------------------------------------
1 | flow off topic
2 | unhandled user intent
3 | bot say "Sorry, I am not designed to reply to that!"
4 |
--------------------------------------------------------------------------------
/microservices/ace_agent/4.1/samples/spanish_bot_nmt/colang/open_domain.co:
--------------------------------------------------------------------------------
1 | flow user asked open domain query
2 | user said "What is the human life expectancy in the United States?"
3 | or user said "Who is the Prime Minister of India?"
4 | or user said "What is the capital of Spain?"
5 | or user said "How far is the sun from the earth?"
6 |
7 | flow open domain
8 | user asked open domain query
9 | $response = ..."Reply to user's previous query. Enclose the reply in quotes"
10 | bot say "{$response}"
--------------------------------------------------------------------------------
/microservices/ace_agent/4.1/samples/spanish_bot_nmt/model_config.yaml:
--------------------------------------------------------------------------------
1 | model_servers:
2 | - name: riva
3 | url: "localhost:8001" # triton grpc url
4 | riva_url: "localhost:50051" # Riva GRPC API, Needed for NMT models
5 | nlp_models:
6 | - nvidia/riva/rmir_megatronnmt_any_en_500m:2.17.0 # NMT any language to english model
7 | - nvidia/riva/rmir_megatronnmt_en_any_500m:2.17.0 # NMT english to any language model
--------------------------------------------------------------------------------
/microservices/ace_agent/4.1/samples/spanish_bot_nmt/plugin_config.yaml:
--------------------------------------------------------------------------------
1 | config:
2 | workers: 1
3 | timeout: 30
4 |
5 | plugins:
6 | - name: weather
7 | - name: date
--------------------------------------------------------------------------------
/microservices/ace_agent/4.1/samples/stock_bot/colang/off_topic.co:
--------------------------------------------------------------------------------
1 | flow off topic
2 | unhandled user intent
3 | bot say "Sorry, I am not designed to reply to that!"
4 |
--------------------------------------------------------------------------------
/microservices/ace_agent/4.1/samples/stock_bot/colang/profanity_rail.co:
--------------------------------------------------------------------------------
1 | flow user mentioned profane words
2 | user said "you are stupid"
3 | or user said "i want to kill you"
4 | or user said "piss off"
5 | or user said "damn it"
6 | or user said "son of a bitch"
7 |
8 | flow bot asks to avoid abusive language
9 | bot say "Please do not use abusive language."
10 |
11 | flow profanity rail
12 | user mentioned profane words
13 | bot asks to avoid abusive language
14 |
--------------------------------------------------------------------------------
/microservices/ace_agent/4.1/samples/stock_bot/model_config.yaml:
--------------------------------------------------------------------------------
1 | model_servers:
2 | - name: riva
3 | speech_models:
4 | - nvidia/ace/rmir_asr_parakeet_1-1b_en_us_str_vad:2.17.0
5 | - nvidia/riva/rmir_tts_fastpitch_hifigan_en_us_ipa:2.17.0
6 | url: localhost:8001
--------------------------------------------------------------------------------
/microservices/ace_agent/4.1/samples/stock_bot/plugin_config.yaml:
--------------------------------------------------------------------------------
1 | config:
2 | workers: 1
3 | timeout: 30
4 |
5 | plugins:
6 | - name: stock
7 | path: plugins/yahoo_fin.py
8 |
--------------------------------------------------------------------------------
/microservices/ace_agent/4.1/webui/client/.yarnrc.yml:
--------------------------------------------------------------------------------
1 | nodeLinker: node-modules
2 |
--------------------------------------------------------------------------------
/microservices/ace_agent/4.1/webui/client/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | ACE Agent Bot Web UI
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/microservices/ace_agent/4.1/webui/client/src/vite-env.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 |
--------------------------------------------------------------------------------
/microservices/ace_agent/4.1/webui/client/tsconfig.node.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "composite": true,
4 | "skipLibCheck": true,
5 | "module": "ESNext",
6 | "moduleResolution": "bundler",
7 | "allowSyntheticDefaultImports": true,
8 | "strict": true
9 | },
10 | "include": ["vite.config.ts"]
11 | }
12 |
--------------------------------------------------------------------------------
/microservices/ace_agent/4.1/webui/images/architecture_audio.png:
--------------------------------------------------------------------------------
1 | version https://git-lfs.github.com/spec/v1
2 | oid sha256:c9dcd7aef6af9521bb17f61c4017dcd14bbf00109f89f1f84759628a1f46b588
3 | size 142717
4 |
--------------------------------------------------------------------------------
/microservices/ace_agent/4.1/webui/images/architecture_bot_audio.png:
--------------------------------------------------------------------------------
1 | version https://git-lfs.github.com/spec/v1
2 | oid sha256:e0b2cb0bc0246bff1967af5f7547c6bd1df7750a963ca85a7ed749b3525e8a12
3 | size 67866
4 |
--------------------------------------------------------------------------------
/microservices/ace_agent/4.1/webui/images/architecture_high_level.png:
--------------------------------------------------------------------------------
1 | version https://git-lfs.github.com/spec/v1
2 | oid sha256:69094cd449e0116e85f37aacd6139269587103f0529838cbf8c6051ee1d3ec74
3 | size 60143
4 |
--------------------------------------------------------------------------------
/microservices/ace_agent/4.1/webui/images/example_task.png:
--------------------------------------------------------------------------------
1 | version https://git-lfs.github.com/spec/v1
2 | oid sha256:c3d7fd0b55cf659fb8a50641e776422356a0d930716f92a54987d35a134eeda3
3 | size 218614
4 |
--------------------------------------------------------------------------------
/microservices/ace_agent/4.1/webui/images/image.png:
--------------------------------------------------------------------------------
1 | version https://git-lfs.github.com/spec/v1
2 | oid sha256:cb93a4e11a5671883f128a13646eb9d2cf58859258dcc5c3e8c833fa61ec76d1
3 | size 204232
4 |
--------------------------------------------------------------------------------
/microservices/ace_agent/4.1/webui/images/screenshot_emoji_speech.png:
--------------------------------------------------------------------------------
1 | version https://git-lfs.github.com/spec/v1
2 | oid sha256:60b8aefacd2902ba8aa9b21ea35e422f6d4f83d19b546f98830687dcef1c4f06
3 | size 164959
4 |
--------------------------------------------------------------------------------
/microservices/ace_agent/4.1/webui/images/screenshot_emoji_text.png:
--------------------------------------------------------------------------------
1 | version https://git-lfs.github.com/spec/v1
2 | oid sha256:776c4cfa34918631593b38c56b5f966ff8b1474395988057f309b88c6a52e382
3 | size 148273
4 |
--------------------------------------------------------------------------------
/microservices/ace_agent/4.1/webui/images/screenshot_speech.png:
--------------------------------------------------------------------------------
1 | version https://git-lfs.github.com/spec/v1
2 | oid sha256:2cf3e996b63950c5b0839318998ca10f1d3e01f3bc6810f1576bdff8a6b5a4af
3 | size 206569
4 |
--------------------------------------------------------------------------------
/microservices/ace_agent/4.1/webui/images/tasks.png:
--------------------------------------------------------------------------------
1 | version https://git-lfs.github.com/spec/v1
2 | oid sha256:05eac494f85f83dc25ca9213658294358dcc436d0517670e9b149a84a95cbb7d
3 | size 204182
4 |
--------------------------------------------------------------------------------
/microservices/ace_agent/4.1/webui/server/.yarnrc.yml:
--------------------------------------------------------------------------------
1 | nodeLinker: node-modules
2 |
--------------------------------------------------------------------------------
/microservices/ace_agent/4.1/webui/server/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "resolveJsonModule": true,
4 | "moduleResolution": "Node",
5 | "lib": ["ES2023"],
6 | "module": "ES2022",
7 | "target": "ES2022",
8 | "skipLibCheck": true
9 | },
10 | "exclude": ["**/*.test.ts"]
11 | }
12 |
--------------------------------------------------------------------------------
/microservices/ace_agent/4.1/webui/shared/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "type": "module"
3 | }
4 |
--------------------------------------------------------------------------------
/microservices/audio_2_face_microservice/1.0/example_audio/Claire_anger.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/ACE/8bebcb6acb17da4690b926d3e4f5c930610acd7b/microservices/audio_2_face_microservice/1.0/example_audio/Claire_anger.wav
--------------------------------------------------------------------------------
/microservices/audio_2_face_microservice/1.0/example_audio/Claire_joy_mandarin.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/ACE/8bebcb6acb17da4690b926d3e4f5c930610acd7b/microservices/audio_2_face_microservice/1.0/example_audio/Claire_joy_mandarin.wav
--------------------------------------------------------------------------------
/microservices/audio_2_face_microservice/1.0/example_audio/Claire_neutral.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/ACE/8bebcb6acb17da4690b926d3e4f5c930610acd7b/microservices/audio_2_face_microservice/1.0/example_audio/Claire_neutral.wav
--------------------------------------------------------------------------------
/microservices/audio_2_face_microservice/1.0/example_audio/Claire_outofbreath_mandarin.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/ACE/8bebcb6acb17da4690b926d3e4f5c930610acd7b/microservices/audio_2_face_microservice/1.0/example_audio/Claire_outofbreath_mandarin.wav
--------------------------------------------------------------------------------
/microservices/audio_2_face_microservice/1.0/example_audio/Claire_sadness.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/ACE/8bebcb6acb17da4690b926d3e4f5c930610acd7b/microservices/audio_2_face_microservice/1.0/example_audio/Claire_sadness.wav
--------------------------------------------------------------------------------
/microservices/audio_2_face_microservice/1.0/example_audio/Mark_anger.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/ACE/8bebcb6acb17da4690b926d3e4f5c930610acd7b/microservices/audio_2_face_microservice/1.0/example_audio/Mark_anger.wav
--------------------------------------------------------------------------------
/microservices/audio_2_face_microservice/1.0/example_audio/Mark_joy.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/ACE/8bebcb6acb17da4690b926d3e4f5c930610acd7b/microservices/audio_2_face_microservice/1.0/example_audio/Mark_joy.wav
--------------------------------------------------------------------------------
/microservices/audio_2_face_microservice/1.0/example_audio/Mark_neutral.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/ACE/8bebcb6acb17da4690b926d3e4f5c930610acd7b/microservices/audio_2_face_microservice/1.0/example_audio/Mark_neutral.wav
--------------------------------------------------------------------------------
/microservices/audio_2_face_microservice/1.0/example_audio/Mark_outofbreath.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/ACE/8bebcb6acb17da4690b926d3e4f5c930610acd7b/microservices/audio_2_face_microservice/1.0/example_audio/Mark_outofbreath.wav
--------------------------------------------------------------------------------
/microservices/audio_2_face_microservice/1.0/example_audio/Mark_sadness.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/ACE/8bebcb6acb17da4690b926d3e4f5c930610acd7b/microservices/audio_2_face_microservice/1.0/example_audio/Mark_sadness.wav
--------------------------------------------------------------------------------
/microservices/audio_2_face_microservice/1.0/proto/requirements.txt:
--------------------------------------------------------------------------------
1 | protobuf-gen==0.0.4
2 | PyYAML==6.0.1
3 | grpclib==0.4.7
4 | googleapis-common-protos==1.60.0
5 | protobuf==4.24.1
6 | protobuf-gen==0.0.4
7 |
--------------------------------------------------------------------------------
/microservices/audio_2_face_microservice/1.0/proto/sample_wheel/nvidia_ace-1.0.0-py3-none-any.whl:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/ACE/8bebcb6acb17da4690b926d3e4f5c930610acd7b/microservices/audio_2_face_microservice/1.0/proto/sample_wheel/nvidia_ace-1.0.0-py3-none-any.whl
--------------------------------------------------------------------------------
/microservices/audio_2_face_microservice/1.0/scripts/audio2face_api_client/audio/sample.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/ACE/8bebcb6acb17da4690b926d3e4f5c930610acd7b/microservices/audio_2_face_microservice/1.0/scripts/audio2face_api_client/audio/sample.wav
--------------------------------------------------------------------------------
/microservices/audio_2_face_microservice/1.0/scripts/audio2face_api_client/requirements:
--------------------------------------------------------------------------------
1 | numpy==1.26.4
2 | scipy==1.13.0
3 | grpcio==1.64.0
4 | protobuf==4.24.1
5 | PyYAML==6.0.1
6 | pandas==2.2.2
--------------------------------------------------------------------------------
/microservices/audio_2_face_microservice/1.0/scripts/audio2face_in_animation_pipeline_validation_app/requirements.txt:
--------------------------------------------------------------------------------
1 | grpcio==1.64.0
2 | protobuf==4.24.1
3 | numpy==1.26.4
4 | scipy==1.13.0
5 |
--------------------------------------------------------------------------------
/microservices/audio_2_face_microservice/1.0/scripts/audio2face_microservices_interaction_app/requirements.txt:
--------------------------------------------------------------------------------
1 | numpy==1.26.4
2 | scipy==1.13.0
3 | grpcio==1.64.0
4 | protobuf==4.24.1
5 | PyYAML==6.0.1
6 | pandas==2.2.2
7 |
--------------------------------------------------------------------------------
/microservices/audio_2_face_microservice/1.2/example_audio/Claire_anger.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/ACE/8bebcb6acb17da4690b926d3e4f5c930610acd7b/microservices/audio_2_face_microservice/1.2/example_audio/Claire_anger.wav
--------------------------------------------------------------------------------
/microservices/audio_2_face_microservice/1.2/example_audio/Claire_joy_mandarin.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/ACE/8bebcb6acb17da4690b926d3e4f5c930610acd7b/microservices/audio_2_face_microservice/1.2/example_audio/Claire_joy_mandarin.wav
--------------------------------------------------------------------------------
/microservices/audio_2_face_microservice/1.2/example_audio/Claire_neutral.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/ACE/8bebcb6acb17da4690b926d3e4f5c930610acd7b/microservices/audio_2_face_microservice/1.2/example_audio/Claire_neutral.wav
--------------------------------------------------------------------------------
/microservices/audio_2_face_microservice/1.2/example_audio/Claire_outofbreath_mandarin.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/ACE/8bebcb6acb17da4690b926d3e4f5c930610acd7b/microservices/audio_2_face_microservice/1.2/example_audio/Claire_outofbreath_mandarin.wav
--------------------------------------------------------------------------------
/microservices/audio_2_face_microservice/1.2/example_audio/Claire_sadness.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/ACE/8bebcb6acb17da4690b926d3e4f5c930610acd7b/microservices/audio_2_face_microservice/1.2/example_audio/Claire_sadness.wav
--------------------------------------------------------------------------------
/microservices/audio_2_face_microservice/1.2/example_audio/Mark_anger.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/ACE/8bebcb6acb17da4690b926d3e4f5c930610acd7b/microservices/audio_2_face_microservice/1.2/example_audio/Mark_anger.wav
--------------------------------------------------------------------------------
/microservices/audio_2_face_microservice/1.2/example_audio/Mark_joy.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/ACE/8bebcb6acb17da4690b926d3e4f5c930610acd7b/microservices/audio_2_face_microservice/1.2/example_audio/Mark_joy.wav
--------------------------------------------------------------------------------
/microservices/audio_2_face_microservice/1.2/example_audio/Mark_neutral.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/ACE/8bebcb6acb17da4690b926d3e4f5c930610acd7b/microservices/audio_2_face_microservice/1.2/example_audio/Mark_neutral.wav
--------------------------------------------------------------------------------
/microservices/audio_2_face_microservice/1.2/example_audio/Mark_outofbreath.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/ACE/8bebcb6acb17da4690b926d3e4f5c930610acd7b/microservices/audio_2_face_microservice/1.2/example_audio/Mark_outofbreath.wav
--------------------------------------------------------------------------------
/microservices/audio_2_face_microservice/1.2/example_audio/Mark_sadness.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/ACE/8bebcb6acb17da4690b926d3e4f5c930610acd7b/microservices/audio_2_face_microservice/1.2/example_audio/Mark_sadness.wav
--------------------------------------------------------------------------------
/microservices/audio_2_face_microservice/1.2/proto/requirements.txt:
--------------------------------------------------------------------------------
1 | protobuf-gen==0.0.4
2 | PyYAML==6.0.1
3 | grpclib==0.4.7
4 | googleapis-common-protos==1.60.0
5 | protobuf==4.24.1
6 | protobuf-gen==0.0.4
7 |
--------------------------------------------------------------------------------
/microservices/audio_2_face_microservice/1.2/proto/sample_wheel/nvidia_ace-1.0.0-py3-none-any.whl:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/ACE/8bebcb6acb17da4690b926d3e4f5c930610acd7b/microservices/audio_2_face_microservice/1.2/proto/sample_wheel/nvidia_ace-1.0.0-py3-none-any.whl
--------------------------------------------------------------------------------
/microservices/audio_2_face_microservice/1.2/scripts/audio2face_api_client/audio/sample.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/ACE/8bebcb6acb17da4690b926d3e4f5c930610acd7b/microservices/audio_2_face_microservice/1.2/scripts/audio2face_api_client/audio/sample.wav
--------------------------------------------------------------------------------
/microservices/audio_2_face_microservice/1.2/scripts/audio2face_api_client/requirements:
--------------------------------------------------------------------------------
1 | numpy==1.26.4
2 | scipy==1.13.0
3 | grpcio==1.64.0
4 | protobuf==4.24.1
5 | PyYAML==6.0.1
6 | pandas==2.2.2
--------------------------------------------------------------------------------
/microservices/audio_2_face_microservice/1.2/scripts/audio2face_in_animation_pipeline_validation_app/requirements.txt:
--------------------------------------------------------------------------------
1 | grpcio==1.64.0
2 | protobuf==4.24.1
3 | numpy==1.26.4
4 | scipy==1.13.0
5 |
--------------------------------------------------------------------------------
/microservices/audio_2_face_microservice/1.2/scripts/audio2face_microservices_interaction_app/requirements.txt:
--------------------------------------------------------------------------------
1 | numpy==1.26.4
2 | scipy==1.13.0
3 | grpcio==1.64.0
4 | protobuf==4.24.1
5 | PyYAML==6.0.1
6 | pandas==2.2.2
7 |
--------------------------------------------------------------------------------
/tools/avatar_configurator/1.0/README.md:
--------------------------------------------------------------------------------
1 | # Avatar Configurator
2 |
3 | See [ACE documentation](https://docs.nvidia.com/ace/latest/modules/avatar_customization/index.html) for more information.
4 |
--------------------------------------------------------------------------------
/tools/avatar_configurator/1.0/template_scene.zip:
--------------------------------------------------------------------------------
1 | version https://git-lfs.github.com/spec/v1
2 | oid sha256:30e0a37853022a0ec5742999bd1049100f470deb0bede5c53a85715659eb4fb6
3 | size 38355553
4 |
--------------------------------------------------------------------------------
/workflows/animation_pipeline/1.0/README.md:
--------------------------------------------------------------------------------
1 | # ACE Animation Pipeline Workflow
2 |
3 | See [ACE documentation](https://docs.nvidia.com/ace/latest/workflows/animation_pipeline/index.html) for more information.
4 |
--------------------------------------------------------------------------------
/workflows/tokkio/4.0/Tokkio_example.png:
--------------------------------------------------------------------------------
1 | version https://git-lfs.github.com/spec/v1
2 | oid sha256:6995fdbeedab43e969f3cf413ac73c6e0f9c34fc50553f60ce3d860c5dbdd2c2
3 | size 77854
4 |
--------------------------------------------------------------------------------
/workflows/tokkio/4.0/avatar_collage.jpg:
--------------------------------------------------------------------------------
1 | version https://git-lfs.github.com/spec/v1
2 | oid sha256:684074c91f22635c04494a1ff03e9f31f76214cfbb69bd1bc962d9d832e2ae33
3 | size 809867
4 |
--------------------------------------------------------------------------------
/workflows/tokkio/4.0/scripts/one-click/aws/README.md:
--------------------------------------------------------------------------------
1 | For full documentation on how to use this setup script, please refer to its AWS Automated setup guide under [CSP Setup Guides](https://docs.nvidia.com/ace/latest/workflows/tokkio/index.html#csp-setup-guides) section of the Tokkio documentation.
2 |
3 | For further questions or more details contact your Nvidia representative.
--------------------------------------------------------------------------------
/workflows/tokkio/4.0/scripts/one-click/aws/deploy-spec/backend.tf:
--------------------------------------------------------------------------------
1 |
2 | terraform {
3 | backend "s3" {
4 | }
5 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.0/scripts/one-click/aws/deploy-spec/provider.tf:
--------------------------------------------------------------------------------
1 |
2 | provider "aws" {
3 | region = var.provider_config.region
4 | access_key = var.provider_config.access_key
5 | secret_key = var.provider_config.secret_key
6 | }
7 |
8 | # fixed region for cloudfront certs
9 | provider "aws" {
10 | region = "us-east-1"
11 | alias = "cloudfront"
12 | access_key = var.provider_config.access_key
13 | secret_key = var.provider_config.secret_key
14 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.0/scripts/one-click/aws/deploy-spec/versions.tf:
--------------------------------------------------------------------------------
1 |
2 | terraform {
3 | required_providers {
4 | aws = {
5 | source = "hashicorp/aws"
6 | version = "= 4.57.0"
7 | }
8 | random = {
9 | source = "hashicorp/random"
10 | version = "= 3.4.3"
11 | }
12 | }
13 | required_version = "= 1.2.4"
14 | }
15 |
--------------------------------------------------------------------------------
/workflows/tokkio/4.0/scripts/one-click/aws/modules/aws/acm-certificate/output.tf:
--------------------------------------------------------------------------------
1 |
2 | output "arn" {
3 | value = aws_acm_certificate_validation.this.certificate_arn
4 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.0/scripts/one-click/aws/modules/aws/acm-certificate/variables.tf:
--------------------------------------------------------------------------------
1 |
2 | variable "domain_name" {
3 | type = string
4 | }
5 |
6 | variable "subject_alternative_names" {
7 | type = list(string)
8 | default = []
9 | }
10 |
11 | variable "hosted_zone_name" {
12 | type = string
13 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.0/scripts/one-click/aws/modules/aws/acm-certificate/versions.tf:
--------------------------------------------------------------------------------
1 |
2 | terraform {
3 | required_providers {
4 | aws = {
5 | source = "hashicorp/aws"
6 | }
7 | }
8 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.0/scripts/one-click/aws/modules/aws/alb-listener/output.tf:
--------------------------------------------------------------------------------
1 |
2 | output "arn" {
3 | value = aws_lb_listener.this.arn
4 | }
5 |
--------------------------------------------------------------------------------
/workflows/tokkio/4.0/scripts/one-click/aws/modules/aws/alb-listener/versions.tf:
--------------------------------------------------------------------------------
1 |
2 | terraform {
3 | required_providers {
4 | aws = {
5 | source = "hashicorp/aws"
6 | }
7 | }
8 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.0/scripts/one-click/aws/modules/aws/alb/output.tf:
--------------------------------------------------------------------------------
1 |
2 | output "security_group_id" {
3 | value = one(aws_security_group.this.*.id)
4 | }
5 |
6 | output "security_group_ids" {
7 | value = aws_lb.this.security_groups
8 | }
9 |
10 | output "arn" {
11 | value = aws_lb.this.arn
12 | }
13 |
14 | output "dns_name" {
15 | value = aws_lb.this.dns_name
16 | }
17 |
18 | output "zone_id" {
19 | value = aws_lb.this.zone_id
20 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.0/scripts/one-click/aws/modules/aws/alb/versions.tf:
--------------------------------------------------------------------------------
1 |
2 | terraform {
3 | required_providers {
4 | aws = {
5 | source = "hashicorp/aws"
6 | }
7 | }
8 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.0/scripts/one-click/aws/modules/aws/ec2/output.tf:
--------------------------------------------------------------------------------
1 |
2 | output "public_ip" {
3 | value = var.include_public_ip ? aws_eip.this[0].public_ip : local.public_ip
4 | }
5 |
6 | output "private_ip" {
7 | value = aws_network_interface.this.private_ip
8 | }
9 |
10 | output "security_group_id" {
11 | value = one(aws_security_group.this.*.id)
12 | }
13 |
14 | output "security_group_ids" {
15 | value = aws_network_interface.this.security_groups
16 | }
17 |
18 | output "instance_id" {
19 | value = local.instance_id
20 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.0/scripts/one-click/aws/modules/aws/ec2/versions.tf:
--------------------------------------------------------------------------------
1 |
2 | terraform {
3 | required_providers {
4 | aws = {
5 | source = "hashicorp/aws"
6 | }
7 | }
8 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.0/scripts/one-click/aws/modules/aws/keypair/main.tf:
--------------------------------------------------------------------------------
1 |
2 | resource "aws_key_pair" "this" {
3 | public_key = var.public_key
4 | key_name = var.key_name
5 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.0/scripts/one-click/aws/modules/aws/keypair/output.tf:
--------------------------------------------------------------------------------
1 |
2 | output "name" {
3 | value = aws_key_pair.this.key_name
4 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.0/scripts/one-click/aws/modules/aws/keypair/variables.tf:
--------------------------------------------------------------------------------
1 |
2 | variable "public_key" {
3 | type = string
4 | }
5 |
6 | variable "key_name" {
7 | type = string
8 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.0/scripts/one-click/aws/modules/aws/keypair/versions.tf:
--------------------------------------------------------------------------------
1 |
2 | terraform {
3 | required_providers {
4 | aws = {
5 | source = "hashicorp/aws"
6 | }
7 | }
8 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.0/scripts/one-click/aws/modules/aws/networking/output.tf:
--------------------------------------------------------------------------------
1 |
2 | output "vpc_id" {
3 | value = aws_vpc.this.id
4 | }
5 |
6 | output "private_subnet_ids" {
7 | value = aws_subnet.default_private.*.id
8 | }
9 |
10 | output "public_subnet_ids" {
11 | value = aws_subnet.default_public.*.id
12 | }
13 |
14 | output "nat_gateway_ip" {
15 | value = one(aws_nat_gateway.default.*.public_ip)
16 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.0/scripts/one-click/aws/modules/aws/networking/versions.tf:
--------------------------------------------------------------------------------
1 |
2 | terraform {
3 | required_providers {
4 | aws = {
5 | source = "hashicorp/aws"
6 | }
7 | }
8 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.0/scripts/one-click/aws/modules/aws/security-group/output.tf:
--------------------------------------------------------------------------------
1 |
2 | output "security_group_id" {
3 | value = aws_security_group.this.id
4 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.0/scripts/one-click/aws/modules/aws/security-group/variables.tf:
--------------------------------------------------------------------------------
1 |
2 | variable "name" {
3 | type = string
4 | }
5 |
6 | variable "vpc_id" {
7 | type = string
8 | }
9 |
10 | variable "ingress_rules" {
11 | type = list(object({
12 | description = string
13 | from_port = number
14 | to_port = number
15 | protocol = string
16 | cidr_blocks = list(string)
17 | ipv6_cidr_blocks = list(string)
18 | security_groups = list(string)
19 | self = bool
20 | }))
21 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.0/scripts/one-click/aws/modules/aws/security-group/versions.tf:
--------------------------------------------------------------------------------
1 |
2 | terraform {
3 | required_providers {
4 | aws = {
5 | source = "hashicorp/aws"
6 | }
7 | }
8 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.0/scripts/one-click/aws/modules/aws/target-group/output.tf:
--------------------------------------------------------------------------------
1 |
2 | output "arn" {
3 | value = aws_lb_target_group.this.arn
4 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.0/scripts/one-click/aws/modules/aws/target-group/versions.tf:
--------------------------------------------------------------------------------
1 |
2 | terraform {
3 | required_providers {
4 | aws = {
5 | source = "hashicorp/aws"
6 | }
7 | }
8 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.0/scripts/one-click/aws/modules/tokkio/app/config/install-aws-cli.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 |
4 | if ! hash aws 2>/dev/null; then
5 | echo "Installing awscli -- Start"
6 | {
7 | rm -f /tmp/awscliv2.zip
8 | curl --silent "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o /tmp/awscliv2.zip
9 | rm -rf /tmp/aws
10 | if ! hash unzip 2>/dev/null; then
11 | sudo apt-get -y update
12 | sudo apt-get -y install unzip
13 | fi
14 | unzip /tmp/awscliv2.zip -d /tmp
15 | sudo /tmp/aws/install
16 | } > /dev/null
17 | echo "Installing awscli -- End"
18 | fi
--------------------------------------------------------------------------------
/workflows/tokkio/4.0/scripts/one-click/aws/modules/tokkio/app/config/install-ngc-cli.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 |
4 | echo "Install NGC CLI -- Start"
5 |
6 | apt-get -y update
7 | apt-get -y install unzip
8 | wget --quiet --content-disposition https://ngc.nvidia.com/downloads/ngccli_linux.zip -O /tmp/ngccli_linux.zip
9 | mkdir -p /usr/local/lib
10 | unzip -q /tmp/ngccli_linux.zip -d /usr/local/lib
11 | ln -s /usr/local/lib/ngc-cli/ngc /usr/local/bin/ngc
12 |
13 | echo "Install NGC CLI -- End"
--------------------------------------------------------------------------------
/workflows/tokkio/4.0/scripts/one-click/aws/modules/tokkio/app/config/verify-gpu-operator-ready.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 |
4 | echo "Verify GPU Operator Ready -- Start"
5 |
6 | while [[ "$(kubectl --kubeconfig /etc/kubernetes/admin.conf --namespace nvidia-gpu-operator --no-headers --field-selector="status.phase!=Succeeded,status.phase!=Running" get pods | wc -l)" != 0 ]]; do
7 | sleep 10
8 | echo "Waiting for GPU Operator to get READY..."
9 | done
10 |
11 | echo "Verify GPU Operator Ready -- End"
12 |
--------------------------------------------------------------------------------
/workflows/tokkio/4.0/scripts/one-click/aws/modules/tokkio/app/data.tf:
--------------------------------------------------------------------------------
1 |
2 | data "aws_route53_zone" "zone" {
3 | name = local.base_domain
4 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.0/scripts/one-click/aws/modules/tokkio/app/route53-api.tf:
--------------------------------------------------------------------------------
1 |
2 | resource "aws_route53_record" "alb_dns" {
3 | zone_id = data.aws_route53_zone.zone.zone_id
4 | name = local.api_domain
5 | type = "A"
6 |
7 | alias {
8 | name = module.alb.dns_name
9 | zone_id = module.alb.zone_id
10 | evaluate_target_health = true
11 | }
12 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.0/scripts/one-click/aws/modules/tokkio/app/route53-ui.tf:
--------------------------------------------------------------------------------
1 |
2 | resource "aws_route53_record" "cloudfront_dns" {
3 | zone_id = data.aws_route53_zone.zone.zone_id
4 | name = local.ui_domain
5 | type = "A"
6 |
7 | alias {
8 | name = aws_cloudfront_distribution.ui_distribution.domain_name
9 | zone_id = aws_cloudfront_distribution.ui_distribution.hosted_zone_id
10 | evaluate_target_health = false
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/workflows/tokkio/4.0/scripts/one-click/aws/modules/tokkio/app/versions.tf:
--------------------------------------------------------------------------------
1 | terraform {
2 | required_providers {
3 | aws = {
4 | source = "hashicorp/aws"
5 | configuration_aliases = [
6 | aws.cloudfront
7 | ]
8 | }
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/workflows/tokkio/4.0/scripts/one-click/aws/modules/tokkio/base/certificates.tf:
--------------------------------------------------------------------------------
1 |
2 | module "star_alb_certificate" {
3 | source = "../../aws/acm-certificate"
4 | domain_name = local.star_base_domain
5 | hosted_zone_name = var.base_domain
6 | }
7 |
8 | module "star_cloudfront_certificate" {
9 | source = "../../aws/acm-certificate"
10 | domain_name = local.star_base_domain
11 | hosted_zone_name = var.base_domain
12 | providers = {
13 | aws = aws.cloudfront
14 | }
15 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.0/scripts/one-click/aws/modules/tokkio/base/keypair.tf:
--------------------------------------------------------------------------------
1 |
2 | module "key_pair" {
3 | source = "../../aws/keypair"
4 | public_key = var.ssh_public_key
5 | key_name = format("%s-key", var.name)
6 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.0/scripts/one-click/aws/modules/tokkio/base/networking.tf:
--------------------------------------------------------------------------------
1 |
2 | module "networking" {
3 | source = "../../aws/networking"
4 | cidr_block = var.cidr_block
5 | vpc_name = format("%s-vpc", var.name)
6 | public_subnet_names = [for i in range(1, 3) : format("%s-pub-%s", var.name, i)]
7 | private_subnet_names = [for i in range(1, 3) : format("%s-prv-%s", var.name, i)]
8 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.0/scripts/one-click/aws/modules/tokkio/base/versions.tf:
--------------------------------------------------------------------------------
1 |
2 | terraform {
3 | required_providers {
4 | aws = {
5 | source = "hashicorp/aws"
6 | configuration_aliases = [
7 | aws.cloudfront
8 | ]
9 | }
10 | random = {
11 | source = "hashicorp/random"
12 | }
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/workflows/tokkio/4.0/scripts/one-click/aws/modules/tokkio/coturn/config/coturn-server-env.sh.tpl:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 |
4 | export TURNSERVER_PRIVATE_IP="$(curl http://169.254.169.254/latest/meta-data/local-ipv4)"
5 | export TURNSERVER_PUBLIC_IP="$(curl http://169.254.169.254/latest/meta-data/public-ipv4)"
6 | export TURNSERVER_REALM="${coturn.realm}"
7 | export TURNSERVER_USERNAME="${coturn.username}"
8 | export TURNSERVER_PASSWORD="${coturn.password}"
--------------------------------------------------------------------------------
/workflows/tokkio/4.0/scripts/one-click/aws/modules/tokkio/coturn/config/install-aws-cli.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 |
4 | if ! hash aws 2>/dev/null; then
5 | echo "Installing awscli -- Start"
6 | {
7 | rm -f /tmp/awscliv2.zip
8 | curl --silent "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o /tmp/awscliv2.zip
9 | rm -rf /tmp/aws
10 | if ! hash unzip 2>/dev/null; then
11 | sudo apt-get -y update
12 | sudo apt-get -y install unzip
13 | fi
14 | unzip /tmp/awscliv2.zip -d /tmp
15 | sudo /tmp/aws/install
16 | } > /dev/null
17 | echo "Installing awscli -- End"
18 | fi
--------------------------------------------------------------------------------
/workflows/tokkio/4.0/scripts/one-click/aws/modules/tokkio/coturn/output.tf:
--------------------------------------------------------------------------------
1 |
2 | output "public_ip" {
3 | value = module.coturn_instance.public_ip
4 | }
5 | output "private_ip" {
6 | value = module.coturn_instance.private_ip
7 | }
8 | output "coturn_instance" {
9 | value = module.coturn_instance
10 | }
11 | output "port" {
12 | value = 3478
13 | }
14 | output "realm" {
15 | value = var.coturn_settings.realm
16 | }
17 | output "username" {
18 | value = var.coturn_settings.username
19 | sensitive = true
20 | }
21 | output "password" {
22 | value = var.coturn_settings.password
23 | sensitive = true
24 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.0/scripts/one-click/aws/modules/tokkio/coturn/versions.tf:
--------------------------------------------------------------------------------
1 |
2 | terraform {
3 | required_providers {
4 | aws = {
5 | source = "hashicorp/aws"
6 | }
7 | }
8 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.0/scripts/one-click/aws/modules/tokkio/rp/config/rp-env.sh.tpl:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 |
4 |
5 | export NGC_CLI_API_KEY="${ngc_api_key}"
6 | export RP_CHART_URL="${chart_url}"
7 | export CNS_COMMIT=${cns_commit}
8 | export CNS_VERSION=${cns_version}
--------------------------------------------------------------------------------
/workflows/tokkio/4.0/scripts/one-click/aws/modules/tokkio/rp/output.tf:
--------------------------------------------------------------------------------
1 |
2 | output "public_ip" {
3 | value = element([for instance_suffix in var.instance_suffixes : module.rp_instance[instance_suffix].public_ip], 0)
4 | }
5 |
6 | output "private_ip" {
7 | value = element([for instance_suffix in var.instance_suffixes : module.rp_instance[instance_suffix].private_ip], 0)
8 | }
9 |
--------------------------------------------------------------------------------
/workflows/tokkio/4.0/scripts/one-click/aws/modules/tokkio/rp/versions.tf:
--------------------------------------------------------------------------------
1 | terraform {
2 | required_providers {
3 | aws = {
4 | source = "hashicorp/aws"
5 | }
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/workflows/tokkio/4.0/scripts/one-click/azure/README.md:
--------------------------------------------------------------------------------
1 | For full documentation on how to use this setup script, please refer to its AWS Automated setup guide under [CSP Setup Guides](https://docs.nvidia.com/ace/latest/workflows/tokkio/index.html#csp-setup-guides) section of the Tokkio documentation.
2 |
3 | For further questions or more details contact your Nvidia representative.
--------------------------------------------------------------------------------
/workflows/tokkio/4.0/scripts/one-click/azure/deploy-spec/backend.tf:
--------------------------------------------------------------------------------
1 |
2 | terraform {
3 | backend "azurerm" {
4 | }
5 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.0/scripts/one-click/azure/deploy-spec/provider.tf:
--------------------------------------------------------------------------------
1 |
2 | provider "azurerm" {
3 | tenant_id = var.provider_config.tenant_id
4 | subscription_id = var.provider_config.subscription_id
5 | client_id = var.provider_config.client_id
6 | client_secret = var.provider_config.client_secret
7 | features {}
8 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.0/scripts/one-click/azure/deploy-spec/versions.tf:
--------------------------------------------------------------------------------
1 |
2 | terraform {
3 | required_providers {
4 | azurerm = {
5 | source = "hashicorp/azurerm"
6 | version = "= 3.32.0"
7 | }
8 | }
9 | required_version = "= 1.2.4"
10 | }
11 |
--------------------------------------------------------------------------------
/workflows/tokkio/4.0/scripts/one-click/azure/modules/azure/application-gateway/output.tf:
--------------------------------------------------------------------------------
1 |
2 | output "public_ip" {
3 | value = { for frontend_ip_configuration in var.frontend_ip_configurations : frontend_ip_configuration.public_ip_name => azurerm_public_ip.public_ip[frontend_ip_configuration.public_ip_name].ip_address }
4 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.0/scripts/one-click/azure/modules/azure/application-gateway/versions.tf:
--------------------------------------------------------------------------------
1 |
2 | terraform {
3 | required_providers {
4 | azurerm = {
5 | source = "hashicorp/azurerm"
6 | }
7 | }
8 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.0/scripts/one-click/azure/modules/azure/cdn-for-static-website/output.tf:
--------------------------------------------------------------------------------
1 |
2 | output "endpoint_id" {
3 | value = azurerm_cdn_endpoint.cdn_endpoint.id
4 | }
5 |
6 | output "endpoint_fqdn" {
7 | value = azurerm_cdn_endpoint.cdn_endpoint.fqdn
8 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.0/scripts/one-click/azure/modules/azure/cdn-for-static-website/variables.tf:
--------------------------------------------------------------------------------
1 |
2 | variable "resource_group_name" {
3 | type = string
4 | }
5 |
6 | variable "target_host_name" {
7 | type = string
8 | }
9 |
10 | variable "cdn_profile_name" {
11 | type = string
12 | }
13 |
14 | variable "cdn_endpoint_name" {
15 | type = string
16 | }
17 |
18 | variable "additional_tags" {
19 | type = map(string)
20 | default = {}
21 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.0/scripts/one-click/azure/modules/azure/cdn-for-static-website/versions.tf:
--------------------------------------------------------------------------------
1 |
2 | terraform {
3 | required_providers {
4 | azurerm = {
5 | source = "hashicorp/azurerm"
6 | }
7 | }
8 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.0/scripts/one-click/azure/modules/azure/custom-domain-for-cdn/output.tf:
--------------------------------------------------------------------------------
1 |
2 | output "custom_domain_fqdn" {
3 | value = azurerm_cdn_endpoint_custom_domain.custom_domain.host_name
4 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.0/scripts/one-click/azure/modules/azure/custom-domain-for-cdn/variables.tf:
--------------------------------------------------------------------------------
1 |
2 | variable "cdn_endpoint_id" {
3 | type = string
4 | }
5 |
6 | variable "cdn_endpoint_fqdn" {
7 | type = string
8 | }
9 |
10 | variable "base_domain" {
11 | type = string
12 | }
13 |
14 | variable "ui_sub_domain" {
15 | type = string
16 | }
17 |
18 | variable "additional_tags" {
19 | type = map(string)
20 | default = {}
21 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.0/scripts/one-click/azure/modules/azure/custom-domain-for-cdn/versions.tf:
--------------------------------------------------------------------------------
1 |
2 | terraform {
3 | required_providers {
4 | azurerm = {
5 | source = "hashicorp/azurerm"
6 | }
7 | }
8 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.0/scripts/one-click/azure/modules/azure/dns-a-record/main.tf:
--------------------------------------------------------------------------------
1 |
2 | data "azurerm_dns_zone" "dns_zone" {
3 | name = var.base_domain
4 | }
5 |
6 | resource "azurerm_dns_a_record" "a_record" {
7 | name = var.name
8 | zone_name = data.azurerm_dns_zone.dns_zone.name
9 | resource_group_name = data.azurerm_dns_zone.dns_zone.resource_group_name
10 | ttl = var.ttl
11 | records = var.ip_addresses
12 | target_resource_id = var.azure_resource_id
13 | tags = var.additional_tags
14 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.0/scripts/one-click/azure/modules/azure/dns-a-record/output.tf:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/workflows/tokkio/4.0/scripts/one-click/azure/modules/azure/dns-a-record/variables.tf:
--------------------------------------------------------------------------------
1 |
2 | variable "name" {
3 | type = string
4 | }
5 |
6 | variable "base_domain" {
7 | type = string
8 | }
9 |
10 | variable "ttl" {
11 | type = number
12 | }
13 |
14 | variable "ip_addresses" {
15 | type = list(string)
16 | }
17 |
18 | variable "azure_resource_id" {
19 | type = string
20 | }
21 |
22 | variable "additional_tags" {
23 | type = map(string)
24 | default = {}
25 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.0/scripts/one-click/azure/modules/azure/dns-a-record/versions.tf:
--------------------------------------------------------------------------------
1 |
2 | terraform {
3 | required_providers {
4 | azurerm = {
5 | source = "hashicorp/azurerm"
6 | }
7 | }
8 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.0/scripts/one-click/azure/modules/azure/key-vault-certificate/main.tf:
--------------------------------------------------------------------------------
1 |
2 | resource "azurerm_key_vault_certificate" "certificate" {
3 | name = var.name
4 | key_vault_id = var.key_vault_id
5 | certificate {
6 | contents = var.contents
7 | password = var.password
8 | }
9 | tags = var.additional_tags
10 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.0/scripts/one-click/azure/modules/azure/key-vault-certificate/output.tf:
--------------------------------------------------------------------------------
1 |
2 | output "id" {
3 | value = azurerm_key_vault_certificate.certificate.id
4 | }
5 |
6 | output "versionless_id" {
7 | value = azurerm_key_vault_certificate.certificate.versionless_id
8 | }
9 |
10 | output "secret_id" {
11 | value = azurerm_key_vault_certificate.certificate.secret_id
12 | }
13 |
14 | output "versionless_secret_id" {
15 | value = azurerm_key_vault_certificate.certificate.versionless_secret_id
16 | }
17 |
18 | output "name" {
19 | value = azurerm_key_vault_certificate.certificate.name
20 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.0/scripts/one-click/azure/modules/azure/key-vault-certificate/variables.tf:
--------------------------------------------------------------------------------
1 |
2 | variable "name" {
3 | type = string
4 | }
5 |
6 | variable "key_vault_id" {
7 | type = string
8 | }
9 |
10 | variable "contents" {
11 | type = string
12 | }
13 |
14 | variable "password" {
15 | type = string
16 | }
17 |
18 | variable "additional_tags" {
19 | type = map(string)
20 | default = {}
21 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.0/scripts/one-click/azure/modules/azure/key-vault-certificate/versions.tf:
--------------------------------------------------------------------------------
1 |
2 | terraform {
3 | required_providers {
4 | azurerm = {
5 | source = "hashicorp/azurerm"
6 | }
7 | }
8 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.0/scripts/one-click/azure/modules/azure/key-vault/output.tf:
--------------------------------------------------------------------------------
1 |
2 | output "id" {
3 | value = azurerm_key_vault.key_vault.id
4 | }
5 |
6 | output "name" {
7 | value = azurerm_key_vault.key_vault.name
8 | }
9 |
10 | output "access_policy" {
11 | value = { for access_policy in var.access_policies : azurerm_key_vault_access_policy.access_policy[access_policy.identifier].id => access_policy.object_id }
12 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.0/scripts/one-click/azure/modules/azure/key-vault/versions.tf:
--------------------------------------------------------------------------------
1 |
2 | terraform {
3 | required_providers {
4 | azurerm = {
5 | source = "hashicorp/azurerm"
6 | }
7 | }
8 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.0/scripts/one-click/azure/modules/azure/keypair/main.tf:
--------------------------------------------------------------------------------
1 |
2 | resource "azurerm_ssh_public_key" "this" {
3 | name = var.name
4 | resource_group_name = var.resource_group_name
5 | location = var.region
6 | public_key = var.public_key
7 | tags = var.additional_tags
8 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.0/scripts/one-click/azure/modules/azure/keypair/output.tf:
--------------------------------------------------------------------------------
1 |
2 | output "name" {
3 | value = azurerm_ssh_public_key.this.name
4 | }
5 |
6 | output "public_key" {
7 | value = azurerm_ssh_public_key.this.public_key
8 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.0/scripts/one-click/azure/modules/azure/keypair/variables.tf:
--------------------------------------------------------------------------------
1 |
2 | variable "name" {
3 | type = string
4 | }
5 |
6 | variable "resource_group_name" {
7 | type = string
8 | }
9 |
10 | variable "region" {
11 | type = string
12 | }
13 |
14 | variable "public_key" {
15 | type = string
16 | }
17 |
18 | variable "additional_tags" {
19 | type = map(string)
20 | default = {}
21 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.0/scripts/one-click/azure/modules/azure/keypair/versions.tf:
--------------------------------------------------------------------------------
1 |
2 | terraform {
3 | required_providers {
4 | azurerm = {
5 | source = "hashicorp/azurerm"
6 | }
7 | }
8 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.0/scripts/one-click/azure/modules/azure/linux-virtual-machine/output.tf:
--------------------------------------------------------------------------------
1 |
2 | output "public_ip" {
3 | value = one(azurerm_public_ip.public_ip.*.ip_address)
4 | }
5 |
6 | output "private_ip" {
7 | value = azurerm_network_interface.network_interface.private_ip_address
8 | }
9 |
10 | output "network_interface_id" {
11 | value = azurerm_network_interface.network_interface.id
12 | }
13 |
14 | output "ip_configuration_name" {
15 | value = azurerm_network_interface.network_interface.ip_configuration[0].name
16 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.0/scripts/one-click/azure/modules/azure/linux-virtual-machine/versions.tf:
--------------------------------------------------------------------------------
1 |
2 | terraform {
3 | required_providers {
4 | azurerm = {
5 | source = "hashicorp/azurerm"
6 | }
7 | }
8 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.0/scripts/one-click/azure/modules/azure/networking/output.tf:
--------------------------------------------------------------------------------
1 |
2 | output "region" {
3 | value = azurerm_virtual_network.virtual_network.location
4 | }
5 |
6 | output "virtual_network_id" {
7 | value = azurerm_virtual_network.virtual_network.id
8 | }
9 |
10 | output "subnet_ids" {
11 | value = { for subnet in var.subnet_details : subnet.identifier => azurerm_subnet.subnet[subnet.identifier].id }
12 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.0/scripts/one-click/azure/modules/azure/networking/versions.tf:
--------------------------------------------------------------------------------
1 |
2 | terraform {
3 | required_providers {
4 | azurerm = {
5 | source = "hashicorp/azurerm"
6 | }
7 | }
8 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.0/scripts/one-click/azure/modules/azure/resource-group/main.tf:
--------------------------------------------------------------------------------
1 |
2 | resource "azurerm_resource_group" "this" {
3 | name = var.name
4 | location = var.region
5 | tags = var.additional_tags
6 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.0/scripts/one-click/azure/modules/azure/resource-group/output.tf:
--------------------------------------------------------------------------------
1 |
2 | output "id" {
3 | value = azurerm_resource_group.this.id
4 | }
5 |
6 | output "name" {
7 | value = azurerm_resource_group.this.name
8 | }
9 |
10 | output "location" {
11 | value = azurerm_resource_group.this.location
12 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.0/scripts/one-click/azure/modules/azure/resource-group/variables.tf:
--------------------------------------------------------------------------------
1 |
2 | variable "name" {
3 | type = string
4 | }
5 |
6 | variable "region" {
7 | type = string
8 | }
9 |
10 | variable "additional_tags" {
11 | type = map(string)
12 | default = {}
13 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.0/scripts/one-click/azure/modules/azure/resource-group/versions.tf:
--------------------------------------------------------------------------------
1 |
2 | terraform {
3 | required_providers {
4 | azurerm = {
5 | source = "hashicorp/azurerm"
6 | }
7 | }
8 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.0/scripts/one-click/azure/modules/azure/storage-account-backed-static-website/output.tf:
--------------------------------------------------------------------------------
1 |
2 | output "id" {
3 | value = azurerm_storage_account.storage_account.id
4 | }
5 |
6 | output "name" {
7 | value = azurerm_storage_account.storage_account.name
8 | }
9 |
10 | output "primary_web_host" {
11 | value = azurerm_storage_account.storage_account.primary_web_host
12 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.0/scripts/one-click/azure/modules/azure/storage-account-backed-static-website/variables.tf:
--------------------------------------------------------------------------------
1 |
2 | variable "resource_group_name" {
3 | type = string
4 | }
5 |
6 | variable "region" {
7 | type = string
8 | }
9 |
10 | variable "name" {
11 | type = string
12 | }
13 |
14 | variable "index_document" {
15 | type = string
16 | }
17 |
18 | variable "error_404_document" {
19 | type = string
20 | }
21 |
22 | variable "additional_tags" {
23 | type = map(string)
24 | default = {}
25 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.0/scripts/one-click/azure/modules/azure/storage-account-backed-static-website/versions.tf:
--------------------------------------------------------------------------------
1 |
2 | terraform {
3 | required_providers {
4 | azurerm = {
5 | source = "hashicorp/azurerm"
6 | }
7 | }
8 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.0/scripts/one-click/azure/modules/azure/storage-account/main.tf:
--------------------------------------------------------------------------------
1 |
2 | resource "azurerm_storage_account" "storage_account" {
3 | name = replace(var.name, "/\\W/", "")
4 | resource_group_name = var.resource_group_name
5 | location = var.region
6 | account_tier = "Standard"
7 | account_replication_type = var.replication_type
8 | allow_nested_items_to_be_public = false
9 | tags = var.additional_tags
10 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.0/scripts/one-click/azure/modules/azure/storage-account/output.tf:
--------------------------------------------------------------------------------
1 |
2 | output "id" {
3 | value = azurerm_storage_account.storage_account.id
4 | }
5 |
6 | output "name" {
7 | value = azurerm_storage_account.storage_account.name
8 | }
9 |
10 | output "primary_access_key" {
11 | value = azurerm_storage_account.storage_account.primary_access_key
12 | sensitive = true
13 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.0/scripts/one-click/azure/modules/azure/storage-account/variables.tf:
--------------------------------------------------------------------------------
1 |
2 | variable "name" {
3 | type = string
4 | }
5 |
6 | variable "resource_group_name" {
7 | type = string
8 | }
9 |
10 | variable "region" {
11 | type = string
12 | }
13 |
14 | variable "replication_type" {
15 | type = string
16 | default = "LRS"
17 | }
18 |
19 | variable "additional_tags" {
20 | type = map(string)
21 | default = {}
22 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.0/scripts/one-click/azure/modules/azure/storage-account/versions.tf:
--------------------------------------------------------------------------------
1 |
2 | terraform {
3 | required_providers {
4 | azurerm = {
5 | source = "hashicorp/azurerm"
6 | }
7 | }
8 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.0/scripts/one-click/azure/modules/tokkio/app/config/verify-gpu-operator-ready.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 |
4 | echo "Verify GPU Operator Ready -- Start"
5 |
6 | while [[ "$(kubectl --kubeconfig /etc/kubernetes/admin.conf --namespace nvidia-gpu-operator --no-headers --field-selector="status.phase!=Succeeded,status.phase!=Running" get pods | wc -l)" != 0 ]]; do
7 | sleep 10
8 | echo "Waiting for GPU Operator to get READY..."
9 | done
10 |
11 | echo "Verify GPU Operator Ready -- End"
--------------------------------------------------------------------------------
/workflows/tokkio/4.0/scripts/one-click/azure/modules/tokkio/app/output.tf:
--------------------------------------------------------------------------------
1 |
2 | output "private_ips" {
3 | value = [for instance_suffix in var.instance_suffixes : module.api_vm[instance_suffix].private_ip]
4 | }
5 | output "ui_endpoint" {
6 | value = local.ui_endpoint
7 | }
8 | output "api_endpoint" {
9 | value = local.api_endpoint
10 | }
11 | output "elasticsearch_endpoint" {
12 | value = "https://${local.elastic_domain}"
13 | }
14 | output "kibana_endpoint" {
15 | value = "https://${local.kibana_domain}"
16 | }
17 | output "grafana_endpoint" {
18 | value = "https://${local.grafana_domain}"
19 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.0/scripts/one-click/azure/modules/tokkio/app/versions.tf:
--------------------------------------------------------------------------------
1 |
2 | terraform {
3 | required_providers {
4 | azurerm = {
5 | source = "hashicorp/azurerm"
6 | }
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/workflows/tokkio/4.0/scripts/one-click/azure/modules/tokkio/base/keypair.tf:
--------------------------------------------------------------------------------
1 |
2 | module "keypair" {
3 | source = "../../azure/keypair"
4 | name = var.name
5 | resource_group_name = module.resource_group.name
6 | region = var.region
7 | public_key = var.ssh_public_key
8 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.0/scripts/one-click/azure/modules/tokkio/base/networking.tf:
--------------------------------------------------------------------------------
1 |
2 | module "networking" {
3 | source = "../../azure/networking"
4 | name = var.name
5 | resource_group_name = module.resource_group.name
6 | region = var.region
7 | virtual_network_address_space = var.virtual_network_address_space
8 | subnet_details = local.subnet_details
9 | network_security_groups = local.network_security_groups
10 | network_security_rules = local.network_security_rules
11 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.0/scripts/one-click/azure/modules/tokkio/base/resource-group.tf:
--------------------------------------------------------------------------------
1 |
2 | module "resource_group" {
3 | source = "../../azure/resource-group"
4 | name = var.name
5 | region = var.region
6 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.0/scripts/one-click/azure/modules/tokkio/base/versions.tf:
--------------------------------------------------------------------------------
1 |
2 | terraform {
3 | required_providers {
4 | azurerm = {
5 | source = "hashicorp/azurerm"
6 | }
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/workflows/tokkio/4.0/scripts/one-click/azure/modules/tokkio/coturn/config/coturn-server-env.sh.tpl:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 |
4 | export TURNSERVER_PRIVATE_IP="$(curl -s -H Metadata:true --noproxy "*" "http://169.254.169.254/metadata/instance?api-version=2021-02-01" | jq -r '.network.interface[0].ipv4.ipAddress[0].privateIpAddress')"
5 | export TURNSERVER_PUBLIC_IP="$${INSTANCE_PUBLIC_IP}"
6 | export TURNSERVER_REALM="${turnserver_realm}"
7 | export TURNSERVER_USERNAME="${turnserver_username}"
8 | export TURNSERVER_PASSWORD="${turnserver_password}"
--------------------------------------------------------------------------------
/workflows/tokkio/4.0/scripts/one-click/azure/modules/tokkio/coturn/output.tf:
--------------------------------------------------------------------------------
1 |
2 | output "public_ip" {
3 | value = module.coturn_vm.public_ip
4 | }
5 | output "private_ip" {
6 | value = module.coturn_vm.private_ip
7 | }
8 | output "port" {
9 | value = 3478
10 | }
11 | output "realm" {
12 | value = var.turnserver_realm
13 | }
14 | output "username" {
15 | value = var.turnserver_username
16 | sensitive = true
17 | }
18 | output "password" {
19 | value = var.turnserver_password
20 | sensitive = true
21 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.0/scripts/one-click/azure/modules/tokkio/coturn/versions.tf:
--------------------------------------------------------------------------------
1 |
2 | terraform {
3 | required_providers {
4 | azurerm = {
5 | source = "hashicorp/azurerm"
6 | }
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/workflows/tokkio/4.0/scripts/one-click/azure/modules/tokkio/rp/config/rp-env.sh.tpl:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 |
4 |
5 | export NGC_CLI_API_KEY="${ngc_api_key}"
6 | export RP_CHART_URL="${chart_url}"
7 | export CNS_COMMIT=${cns_commit}
8 | export CNS_VERSION=${cns_version}
9 |
--------------------------------------------------------------------------------
/workflows/tokkio/4.0/scripts/one-click/azure/modules/tokkio/rp/output.tf:
--------------------------------------------------------------------------------
1 |
2 | output "public_ip" {
3 | value = module.rp_vm.public_ip
4 |
5 | }
6 |
7 | output "private_ip" {
8 | value = module.rp_vm.private_ip
9 | }
10 |
--------------------------------------------------------------------------------
/workflows/tokkio/4.0/scripts/one-click/azure/modules/tokkio/rp/versions.tf:
--------------------------------------------------------------------------------
1 |
2 | terraform {
3 | required_providers {
4 | azurerm = {
5 | source = "hashicorp/azurerm"
6 | }
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/workflows/tokkio/4.0/scripts/one-click/gcp/README.md:
--------------------------------------------------------------------------------
1 | For full documentation on how to use this setup script, please refer to its AWS Automated setup guide under [CSP Setup Guides](https://docs.nvidia.com/ace/latest/workflows/tokkio/index.html#csp-setup-guides) section of the Tokkio documentation.
2 |
3 | For further questions or more details contact your Nvidia representative.
--------------------------------------------------------------------------------
/workflows/tokkio/4.0/scripts/one-click/gcp/deploy-spec/backend.tf:
--------------------------------------------------------------------------------
1 |
2 | terraform {
3 | backend "gcs" {
4 | }
5 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.0/scripts/one-click/gcp/deploy-spec/provider.tf:
--------------------------------------------------------------------------------
1 |
2 | provider "google" {
3 | project = var.provider_config.project
4 | credentials = var.provider_config.credentials
5 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.0/scripts/one-click/gcp/deploy-spec/versions.tf:
--------------------------------------------------------------------------------
1 |
2 | terraform {
3 | required_providers {
4 | google = {
5 | source = "hashicorp/google"
6 | version = "= 4.44.1"
7 | }
8 | }
9 | required_version = "= 1.2.4"
10 | experiments = [module_variable_optional_attrs]
11 | }
12 |
--------------------------------------------------------------------------------
/workflows/tokkio/4.0/scripts/one-click/gcp/modules/gcp/compute-backend-bucket/main.tf:
--------------------------------------------------------------------------------
1 |
2 | resource "google_compute_backend_bucket" "this" {
3 | name = format("%s-backend", var.name)
4 | bucket_name = var.bucket_name
5 | enable_cdn = var.enable_cdn
6 | compression_mode = var.compression_mode
7 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.0/scripts/one-click/gcp/modules/gcp/compute-backend-bucket/output.tf:
--------------------------------------------------------------------------------
1 |
2 | output "id" {
3 | value = google_compute_backend_bucket.this.id
4 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.0/scripts/one-click/gcp/modules/gcp/compute-backend-bucket/variables.tf:
--------------------------------------------------------------------------------
1 |
2 | variable "name" {
3 | type = string
4 | }
5 | variable "bucket_name" {
6 | type = string
7 | }
8 | variable "enable_cdn" {
9 | type = bool
10 | }
11 | variable "compression_mode" {
12 | type = string
13 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.0/scripts/one-click/gcp/modules/gcp/compute-backend-bucket/versions.tf:
--------------------------------------------------------------------------------
1 |
2 | terraform {
3 | required_providers {
4 | google = {
5 | source = "hashicorp/google"
6 | }
7 | }
8 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.0/scripts/one-click/gcp/modules/gcp/compute-backend-service/output.tf:
--------------------------------------------------------------------------------
1 |
2 | output "id" {
3 | value = google_compute_backend_service.this.id
4 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.0/scripts/one-click/gcp/modules/gcp/compute-backend-service/versions.tf:
--------------------------------------------------------------------------------
1 |
2 | terraform {
3 | required_providers {
4 | google = {
5 | source = "hashicorp/google"
6 | }
7 | }
8 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.0/scripts/one-click/gcp/modules/gcp/global-load-balancer/output.tf:
--------------------------------------------------------------------------------
1 |
2 | output "ip_address" {
3 | value = google_compute_global_address.this.address
4 | }
5 |
6 | output "self_link" {
7 | value = google_compute_url_map.https.self_link
8 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.0/scripts/one-click/gcp/modules/gcp/global-load-balancer/versions.tf:
--------------------------------------------------------------------------------
1 |
2 | terraform {
3 | experiments = [module_variable_optional_attrs]
4 | required_providers {
5 | google = {
6 | source = "hashicorp/google"
7 | }
8 | }
9 | }
10 | # terraform {
11 | # required_providers {
12 | # google = {
13 | # source = "hashicorp/google"
14 | # version = "= 4.44.1"
15 | # }
16 | # }
17 | # required_version = "= 1.2.4"
18 | # }
19 |
--------------------------------------------------------------------------------
/workflows/tokkio/4.0/scripts/one-click/gcp/modules/gcp/instance-group-unmanaged/main.tf:
--------------------------------------------------------------------------------
1 |
2 | resource "google_compute_instance_group" "this" {
3 | name = var.name
4 | zone = var.zone
5 | instances = var.instance_self_links
6 | dynamic "named_port" {
7 | for_each = var.named_ports
8 | content {
9 | name = named_port.value["name"]
10 | port = named_port.value["port"]
11 | }
12 | }
13 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.0/scripts/one-click/gcp/modules/gcp/instance-group-unmanaged/output.tf:
--------------------------------------------------------------------------------
1 |
2 | output "id" {
3 | value = google_compute_instance_group.this.id
4 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.0/scripts/one-click/gcp/modules/gcp/instance-group-unmanaged/variables.tf:
--------------------------------------------------------------------------------
1 |
2 | variable "name" {
3 | type = string
4 | }
5 | variable "zone" {
6 | type = string
7 | }
8 | variable "instance_self_links" {
9 | type = list(string)
10 | }
11 | variable "named_ports" {
12 | type = list(object({
13 | name = string
14 | port = number
15 | }))
16 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.0/scripts/one-click/gcp/modules/gcp/instance-group-unmanaged/versions.tf:
--------------------------------------------------------------------------------
1 |
2 | terraform {
3 | required_providers {
4 | google = {
5 | source = "hashicorp/google"
6 | }
7 | }
8 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.0/scripts/one-click/gcp/modules/gcp/instance/versions.tf:
--------------------------------------------------------------------------------
1 |
2 | terraform {
3 | required_providers {
4 | google = {
5 | source = "hashicorp/google"
6 | }
7 | }
8 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.0/scripts/one-click/gcp/modules/gcp/networking/output.tf:
--------------------------------------------------------------------------------
1 |
2 | output "network_name" {
3 | value = google_compute_network.this.name
4 | }
5 | output "subnetworks" {
6 | value = {
7 | for subnet in var.subnets : subnet.name => {
8 | name = google_compute_subnetwork.this[subnet.name].name
9 | private = subnet.private
10 | }
11 | }
12 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.0/scripts/one-click/gcp/modules/gcp/networking/versions.tf:
--------------------------------------------------------------------------------
1 |
2 | terraform {
3 | required_providers {
4 | google = {
5 | source = "hashicorp/google"
6 | }
7 | }
8 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.0/scripts/one-click/gcp/modules/gcp/website-bucket/main.tf:
--------------------------------------------------------------------------------
1 |
2 | resource "google_storage_bucket" "this" {
3 | name = format("%s-web-assets", var.name)
4 | location = var.location
5 | force_destroy = var.force_destroy
6 | uniform_bucket_level_access = true
7 | website {
8 | main_page_suffix = var.website_main_page_suffix
9 | not_found_page = var.website_not_found_page
10 | }
11 | custom_placement_config {
12 | data_locations = [
13 | upper(var.region),
14 | upper(var.alternate_region)
15 | ]
16 | }
17 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.0/scripts/one-click/gcp/modules/gcp/website-bucket/output.tf:
--------------------------------------------------------------------------------
1 |
2 | output "name" {
3 | value = google_storage_bucket.this.name
4 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.0/scripts/one-click/gcp/modules/gcp/website-bucket/variables.tf:
--------------------------------------------------------------------------------
1 |
2 | variable "name" {
3 | type = string
4 | }
5 | variable "location" {
6 | type = string
7 | }
8 | variable "region" {
9 | type = string
10 | }
11 | variable "alternate_region" {
12 | type = string
13 | }
14 | variable "force_destroy" {
15 | type = bool
16 | }
17 | variable "website_main_page_suffix" {
18 | type = string
19 | }
20 | variable "website_not_found_page" {
21 | type = string
22 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.0/scripts/one-click/gcp/modules/gcp/website-bucket/versions.tf:
--------------------------------------------------------------------------------
1 |
2 | terraform {
3 | required_providers {
4 | google = {
5 | source = "hashicorp/google"
6 | }
7 | }
8 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.0/scripts/one-click/gcp/modules/tokkio/app/config/install-ngc-cli.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 |
4 | echo "Install NGC CLI -- Start"
5 |
6 | apt-get -y update
7 | apt-get -y install unzip
8 | wget --quiet --content-disposition https://ngc.nvidia.com/downloads/ngccli_linux.zip -O /tmp/ngccli_linux.zip
9 | mkdir -p /usr/local/lib
10 | unzip -q /tmp/ngccli_linux.zip -d /usr/local/lib
11 | ln -s /usr/local/lib/ngc-cli/ngc /usr/local/bin/ngc
12 |
13 | echo "Install NGC CLI -- End"
--------------------------------------------------------------------------------
/workflows/tokkio/4.0/scripts/one-click/gcp/modules/tokkio/app/config/verify-gpu-operator-ready.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 |
4 | echo "Verify GPU Operator Ready -- Start"
5 |
6 | while [[ "$(kubectl --kubeconfig /etc/kubernetes/admin.conf --namespace nvidia-gpu-operator --no-headers --field-selector="status.phase!=Succeeded,status.phase!=Running" get pods | wc -l)" != 0 ]]; do
7 | sleep 10
8 | echo "Waiting for GPU Operator to get READY..."
9 | done
10 |
11 | echo "Verify GPU Operator Ready -- End"
12 |
--------------------------------------------------------------------------------
/workflows/tokkio/4.0/scripts/one-click/gcp/modules/tokkio/app/output.tf:
--------------------------------------------------------------------------------
1 |
2 | output "private_ips" {
3 | value = [for instance_suffix in var.instance_suffixes : module.api_instance[instance_suffix].private_ip]
4 | }
5 | output "ui_endpoint" {
6 | value = "https://${local.ui_domain}"
7 | }
8 | output "api_endpoint" {
9 | value = "https://${local.api_domain}"
10 | }
11 | output "elasticsearch_endpoint" {
12 | value = "https://${local.elastic_domain}"
13 | }
14 | output "kibana_endpoint" {
15 | value = "https://${local.kibana_domain}"
16 | }
17 | output "grafana_endpoint" {
18 | value = "https://${local.grafana_domain}"
19 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.0/scripts/one-click/gcp/modules/tokkio/app/versions.tf:
--------------------------------------------------------------------------------
1 |
2 | terraform {
3 | required_providers {
4 | google = {
5 | source = "hashicorp/google"
6 | version = "= 4.44.1"
7 | }
8 | }
9 | required_version = "= 1.2.4"
10 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.0/scripts/one-click/gcp/modules/tokkio/base/config.tf:
--------------------------------------------------------------------------------
1 |
2 | resource "google_storage_bucket" "config_bucket" {
3 | name = local.config_bucket_details.name
4 | location = local.config_bucket_details.location
5 | force_destroy = local.config_bucket_details.force_destroy
6 | uniform_bucket_level_access = true
7 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.0/scripts/one-click/gcp/modules/tokkio/base/networking.tf:
--------------------------------------------------------------------------------
1 |
2 | module "networking" {
3 | source = "../../gcp/networking"
4 | name = local.networking.name
5 | region = local.networking.region
6 | subnets = local.networking.subnets
7 | router_bgp = local.networking.router_bgp
8 | firewalls = local.networking.firewalls
9 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.0/scripts/one-click/gcp/modules/tokkio/base/versions.tf:
--------------------------------------------------------------------------------
1 |
2 | terraform {
3 | required_providers {
4 | google = {
5 | source = "hashicorp/google"
6 | version = "= 4.44.1"
7 | }
8 | }
9 | required_version = "= 1.2.4"
10 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.0/scripts/one-click/gcp/modules/tokkio/coturn/config/coturn-server-env.sh.tpl:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 |
4 | export TURNSERVER_PRIVATE_IP="$(hostname -I)"
5 | export TURNSERVER_PUBLIC_IP="$(curl -H "Metadata-Flavor: Google" http://metadata/computeMetadata/v1/instance/network-interfaces/0/access-configs/0/external-ip)"
6 | export TURNSERVER_REALM="${coturn.realm}"
7 | export TURNSERVER_USERNAME="${coturn.username}"
8 | export TURNSERVER_PASSWORD="${coturn.password}"
--------------------------------------------------------------------------------
/workflows/tokkio/4.0/scripts/one-click/gcp/modules/tokkio/coturn/iam.tf:
--------------------------------------------------------------------------------
1 |
2 | resource "google_service_account" "service_account" {
3 | account_id = local.name
4 | }
5 |
6 | resource "google_storage_bucket_iam_member" "config_viewer_access" {
7 | bucket = local.config_bucket_name
8 | role = "roles/storage.objectViewer"
9 | member = format("serviceAccount:%s", google_service_account.service_account.email)
10 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.0/scripts/one-click/gcp/modules/tokkio/coturn/output.tf:
--------------------------------------------------------------------------------
1 |
2 | output "public_ip" {
3 | value = module.instance.public_ip
4 | }
5 | output "private_ip" {
6 | value = module.instance.private_ip
7 | }
8 | output "port" {
9 | value = 3478
10 | }
11 | output "realm" {
12 | value = var.coturn_settings.realm
13 | }
14 | output "username" {
15 | value = var.coturn_settings.username
16 | sensitive = true
17 | }
18 | output "password" {
19 | value = var.coturn_settings.password
20 | sensitive = true
21 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.0/scripts/one-click/gcp/modules/tokkio/coturn/versions.tf:
--------------------------------------------------------------------------------
1 |
2 | terraform {
3 | required_providers {
4 | google = {
5 | source = "hashicorp/google"
6 | version = "= 4.44.1"
7 | }
8 | }
9 | required_version = "= 1.2.4"
10 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.0/scripts/one-click/gcp/modules/tokkio/rp/config/rp-env.sh.tpl:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 |
4 |
5 | export NGC_CLI_API_KEY="${ngc_api_key}"
6 | export RP_CHART_URL="${chart_url}"
7 | export CNS_COMMIT=${cns_commit}
8 | export CNS_VERSION=${cns_version}
--------------------------------------------------------------------------------
/workflows/tokkio/4.0/scripts/one-click/gcp/modules/tokkio/rp/iam.tf:
--------------------------------------------------------------------------------
1 | resource "google_service_account" "service_account" {
2 | account_id = local.name
3 | }
4 |
5 | resource "google_storage_bucket_iam_member" "config_viewer_access" {
6 | bucket = local.config_bucket_name
7 | role = "roles/storage.objectViewer"
8 | member = format("serviceAccount:%s", google_service_account.service_account.email)
9 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.0/scripts/one-click/gcp/modules/tokkio/rp/output.tf:
--------------------------------------------------------------------------------
1 | output "public_ip" {
2 | value = element([for instance_suffix in var.instance_suffixes : module.rp_instance[instance_suffix].public_ip], 0)
3 | }
4 |
5 | output "private_ip" {
6 | value = element([for instance_suffix in var.instance_suffixes : module.rp_instance[instance_suffix].private_ip], 0)
7 | }
8 |
--------------------------------------------------------------------------------
/workflows/tokkio/4.0/scripts/one-click/gcp/secrets.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 |
4 | # _ssh_public_key -> Your public ssh key's content
5 | export _ssh_public_key=''
6 | # _ngc_api_key -> Your ngc api key value
7 | export _ngc_api_key=''
8 | # _turnserver_password -> Password for turn server
9 | export _turnserver_password=''
10 | # Set the open ai API key
11 | export _openai_api_key=''
12 |
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/Tokkio_example.png:
--------------------------------------------------------------------------------
1 | version https://git-lfs.github.com/spec/v1
2 | oid sha256:6995fdbeedab43e969f3cf413ac73c6e0f9c34fc50553f60ce3d860c5dbdd2c2
3 | size 77854
4 |
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/avatar_collage.jpg:
--------------------------------------------------------------------------------
1 | version https://git-lfs.github.com/spec/v1
2 | oid sha256:684074c91f22635c04494a1ff03e9f31f76214cfbb69bd1bc962d9d832e2ae33
3 | size 809867
4 |
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/aws/ansible-requirements.yml:
--------------------------------------------------------------------------------
1 | collections:
2 | - name: ansible.posix
3 | version: 1.5.4
4 | - name: community.general
5 | version: 8.3.0
6 | - name: kubernetes.core
7 | version: 3.2.0
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/aws/config-files/helm-release/rproxy-override-values.yml:
--------------------------------------------------------------------------------
1 | rProxySpec:
2 | publicInterfaceName: "{{ task_vars.network_interface_name }}"
3 | privateInterfaceName: "{{ task_vars.network_interface_name }}"
4 | imagePullSecrets:
5 | - name: ngc-docker-reg-secret
6 | checkIPUri: "http://checkip.amazonaws.com"
7 |
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/aws/config-files/helm-release/tokkio-logging-es-override-values.yml:
--------------------------------------------------------------------------------
1 | elasticsearch:
2 | clusterName: "{{ task_vars.ops_es_cluster_name }}"
3 | volumeClaimTemplate:
4 | storageClassName: mdx-local-path
5 | kibana:
6 | elasticsearchHosts: "http://{{ task_vars.ops_es_cluster_name }}-master-headless:9200"
7 | service:
8 | nodePort: "31565"
9 | ingress:
10 | enabled: false
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/aws/config-files/k8s-manifest/namespace.yml:
--------------------------------------------------------------------------------
1 | kubeconfig: "{{ task_vars.kubeconfig | default(omit) }}"
2 | definition:
3 | apiVersion: v1
4 | kind: Namespace
5 | metadata:
6 | name: "{{ task_vars.name }}"
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/aws/config-files/k8s-secret/docker-config-json.yml:
--------------------------------------------------------------------------------
1 | kubeconfig: "{{ task_vars.kubeconfig | default(omit) }}"
2 | name: "{{ task_vars.name }}"
3 | namespace: "{{ task_vars.namespace }}"
4 | type: "kubernetes.io/dockerconfigjson"
5 | data:
6 | .dockerconfigjson: "{{ task_vars.docker_config_json | to_json | b64encode }}"
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/aws/config-files/k8s-secret/ngc-api-key-secret.yml:
--------------------------------------------------------------------------------
1 | kubeconfig: "{{ task_vars.kubeconfig | default(omit) }}"
2 | name: "{{ task_vars.name }}"
3 | namespace: "{{ task_vars.namespace }}"
4 | type: Opaque
5 | data:
6 | NGC_CLI_API_KEY: "{{ task_vars.ngc_cli_api_key | b64encode }}"
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/aws/config-files/k8s-secret/nvidia-api-key-secret.yml:
--------------------------------------------------------------------------------
1 | kubeconfig: "{{ task_vars.kubeconfig | default(omit) }}"
2 | name: "{{ task_vars.name }}"
3 | namespace: "{{ task_vars.namespace }}"
4 | type: Opaque
5 | data:
6 | NVIDIA_API_KEY: "{{ task_vars.nvidia_api_key | b64encode }}"
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/aws/config-files/k8s-secret/openai-key-secret.yml:
--------------------------------------------------------------------------------
1 | name: "{{ task_vars.name }}"
2 | namespace: "{{ task_vars.namespace }}"
3 | type: Opaque
4 | data:
5 | OPENAI_API_KEY: "{{ task_vars.openai_api_key | b64encode }}"
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/aws/config-template-examples/llm-a2f-2d-rp-3x-streams/my-config.env:
--------------------------------------------------------------------------------
1 | export OPENAI_API_KEY=""
2 | export NGC_CLI_API_KEY=""
3 | export NVIDIA_API_KEY=""
4 | export AWS_SECRET_ACCESS_KEY=""
5 | export AWS_ACCESS_KEY_ID=""
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/aws/config-template-examples/llm-ov-3d-rp-6x-streams/my-config.env:
--------------------------------------------------------------------------------
1 | export OPENAI_API_KEY=""
2 | export NGC_CLI_API_KEY=""
3 | export NVIDIA_API_KEY=""
4 | export AWS_SECRET_ACCESS_KEY=""
5 | export AWS_ACCESS_KEY_ID=""
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/aws/config-template-examples/llm-ue-3d-coturn-3x-streams/my-config.env:
--------------------------------------------------------------------------------
1 | export OPENAI_API_KEY=""
2 | export NGC_CLI_API_KEY=""
3 | export NVIDIA_API_KEY=""
4 | export AWS_SECRET_ACCESS_KEY=""
5 | export AWS_ACCESS_KEY_ID=""
6 | export GITHUB_USERNAME=""
7 | export GITHUB_ACCESS_TOKEN=""
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/aws/config-template-examples/retail-ov-3d-rp-6x-streams/my-config.env:
--------------------------------------------------------------------------------
1 | export OPENAI_API_KEY=""
2 | export NGC_CLI_API_KEY=""
3 | export NVIDIA_API_KEY=""
4 | export AWS_SECRET_ACCESS_KEY=""
5 | export AWS_ACCESS_KEY_ID=""
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/aws/iac-ref/backend.tf:
--------------------------------------------------------------------------------
1 | terraform {
2 | backend "s3" {
3 | }
4 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/aws/iac-ref/data.tf:
--------------------------------------------------------------------------------
1 |
2 | data "aws_route53_zone" "zone" {
3 | name = local.base_domain
4 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/aws/iac-ref/provider.tf:
--------------------------------------------------------------------------------
1 | provider "aws" {
2 | region = var.region
3 | access_key = var.provider_config.access_key
4 | secret_key = var.provider_config.secret_key
5 | }
6 |
7 | provider "aws" {
8 | region = "us-east-1"
9 | alias = "cloudfront"
10 | access_key = var.provider_config.access_key
11 | secret_key = var.provider_config.secret_key
12 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/aws/iac-ref/versions.tf:
--------------------------------------------------------------------------------
1 | terraform {
2 | required_version = "= 1.5.7"
3 |
4 | required_providers {
5 | aws = {
6 | source = "hashicorp/aws"
7 | version = "= 4.57.0"
8 | }
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/aws/modules/aws/acm-certificate/output.tf:
--------------------------------------------------------------------------------
1 |
2 | output "arn" {
3 | value = aws_acm_certificate_validation.this.certificate_arn
4 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/aws/modules/aws/acm-certificate/variables.tf:
--------------------------------------------------------------------------------
1 |
2 | variable "domain_name" {
3 | type = string
4 | }
5 |
6 | variable "subject_alternative_names" {
7 | type = list(string)
8 | default = []
9 | }
10 |
11 | variable "hosted_zone_name" {
12 | type = string
13 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/aws/modules/aws/acm-certificate/versions.tf:
--------------------------------------------------------------------------------
1 |
2 | terraform {
3 | required_providers {
4 | aws = {
5 | source = "hashicorp/aws"
6 | }
7 | }
8 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/aws/modules/aws/alb-listener/output.tf:
--------------------------------------------------------------------------------
1 |
2 | output "arn" {
3 | value = aws_lb_listener.this.arn
4 | }
5 |
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/aws/modules/aws/alb-listener/versions.tf:
--------------------------------------------------------------------------------
1 |
2 | terraform {
3 | required_providers {
4 | aws = {
5 | source = "hashicorp/aws"
6 | }
7 | }
8 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/aws/modules/aws/alb/output.tf:
--------------------------------------------------------------------------------
1 |
2 | output "security_group_id" {
3 | value = one(aws_security_group.this.*.id)
4 | }
5 |
6 | output "security_group_ids" {
7 | value = aws_lb.this.security_groups
8 | }
9 |
10 | output "arn" {
11 | value = aws_lb.this.arn
12 | }
13 |
14 | output "dns_name" {
15 | value = aws_lb.this.dns_name
16 | }
17 |
18 | output "zone_id" {
19 | value = aws_lb.this.zone_id
20 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/aws/modules/aws/alb/versions.tf:
--------------------------------------------------------------------------------
1 |
2 | terraform {
3 | required_providers {
4 | aws = {
5 | source = "hashicorp/aws"
6 | }
7 | }
8 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/aws/modules/aws/compute/outputs.tf:
--------------------------------------------------------------------------------
1 | output "public_ip" {
2 | value = one(aws_eip.default[*].public_ip)
3 | }
4 |
5 | output "private_ip" {
6 | value = aws_network_interface.default.private_ip
7 | }
8 |
9 | output "security_group_ids" {
10 | value = aws_network_interface.default.security_groups
11 | }
12 |
13 | output "instance_id" {
14 | value = aws_instance.default.id
15 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/aws/modules/aws/compute/versions.tf:
--------------------------------------------------------------------------------
1 | terraform {
2 | required_version = "= 1.5.7"
3 |
4 | required_providers {
5 | aws = {
6 | source = "hashicorp/aws"
7 | version = "= 4.57.0"
8 | }
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/aws/modules/aws/networking/examples/quickstart/variables.tf:
--------------------------------------------------------------------------------
1 | variable "name" {
2 | type = string
3 | description = "The name for the VPC."
4 | nullable = false
5 | }
6 |
7 | variable "vpc_cidr_block" {
8 | type = string
9 | description = "The IPv4 CIDR block for the VPC."
10 | default = null
11 | }
12 |
13 | variable "availability_zone_names" {
14 | type = list(string)
15 | description = "The name of the availability zones to create subnets in."
16 | default = []
17 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/aws/modules/aws/networking/examples/quickstart/versions.tf:
--------------------------------------------------------------------------------
1 | terraform {
2 | required_version = "= 1.5.7"
3 |
4 | required_providers {
5 | aws = {
6 | source = "hashicorp/aws"
7 | version = "= 4.57.0"
8 | }
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/aws/modules/aws/networking/versions.tf:
--------------------------------------------------------------------------------
1 | terraform {
2 | required_version = "= 1.5.7"
3 |
4 | required_providers {
5 | aws = {
6 | source = "hashicorp/aws"
7 | version = "= 4.57.0"
8 | }
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/aws/modules/aws/security-group/output.tf:
--------------------------------------------------------------------------------
1 |
2 | output "security_group_id" {
3 | value = aws_security_group.this.id
4 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/aws/modules/aws/security-group/variables.tf:
--------------------------------------------------------------------------------
1 |
2 | variable "name" {
3 | type = string
4 | }
5 |
6 | variable "vpc_id" {
7 | type = string
8 | }
9 |
10 | variable "ingress_rules" {
11 | type = list(object({
12 | description = string
13 | from_port = number
14 | to_port = number
15 | protocol = string
16 | cidr_blocks = list(string)
17 | ipv6_cidr_blocks = list(string)
18 | security_groups = list(string)
19 | self = bool
20 | }))
21 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/aws/modules/aws/security-group/versions.tf:
--------------------------------------------------------------------------------
1 | terraform {
2 | required_version = "= 1.5.7"
3 |
4 | required_providers {
5 | aws = {
6 | source = "hashicorp/aws"
7 | version = "= 4.57.0"
8 | }
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/aws/modules/aws/target-group/output.tf:
--------------------------------------------------------------------------------
1 |
2 | output "arn" {
3 | value = aws_lb_target_group.this.arn
4 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/aws/modules/aws/target-group/versions.tf:
--------------------------------------------------------------------------------
1 |
2 | terraform {
3 | required_providers {
4 | aws = {
5 | source = "hashicorp/aws"
6 | }
7 | }
8 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/aws/playbooks/app-pre-requisites.yml:
--------------------------------------------------------------------------------
1 | ---
2 | - hosts: all
3 | gather_facts: no
4 | tasks:
5 | - name: install required packages
6 | become: yes
7 | become_user: root
8 | apt:
9 | state: present
10 | update_cache: yes
11 | name:
12 | - unzip
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/aws/playbooks/authorize-ssh-keys.yml:
--------------------------------------------------------------------------------
1 | ---
2 | - hosts: all
3 | gather_facts: yes
4 | become: false
5 | tasks:
6 | - name: authorize key
7 | ansible.posix.authorized_key:
8 | state: "{{ state | default('present') }}"
9 | user: "{{ task_config.user }}"
10 | key: "{{ item }}"
11 | loop: "{{ task_config['keys'] }}"
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/aws/playbooks/check-inventory.yml:
--------------------------------------------------------------------------------
1 | ---
2 | - hosts: all
3 | gather_facts: no
4 | become: false
5 | tasks:
6 | - name: check sudo privileges
7 | become: true
8 | stat:
9 | path: /root
10 | no_log: true
11 |
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/aws/playbooks/cns-validate.yml:
--------------------------------------------------------------------------------
1 | ---
2 | - name: validate cns
3 | when: state == "present" and not ansible_check_mode and dry_run_mode == "true"
4 | import_playbook: "../cns/playbooks/cns-validation.yaml"
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/aws/playbooks/copy-task-config.yml:
--------------------------------------------------------------------------------
1 | ---
2 | - hosts: localhost
3 | connection: local
4 | gather_facts: no
5 | become: false
6 | tasks:
7 | - name: copy task config
8 | shell: "yq eval '.' {{ config_source }} -o json | jq '{task_config: .}' | yq -P > {{ config_destination }}"
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/aws/playbooks/empty_var_check.yml:
--------------------------------------------------------------------------------
1 | - hosts: all
2 | gather_facts: yes
3 | become: false
4 | tasks:
5 | - name: Fail if variable is empty
6 | fail:
7 | msg: "The variable 'item.key' is empty. Please provide a valid value."
8 | when: my_var | length == 0
9 | loop: "{{ task_vars }}"
10 |
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/aws/playbooks/helm-task-pre-requisites.yml:
--------------------------------------------------------------------------------
1 | ---
2 | - hosts: all
3 | gather_facts: no
4 | tasks:
5 | - name: install helm diff plugin
6 | kubernetes.core.helm_plugin:
7 | plugin_path: https://github.com/databus23/helm-diff
8 | state: present
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/aws/playbooks/k8s-patch.yml:
--------------------------------------------------------------------------------
1 | ---
2 | - hosts: all
3 | gather_facts: yes
4 | tasks:
5 | - name: apply patch
6 | ignore_errors: "{{ task_config.ignore_errors | default(false) }}"
7 | kubernetes.core.k8s_json_patch:
8 | kubeconfig: "{{ task_config.kubeconfig | default(omit) }}"
9 | api_version: "{{ task_config.api_version | default('v1') }}"
10 | kind: "{{ task_config.kind }}"
11 | namespace: "{{ task_config.namespace }}"
12 | name: "{{ task_config.name }}"
13 | patch:
14 | "{{ task_config.patch }}"
15 |
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/aws/playbooks/k8s-secret-check-empty-dockerconfig.yml:
--------------------------------------------------------------------------------
1 | - name: Fail if variable is empty
2 | fail:
3 | msg: "The password for {{ item.username }} is empty. Please provide a valid value."
4 | when: item.password | length == 0
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/aws/playbooks/k8s-secret-check-empty-opaque.yml:
--------------------------------------------------------------------------------
1 | - name: Fail if variable is empty
2 | fail:
3 | msg: "The variable {{ item.key }} is empty. Please provide a valid value."
4 | when: item.value | length == 0
5 | with_items: "{{ item.entries }}"
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/aws/playbooks/k8s-secret-check-empty.yml:
--------------------------------------------------------------------------------
1 | ---
2 | - hosts: all
3 | gather_facts: yes
4 | tasks:
5 | - name: check if k8s secrets are empty of type Opaque
6 | loop: "{{ task_config.k8s_secrets }}"
7 | when: item.type == "Opaque"
8 | include_tasks: k8s-secret-check-empty-opaque.yml
9 |
10 | - name: check if k8s secrets are empty of type dockerconfigjson
11 | loop: "{{ task_config.k8s_secrets }}"
12 | when: item.type == "dockerconfigjson"
13 | include_tasks: k8s-secret-check-empty-dockerconfig.yml
14 |
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/aws/playbooks/k8s-secret-old.yml:
--------------------------------------------------------------------------------
1 | ---
2 | - hosts: all
3 | gather_facts: yes
4 | tasks:
5 | - name: install secret
6 | kubernetes.core.k8s:
7 | kubeconfig: "{{ task_config.kubeconfig | default(omit) }}"
8 | state: "{{ state | default('present') }}"
9 | definition:
10 | apiVersion: v1
11 | kind: Secret
12 | type: "{{ task_config.type }}"
13 | metadata:
14 | name: "{{ task_config.name }}"
15 | namespace: "{{ task_config.namespace | default('default') }}"
16 | data:
17 | "{{ task_config.data }}"
18 |
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/aws/playbooks/k8s-secret.yml:
--------------------------------------------------------------------------------
1 | ---
2 | - hosts: all
3 | gather_facts: yes
4 | tasks:
5 | - name: install k8s secret of type Opaque
6 | loop: "{{ task_config.k8s_secrets }}"
7 | when: item.type == "Opaque"
8 | include_tasks: k8s-secret-opaque.yml
9 |
10 |
11 | - name: Install k8s secret of type dockerconfigjson
12 | loop: "{{ task_config.k8s_secrets }}"
13 | when: item.type == "dockerconfigjson"
14 | include_tasks: k8s-secret-dockerconfig.yml
15 |
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/aws/playbooks/k8s-task-pre-requisites.yml:
--------------------------------------------------------------------------------
1 | ---
2 | - hosts: all
3 | gather_facts: no
4 | tasks:
5 | - name: install pip3
6 | become: yes
7 | become_user: root
8 | apt:
9 | name: python3-pip
10 | state: present
11 | - name: install pre-requisites
12 | pip:
13 | name:
14 | - jsonpatch
15 | - kubernetes>=12.0.0
16 | - PyYAML>3.11
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/aws/playbooks/process-user-config.yml:
--------------------------------------------------------------------------------
1 | ---
2 | - hosts: localhost
3 | connection: local
4 | gather_facts: yes
5 | become: false
6 | tasks:
7 | - name: populate output file
8 | copy:
9 | content: "{{ lookup('template', input_file) }}"
10 | dest: "{{ output_file }}"
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/aws/playbooks/sleep.yml:
--------------------------------------------------------------------------------
1 | ---
2 | - hosts: all
3 | gather_facts: yes
4 | become: false
5 | tasks:
6 | - name: "sleep {{ task_vars.time }}"
7 | shell: |
8 | sleep "{{ task_vars.time }}"
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/aws/playbooks/tasks/helm-release-prep-values.yml:
--------------------------------------------------------------------------------
1 | ---
2 | - name: read file content
3 | set_fact:
4 | item_content: "{{ lookup('template', item) }}"
5 | - name: output content to file
6 | copy:
7 | content: "{{ item_content }}"
8 | dest: "{{ ansible_user_dir }}/helm-values/ns-{{ task_config.namespace }}/release-{{ task_config.release_name }}/{{ item | basename }}"
9 |
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/aws/playbooks/write-to-file.yml:
--------------------------------------------------------------------------------
1 | ---
2 | - hosts: all
3 | gather_facts: yes
4 | become: false
5 | tasks:
6 | - name: ensure dir exists
7 | file:
8 | path: "{{ task_config.dest | dirname }}"
9 | state: directory
10 | mode: '0755'
11 | - name: write content to file
12 | copy:
13 | content: "{{ task_config.content }}"
14 | dest: "{{ task_config.dest }}"
15 | mode: "{{ task_config.mode | default(omit) }}"
16 | backup: "{{ task_config.backup | default(omit) }}"
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/azure/ansible-requirements.yml:
--------------------------------------------------------------------------------
1 | collections:
2 | - name: ansible.posix
3 | version: 1.5.4
4 | - name: community.general
5 | version: 8.3.0
6 | - name: kubernetes.core
7 | version: 3.2.0
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/azure/config-files/helm-release/hello-release-values.yml:
--------------------------------------------------------------------------------
1 | ingress:
2 | enabled: true
3 | className: nginx
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/azure/config-files/helm-release/rproxy-override-values.yml:
--------------------------------------------------------------------------------
1 | rProxySpec:
2 | # nodeSelector:
3 | # type: rp
4 | # tolerations:
5 | # - key: "rproxy-node"
6 | # operator: "Exists"
7 | publicInterfaceName: "eth0"
8 | privateInterfaceName: "eth0"
9 | imagePullSecrets:
10 | - name: ngc-docker-reg-secret
11 | checkIPUri: "http://checkip.amazonaws.com"
12 |
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/azure/config-files/helm-release/tokkio-logging-es-override-values.yml:
--------------------------------------------------------------------------------
1 | elasticsearch:
2 | clusterName: "{{ task_vars.ops_es_cluster_name }}"
3 | volumeClaimTemplate:
4 | storageClassName: mdx-local-path
5 | kibana:
6 | elasticsearchHosts: "http://{{ task_vars.ops_es_cluster_name }}-master-headless:9200"
7 | service:
8 | nodePort: "31565"
9 | ingress:
10 | enabled: false
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/azure/config-files/k8s-manifest/namespace.yml:
--------------------------------------------------------------------------------
1 | kubeconfig: "{{ task_vars.kubeconfig | default(omit) }}"
2 | definition:
3 | apiVersion: v1
4 | kind: Namespace
5 | metadata:
6 | name: "{{ task_vars.name }}"
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/azure/config-files/k8s-secret/docker-config-json.yml:
--------------------------------------------------------------------------------
1 | kubeconfig: "{{ task_vars.kubeconfig | default(omit) }}"
2 | name: "{{ task_vars.name }}"
3 | namespace: "{{ task_vars.namespace }}"
4 | type: "kubernetes.io/dockerconfigjson"
5 | data:
6 | .dockerconfigjson: "{{ task_vars.docker_config_json | to_json | b64encode }}"
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/azure/config-files/k8s-secret/ngc-api-key-secret.yml:
--------------------------------------------------------------------------------
1 | kubeconfig: "{{ task_vars.kubeconfig | default(omit) }}"
2 | name: "{{ task_vars.name }}"
3 | namespace: "{{ task_vars.namespace }}"
4 | type: Opaque
5 | data:
6 | NGC_CLI_API_KEY: "{{ task_vars.ngc_cli_api_key | b64encode }}"
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/azure/config-files/k8s-secret/nvidia-api-key-secret.yml:
--------------------------------------------------------------------------------
1 | kubeconfig: "{{ task_vars.kubeconfig | default(omit) }}"
2 | name: "{{ task_vars.name }}"
3 | namespace: "{{ task_vars.namespace }}"
4 | type: Opaque
5 | data:
6 | NVIDIA_API_KEY: "{{ task_vars.nvidia_api_key | b64encode }}"
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/azure/config-files/k8s-secret/openai-key-secret.yml:
--------------------------------------------------------------------------------
1 | name: "{{ task_vars.name }}"
2 | namespace: "{{ task_vars.namespace }}"
3 | type: Opaque
4 | data:
5 | OPENAI_API_KEY: "{{ task_vars.openai_api_key | b64encode }}"
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/azure/config-template-examples/llm-ov-3d-rp-3x-streams/my-config.env:
--------------------------------------------------------------------------------
1 | export OPENAI_API_KEY=""
2 | export NGC_CLI_API_KEY=""
3 | export NVIDIA_API_KEY=""
4 | export ARM_TENANT_ID=""
5 | export ARM_SUBSCRIPTION_ID=""
6 | export ARM_CLIENT_ID=""
7 | export ARM_CLIENT_SECRET='""
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/azure/config-template-examples/llm-ue-3d-coturn-3x-streams/my-config.env:
--------------------------------------------------------------------------------
1 | export OPENAI_API_KEY=""
2 | export NGC_CLI_API_KEY=""
3 | export NVIDIA_API_KEY=""
4 | export ARM_TENANT_ID=""
5 | export ARM_SUBSCRIPTION_ID=""
6 | export ARM_CLIENT_ID=""
7 | export ARM_CLIENT_SECRET='""
8 | export GITHUB_USERNAME=""
9 | export GITHUB_ACCESS_TOKEN=""
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/azure/iac-ref/backend.tf:
--------------------------------------------------------------------------------
1 | terraform {
2 | backend "azurerm" {
3 | }
4 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/azure/iac-ref/provider.tf:
--------------------------------------------------------------------------------
1 | provider "azurerm" {
2 | tenant_id = var.provider_config.tenant_id
3 | subscription_id = var.provider_config.subscription_id
4 | client_id = var.provider_config.client_id
5 | client_secret = var.provider_config.client_secret
6 | features {
7 | resource_group {
8 | prevent_deletion_if_contains_resources = false
9 | }
10 | }
11 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/azure/iac-ref/versions.tf:
--------------------------------------------------------------------------------
1 | terraform {
2 | required_version = "= 1.5.7"
3 |
4 | required_providers {
5 | azurerm = {
6 | source = "hashicorp/azurerm"
7 | version = "3.32.0"
8 | }
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/azure/modules/azure/app-gateway/outputs.tf:
--------------------------------------------------------------------------------
1 | output "public_ip" {
2 | value = {
3 | for frontend_ip_configuration in var.frontend_ip_configurations :
4 | frontend_ip_configuration.public_ip_address["name"] =>
5 | azurerm_public_ip.public_ip[frontend_ip_configuration.public_ip_address["name"]].ip_address
6 | if frontend_ip_configuration.public_ip_address != null
7 | }
8 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/azure/modules/azure/app-gateway/versions.tf:
--------------------------------------------------------------------------------
1 | terraform {
2 | required_version = "= 1.5.7"
3 |
4 | required_providers {
5 | azurerm = {
6 | source = "hashicorp/azurerm"
7 | version = ">= 3.32.0"
8 | }
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/azure/modules/azure/app-security-group/outputs.tf:
--------------------------------------------------------------------------------
1 | output "application_security_group" {
2 | value = {
3 | for k, v in azurerm_application_security_group.default : k => v.id
4 | }
5 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/azure/modules/azure/app-security-group/versions.tf:
--------------------------------------------------------------------------------
1 | terraform {
2 | required_version = "= 1.5.7"
3 |
4 | required_providers {
5 | azurerm = {
6 | source = "hashicorp/azurerm"
7 | version = ">= 3.32.0"
8 | }
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/azure/modules/azure/cdn-for-static-website/output.tf:
--------------------------------------------------------------------------------
1 |
2 | output "endpoint_id" {
3 | value = azurerm_cdn_endpoint.cdn_endpoint.id
4 | }
5 |
6 | output "endpoint_fqdn" {
7 | value = azurerm_cdn_endpoint.cdn_endpoint.fqdn
8 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/azure/modules/azure/cdn-for-static-website/variables.tf:
--------------------------------------------------------------------------------
1 |
2 | variable "resource_group_name" {
3 | type = string
4 | }
5 |
6 | variable "target_host_name" {
7 | type = string
8 | }
9 |
10 | variable "cdn_profile_name" {
11 | type = string
12 | }
13 |
14 | variable "cdn_endpoint_name" {
15 | type = string
16 | }
17 |
18 | variable "additional_tags" {
19 | type = map(string)
20 | default = {}
21 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/azure/modules/azure/cdn-for-static-website/versions.tf:
--------------------------------------------------------------------------------
1 |
2 | terraform {
3 | required_providers {
4 | azurerm = {
5 | source = "hashicorp/azurerm"
6 | }
7 | }
8 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/azure/modules/azure/compute/outputs.tf:
--------------------------------------------------------------------------------
1 | output "id" {
2 | value = azurerm_linux_virtual_machine.default.id
3 | }
4 |
5 | output "public_ip" {
6 | value = azurerm_linux_virtual_machine.default.public_ip_address
7 | }
8 |
9 | output "private_ip" {
10 | value = azurerm_linux_virtual_machine.default.private_ip_address
11 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/azure/modules/azure/compute/versions.tf:
--------------------------------------------------------------------------------
1 | terraform {
2 | required_version = "= 1.5.7"
3 |
4 | required_providers {
5 | azurerm = {
6 | source = "hashicorp/azurerm"
7 | version = ">= 3.32.0"
8 | }
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/azure/modules/azure/custom-domain-for-cdn/output.tf:
--------------------------------------------------------------------------------
1 |
2 | output "custom_domain_fqdn" {
3 | value = azurerm_cdn_endpoint_custom_domain.custom_domain.host_name
4 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/azure/modules/azure/custom-domain-for-cdn/variables.tf:
--------------------------------------------------------------------------------
1 |
2 | variable "cdn_endpoint_id" {
3 | type = string
4 | }
5 |
6 | variable "cdn_endpoint_fqdn" {
7 | type = string
8 | }
9 |
10 | variable "base_domain" {
11 | type = string
12 | }
13 |
14 | variable "ui_sub_domain" {
15 | type = string
16 | }
17 |
18 | variable "additional_tags" {
19 | type = map(string)
20 | default = {}
21 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/azure/modules/azure/custom-domain-for-cdn/versions.tf:
--------------------------------------------------------------------------------
1 |
2 | terraform {
3 | required_providers {
4 | azurerm = {
5 | source = "hashicorp/azurerm"
6 | }
7 | }
8 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/azure/modules/azure/dns-a-record/main.tf:
--------------------------------------------------------------------------------
1 |
2 | data "azurerm_dns_zone" "dns_zone" {
3 | name = var.base_domain
4 | }
5 |
6 | resource "azurerm_dns_a_record" "a_record" {
7 | name = var.name
8 | zone_name = data.azurerm_dns_zone.dns_zone.name
9 | resource_group_name = data.azurerm_dns_zone.dns_zone.resource_group_name
10 | ttl = var.ttl
11 | records = var.ip_addresses
12 | target_resource_id = var.azure_resource_id
13 | tags = var.additional_tags
14 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/azure/modules/azure/dns-a-record/output.tf:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/azure/modules/azure/dns-a-record/variables.tf:
--------------------------------------------------------------------------------
1 |
2 | variable "name" {
3 | type = string
4 | }
5 |
6 | variable "base_domain" {
7 | type = string
8 | }
9 |
10 | variable "ttl" {
11 | type = number
12 | }
13 |
14 | variable "ip_addresses" {
15 | type = list(string)
16 | }
17 |
18 | variable "azure_resource_id" {
19 | type = string
20 | }
21 |
22 | variable "additional_tags" {
23 | type = map(string)
24 | default = {}
25 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/azure/modules/azure/dns-a-record/versions.tf:
--------------------------------------------------------------------------------
1 |
2 | terraform {
3 | required_providers {
4 | azurerm = {
5 | source = "hashicorp/azurerm"
6 | }
7 | }
8 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/azure/modules/azure/networking/examples/quickstart/versions.tf:
--------------------------------------------------------------------------------
1 | terraform {
2 | required_version = "= 1.5.7"
3 |
4 | required_providers {
5 | azurerm = {
6 | source = "hashicorp/azurerm"
7 | version = ">= 3.32.0"
8 | }
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/azure/modules/azure/networking/versions.tf:
--------------------------------------------------------------------------------
1 | terraform {
2 | required_version = "= 1.5.7"
3 |
4 | required_providers {
5 | azurerm = {
6 | source = "hashicorp/azurerm"
7 | version = ">= 3.32.0"
8 | }
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/azure/modules/azure/resource-group/main.tf:
--------------------------------------------------------------------------------
1 | resource "azurerm_resource_group" "default" {
2 | name = var.name
3 | location = var.location
4 | tags = var.tags
5 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/azure/modules/azure/resource-group/outputs.tf:
--------------------------------------------------------------------------------
1 | output "name" {
2 | value = azurerm_resource_group.default.name
3 | }
4 |
5 | output "location" {
6 | value = azurerm_resource_group.default.location
7 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/azure/modules/azure/resource-group/versions.tf:
--------------------------------------------------------------------------------
1 | terraform {
2 | required_version = "= 1.5.7"
3 |
4 | required_providers {
5 | azurerm = {
6 | source = "hashicorp/azurerm"
7 | version = ">= 3.32.0"
8 | }
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/azure/modules/azure/storage-account-backed-static-website/output.tf:
--------------------------------------------------------------------------------
1 |
2 | output "id" {
3 | value = azurerm_storage_account.storage_account.id
4 | }
5 |
6 | output "name" {
7 | value = azurerm_storage_account.storage_account.name
8 | }
9 |
10 | output "primary_web_host" {
11 | value = azurerm_storage_account.storage_account.primary_web_host
12 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/azure/modules/azure/storage-account-backed-static-website/variables.tf:
--------------------------------------------------------------------------------
1 |
2 | variable "resource_group_name" {
3 | type = string
4 | }
5 |
6 | variable "region" {
7 | type = string
8 | }
9 |
10 | variable "name" {
11 | type = string
12 | }
13 |
14 | variable "index_document" {
15 | type = string
16 | }
17 |
18 | variable "error_404_document" {
19 | type = string
20 | }
21 |
22 | variable "additional_tags" {
23 | type = map(string)
24 | default = {}
25 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/azure/modules/azure/storage-account-backed-static-website/versions.tf:
--------------------------------------------------------------------------------
1 |
2 | terraform {
3 | required_providers {
4 | azurerm = {
5 | source = "hashicorp/azurerm"
6 | }
7 | }
8 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/azure/playbooks/app-pre-requisites.yml:
--------------------------------------------------------------------------------
1 | ---
2 | - hosts: all
3 | gather_facts: no
4 | tasks:
5 | - name: install required packages
6 | become: yes
7 | become_user: root
8 | apt:
9 | state: present
10 | update_cache: yes
11 | name:
12 | - unzip
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/azure/playbooks/authorize-ssh-keys.yml:
--------------------------------------------------------------------------------
1 | ---
2 | - hosts: all
3 | gather_facts: yes
4 | become: false
5 | tasks:
6 | - name: authorize key
7 | ansible.posix.authorized_key:
8 | state: "{{ state | default('present') }}"
9 | user: "{{ task_config.user }}"
10 | key: "{{ item }}"
11 | loop: "{{ task_config['keys'] }}"
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/azure/playbooks/check-inventory.yml:
--------------------------------------------------------------------------------
1 | ---
2 | - hosts: all
3 | gather_facts: no
4 | become: false
5 | tasks:
6 | - name: check sudo privileges
7 | become: true
8 | stat:
9 | path: /root
10 | no_log: true
11 |
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/azure/playbooks/cns-validate.yml:
--------------------------------------------------------------------------------
1 | ---
2 | - name: validate cns
3 | when: state == "present" and not ansible_check_mode and dry_run_mode == "true"
4 | import_playbook: "../cns/playbooks/cns-validation.yaml"
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/azure/playbooks/copy-task-config.yml:
--------------------------------------------------------------------------------
1 | ---
2 | - hosts: localhost
3 | connection: local
4 | gather_facts: no
5 | become: false
6 | tasks:
7 | - name: copy task config
8 | shell: "yq eval '.' {{ config_source }} -o json | jq '{task_config: .}' | yq -P > {{ config_destination }}"
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/azure/playbooks/empty_var_check.yml:
--------------------------------------------------------------------------------
1 | - hosts: all
2 | gather_facts: yes
3 | become: false
4 | tasks:
5 | - name: Fail if variable is empty
6 | fail:
7 | msg: "The variable 'item.key' is empty. Please provide a valid value."
8 | when: my_var | length == 0
9 | loop: "{{ task_vars }}"
10 |
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/azure/playbooks/helm-task-pre-requisites.yml:
--------------------------------------------------------------------------------
1 | ---
2 | - hosts: all
3 | gather_facts: no
4 | tasks:
5 | - name: install helm diff plugin
6 | kubernetes.core.helm_plugin:
7 | plugin_path: https://github.com/databus23/helm-diff
8 | state: present
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/azure/playbooks/k8s-patch.yml:
--------------------------------------------------------------------------------
1 | ---
2 | - hosts: all
3 | gather_facts: yes
4 | tasks:
5 | - name: apply patch
6 | ignore_errors: "{{ task_config.ignore_errors | default(false) }}"
7 | kubernetes.core.k8s_json_patch:
8 | kubeconfig: "{{ task_config.kubeconfig | default(omit) }}"
9 | api_version: "{{ task_config.api_version | default('v1') }}"
10 | kind: "{{ task_config.kind }}"
11 | namespace: "{{ task_config.namespace }}"
12 | name: "{{ task_config.name }}"
13 | patch:
14 | "{{ task_config.patch }}"
15 |
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/azure/playbooks/k8s-secret-check-empty-dockerconfig.yml:
--------------------------------------------------------------------------------
1 | - name: Fail if variable is empty
2 | fail:
3 | msg: "The password for {{ item.username }} is empty. Please provide a valid value."
4 | when: item.password | length == 0
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/azure/playbooks/k8s-secret-check-empty-opaque.yml:
--------------------------------------------------------------------------------
1 | - name: Fail if variable is empty
2 | fail:
3 | msg: "The variable {{ item.key }} is empty. Please provide a valid value."
4 | when: item.value | length == 0
5 | with_items: "{{ item.entries }}"
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/azure/playbooks/k8s-secret-check-empty.yml:
--------------------------------------------------------------------------------
1 | ---
2 | - hosts: all
3 | gather_facts: yes
4 | tasks:
5 | - name: check if k8s secrets are empty of type Opaque
6 | loop: "{{ task_config.k8s_secrets }}"
7 | when: item.type == "Opaque"
8 | include_tasks: k8s-secret-check-empty-opaque.yml
9 |
10 | - name: check if k8s secrets are empty of type dockerconfigjson
11 | loop: "{{ task_config.k8s_secrets }}"
12 | when: item.type == "dockerconfigjson"
13 | include_tasks: k8s-secret-check-empty-dockerconfig.yml
14 |
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/azure/playbooks/k8s-secret-old.yml:
--------------------------------------------------------------------------------
1 | ---
2 | - hosts: all
3 | gather_facts: yes
4 | tasks:
5 | - name: install secret
6 | kubernetes.core.k8s:
7 | kubeconfig: "{{ task_config.kubeconfig | default(omit) }}"
8 | state: "{{ state | default('present') }}"
9 | definition:
10 | apiVersion: v1
11 | kind: Secret
12 | type: "{{ task_config.type }}"
13 | metadata:
14 | name: "{{ task_config.name }}"
15 | namespace: "{{ task_config.namespace | default('default') }}"
16 | data:
17 | "{{ task_config.data }}"
18 |
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/azure/playbooks/k8s-secret.yml:
--------------------------------------------------------------------------------
1 | ---
2 | - hosts: all
3 | gather_facts: yes
4 | tasks:
5 | - name: install k8s secret of type Opaque
6 | loop: "{{ task_config.k8s_secrets }}"
7 | when: item.type == "Opaque"
8 | include_tasks: k8s-secret-opaque.yml
9 |
10 |
11 | - name: Install k8s secret of type dockerconfigjson
12 | loop: "{{ task_config.k8s_secrets }}"
13 | when: item.type == "dockerconfigjson"
14 | include_tasks: k8s-secret-dockerconfig.yml
15 |
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/azure/playbooks/k8s-task-pre-requisites.yml:
--------------------------------------------------------------------------------
1 | ---
2 | - hosts: all
3 | gather_facts: no
4 | tasks:
5 | - name: install pip3
6 | become: yes
7 | become_user: root
8 | apt:
9 | name: python3-pip
10 | state: present
11 | - name: install pre-requisites
12 | pip:
13 | name:
14 | - jsonpatch
15 | - kubernetes>=12.0.0
16 | - PyYAML>3.11
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/azure/playbooks/process-user-config.yml:
--------------------------------------------------------------------------------
1 | ---
2 | - hosts: localhost
3 | connection: local
4 | gather_facts: yes
5 | become: false
6 | tasks:
7 | - name: populate output file
8 | copy:
9 | content: "{{ lookup('template', input_file) }}"
10 | dest: "{{ output_file }}"
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/azure/playbooks/sleep.yml:
--------------------------------------------------------------------------------
1 | ---
2 | - hosts: all
3 | gather_facts: yes
4 | become: false
5 | tasks:
6 | - name: "sleep {{ task_vars.time }}"
7 | shell: |
8 | sleep "{{ task_vars.time }}"
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/azure/playbooks/tasks/helm-release-prep-values.yml:
--------------------------------------------------------------------------------
1 | ---
2 | - name: read file content
3 | set_fact:
4 | item_content: "{{ lookup('template', item) }}"
5 | - name: output content to file
6 | copy:
7 | content: "{{ item_content }}"
8 | dest: "{{ ansible_user_dir }}/helm-values/ns-{{ task_config.namespace }}/release-{{ task_config.release_name }}/{{ item | basename }}"
9 |
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/azure/playbooks/write-to-file.yml:
--------------------------------------------------------------------------------
1 | ---
2 | - hosts: all
3 | gather_facts: yes
4 | become: false
5 | tasks:
6 | - name: ensure dir exists
7 | file:
8 | path: "{{ task_config.dest | dirname }}"
9 | state: directory
10 | mode: '0755'
11 | - name: write content to file
12 | copy:
13 | content: "{{ task_config.content }}"
14 | dest: "{{ task_config.dest }}"
15 | mode: "{{ task_config.mode | default(omit) }}"
16 | backup: "{{ task_config.backup | default(omit) }}"
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/baremetal/ansible-requirements.yml:
--------------------------------------------------------------------------------
1 | collections:
2 | - name: ansible.posix
3 | version: 1.5.4
4 | - name: community.general
5 | version: 8.3.0
6 | - name: kubernetes.core
7 | version: 3.2.0
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/baremetal/config-files/helm-release/rproxy-override-values.yml:
--------------------------------------------------------------------------------
1 | rProxySpec:
2 | publicInterfaceName: "{{ task_vars.network_interface_name }}"
3 | privateInterfaceName: "{{ task_vars.network_interface_name }}"
4 | imagePullSecrets:
5 | - name: ngc-docker-reg-secret
6 | checkIPUri: "http://checkip.amazonaws.com"
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/baremetal/config-files/helm-release/tokkio-logging-es-override-values.yml:
--------------------------------------------------------------------------------
1 | elasticsearch:
2 | clusterName: "{{ task_vars.ops_es_cluster_name }}"
3 | volumeClaimTemplate:
4 | storageClassName: mdx-local-path
5 | kibana:
6 | elasticsearchHosts: "http://{{ task_vars.ops_es_cluster_name }}-master-headless:9200"
7 | service:
8 | nodePort: "31565"
9 | ingress:
10 | enabled: false
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/baremetal/config-files/k8s-manifest/namespace.yml:
--------------------------------------------------------------------------------
1 | kubeconfig: "{{ task_vars.kubeconfig | default(omit) }}"
2 | definition:
3 | apiVersion: v1
4 | kind: Namespace
5 | metadata:
6 | name: "{{ task_vars.name }}"
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/baremetal/config-files/k8s-secret/docker-config-json.yml:
--------------------------------------------------------------------------------
1 | kubeconfig: "{{ task_vars.kubeconfig | default(omit) }}"
2 | name: "{{ task_vars.name }}"
3 | namespace: "{{ task_vars.namespace }}"
4 | type: "kubernetes.io/dockerconfigjson"
5 | data:
6 | .dockerconfigjson: "{{ task_vars.docker_config_json | to_json | b64encode }}"
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/baremetal/config-files/k8s-secret/ngc-api-key-secret.yml:
--------------------------------------------------------------------------------
1 | kubeconfig: "{{ task_vars.kubeconfig | default(omit) }}"
2 | name: "{{ task_vars.name }}"
3 | namespace: "{{ task_vars.namespace }}"
4 | type: Opaque
5 | data:
6 | NGC_CLI_API_KEY: "{{ task_vars.ngc_cli_api_key | b64encode }}"
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/baremetal/config-files/k8s-secret/nvidia-api-key-secret.yml:
--------------------------------------------------------------------------------
1 | kubeconfig: "{{ task_vars.kubeconfig | default(omit) }}"
2 | name: "{{ task_vars.name }}"
3 | namespace: "{{ task_vars.namespace }}"
4 | type: Opaque
5 | data:
6 | NVIDIA_API_KEY: "{{ task_vars.nvidia_api_key | b64encode }}"
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/baremetal/config-files/k8s-secret/openai-key-secret.yml:
--------------------------------------------------------------------------------
1 | name: "{{ task_vars.name }}"
2 | namespace: "{{ task_vars.namespace }}"
3 | type: Opaque
4 | data:
5 | OPENAI_API_KEY: "{{ task_vars.openai_api_key | b64encode }}"
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/baremetal/config-template-examples/llm-ov-3d-coturn-1x-stream/my-config.env:
--------------------------------------------------------------------------------
1 | export OPENAI_API_KEY=""
2 | export NGC_CLI_API_KEY=""
3 | export NVIDIA_API_KEY=""
4 | export APP_HOST_IPV4_ADDR=""
5 | export APP_HOST_SSH_USER=""
6 | export COTURN_HOST_IPV4_ADDR=""
7 | export COTURN_HOST_SSH_USER=""
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/baremetal/iac-ref/backend.tf:
--------------------------------------------------------------------------------
1 | terraform {
2 | backend "local" {
3 | }
4 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/baremetal/iac-ref/locals.tf:
--------------------------------------------------------------------------------
1 | locals {
2 | cluster_names = sort(keys(var.clusters))
3 | bastion_inventory_name = "bastion"
4 | master_inventory_name = "master"
5 | ansible_ssh_extra_args = "-o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null"
6 | turn_server_provider = var.turn_server_provider
7 | use_reverse_proxy = local.turn_server_provider == "rp" ? true : false
8 | use_twilio_stun_turn = local.turn_server_provider == "twilio" ? true : false
9 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/baremetal/iac-ref/versions.tf:
--------------------------------------------------------------------------------
1 | terraform {
2 | required_version = "= 1.5.7"
3 |
4 | required_providers {}
5 | }
6 |
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/baremetal/playbooks/app-pre-requisites.yml:
--------------------------------------------------------------------------------
1 | ---
2 | - hosts: all
3 | gather_facts: no
4 | tasks:
5 | - name: install required packages
6 | become: yes
7 | become_user: root
8 | apt:
9 | state: present
10 | update_cache: yes
11 | name:
12 | - unzip
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/baremetal/playbooks/authorize-ssh-keys.yml:
--------------------------------------------------------------------------------
1 | ---
2 | - hosts: all
3 | gather_facts: yes
4 | become: false
5 | tasks:
6 | - name: authorize key
7 | ansible.posix.authorized_key:
8 | state: "{{ state | default('present') }}"
9 | user: "{{ task_config.user }}"
10 | key: "{{ item }}"
11 | loop: "{{ task_config['keys'] }}"
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/baremetal/playbooks/check-inventory.yml:
--------------------------------------------------------------------------------
1 | ---
2 | - hosts: all
3 | gather_facts: no
4 | become: false
5 | tasks:
6 | - name: check sudo privileges
7 | become: true
8 | stat:
9 | path: /root
10 | no_log: true
11 |
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/baremetal/playbooks/cns-validate.yml:
--------------------------------------------------------------------------------
1 | ---
2 | - name: validate cns
3 | when: state == "present" and not ansible_check_mode and dry_run_mode == "true"
4 | import_playbook: "../cns/playbooks/cns-validation.yaml"
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/baremetal/playbooks/copy-task-config.yml:
--------------------------------------------------------------------------------
1 | ---
2 | - hosts: localhost
3 | connection: local
4 | gather_facts: no
5 | become: false
6 | tasks:
7 | - name: copy task config
8 | shell: "yq eval '.' {{ config_source }} -o json | jq '{task_config: .}' | yq -P > {{ config_destination }}"
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/baremetal/playbooks/empty_var_check.yml:
--------------------------------------------------------------------------------
1 | - hosts: all
2 | gather_facts: yes
3 | become: false
4 | tasks:
5 | - name: Fail if variable is empty
6 | fail:
7 | msg: "The variable 'item.key' is empty. Please provide a valid value."
8 | when: my_var | length == 0
9 | loop: "{{ task_vars }}"
10 |
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/baremetal/playbooks/helm-task-pre-requisites.yml:
--------------------------------------------------------------------------------
1 | ---
2 | - hosts: all
3 | gather_facts: no
4 | tasks:
5 | - name: install helm diff plugin
6 | kubernetes.core.helm_plugin:
7 | plugin_path: https://github.com/databus23/helm-diff
8 | state: present
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/baremetal/playbooks/k8s-patch.yml:
--------------------------------------------------------------------------------
1 | ---
2 | - hosts: all
3 | gather_facts: yes
4 | tasks:
5 | - name: apply patch
6 | ignore_errors: "{{ task_config.ignore_errors | default(false) }}"
7 | kubernetes.core.k8s_json_patch:
8 | kubeconfig: "{{ task_config.kubeconfig | default(omit) }}"
9 | api_version: "{{ task_config.api_version | default('v1') }}"
10 | kind: "{{ task_config.kind }}"
11 | namespace: "{{ task_config.namespace }}"
12 | name: "{{ task_config.name }}"
13 | patch:
14 | "{{ task_config.patch }}"
15 |
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/baremetal/playbooks/k8s-secret-check-empty-dockerconfig.yml:
--------------------------------------------------------------------------------
1 | - name: Fail if variable is empty
2 | fail:
3 | msg: "The password for {{ item.username }} is empty. Please provide a valid value."
4 | when: item.password | length == 0
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/baremetal/playbooks/k8s-secret-check-empty-opaque.yml:
--------------------------------------------------------------------------------
1 | - name: Fail if variable is empty
2 | fail:
3 | msg: "The variable {{ item.key }} is empty. Please provide a valid value."
4 | when: item.value | length == 0
5 | with_items: "{{ item.entries }}"
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/baremetal/playbooks/k8s-secret-check-empty.yml:
--------------------------------------------------------------------------------
1 | ---
2 | - hosts: all
3 | gather_facts: yes
4 | tasks:
5 | - name: check if k8s secrets are empty of type Opaque
6 | loop: "{{ task_config.k8s_secrets }}"
7 | when: item.type == "Opaque"
8 | include_tasks: k8s-secret-check-empty-opaque.yml
9 |
10 | - name: check if k8s secrets are empty of type dockerconfigjson
11 | loop: "{{ task_config.k8s_secrets }}"
12 | when: item.type == "dockerconfigjson"
13 | include_tasks: k8s-secret-check-empty-dockerconfig.yml
14 |
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/baremetal/playbooks/k8s-secret-old.yml:
--------------------------------------------------------------------------------
1 | ---
2 | - hosts: all
3 | gather_facts: yes
4 | tasks:
5 | - name: install secret
6 | kubernetes.core.k8s:
7 | kubeconfig: "{{ task_config.kubeconfig | default(omit) }}"
8 | state: "{{ state | default('present') }}"
9 | definition:
10 | apiVersion: v1
11 | kind: Secret
12 | type: "{{ task_config.type }}"
13 | metadata:
14 | name: "{{ task_config.name }}"
15 | namespace: "{{ task_config.namespace | default('default') }}"
16 | data:
17 | "{{ task_config.data }}"
18 |
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/baremetal/playbooks/k8s-secret.yml:
--------------------------------------------------------------------------------
1 | ---
2 | - hosts: all
3 | gather_facts: yes
4 | tasks:
5 | - name: install k8s secret of type Opaque
6 | loop: "{{ task_config.k8s_secrets }}"
7 | when: item.type == "Opaque"
8 | include_tasks: k8s-secret-opaque.yml
9 |
10 |
11 | - name: Install k8s secret of type dockerconfigjson
12 | loop: "{{ task_config.k8s_secrets }}"
13 | when: item.type == "dockerconfigjson"
14 | include_tasks: k8s-secret-dockerconfig.yml
15 |
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/baremetal/playbooks/k8s-task-pre-requisites.yml:
--------------------------------------------------------------------------------
1 | ---
2 | - hosts: all
3 | gather_facts: no
4 | tasks:
5 | - name: install pip3
6 | become: yes
7 | become_user: root
8 | apt:
9 | name: python3-pip
10 | state: present
11 | - name: install pre-requisites
12 | pip:
13 | name:
14 | - jsonpatch
15 | - kubernetes>=12.0.0
16 | - PyYAML>3.11
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/baremetal/playbooks/process-user-config.yml:
--------------------------------------------------------------------------------
1 | ---
2 | - hosts: localhost
3 | connection: local
4 | gather_facts: yes
5 | become: false
6 | tasks:
7 | - name: populate output file
8 | copy:
9 | content: "{{ lookup('template', input_file) }}"
10 | dest: "{{ output_file }}"
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/baremetal/playbooks/sleep.yml:
--------------------------------------------------------------------------------
1 | ---
2 | - hosts: all
3 | gather_facts: yes
4 | become: false
5 | tasks:
6 | - name: "sleep {{ task_vars.time }}"
7 | shell: |
8 | sleep "{{ task_vars.time }}"
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/baremetal/playbooks/tasks/helm-release-prep-values.yml:
--------------------------------------------------------------------------------
1 | ---
2 | - name: read file content
3 | set_fact:
4 | item_content: "{{ lookup('template', item) }}"
5 | - name: output content to file
6 | copy:
7 | content: "{{ item_content }}"
8 | dest: "{{ ansible_user_dir }}/helm-values/ns-{{ task_config.namespace }}/release-{{ task_config.release_name }}/{{ item | basename }}"
9 |
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/baremetal/playbooks/write-to-file.yml:
--------------------------------------------------------------------------------
1 | ---
2 | - hosts: all
3 | gather_facts: yes
4 | become: false
5 | tasks:
6 | - name: ensure dir exists
7 | file:
8 | path: "{{ task_config.dest | dirname }}"
9 | state: directory
10 | mode: '0755'
11 | - name: write content to file
12 | copy:
13 | content: "{{ task_config.content }}"
14 | dest: "{{ task_config.dest }}"
15 | mode: "{{ task_config.mode | default(omit) }}"
16 | backup: "{{ task_config.backup | default(omit) }}"
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/gcp/ansible-requirements.yml:
--------------------------------------------------------------------------------
1 | collections:
2 | - name: ansible.posix
3 | version: 1.5.4
4 | - name: community.general
5 | version: 8.3.0
6 | - name: kubernetes.core
7 | version: 3.2.0
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/gcp/config-files/helm-release/rproxy-override-values.yml:
--------------------------------------------------------------------------------
1 | rProxySpec:
2 | publicInterfaceName: "{{ task_vars.network_interface_name }}"
3 | privateInterfaceName: "{{ task_vars.network_interface_name }}"
4 | imagePullSecrets:
5 | - name: ngc-docker-reg-secret
6 | checkIPUri: "http://checkip.amazonaws.com"
7 |
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/gcp/config-files/helm-release/tokkio-logging-es-override-values.yml:
--------------------------------------------------------------------------------
1 | elasticsearch:
2 | clusterName: "{{ task_vars.ops_es_cluster_name }}"
3 | volumeClaimTemplate:
4 | storageClassName: mdx-local-path
5 | kibana:
6 | elasticsearchHosts: "http://{{ task_vars.ops_es_cluster_name }}-master-headless:9200"
7 | service:
8 | nodePort: "31565"
9 | ingress:
10 | enabled: false
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/gcp/config-files/k8s-manifest/namespace.yml:
--------------------------------------------------------------------------------
1 | kubeconfig: "{{ task_vars.kubeconfig | default(omit) }}"
2 | definition:
3 | apiVersion: v1
4 | kind: Namespace
5 | metadata:
6 | name: "{{ task_vars.name }}"
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/gcp/config-files/k8s-secret/docker-config-json.yml:
--------------------------------------------------------------------------------
1 | kubeconfig: "{{ task_vars.kubeconfig | default(omit) }}"
2 | name: "{{ task_vars.name }}"
3 | namespace: "{{ task_vars.namespace }}"
4 | type: "kubernetes.io/dockerconfigjson"
5 | data:
6 | .dockerconfigjson: "{{ task_vars.docker_config_json | to_json | b64encode }}"
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/gcp/config-files/k8s-secret/ngc-api-key-secret.yml:
--------------------------------------------------------------------------------
1 | kubeconfig: "{{ task_vars.kubeconfig | default(omit) }}"
2 | name: "{{ task_vars.name }}"
3 | namespace: "{{ task_vars.namespace }}"
4 | type: Opaque
5 | data:
6 | NGC_CLI_API_KEY: "{{ task_vars.ngc_cli_api_key | b64encode }}"
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/gcp/config-files/k8s-secret/nvidia-api-key-secret.yml:
--------------------------------------------------------------------------------
1 | kubeconfig: "{{ task_vars.kubeconfig | default(omit) }}"
2 | name: "{{ task_vars.name }}"
3 | namespace: "{{ task_vars.namespace }}"
4 | type: Opaque
5 | data:
6 | NVIDIA_API_KEY: "{{ task_vars.nvidia_api_key | b64encode }}"
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/gcp/config-files/k8s-secret/openai-key-secret.yml:
--------------------------------------------------------------------------------
1 | name: "{{ task_vars.name }}"
2 | namespace: "{{ task_vars.namespace }}"
3 | type: Opaque
4 | data:
5 | OPENAI_API_KEY: "{{ task_vars.openai_api_key | b64encode }}"
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/gcp/config-template-examples/llm-ov-3d-rp-6x-streams/my-config.env:
--------------------------------------------------------------------------------
1 | export OPENAI_API_KEY=""
2 | export NGC_CLI_API_KEY=""
3 | export NVIDIA_API_KEY=""
4 | export CLOUDSDK_AUTH_CREDENTIAL_FILE_OVERRIDE=""
5 | export CLOUDSDK_CORE_PROJECT=""
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/gcp/config-template-examples/llm-ue-3d-coturn-3x-streams/my-config.env:
--------------------------------------------------------------------------------
1 | export OPENAI_API_KEY=""
2 | export NGC_CLI_API_KEY=""
3 | export NVIDIA_API_KEY=""
4 | export CLOUDSDK_AUTH_CREDENTIAL_FILE_OVERRIDE=""
5 | export CLOUDSDK_CORE_PROJECT=""
6 | export GITHUB_USERNAME=""
7 | export GITHUB_ACCESS_TOKEN=""
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/gcp/iac-ref/backend.tf:
--------------------------------------------------------------------------------
1 | terraform {
2 | backend "gcs" {
3 | }
4 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/gcp/iac-ref/provider.tf:
--------------------------------------------------------------------------------
1 | provider "google" {
2 | region = var.region
3 | project = var.provider_config.project
4 | credentials = var.provider_config.credentials
5 | }
6 |
7 | provider "google-beta" {
8 | region = var.region
9 | project = var.provider_config.project
10 | credentials = var.provider_config.credentials
11 | }
12 |
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/gcp/iac-ref/versions.tf:
--------------------------------------------------------------------------------
1 | terraform {
2 | required_version = "= 1.5.7"
3 |
4 | required_providers {
5 | google = {
6 | source = "hashicorp/google"
7 | version = "= 4.44.1"
8 | }
9 | # google-beta = {
10 | # source = "hashicorp/google-beta"
11 | # version = "~> 6.0.1"
12 | # }
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/gcp/modules/gcp/compute-backend-bucket/main.tf:
--------------------------------------------------------------------------------
1 |
2 | resource "google_compute_backend_bucket" "this" {
3 | name = format("%s-backend", var.name)
4 | bucket_name = var.bucket_name
5 | enable_cdn = var.enable_cdn
6 | compression_mode = var.compression_mode
7 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/gcp/modules/gcp/compute-backend-bucket/output.tf:
--------------------------------------------------------------------------------
1 |
2 | output "id" {
3 | value = google_compute_backend_bucket.this.id
4 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/gcp/modules/gcp/compute-backend-bucket/variables.tf:
--------------------------------------------------------------------------------
1 |
2 | variable "name" {
3 | type = string
4 | }
5 | variable "bucket_name" {
6 | type = string
7 | }
8 | variable "enable_cdn" {
9 | type = bool
10 | }
11 | variable "compression_mode" {
12 | type = string
13 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/gcp/modules/gcp/compute-backend-bucket/versions.tf:
--------------------------------------------------------------------------------
1 |
2 | terraform {
3 | required_providers {
4 | google = {
5 | source = "hashicorp/google"
6 | }
7 | }
8 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/gcp/modules/gcp/compute-backend-service/output.tf:
--------------------------------------------------------------------------------
1 |
2 | output "id" {
3 | value = google_compute_backend_service.this.id
4 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/gcp/modules/gcp/compute-backend-service/versions.tf:
--------------------------------------------------------------------------------
1 |
2 | terraform {
3 | required_providers {
4 | google = {
5 | source = "hashicorp/google"
6 | }
7 | }
8 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/gcp/modules/gcp/compute/outputs.tf:
--------------------------------------------------------------------------------
1 | output "instance" {
2 | value = google_compute_instance.default
3 | description = "The outputs of the instance"
4 | }
5 |
6 | output "private_ip" {
7 | value = try(google_compute_instance.default.network_interface[0].network_ip, null)
8 | }
9 |
10 | output "public_ip" {
11 | value = try(google_compute_instance.default.network_interface[0].access_config[0].nat_ip, null)
12 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/gcp/modules/gcp/compute/versions.tf:
--------------------------------------------------------------------------------
1 | terraform {
2 | required_version = "= 1.5.7"
3 |
4 | required_providers {
5 | google = {
6 | source = "hashicorp/google"
7 | version = "= 4.44.1"
8 | }
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/gcp/modules/gcp/firewall/outputs.tf:
--------------------------------------------------------------------------------
1 | output "firewall_policies" {
2 | value = {
3 | for k, v in google_compute_network_firewall_policy.default : k => v
4 | }
5 | description = "The outputs of the created firewall policies."
6 | }
7 |
8 | output "firewall_policy_rules" {
9 | value = {
10 | for k, v in google_compute_network_firewall_policy_rule.default : k => v
11 | }
12 | description = "The outputs of the created firewall policy rules."
13 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/gcp/modules/gcp/firewall/versions.tf:
--------------------------------------------------------------------------------
1 | terraform {
2 | required_version = "= 1.5.7"
3 |
4 | required_providers {
5 | google = {
6 | source = "hashicorp/google"
7 | version = "= 4.44.1"
8 | }
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/gcp/modules/gcp/global-load-balancer/output.tf:
--------------------------------------------------------------------------------
1 |
2 | output "ip_address" {
3 | value = google_compute_global_address.this.address
4 | }
5 |
6 | output "self_link" {
7 | value = google_compute_url_map.https.self_link
8 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/gcp/modules/gcp/global-load-balancer/versions.tf:
--------------------------------------------------------------------------------
1 |
2 | terraform {
3 | #experiments = [module_variable_optional_attrs]
4 | required_providers {
5 | google = {
6 | source = "hashicorp/google"
7 | }
8 | }
9 | }
10 | # terraform {
11 | # required_providers {
12 | # google = {
13 | # source = "hashicorp/google"
14 | # version = "= 4.44.1"
15 | # }
16 | # }
17 | # required_version = "= 1.2.4"
18 | # }
19 |
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/gcp/modules/gcp/instance-group-unmanaged/main.tf:
--------------------------------------------------------------------------------
1 |
2 | resource "google_compute_instance_group" "this" {
3 | name = var.name
4 | zone = var.zone
5 | instances = var.instance_self_links
6 | dynamic "named_port" {
7 | for_each = var.named_ports
8 | content {
9 | name = named_port.value["name"]
10 | port = named_port.value["port"]
11 | }
12 | }
13 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/gcp/modules/gcp/instance-group-unmanaged/output.tf:
--------------------------------------------------------------------------------
1 |
2 | output "id" {
3 | value = google_compute_instance_group.this.id
4 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/gcp/modules/gcp/instance-group-unmanaged/variables.tf:
--------------------------------------------------------------------------------
1 |
2 | variable "name" {
3 | type = string
4 | }
5 | variable "zone" {
6 | type = string
7 | }
8 | variable "instance_self_links" {
9 | type = list(string)
10 | }
11 | variable "named_ports" {
12 | type = list(object({
13 | name = string
14 | port = number
15 | }))
16 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/gcp/modules/gcp/instance-group-unmanaged/versions.tf:
--------------------------------------------------------------------------------
1 |
2 | terraform {
3 | required_providers {
4 | google = {
5 | source = "hashicorp/google"
6 | }
7 | }
8 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/gcp/modules/gcp/load-balancer/versions.tf:
--------------------------------------------------------------------------------
1 | terraform {
2 | required_version = "= 1.5.7"
3 |
4 | required_providers {
5 | google = {
6 | source = "hashicorp/google"
7 | version = "= 4.44.1"
8 | }
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/gcp/modules/gcp/networking/examples/quickstart-regional/variables.tf:
--------------------------------------------------------------------------------
1 | variable "name" {
2 | type = string
3 | description = "(Required) The name for the network."
4 | nullable = false
5 | }
6 |
7 | variable "region" {
8 | type = string
9 | description = "(Required) The GCP region in which the resources belong to."
10 | nullable = false
11 | }
12 |
13 | variable "ip_cidr_range" {
14 | type = string
15 | description = "(Optional) The IPv4 CIDR range for the network."
16 | default = null
17 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/gcp/modules/gcp/networking/examples/quickstart-regional/versions.tf:
--------------------------------------------------------------------------------
1 | terraform {
2 | required_version = "= 1.5.7"
3 |
4 | required_providers {
5 | google = {
6 | source = "hashicorp/google"
7 | version = "= 4.44.1"
8 | }
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/gcp/modules/gcp/networking/versions.tf:
--------------------------------------------------------------------------------
1 | terraform {
2 | required_version = "= 1.5.7"
3 |
4 | required_providers {
5 | google = {
6 | source = "hashicorp/google"
7 | version = "= 4.44.1"
8 | }
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/gcp/modules/gcp/website-bucket/main.tf:
--------------------------------------------------------------------------------
1 |
2 | resource "google_storage_bucket" "this" {
3 | name = format("%s-web-assets", var.name)
4 | location = var.location
5 | force_destroy = var.force_destroy
6 | uniform_bucket_level_access = true
7 | website {
8 | main_page_suffix = var.website_main_page_suffix
9 | not_found_page = var.website_not_found_page
10 | }
11 | custom_placement_config {
12 | data_locations = [
13 | upper(var.region),
14 | upper(var.alternate_region)
15 | ]
16 | }
17 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/gcp/modules/gcp/website-bucket/output.tf:
--------------------------------------------------------------------------------
1 |
2 | output "name" {
3 | value = google_storage_bucket.this.name
4 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/gcp/modules/gcp/website-bucket/variables.tf:
--------------------------------------------------------------------------------
1 |
2 | variable "name" {
3 | type = string
4 | }
5 | variable "location" {
6 | type = string
7 | }
8 | variable "region" {
9 | type = string
10 | }
11 | variable "alternate_region" {
12 | type = string
13 | }
14 | variable "force_destroy" {
15 | type = bool
16 | }
17 | variable "website_main_page_suffix" {
18 | type = string
19 | }
20 | variable "website_not_found_page" {
21 | type = string
22 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/gcp/modules/gcp/website-bucket/versions.tf:
--------------------------------------------------------------------------------
1 |
2 | terraform {
3 | required_providers {
4 | google = {
5 | source = "hashicorp/google"
6 | }
7 | }
8 | }
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/gcp/playbooks/app-pre-requisites.yml:
--------------------------------------------------------------------------------
1 | ---
2 | - hosts: all
3 | gather_facts: no
4 | tasks:
5 | - name: install required packages
6 | become: yes
7 | become_user: root
8 | apt:
9 | state: present
10 | update_cache: yes
11 | name:
12 | - unzip
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/gcp/playbooks/authorize-ssh-keys.yml:
--------------------------------------------------------------------------------
1 | ---
2 | - hosts: all
3 | gather_facts: yes
4 | become: false
5 | tasks:
6 | - name: authorize key
7 | ansible.posix.authorized_key:
8 | state: "{{ state | default('present') }}"
9 | user: "{{ task_config.user }}"
10 | key: "{{ item }}"
11 | loop: "{{ task_config['keys'] }}"
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/gcp/playbooks/check-inventory.yml:
--------------------------------------------------------------------------------
1 | ---
2 | - hosts: all
3 | gather_facts: no
4 | become: false
5 | tasks:
6 | - name: check sudo privileges
7 | become: true
8 | stat:
9 | path: /root
10 | no_log: true
11 |
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/gcp/playbooks/cns-validate.yml:
--------------------------------------------------------------------------------
1 | ---
2 | - name: validate cns
3 | when: state == "present" and not ansible_check_mode and dry_run_mode == "true"
4 | import_playbook: "../cns/playbooks/cns-validation.yaml"
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/gcp/playbooks/copy-task-config.yml:
--------------------------------------------------------------------------------
1 | ---
2 | - hosts: localhost
3 | connection: local
4 | gather_facts: no
5 | become: false
6 | tasks:
7 | - name: copy task config
8 | shell: "yq eval '.' {{ config_source }} -o json | jq '{task_config: .}' | yq -P > {{ config_destination }}"
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/gcp/playbooks/empty_var_check.yml:
--------------------------------------------------------------------------------
1 | - hosts: all
2 | gather_facts: yes
3 | become: false
4 | tasks:
5 | - name: Fail if variable is empty
6 | fail:
7 | msg: "The variable 'item.key' is empty. Please provide a valid value."
8 | when: my_var | length == 0
9 | loop: "{{ task_vars }}"
10 |
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/gcp/playbooks/helm-task-pre-requisites.yml:
--------------------------------------------------------------------------------
1 | ---
2 | - hosts: all
3 | gather_facts: no
4 | tasks:
5 | - name: install helm diff plugin
6 | kubernetes.core.helm_plugin:
7 | plugin_path: https://github.com/databus23/helm-diff
8 | state: present
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/gcp/playbooks/k8s-patch.yml:
--------------------------------------------------------------------------------
1 | ---
2 | - hosts: all
3 | gather_facts: yes
4 | tasks:
5 | - name: apply patch
6 | ignore_errors: "{{ task_config.ignore_errors | default(false) }}"
7 | kubernetes.core.k8s_json_patch:
8 | kubeconfig: "{{ task_config.kubeconfig | default(omit) }}"
9 | api_version: "{{ task_config.api_version | default('v1') }}"
10 | kind: "{{ task_config.kind }}"
11 | namespace: "{{ task_config.namespace }}"
12 | name: "{{ task_config.name }}"
13 | patch:
14 | "{{ task_config.patch }}"
15 |
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/gcp/playbooks/k8s-secret-check-empty-dockerconfig.yml:
--------------------------------------------------------------------------------
1 | - name: Fail if variable is empty
2 | fail:
3 | msg: "The password for {{ item.username }} is empty. Please provide a valid value."
4 | when: item.password | length == 0
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/gcp/playbooks/k8s-secret-check-empty-opaque.yml:
--------------------------------------------------------------------------------
1 | - name: Fail if variable is empty
2 | fail:
3 | msg: "The variable {{ item.key }} is empty. Please provide a valid value."
4 | when: item.value | length == 0
5 | with_items: "{{ item.entries }}"
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/gcp/playbooks/k8s-secret-check-empty.yml:
--------------------------------------------------------------------------------
1 | ---
2 | - hosts: all
3 | gather_facts: yes
4 | tasks:
5 | - name: check if k8s secrets are empty of type Opaque
6 | loop: "{{ task_config.k8s_secrets }}"
7 | when: item.type == "Opaque"
8 | include_tasks: k8s-secret-check-empty-opaque.yml
9 |
10 | - name: check if k8s secrets are empty of type dockerconfigjson
11 | loop: "{{ task_config.k8s_secrets }}"
12 | when: item.type == "dockerconfigjson"
13 | include_tasks: k8s-secret-check-empty-dockerconfig.yml
14 |
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/gcp/playbooks/k8s-secret-old.yml:
--------------------------------------------------------------------------------
1 | ---
2 | - hosts: all
3 | gather_facts: yes
4 | tasks:
5 | - name: install secret
6 | kubernetes.core.k8s:
7 | kubeconfig: "{{ task_config.kubeconfig | default(omit) }}"
8 | state: "{{ state | default('present') }}"
9 | definition:
10 | apiVersion: v1
11 | kind: Secret
12 | type: "{{ task_config.type }}"
13 | metadata:
14 | name: "{{ task_config.name }}"
15 | namespace: "{{ task_config.namespace | default('default') }}"
16 | data:
17 | "{{ task_config.data }}"
18 |
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/gcp/playbooks/k8s-secret.yml:
--------------------------------------------------------------------------------
1 | ---
2 | - hosts: all
3 | gather_facts: yes
4 | tasks:
5 | - name: install k8s secret of type Opaque
6 | loop: "{{ task_config.k8s_secrets }}"
7 | when: item.type == "Opaque"
8 | include_tasks: k8s-secret-opaque.yml
9 |
10 |
11 | - name: Install k8s secret of type dockerconfigjson
12 | loop: "{{ task_config.k8s_secrets }}"
13 | when: item.type == "dockerconfigjson"
14 | include_tasks: k8s-secret-dockerconfig.yml
15 |
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/gcp/playbooks/k8s-task-pre-requisites.yml:
--------------------------------------------------------------------------------
1 | ---
2 | - hosts: all
3 | gather_facts: no
4 | tasks:
5 | - name: install pip3
6 | become: yes
7 | become_user: root
8 | apt:
9 | name: python3-pip
10 | state: present
11 | - name: install pre-requisites
12 | pip:
13 | name:
14 | - jsonpatch
15 | - kubernetes>=12.0.0
16 | - PyYAML>3.11
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/gcp/playbooks/process-user-config.yml:
--------------------------------------------------------------------------------
1 | ---
2 | - hosts: localhost
3 | connection: local
4 | gather_facts: yes
5 | become: false
6 | tasks:
7 | - name: populate output file
8 | copy:
9 | content: "{{ lookup('template', input_file) }}"
10 | dest: "{{ output_file }}"
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/gcp/playbooks/sleep.yml:
--------------------------------------------------------------------------------
1 | ---
2 | - hosts: all
3 | gather_facts: yes
4 | become: false
5 | tasks:
6 | - name: "sleep {{ task_vars.time }}"
7 | shell: |
8 | sleep "{{ task_vars.time }}"
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/gcp/playbooks/tasks/helm-release-prep-values.yml:
--------------------------------------------------------------------------------
1 | ---
2 | - name: read file content
3 | set_fact:
4 | item_content: "{{ lookup('template', item) }}"
5 | - name: output content to file
6 | copy:
7 | content: "{{ item_content }}"
8 | dest: "{{ ansible_user_dir }}/helm-values/ns-{{ task_config.namespace }}/release-{{ task_config.release_name }}/{{ item | basename }}"
9 |
--------------------------------------------------------------------------------
/workflows/tokkio/4.1/scripts/one-click/gcp/playbooks/write-to-file.yml:
--------------------------------------------------------------------------------
1 | ---
2 | - hosts: all
3 | gather_facts: yes
4 | become: false
5 | tasks:
6 | - name: ensure dir exists
7 | file:
8 | path: "{{ task_config.dest | dirname }}"
9 | state: directory
10 | mode: '0755'
11 | - name: write content to file
12 | copy:
13 | content: "{{ task_config.content }}"
14 | dest: "{{ task_config.dest }}"
15 | mode: "{{ task_config.mode | default(omit) }}"
16 | backup: "{{ task_config.backup | default(omit) }}"
--------------------------------------------------------------------------------