mirror of
https://github.com/awatertrevi/infisical.git
synced 2026-10-05 15:26:35 +00:00
Merge
This commit is contained in:
@@ -8,7 +8,7 @@ assignees: ''
|
|||||||
---
|
---
|
||||||
|
|
||||||
### Feature description
|
### Feature description
|
||||||
A clear and concise description of what the the feature should be.
|
A clear and concise description of what the feature should be.
|
||||||
|
|
||||||
### Why would it be useful?
|
### Why would it be useful?
|
||||||
Why would this feature be useful for Infisical users?
|
Why would this feature be useful for Infisical users?
|
||||||
|
|||||||
@@ -509,7 +509,7 @@ export const getSecretsHelper = async ({
|
|||||||
throw UnauthorizedRequestError({ message: "Folder Permission Denied" });
|
throw UnauthorizedRequestError({ message: "Folder Permission Denied" });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!folderId) {
|
if (!folderId) {
|
||||||
folderId = await getFolderIdFromServiceToken(workspaceId, environment, secretPath);
|
folderId = await getFolderIdFromServiceToken(workspaceId, environment, secretPath);
|
||||||
}
|
}
|
||||||
@@ -583,7 +583,10 @@ export const getSecretsHelper = async ({
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (postHogClient) {
|
const numberOfSignupSecrets = (secrets.filter((secret) => secret?.metadata?.source === "signup")).length;
|
||||||
|
const atLeastOneNonSignUpSecret = (secrets.length - numberOfSignupSecrets > 0)
|
||||||
|
|
||||||
|
if (postHogClient && atLeastOneNonSignUpSecret) {
|
||||||
const shouldCapture = authData.userAgent !== K8_USER_AGENT_NAME || shouldRecordK8Event;
|
const shouldCapture = authData.userAgent !== K8_USER_AGENT_NAME || shouldRecordK8Event;
|
||||||
const approximateForNoneCapturedEvents = secrets.length * 10
|
const approximateForNoneCapturedEvents = secrets.length * 10
|
||||||
|
|
||||||
|
|||||||
@@ -691,15 +691,17 @@ const syncSecretsAWSParameterStore = async ({
|
|||||||
const parameterList = (await ssm.getParametersByPath(params).promise()).Parameters;
|
const parameterList = (await ssm.getParametersByPath(params).promise()).Parameters;
|
||||||
|
|
||||||
let awsParameterStoreSecretsObj: {
|
let awsParameterStoreSecretsObj: {
|
||||||
[key: string]: any; // TODO: fix type
|
[key: string]: any;
|
||||||
} = {};
|
} = {};
|
||||||
|
|
||||||
if (parameterList) {
|
if (parameterList) {
|
||||||
awsParameterStoreSecretsObj = parameterList.reduce(
|
awsParameterStoreSecretsObj = parameterList.reduce(
|
||||||
(obj: any, secret: any) => ({
|
(obj: any, secret: any) => {
|
||||||
...obj,
|
return ({
|
||||||
[secret.Name.split("/").pop()]: secret
|
...obj,
|
||||||
}),
|
[secret.Name.substring(integration.path.length)]: secret
|
||||||
|
});
|
||||||
|
},
|
||||||
{}
|
{}
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ Prerequisites:
|
|||||||
|
|
||||||
## Dockerfile Modification
|
## Dockerfile Modification
|
||||||
|
|
||||||
Follow the instruction for your specific Linux distrubtion to add the Infisical CLI to your Dockerfile.
|
Follow the instructions for your specific Linux distribution to add the Infisical CLI to your Dockerfile.
|
||||||
|
|
||||||
<Tabs>
|
<Tabs>
|
||||||
<Tab title="Alpine">
|
<Tab title="Alpine">
|
||||||
@@ -87,7 +87,7 @@ Prerequisites:
|
|||||||
|
|
||||||
## Dockerfile Modifications
|
## Dockerfile Modifications
|
||||||
|
|
||||||
Follow the instruction for your specific Linux distributions to add the Infisical CLI to your Dockerfiles.
|
Follow the instructions for your specific Linux distributions to add the Infisical CLI to your Dockerfiles.
|
||||||
|
|
||||||
<Tabs>
|
<Tabs>
|
||||||
<Tab title="Alpine">
|
<Tab title="Alpine">
|
||||||
@@ -182,4 +182,4 @@ Prerequisites:
|
|||||||
See also:
|
See also:
|
||||||
|
|
||||||
- [Documentation for Docker](/integrations/platforms/docker)
|
- [Documentation for Docker](/integrations/platforms/docker)
|
||||||
- [Documentation for Docker Compose](/integrations/platforms/docker-compose)
|
- [Documentation for Docker Compose](/integrations/platforms/docker-compose)
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ Now that we've created a project and added a secret to its development environme
|
|||||||
|
|
||||||
## Create a Node app
|
## Create a Node app
|
||||||
|
|
||||||
For this demonstration, we use a minimal Express application. However, the same principles will apply for any Node application such as those built on Koa or Fastify.
|
For this demonstration, we use a minimal Express application. However, the same principles will apply to any Node application such as those built on Koa or Fastify.
|
||||||
|
|
||||||
### Create an Express app
|
### Create an Express app
|
||||||
|
|
||||||
@@ -107,7 +107,7 @@ At this stage, you know how to fetch secrets from Infisical back to your Node ap
|
|||||||
Although the SDK requires you to pass in a token, it enables greater efficiency and security
|
Although the SDK requires you to pass in a token, it enables greater efficiency and security
|
||||||
than if you managed dozens of secrets yourself without it. Here're some benefits:
|
than if you managed dozens of secrets yourself without it. Here're some benefits:
|
||||||
|
|
||||||
- You always pull in the right secrets because they're fetched on demand from a centralize source that is Infisical.
|
- You always pull in the right secrets because they're fetched on demand from a centralized source that is Infisical.
|
||||||
- You can use the Infisical which comes with tons of benefits like secret versioning, access controls, audit logs, etc.
|
- You can use the Infisical which comes with tons of benefits like secret versioning, access controls, audit logs, etc.
|
||||||
- You now risk leaking one token that can be revoked instead of dozens of raw secrets.
|
- You now risk leaking one token that can be revoked instead of dozens of raw secrets.
|
||||||
|
|
||||||
@@ -118,4 +118,4 @@ At this stage, you know how to fetch secrets from Infisical back to your Node ap
|
|||||||
|
|
||||||
See also:
|
See also:
|
||||||
|
|
||||||
- Explore the [Node SDK](https://github.com/Infisical/infisical-node)
|
- Explore the [Node SDK](https://github.com/Infisical/infisical-node)
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ Now that we've created a project and added a secret to its development environme
|
|||||||
|
|
||||||
## Create a Python app
|
## Create a Python app
|
||||||
|
|
||||||
For this demonstration, we use a minimal Flask application. However, the same principles will apply for any Python application such as those built with Django.
|
For this demonstration, we use a minimal Flask application. However, the same principles will apply to any Python application such as those built with Django.
|
||||||
|
|
||||||
### Create a Flask app
|
### Create a Flask app
|
||||||
|
|
||||||
@@ -103,7 +103,7 @@ At this stage, you know how to fetch secrets from Infisical back to your Python
|
|||||||
Although the SDK requires you to pass in a token, it enables greater efficiency and security
|
Although the SDK requires you to pass in a token, it enables greater efficiency and security
|
||||||
than if you managed dozens of secrets yourself without it. Here're some benefits:
|
than if you managed dozens of secrets yourself without it. Here're some benefits:
|
||||||
|
|
||||||
- You always pull in the right secrets because they're fetched on demand from a centralize source that is Infisical.
|
- You always pull in the right secrets because they're fetched on demand from a centralized source that is Infisical.
|
||||||
- You can use the Infisical which comes with tons of benefits like secret versioning, access controls, audit logs, etc.
|
- You can use the Infisical which comes with tons of benefits like secret versioning, access controls, audit logs, etc.
|
||||||
- You now risk leaking one token that can be revoked instead of dozens of raw secrets.
|
- You now risk leaking one token that can be revoked instead of dozens of raw secrets.
|
||||||
|
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ description: "Organize your secrets with folders"
|
|||||||
---
|
---
|
||||||
|
|
||||||
Folders provide a powerful and intuitive way to structure your secrets.
|
Folders provide a powerful and intuitive way to structure your secrets.
|
||||||
They offer a system to keep your secrets organized and easily accessible, which becomes increasingly important as your collection of secrets grow.
|
They offer a system to keep your secrets organized and easily accessible, which becomes increasingly important as your collection of secrets grows.
|
||||||
|
|
||||||
With folders in Infisical, you can now create a hierarchy of folders to organize your secrets, mirroring your application's architecture or any logical grouping that suits your needs.
|
With folders in Infisical, you can now create a hierarchy of folders to organize your secrets, mirroring your application's architecture or any logical grouping that suits your needs.
|
||||||
Whether you follow a microservices architecture or work with monorepos, folders make it simpler to locate, manage and collaborate between teams.
|
Whether you follow a microservices architecture or work with monorepos, folders make it simpler to locate, manage and collaborate between teams.
|
||||||
|
|||||||
@@ -175,7 +175,7 @@ export const SecretDropzone = ({
|
|||||||
|
|
||||||
e.dataTransfer.dropEffect = "copy";
|
e.dataTransfer.dropEffect = "copy";
|
||||||
setDragActive.off();
|
setDragActive.off();
|
||||||
parseFile(e.dataTransfer.files[0]);
|
parseFile(e.dataTransfer.files[0], e.dataTransfer?.files?.[0]?.type === "application/json");
|
||||||
};
|
};
|
||||||
|
|
||||||
const handleFileUpload = (e: ChangeEvent<HTMLInputElement>) => {
|
const handleFileUpload = (e: ChangeEvent<HTMLInputElement>) => {
|
||||||
|
|||||||
+1
-1
@@ -197,7 +197,7 @@ export const WebhooksTab = () => {
|
|||||||
<div className="text-xs">
|
<div className="text-xs">
|
||||||
<div>
|
<div>
|
||||||
Updated At:{" "}
|
Updated At:{" "}
|
||||||
{format(new Date(updatedAt), "YYYY-MM-DD, hh:mm aaa")}
|
{format(new Date(updatedAt), "yyyy-MM-dd, hh:mm aaa")}
|
||||||
</div>
|
</div>
|
||||||
{lastRunErrorMessage && (
|
{lastRunErrorMessage && (
|
||||||
<div className="mt-2 text-red">
|
<div className="mt-2 text-red">
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ type: application
|
|||||||
# This is the chart version. This version number should be incremented each time you make changes
|
# This is the chart version. This version number should be incremented each time you make changes
|
||||||
# to the chart and its templates, including the app version.
|
# to the chart and its templates, including the app version.
|
||||||
# Versions are expected to follow Semantic Versioning (https://semver.org/)
|
# Versions are expected to follow Semantic Versioning (https://semver.org/)
|
||||||
version: 0.2.0
|
version: 0.2.1
|
||||||
# This is the version number of the application being deployed. This version number should be
|
# This is the version number of the application being deployed. This version number should be
|
||||||
# incremented each time you make changes to the application. Versions are not expected to
|
# incremented each time you make changes to the application. Versions are not expected to
|
||||||
# follow Semantic Versioning. They should reflect the version the application is using.
|
# follow Semantic Versioning. They should reflect the version the application is using.
|
||||||
|
|||||||
@@ -57,15 +57,13 @@ spec:
|
|||||||
env:
|
env:
|
||||||
- name: KUBERNETES_CLUSTER_DOMAIN
|
- name: KUBERNETES_CLUSTER_DOMAIN
|
||||||
value: {{ .Values.kubernetesClusterDomain }}
|
value: {{ .Values.kubernetesClusterDomain }}
|
||||||
image: {{ .Values.controllerManager.kubeRbacProxy.image.repository }}:{{ .Values.controllerManager.kubeRbacProxy.image.tag
|
image: {{ .Values.controllerManager.kubeRbacProxy.image.repository }}:{{ .Values.controllerManager.kubeRbacProxy.image.tag | default .Chart.AppVersion }}
|
||||||
| default .Chart.AppVersion }}
|
|
||||||
name: kube-rbac-proxy
|
name: kube-rbac-proxy
|
||||||
ports:
|
ports:
|
||||||
- containerPort: 8443
|
- containerPort: 8443
|
||||||
name: https
|
name: https
|
||||||
protocol: TCP
|
protocol: TCP
|
||||||
resources: {{- toYaml .Values.controllerManager.kubeRbacProxy.resources | nindent
|
resources: {{- toYaml .Values.controllerManager.kubeRbacProxy.resources | nindent 10 }}
|
||||||
10 }}
|
|
||||||
securityContext:
|
securityContext:
|
||||||
allowPrivilegeEscalation: false
|
allowPrivilegeEscalation: false
|
||||||
capabilities:
|
capabilities:
|
||||||
@@ -80,8 +78,7 @@ spec:
|
|||||||
env:
|
env:
|
||||||
- name: KUBERNETES_CLUSTER_DOMAIN
|
- name: KUBERNETES_CLUSTER_DOMAIN
|
||||||
value: {{ .Values.kubernetesClusterDomain }}
|
value: {{ .Values.kubernetesClusterDomain }}
|
||||||
image: {{ .Values.controllerManager.manager.image.repository }}:{{ .Values.controllerManager.manager.image.tag
|
image: {{ .Values.controllerManager.manager.image.repository }}:{{ .Values.controllerManager.manager.image.tag | default .Chart.AppVersion }}
|
||||||
| default .Chart.AppVersion }}
|
|
||||||
livenessProbe:
|
livenessProbe:
|
||||||
httpGet:
|
httpGet:
|
||||||
path: /healthz
|
path: /healthz
|
||||||
@@ -95,8 +92,7 @@ spec:
|
|||||||
port: 8081
|
port: 8081
|
||||||
initialDelaySeconds: 5
|
initialDelaySeconds: 5
|
||||||
periodSeconds: 10
|
periodSeconds: 10
|
||||||
resources: {{- toYaml .Values.controllerManager.manager.resources | nindent 10
|
resources: {{- toYaml .Values.controllerManager.manager.resources | nindent 10 }}
|
||||||
}}
|
|
||||||
securityContext:
|
securityContext:
|
||||||
allowPrivilegeEscalation: false
|
allowPrivilegeEscalation: false
|
||||||
capabilities:
|
capabilities:
|
||||||
|
|||||||
Reference in New Issue
Block a user