Skip to content

Commit 8ee087c

Browse files
Merge pull request #1 from terraform-ibm-modules/mcp-pr
feat: complete TIM-MCP implementation with comprehensive tooling
2 parents 48a32e5 + ac387f2 commit 8ee087c

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

53 files changed

+9458
-1695
lines changed

.github/CODEOWNERS

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# Primary owner should be listed first in list of global owners, followed by any secondary owners
2+
* @ocofaigh @daniel-butler-irl

.github/settings.yml

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
# The settings are inherited from common repository repo-settings (same file name and location)
2+
# You can append settings that are deeply merged with the inherited settings.
3+
#
4+
# When you have installed the GitHub App "repo-settings" in this repository,
5+
# any change of this settings.yml file is detected by the GitHub App and
6+
# the settings of this repository are updated immediately.
7+
#
8+
_extends: repo-settings:.github/common-settings-v2.yml
9+
10+
# repo-specific settings
11+
#
12+
repository:
13+
# See https://terraform-ibm-modules.github.io/documentation/#/implementation-guidelines?id=module-names-and-descriptions
14+
15+
# By changing this field, you rename the repository.
16+
17+
# Uncomment this name property and set the name to the current repo name.
18+
# name: ""
19+
20+
# The description is displayed under the repository name on the
21+
# organization page and in the 'About' section of the repository.
22+
23+
# Uncomment this description property
24+
# and update the description to the current repo description.
25+
# description: ""
26+
27+
# Use a comma-separated list of topics to set on the repo (ensure not to use any caps in the topic string).
28+
topics: terraform, ibm-cloud, terraform-module

.github/workflows/ci.yml

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
name: CI-Pipeline
2+
3+
# Controls when the workflow will run, when comment is created
4+
on:
5+
issue_comment:
6+
types:
7+
- created
8+
9+
jobs:
10+
call-terraform-ci-pipeline:
11+
uses: terraform-ibm-modules/common-pipeline-assets/.github/workflows/[email protected]
12+
secrets: inherit
13+
with:
14+
craSCCv2: true
15+
craConfigYamlFile: "cra-config.yaml"

.github/workflows/release.yml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
name: Release-Pipeline
2+
3+
# Trigger on push(merge) to main branch
4+
on:
5+
push:
6+
branches:
7+
- main
8+
9+
jobs:
10+
call-terraform-release-pipeline:
11+
uses: terraform-ibm-modules/common-pipeline-assets/.github/workflows/[email protected]
12+
secrets: inherit

.gitignore

Lines changed: 87 additions & 187 deletions
Original file line numberDiff line numberDiff line change
@@ -1,47 +1,91 @@
1-
.py[cod]
2-
__pycache__/
3-
.mypy_cache/
4-
.pytest_cache/
5-
.ruff_cache/
6-
.pdm-python
1+
# Local .terraform directories
2+
**/.terraform/*
3+
4+
# .tfstate files
5+
*.tfstate
6+
*.tfstate.*
7+
*.terraform.lock.hcl
8+
9+
# Crash log files
10+
crash.log
11+
12+
# Exclude all .tfvars files, which are likely to contain sentitive data, such as
13+
# password, private keys, and other secrets. These should not be part of version
14+
# control as they are data points which are potentially sensitive and subject
15+
# to change depending on the environment.
16+
#
17+
*.tfvars
18+
19+
# Ignore files for local testing
20+
test.tf
21+
22+
# Ignore override files as they are usually used to override resources locally and so
23+
# are not checked in
24+
override.tf
25+
override.tf.json
26+
*_override.tf
27+
*_override.tf.json
28+
29+
# Include override files you do wish to add to version control using negated pattern
30+
#
31+
# !example_override.tf
32+
33+
# Include tfplan files to ignore the plan output of command: terraform plan -out=tfplan
34+
# example: *tfplan*
35+
36+
# Ignore CLI configuration files
37+
.terraformrc
38+
terraform.rc
39+
40+
# Ignore .tfsec
41+
.tfsec/
42+
43+
# Ignore Mac files
44+
.DS_Store
45+
46+
# Ignore IDE files
47+
.idea/
48+
49+
# Node modules
50+
/node_modules
751

52+
# Visual Studio Code
53+
.vscode/
54+
55+
### Go ###
56+
# Binaries for programs and plugins
57+
*.exe
58+
*.exe~
59+
*.dll
60+
*.so
61+
*.dylib
62+
63+
# Test binary, built with `go test -c`
64+
*.test
65+
66+
# Output of the go coverage tool, specifically when used with LiteIDE
67+
*.out
68+
69+
# Dependency directories (remove the comment below to include it)
70+
# vendor/
71+
72+
# Go workspace file
73+
go.work
74+
75+
### Python ###
876
# Byte-compiled / optimized / DLL files
977
__pycache__/
10-
*.py[codz]
78+
*.py[cod]
1179
*$py.class
1280

1381
# C extensions
14-
*.so
82+
# *.so already covered above
1583

1684
# Distribution / packaging
17-
.Python
18-
build/
19-
develop-eggs/
2085
dist/
21-
downloads/
22-
eggs/
23-
.eggs/
24-
lib/
25-
lib64/
26-
parts/
27-
sdist/
28-
var/
29-
wheels/
30-
share/python-wheels/
86+
build/
3187
*.egg-info/
32-
.installed.cfg
33-
*.egg
34-
MANIFEST
35-
36-
# PyInstaller
37-
# Usually these files are written by a python script from a template
38-
# before PyInstaller builds the exe, so as to inject date/other infos into it.
39-
*.manifest
40-
*.spec
41-
42-
# Installer logs
43-
pip-log.txt
44-
pip-delete-this-directory.txt
88+
.eggs/
4589

4690
# Unit test / coverage reports
4791
htmlcov/
@@ -53,171 +97,27 @@ htmlcov/
5397
nosetests.xml
5498
coverage.xml
5599
*.cover
56-
*.py.cover
57100
.hypothesis/
58101
.pytest_cache/
59-
cover/
60-
61-
# Translations
62-
*.mo
63-
*.pot
64-
65-
# Django stuff:
66-
*.log
67-
local_settings.py
68-
db.sqlite3
69-
db.sqlite3-journal
70-
71-
# Flask stuff:
72-
instance/
73-
.webassets-cache
74102

75-
# Scrapy stuff:
76-
.scrapy
77-
78-
# Sphinx documentation
79-
docs/_build/
80-
81-
# PyBuilder
82-
.pybuilder/
83-
target/
103+
# Virtual environments
104+
.venv/
105+
venv/
106+
ENV/
84107

85108
# Jupyter Notebook
86109
.ipynb_checkpoints
87110

88-
# IPython
89-
profile_default/
90-
ipython_config.py
91-
92111
# pyenv
93-
# For a library or package, you might want to ignore these files since the code is
94-
# intended to run in multiple environments; otherwise, check them in:
95-
# .python-version
96-
97-
# pipenv
98-
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
99-
# However, in case of collaboration, if having platform-specific dependencies or dependencies
100-
# having no cross-platform support, pipenv may install dependencies that don't work, or not
101-
# install all needed dependencies.
102-
# Pipfile.lock
103-
104-
# UV
105-
# Similar to Pipfile.lock, it is generally recommended to include uv.lock in version control.
106-
# This is especially recommended for binary packages to ensure reproducibility, and is more
107-
# commonly ignored for libraries.
108-
# uv.lock
109-
110-
# poetry
111-
# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
112-
# This is especially recommended for binary packages to ensure reproducibility, and is more
113-
# commonly ignored for libraries.
114-
# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
115-
# poetry.lock
116-
# poetry.toml
117-
118-
# pdm
119-
# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
120-
# pdm recommends including project-wide configuration in pdm.toml, but excluding .pdm-python.
121-
# https://pdm-project.org/en/latest/usage/project/#working-with-version-control
122-
# pdm.lock
123-
# pdm.toml
124-
.pdm-python
125-
.pdm-build/
126-
127-
# pixi
128-
# Similar to Pipfile.lock, it is generally recommended to include pixi.lock in version control.
129-
# pixi.lock
130-
# Pixi creates a virtual environment in the .pixi directory, just like venv module creates one
131-
# in the .venv directory. It is recommended not to include this directory in version control.
132-
.pixi
133-
134-
# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
135-
__pypackages__/
136-
137-
# Celery stuff
138-
celerybeat-schedule
139-
celerybeat.pid
140-
141-
# Redis
142-
*.rdb
143-
*.aof
144-
*.pid
145-
146-
# RabbitMQ
147-
mnesia/
148-
rabbitmq/
149-
rabbitmq-data/
150-
151-
# ActiveMQ
152-
activemq-data/
153-
154-
# SageMath parsed files
155-
*.sage.py
156-
157-
# Environments
158-
.env
159-
.envrc
160-
.venv
161-
env/
162-
venv/
163-
ENV/
164-
env.bak/
165-
venv.bak/
166-
167-
# Spyder project settings
168-
.spyderproject
169-
.spyproject
170-
171-
# Rope project settings
172-
.ropeproject
173-
174-
# mkdocs documentation
175-
/site
112+
.python-version
176113

177114
# mypy
178115
.mypy_cache/
179116
.dmypy.json
180117
dmypy.json
181118

182-
# Pyre type checker
183-
.pyre/
184-
185-
# pytype static type analyzer
186-
.pytype/
187-
188-
# Cython debug symbols
189-
cython_debug/
190-
191-
# PyCharm
192-
# JetBrains specific template is maintained in a separate JetBrains.gitignore that can
193-
# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
194-
# and can be added to the global gitignore or merged into this file. For a more nuclear
195-
# option (not recommended) you can uncomment the following to ignore the entire idea folder.
196-
# .idea/
197-
198-
# Abstra
199-
# Abstra is an AI-powered process automation framework.
200-
# Ignore directories containing user credentials, local state, and settings.
201-
# Learn more at https://abstra.io/docs
202-
.abstra/
203-
204-
# Visual Studio Code
205-
# Visual Studio Code specific template is maintained in a separate VisualStudioCode.gitignore
206-
# that can be found at https://github.com/github/gitignore/blob/main/Global/VisualStudioCode.gitignore
207-
# and can be added to the global gitignore or merged into this file. However, if you prefer,
208-
# you could uncomment the following to ignore the entire vscode folder
209-
# .vscode/
210-
211-
# Ruff stuff:
212-
.ruff_cache/
213-
214-
# PyPI configuration file
215-
.pypirc
216-
217-
# Marimo
218-
marimo/_static/
219-
marimo/_lsp/
220-
__marimo__/
119+
# Environments
120+
.env
221121

222-
# Streamlit
223-
.streamlit/secrets.toml
122+
.bob/
123+
.bobignore

.gitmodules

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
[submodule "common-dev-assets"]
2+
path = common-dev-assets
3+
url = https://github.com/terraform-ibm-modules/common-dev-assets
4+
branch = main

.pre-commit-config.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
common-dev-assets/module-assets/.pre-commit-config.yaml

.releaserc

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
{
2+
"tagFormat": "v${version}",
3+
"branches": ["main"],
4+
"plugins": [
5+
"@semantic-release/commit-analyzer",
6+
"@semantic-release/release-notes-generator",
7+
"@semantic-release/github",
8+
["@semantic-release/git", {
9+
"assets": "false"
10+
}],
11+
["@semantic-release/exec", {
12+
"successCmd": "echo \"SEMVER_VERSION=${nextRelease.version}\" >> $GITHUB_ENV"
13+
}]
14+
]
15+
}

0 commit comments

Comments
 (0)