When you create a new repo with this template, you still need to do a few things before making it public.
-
Find and replace
$REPOSITORY_NAMEwith the name of the new repository in all files. -
Find and replace
$SAMPLE_NAMEwith the name inmanifest.yml. -
Update the following sections in the main
README.md:- Description
- Prerequisites
- Getting Started: make sure permissions and last paragraph are correct
- About this sample app
-
Remove id values in the
manifest.ymlby changing them all to""or use the following script to remove them.yq -i 'del(.. | select(has("id")).id) | del(.. | select(has("app_id")).app_id)' manifest.yml -
In
.github/dependabot.yml, remove the ecosystems your app is missing. For example, if it only has a Python function, it should be as follows:version: 2 updates: - package-ecosystem: pip directory: "/functions/path-to-your-function/" schedule: interval: weekly - package-ecosystem: github-actions directory: "/" schedule: interval: weekly
NOTE: If your app has a UI extension built with React, you should add a
reactgroup to your npm settings, like the following:- package-ecosystem: npm directory: "/ui/extensions/extension-name/" open-pull-requests-limit: 10 schedule: interval: weekly groups: react: patterns: - "react" - "react-dom"
-
In the
.github/workflowsdirectory, create amain.ymlthat resembles one of the other samples:- foundry-sample-mitre:
main.ymlbuilds extensions and pages with Yarn. It also has arebuild.ymlthat recreates the UI bits with the latest dependencies every week. - foundry-sample-rapid-response:
main.ymlcompiles Go functions and builds/tests UI pages. - foundry-sample-ngsiem-importer:
main.ymlinstalls Python dependencies, runs unit tests, and confirms the function starts successfully.
NOTE: For apps with Python functions, add Pylint code quality checks by copying these files from the foundry-sample-functions-python project:
pylint.yml→.github/workflows/.pylintrc→ project root
- foundry-sample-mitre:
-
In the GitHub UI, update the About section to be
$SAMPLE_NAME sample Foundry app. Addfalcon-foundryas a topic and uncheck Releases, Packages, and Deployments. -
Go to Settings and uncheck the Wikis and Projects features.
-
In Collaborators and teams, add the CrowdStrike/foundry and CrowdStrike/solution-architects teams with Role: admin. Remove your personal account if you're a member of the foundry team.
-
In Branches, add a classic branch protection rule:
- Branch name pattern:
main - Check Require a pull request before merging
- Check Require linear history
- Branch name pattern:
Once you've completed these updates, delete this file. Its location is at .github/README.md.